abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
dnes 16:24 | Nová verze

Byla vydána Mageia 5.1. Jedná se o první opravné vydání verze 5, jež vyšla v červnu loňského roku (zprávička). Uživatelům verze 5 nepřináší opravné vydání nic nového, samozřejmě pokud pravidelně aktualizují. Vydání obsahuje všechny aktualizace za posledního téměř půldruhého roku. Mageia 5.1 obsahuje LibreOffice 4.4.7, Linux 4.4.32, KDE4 4.14.5 nebo GNOME 3.14.3.

Ladislav Hagara | Komentářů: 0
dnes 13:42 | Pozvánky

V Praze probíhá konference Internet a Technologie 16.2, volné pokračování jarní konference sdružení CZ.NIC. Konferenci lze sledovat online na YouTube. K dispozici je také archiv předchozích konferencí.

Ladislav Hagara | Komentářů: 0
včera 22:44 | Komunita

Joinup informuje, že Mnichov používá open source groupware Kolab. V srpnu byl dokončen dvouletý přechod na toto řešení. V provozu je asi 60 000 poštovních schránek. Nejenom Kolabu se věnoval Georg Greve ve své přednášce Open Source: the future for the European institutions (SlideShare) na konferenci DIGITEC 2016, jež proběhla v úterý 29. listopadu v Bruselu. Videozáznam přednášek z hlavního sálu je ke zhlédnutí na Livestreamu.

Ladislav Hagara | Komentářů: 14
včera 15:30 | Zajímavý projekt

Společnost Jolla oznámila v příspěvku Case study: Sailfish Watch na svém blogu, že naportovala Sailfish OS na chytré hodinky. Využila a inspirovala se otevřeným operačním systémem pro chytré hodinky AsteroidOS. Použita je knihovna libhybris. Ukázka ovládání hodinek na YouTube.

Ladislav Hagara | Komentářů: 8
včera 14:15 | Nová verze

Byla vydána verze 7.1.0 skriptovacího jazyka PHP používaného zejména k vývoji dynamických webových stránek. Jedná se o první stabilní verzi nejnovější větvě 7.1. Přehled novinek v dokumentaci. Podrobnosti v ChangeLogu. K dispozici je také příručka pro přechod z PHP 7.0.x na PHP 7.1.x.

Ladislav Hagara | Komentářů: 2
včera 12:55 | Nová verze

Google Chrome 55 byl prohlášen za stabilní. Nejnovější stabilní verze 55.0.2883.75 tohoto webového prohlížeče přináší řadu oprav a vylepšení (YouTube). Opraveno bylo také 36 bezpečnostních chyb. Mariusz Mlynski si například vydělal 22 500 dolarů za 3 nahlášené chyby (Universal XSS in Blink).

Ladislav Hagara | Komentářů: 4
včera 11:55 | Pozvánky

Máte rádi svobodný software a hardware nebo se o nich chcete něco dozvědět? Přijďte na 135. sraz spolku OpenAlt, který se bude konat ve čtvrtek 8. prosince od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Sraz bude tentokrát tématický. Bude retro! K vidění budou přístroje jako Psion 5mx nebo Palm Z22. Ze svobodného hardwaru pak Openmoko nebo čtečka WikiReader. Přijďte se i vy pochlubit svými legendami, nebo alespoň na pivo. Moderní hardware má vstup samozřejmě také povolen.

xkucf03 | Komentářů: 0
včera 00:10 | Nová verze

Byla vydána verze 3.2 svobodného systému pro detekci a prevenci průniků a monitorování bezpečnosti počítačových sítí Suricata. Z novinek lze zmínit například podporu protokolů DNP3 a CIP/ENIP, vylepšenou podporu TLS a samozřejmě také aktualizovanou dokumentaci.

Ladislav Hagara | Komentářů: 0
1.12. 21:00 | Nová verze

Byla vydána beta verze Linux Mintu 18.1 s kódovým jménem Serena. Na blogu Linux Mintu jsou hned dvě oznámení. První o vydání Linux Mintu s prostředím MATE a druhé o vydání Linux Mintu s prostředím Cinnamon. Stejným způsobem jsou rozděleny také poznámky k vydání (MATE, Cinnamon) a přehled novinek s náhledy (MATE, Cinnamon). Linux Mint 18.1 bude podporován až do roku 2021.

Ladislav Hagara | Komentářů: 0
1.12. 16:42 | Nová verze

Byl vydán Devuan Jessie 1.0 Beta 2. Jedná se o druhou beta verzi forku Debianu bez systemd představeného v listopadu 2014 (zprávička). První beta verze byla vydána v dubnu letošního roku (zprávička). Jedna z posledních přednášek věnovaných Devuanu proběhla v listopadu na konferenci FSCONS 2016 (YouTube, pdf).

Ladislav Hagara | Komentářů: 0
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (24%)
 (29%)
 (7%)
 (5%)
 (3%)
Celkem 767 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

Dotaz: Programovani v C - vyuka

15.10.2014 08:36 Lubomir
Programovani v C - vyuka
Přečteno: 824×
Mame pocitacovou ucebnu s linuxem (xfce). Chteli bychom vyucovat programovani v C. Existuje nejaky vhodny nastroj pro vizualni programovani ? Resp. co byste doporucili pro vyuku programovani v C v prostredi X ?

Odpovědi

15.10.2014 10:28 graviton
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
Co v tomto kontextu znamena vizualni programovani?

GUI programovani v C & X11 bych nedoporucoval, to zavani zlocinem proti lidskosti. Leda tak nejakou jednoduchou gamesu v SDL, to by mohlo byt i zazivne.

Co do nastroju, idealni je nejaky textovy editor. Muze byt i ponekud programatorsky, chute jsou ruzne, sve priznivce maji jiste: vim (unixova tradice), jedit (chova se spis podle konvenci win), qtcreator (nejen pro qt), eclipse (pokud mate hodne RAM).
15.10.2014 10:41 DarkKnight | skóre: 24
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
Ja bych zvolil klasiku, code::blocks
15.10.2014 11:31 lofcek
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
Len dufam, ze to nie je na strednej skole.Myslim, ze vyucovat stredoskolakov jazyk C ako prvy programovaci jazyk by mala byt trestnym cinom.
15.10.2014 18:16 lawtroll
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
Vsak ono je, dalo by se to chapat jako skutkova podstata §215 TZ.
15.10.2014 20:06 Petr | skóre: 29
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
Nejak nechapu...?
vlastikroot avatar 15.10.2014 20:59 vlastikroot | skóre: 24 | blog: vlastikovo | Milevsko
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
Je to dobry jazyk na pochopeni zakladu. Problem je jen v tom, ze vetsina stredoskolaku opravdu programovat nechce a je to pro ne jen otrava.
Sg1-game | We will destroys the Christian's legion ... and the cross, will be inverted | IP 80.188.182.6
pavlix avatar 16.10.2014 11:03 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
Taky si myslím, že přeskakovat assembler je zločin.
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
17.10.2014 00:13 ...
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
cheatengine... idealni vyukova pomucka. akorat se minula systemem.
15.10.2014 16:25 Petr | skóre: 29
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
Taky nerozumim terminu "Vizualni programovani" ale shodnu se s predeslymi prispevky: Bud trosku "hardcore" - v terminalu vim + c.vim skript na zvyraznovani syntaxe + gcc (make), nebo IDE editor a v tom pripade je dobry code::blocks. Samozrejme prvni varianta pobezi i bez Xek :-)
Josef Kufner avatar 15.10.2014 17:59 Josef Kufner | skóre: 66
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
Zaslechl jsem nějaké vcelku dobré reference na Code::Blocks. Jako docela dobrá volba mi přijde také Qt Creator.

Určitě bych se vyhnul přeplácaným IDE, jako je Eclipse, Netbeans, Visual Studio a vůbec vše takové podobné. Pokud s programováním nemají žádné zkušenosti, zaručeně se v tom ztratí a není šance, že by pochopili, co se děje za tou kopou tlačítek. Proto bych někde na začátku udělal hello world jen s textovým editorem, make a gcc. Asi tak někde po probrání úplných základů, jakmile budou schopní napsat a zavolat funkci. Jakmile pochopí jednoduchý makefile, IDE bych jim vrátil, ale pokud si tím neprojdou, budou jen mačkat zelený trojúhelníček.
Hello world ! Segmentation fault (core dumped)
Josef Kufner avatar 15.10.2014 18:01 Josef Kufner | skóre: 66
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
... A pokud ti jde o GUI, tak jednoznačně Qt + Qt Creator. Ale to až mnohem, mnohem později – napřed musí pobrat základy OOP.
Hello world ! Segmentation fault (core dumped)
15.10.2014 19:18 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
Rozhodně v první řadě obyčejný akceptovatelný editor (klidně i vim), dokud nenapíše „hello universe“ s nějakými dalšími samostatnými filesi a nepoužije překlad a linkování, tak nepouštět dál. Potom bych se asi přimlouval za code::blocks, Eclipse stejně jako Netbeans není rozumná výuková platforma.
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
15.10.2014 21:06 Odin
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
Vim jako editor na stredni skole? Rada nad zlato ;-)

Jinak c povazuji pro stredni skolu za spatnou volbu. Idealni je imho netbeans a java.
Josef Kufner avatar 15.10.2014 21:14 Josef Kufner | skóre: 66
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
C má jednu obrovskou výhodu: Nepotřebuješ hned začínat s OOP. Další výhodou je, že takový program můžeš nahrát do AVR a ovládat s tím nějakou hračku, což pak lze napojit na elektroniku a další odvětví. A navíc to je něco, co děti bude bavit.

Java je příliš zkriplený jazyk, než aby byla do začátku vhodná a hlavně její IDE jsou příliš komplikované a neprůhledné. Pokud učit vyšší jazyk, tak Python, ale až po úvodu v C.
Hello world ! Segmentation fault (core dumped)
15.10.2014 21:19 Odin
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
Java jako jazyk mi prijde naopak velice vhodna. Syntax se snadno pamatuje a je to jazyk vhodny pro uceni oop. C mam rad, ale mam pocit,mze vetsina dnesnich programatoru se s nim v komercni praxi nesetka. Take mi neprijde, ze by napr. Netbeans bylo nejak extra neprehledne, ba naopak. Pro vyuku javy lze take dobre pouzit prostredi blueJ nebo proste jen CLI, kde bych ale doporucil pouzit mcedit nebo nano misto nadrecnikem navrhovaneho vimu ;-)
vlastikroot avatar 15.10.2014 21:35 vlastikroot | skóre: 24 | blog: vlastikovo | Milevsko
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
Ucit jako prvni jazyk javu je jako ucit nekoho ridit tank, kdyz neumi jezdit ani na kole.
Sg1-game | We will destroys the Christian's legion ... and the cross, will be inverted | IP 80.188.182.6
15.10.2014 21:47 odin
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
Proc? Cim je java tankem? :-)

Ja si naopak myslim, ze ucit jako prvni jazyk C je jako ucit nekoho provadet na aute vymenu motoru, kdyz ani neumi ridit. ;-)
vlastikroot avatar 15.10.2014 22:21 vlastikroot | skóre: 24 | blog: vlastikovo | Milevsko
Rozbalit Rozbalit vše Re: Programovani v C - vyuka

Ja proti Jave nic nemam, programuje se v ni podobne jako treba v pythonu, C++ nebo C#. Uplny zacatecnik s programovanim by se mel naucit poskladat z par zakladnich principu neco komplexniho. Vyhrabat z komplexu neco pouzitelneho a slepit, je trochu jiny typ ukolu, ktery by se mel ucit az potom.

Takze treba zacit na ASM/C, naucit se to se vsim vsudy a pak se poohlizet po neco min low-level, jako je treba C++ nebo Java.

Ve skole se ma clovek naucit premyslet, neni primarni cil si tim hned zacit vydelavat.

Sg1-game | We will destroys the Christian's legion ... and the cross, will be inverted | IP 80.188.182.6
Josef Kufner avatar 15.10.2014 22:38 Josef Kufner | skóre: 66
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
Jde o jednoduchost, nikoliv o low-levelnost. Assembler je v tomhle nevhodný, neboť potřebuješ znalost komplikovaného hardware, i když samotný jazyk je v podstatě triviální. C tě této závislosti na hardware zbavuje, ale přitom ještě není zatížen složitostí vyšších jazyků. Proto je také tak populární a má své pevné místo i po 40 letech.
Hello world ! Segmentation fault (core dumped)
vlastikroot avatar 15.10.2014 22:50 vlastikroot | skóre: 24 | blog: vlastikovo | Milevsko
Rozbalit Rozbalit vše Re: Programovani v C - vyuka

Je to tak, cim jednodussi jazyk, tim slozitejsi a neprehlednejsi program, pokud resim komplexni problem. Mezi C a ASM je dost primocary preklad, takze se da lehce vysvetlit, proc ty veci jsou jak jsou. Napr. k popisu funkci, stacku, promennych atd. neni nic lepsiho, nez okomentovany ASM kod. Vsechno to pak zacne zapadat do sebe.

C je urcite nejlepsi volba, ale nesmeroval bych vyuku GUI smerem, ale spis k algoritmizaci. Az pak OOP, C++ a QtCreator.

Sg1-game | We will destroys the Christian's legion ... and the cross, will be inverted | IP 80.188.182.6
Josef Kufner avatar 15.10.2014 21:44 Josef Kufner | skóre: 66
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
Syntax je prakticky stejná jako v C.

Java je navržená tak, aby se používala s IDE a bez něj to je utrpení. Což nás přivádí zpět k tomu, že úplný začátečník bude muset vedle základních konstrukcí (cykly, funkce) vstřebat ještě OOP, kopec knihoven (srovnej s stdio.h), neprůhledný build systém a komplikované IDE.

Vedle toho v C může začít s jednoduchým editorem, příkazem "gcc main.c -o main && ./main" v terminálu a dokumentací k stdio.h. S tímhle vysvětlit hello world kompltně a bez děr ("toho public static si nevšímej") je na půl hodinky.
Hello world ! Segmentation fault (core dumped)
15.10.2014 21:55 odin
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
Syntax je prakticky stejná jako v C.

Vicemene souhlasim.

Java je navržená tak, aby se používala s IDE a bez něj to je utrpení.

Prace s javou bez ide je obdobna jako prace bez ide s jinym jazykem. Alespon podle meho.

Vedle toho v C může začít s jednoduchým editorem, příkazem "gcc main.c -o main && ./main" v terminálu a dokumentací k stdio.h. S tímhle vysvětlit hello world kompltně a bez děr ("toho public static si nevšímej") je na půl hodinky.

Ja si nemyslim, ze by to v jave bylo slozitejsi na pochopeni. Vzdyt helloworld v jave a v c je o hodne podobnejsi. Snad jen, ze System.out.println mi prijde lepsi k pochopeni nez printf... To, jestli je pred mainem int nebo public static void, mi take prijde celkem jedno. V C je navic argc a argv, ktere byva perfektne zapsano jako "*argv[]", coz budete imho vysvetlovat dele nez "public static".

Kazdopadne dekuji za nazory. :-)
Josef Kufner avatar 15.10.2014 22:55 Josef Kufner | skóre: 66
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
U hello world v C můžeš během té půl hodiny vysvětlit každé slovo. Student pak bude mít před sebou příklad, kterému zcela rozumí. Parametry main lze vynechat a probrat později, přičemž v kódu nebudou strašit. Stačí se vyhnout pointerům (a tedy i stringům v proměnných) během výkladu cyklů a můžeš mít na konci každé hodiny 100% kódu pokrytých výkladem, aniž by jsi něco výrazněji ošidil.

V případě "System.out.println" si vylámeš zuby už na těch tečkách uprostřed. Tedy pokud ti nějaké zbydou po "public static". Student před sebou bude mít pár řádek, kterým rozumí a okolo toho kopec bordelu, který tam je protože proto.
Hello world ! Segmentation fault (core dumped)
15.10.2014 21:15 Petr | skóre: 29
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
Sice je to asi flame, ale proc C na SS ne? - Nehadam se, jen me to zajima. A o SS autor nehovoril, takze nevime na jake skole chce to C vyucovat (i kdyz asi to ta SS bude).
15.10.2014 21:32 odin
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
Sice je to asi flame, ale proc C na SS ne?

Z me strany to flame neni. Ja mam ciste C moc rad. Myslim si vsak, ze se na stredni skolu proste nehodi. V 21. stoleti by imho bylo dobre programovani vyucovat v objektovem jazyce a doprat studentum luxus garbage collectoru ;-) Java je imho vhodna pro vyuku oop, ale i pro vyuku algoritmizace, zakladnich algoritmu a datovych struktur.

Dalsi roli imho hraje velmi nizka pravdepodobnost toho, ze by se student zivil v budoucnu jako programator v C, ktere se dnes pouziva jen na specializovane veci. Kolik firem poptava programatory v jave a kolik v cistem C? Uz jsem z toho trosku vypadl, ale pred peti-sesti lety byla situace zjevna...

A o SS autor nehovoril, takze nevime na jake skole chce to C vyucovat

Na zaklade stylu polozeneho dotazu jsem to pochopil nejak automaticky. Ale moc jsem nad tim nepremyslel. Hned mi do hlavy skocila predstava skupiny nactiletych lidi, kteri se snazi ucit vim a C. Nevim jak vy, ale ja mel v techto letech opravdu jine zajmy. A dale si myslim, ze java je proste zabavnejsi a lide se ji nauci rychleji nez C. Vzdyt s minimalni znalosti budou schopni pouzit veci jako swing a canvas. ;-)
15.10.2014 21:26 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Programovani v C - vyuka

Sice nevím čím se například gvim tak liší od běžného editoru, ale mohou použít klidně gedit.

C je jednoznačně lepší volba než Java, na Javě je rozhodně šílenost někomu vysvětlovat základy programování a pouštět fazole pro začátek je druhá šílenost.

To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
15.10.2014 21:38 odin
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
Gedit by sel, to je pravda.

C je jednoznačně lepší volba než Java

Procpak? Nemyslim si, ze by java byla nejak menecenna.

na Javě je rozhodně šílenost někomu vysvětlovat základy programování

Proc? Proc by tento jazyk byl nevhodny na vyuku programovani? Na rozdil od C se nemusi student zaobirat alokaci pameti a jako bonus ma k dispozici OOP, ktere dnes k vyuce programovani proste patri. Dale hraje roli fakt miry poptavky na pracovnim trhu.

Nebo si myslite, ze je zbytecne studenta obtezovat s OOP? Ja si to nemyslim, ale i kdyby, tak java ma prece take primitivni typy ;-)

pouštět fazole pro začátek je druhá šílenost.

Opet se musim zeptat proc? Vzdyt se zaklad prace s netbeans da naucit behem par desitek minut ;-)

16.10.2014 08:33 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Programovani v C - vyuka

Nevím proč rozděluješ věci, které ti vzájemně odpovídají. C je jednoznačně lepší volba než Java, protože je šílenost na ní někomu vysvětlovat základy programování.

Několik základních důvodů „proč“ vypsal Josef Kufner, a rozhdoně se není třeba hned zaobírat dynamickou alokací paměti, ale v určitém stadiu znalostí je to něco na čem pochopí lehce, jak to funguje a bez této znalosti nelze dobře programovat - je to základ.

OOP by měl být rozhodně až druhý a ne vždy nutný krok, první je třeba základy strukturovaného programování.

Poptávka - dobrý vtip - sorry, ale škola, kde učí programátory, má svůj program a neptá se takto v diskuzi (a tam je tento stejně nutný).

Pouště fazole je šílenost, protože se budou učit ovládat fazole a ne programovat.
Pár desítek minut je jedna vyučovací hodina a pak 3× zopakovat něco, co vůbec nepotřebují a co dělá spoustu věcí za ně a při tom ne rychleji „jen to prostě nevědí“.

To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
rADOn avatar 16.10.2014 13:58 rADOn | skóre: 44 | blog: bloK | Praha
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
Tobe Odine uplne unika co to je _vyuka_. Nahrnout co nejvic informaci najednou, to muzes udelat zkusenymu programatorovi (ktery bude rad ze neplytvas casem) ale ne cloveku ktery neumi napsat cyklus. Nebo ani nevi co to je. Na to prisel uz blahe pameti Komensky ze uceni ma byt postupne, od jednoducheho ke slozitejsimu. Predstav si takovy ukazkovy prvni helloworld v cecku:
#include <stdio.h>
void main(void) {
    printf("hello world\n");
}
Pokud se na to dokazes podivat jako neprogramator, tak uvidis proc je cecko pro vyuku hrozne blbe: i uplne primitivni program obsahuje makro preprocesru, escape sekvence, funkce a nepouzite datove typy. I kdyz je dobre ze ten jazyk vsechno tohle umi, jsou to veci ke kterym by ses mel dostat postupne a ne je nahrnout vsechny najednou. Jak by to vypadalo v Jave si umis predstavit sam : totez v blede modrem plus jeste navic objekty, staticke metody a balicky. Naprosta pakarna. To nemuze skoncit jinak ze lidi bezmyslenkovite opisujou neco cemu (zatim) nemuzou rozumet coz je antiteze dobre vyuky.
Nebo si myslite, ze je zbytecne studenta obtezovat s OOP?
Rozhodne. OOP je neco k cemu se i chytry a motivovany zak nedostane driv nez za nekolik mesicu. A behem tech mesicu presne ty vlastnosti Javy ktery pro tebe jako profika jsou uzitecny budou zacatecnika mast a prekazet mu.

BTW ja o tomhle mam jistou predstavu pacz shodou okolnosti prvni jazyk ktery jsem se seriozne ucil bylo C… a byla to tragedie. Helloworld je jeste v pohode, ale to ze se ani printf() neda pouzivat bez znalosti pointeru je silene. I kdyz mam cecko rad (podstatne vic nez Javu) tak jako prvni jazyk bych ho nikomu nepral. Spis bych sahnul po nejakem interpretru – python, lua, tcl… klidne i perl. Python by byl asi idelani, ma spravu pameti, silne datove typy, objekty…muzes na nem ucit vsechno stejne co v jave (a hromadu veci o kterych se javistum nesni) – postupne.

"2^24 comments ought to be enough for anyone" -- CmdrTaco
David Watzke avatar 16.10.2014 14:16 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
nepouzite datove typy
Jenže ty sis tam vymyslel, správně to je int main() a chybí ti tam return 0 :-) Ten void argument je k ničemu.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
rADOn avatar 16.10.2014 15:18 rADOn | skóre: 44 | blog: bloK | Praha
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
Jo pravda, ten argument se muze zrusit. Ale navratovy kod je dalsi vec ktera je v helloworld programu nadbytecna a muze pockat na dalsi lekci, takze ten prvni void tam byt musi.
"2^24 comments ought to be enough for anyone" -- CmdrTaco
16.10.2014 15:24 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Programovani v C - vyuka

Main by měl mít návratovou hodnotu int (myslím ale, že se připouští i ten void) a return by tam měl být (ale opět C99, pokud není tak tam bude 0, nicméně nedávat return je hodně špatný začátek). Ale s tím void bych si nebyl tak jistý, je to fce jak každá jiná a to „void“ není k ničemu. int func() nebo int func(void) je určitý ( někdy zásadní) rozdíl.

Zkus si gcc -kuk.c -o kuk && ./kuk

#include <stdio.h>

/* uncomment "void" and try compile */
void func(/*void*/){
  printf("func\n");
}

int main() {
  printf("hello worldi\n");
  func(10);
  return 0; /* comment this line and add -std=C99 to compile command */
}

To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
pavlix avatar 16.10.2014 17:19 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
Pokud se na to dokazes podivat jako neprogramator, tak uvidis proc je cecko pro vyuku hrozne blbe: i uplne primitivni program obsahuje makro preprocesru, escape sekvence, funkce a nepouzite datove typy.
Nikoliv. Pokud se na to díváš jako začátečník, tak tam není makro preprocesoru ale magická formule, která ti zpřístupňuje funkci printf() nebo ještě lépe magická formule, která se píše na začátek programu.
escape sekvence
V tomhle je třeba Python přístupnější.
nepouzite datove typy
Nevím, jestli bych to takto nazval, ale holt céčko.
Jak by to vypadalo v Jave si umis predstavit sam : totez v blede modrem plus jeste navic objekty, staticke metody a balicky.
Java je na tohle hodně zlá.
Helloworld je jeste v pohode, ale to ze se ani printf() neda pouzivat bez znalosti pointeru je silene.
Proč by se nedal používat bez znalosti pointerů?
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
rADOn avatar 16.10.2014 19:11 rADOn | skóre: 44 | blog: bloK | Praha
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
Pokud se na to díváš jako začátečník, tak tam není makro preprocesoru ale magická formule…
Presne tak. A chces aby clovek veci chapal nebo jen bezduse opisoval nabiflovany moudra?
Helloworld je jeste v pohode, ale to ze se ani printf() neda pouzivat bez znalosti pointeru je silene.
Proč by se nedal používat bez znalosti pointerů?
To ti muzu popsat z prvni ruky:

1. lekce – helloworld. Par magickych formuli ale da se.

2. lekce – promeny, mozna i cykly. Aby to bylo videt tak pritlacime na pilu: prinf("i=%d", i);

3. lekce – vstup. Pro zacatek to nejjednodussi co muze byt – precist text a vypsat ho zpatky. Cili logicky pokracujeme: printf("zadal jsi: %s", s);… BÁC. Vyucujici po dlouhem drbani na hlave prohlasil neco ve smyslu "proste tam to ampersanditko musi byt, to pochopite casem". Mel pravdu, pochopil jsem to o nejakych sest let pozdeji.
"2^24 comments ought to be enough for anyone" -- CmdrTaco
rADOn avatar 16.10.2014 19:41 rADOn | skóre: 44 | blog: bloK | Praha
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
BTW ted jsem zrovna zahledl uplne luxusni kokotinu:

http://programujte.com/clanek/2007042601-java-tutorial-hello-world-2-dil/

Stranky a stranky magickych formuli (cca pulka celeho textu), jenom aby priblbe klikaci ide neco udelalo. A na zaver perla: Jestliže výstup končí větou BUILD SUCCESSFUL, gratulujeme! Úspěšně jste zkompilovali váš první program! …a o programování jste se pritom dozvedeli hovno.

Tedy, on ten text neni vubec spatny – clovek ktery ma pod opaskem rocnik nebo dva v nejakem vyukovem jazyce by podle toho asi mohl celkem hladce prejit na "opravdove" programovani.
"2^24 comments ought to be enough for anyone" -- CmdrTaco
Josef Kufner avatar 16.10.2014 21:35 Josef Kufner | skóre: 66
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
Pokud třetí lekcí budou pointery a hrátky s pamětí, žádné BÁC se konat nebude. V C skoro nic jiného než pointer a funkce není, takže to nemá smysl odkládat. Vstup je celkem nepodstatný, ten pár lekcí počká a pak se může probrat spolu se soubory. Do té doby si vystačí s mírně magickým printf, které dokud vypisuje jen čísla až tak magické není.
Hello world ! Segmentation fault (core dumped)
pavlix avatar 16.10.2014 22:39 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
Mel pravdu, pochopil jsem to o nejakych sest let pozdeji.
Tak to zabolí. Ale je to značně individuální, já jsem začínal na pascalu a při přechodu na C jsem zjistil jak moc mě pascal zdržoval a jak moc mi komplikoval život oproti C. A to je to opěvovaný výukový jazyk. Ale kdybych měl předtím základy assembleru, tak by mi to dalo možná ještě víc.

Ale neprogramátorům spíše sedí Python, ale zase tam mám potíže s výukou v tom smyslu, že v Pythonu je ta magie sice jednodušší, zato jí je tam strašně moc.
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
15.10.2014 21:35 Andrej | skóre: 43 | blog: Republic of Mordor | Zürich
Rozbalit Rozbalit vše Re: Programovani v C - vyuka

Odkdy je vim akceptovatelný editor? Je to editor určený ke komunikaci robotů s počítačem, když zrovna nemají jiné rozhraní než klávesnici. Není ale určený lidem, natož někomu, kdo začíná programovat v C.

ǑǦŹǓǕǙǞǺǨȞȬḔḦḰḾṊṎṸẄẌỖ
15.10.2014 21:37 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
Pokud vím, tak na výšce se v něm psali i emaily ;-)
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
vlastikroot avatar 15.10.2014 21:39 vlastikroot | skóre: 24 | blog: vlastikovo | Milevsko
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
Od ty doby, kdy clovek pochopi, ze je to stavovy editor. Kdyz clovek umi prepnout stav, neni na tom hur nez treba v tom mceditu.
Sg1-game | We will destroys the Christian's legion ... and the cross, will be inverted | IP 80.188.182.6
15.10.2014 21:51 Andrej | skóre: 43 | blog: Republic of Mordor | Zürich
Rozbalit Rozbalit vše Re: Programovani v C - vyuka

S mceditem bych asi nic nesrovnával — ten nemá primárně sloužit jako editor pro vývoj kódu nebo dlouhodobé psaní. Každopádně je na tom uživatel s vimem zhruba o dvacet poznání hůř než s obyčejném KWrite, o pokročilejších editorech nemluvě. Kdyby roboti chtěli používat například Kate, taky by si přišli na své. Jenže Kate má navíc ještě spoustu možností určených pro lidské uživatele, jaké (g)vim zkrátka nezná.

ǑǦŹǓǕǙǞǺǨȞȬḔḦḰḾṊṎṸẄẌỖ
pavlix avatar 16.10.2014 11:05 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
Mám s vimem takovou zkušenost, že si ho lidé velice rychle oblíbí, pokud nejsou přespříliš zvyklí na něco jiného.
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
15.10.2014 21:43 Andrej | skóre: 43 | blog: Republic of Mordor | Zürich
Rozbalit Rozbalit vše Re: Programovani v C - vyuka

Vřele doporučuji KDevelop. Celkem mě překvapuje, že tento návrh tu nepadl jako jeden z prvních. (V souvislosti s tím může prospět vyhození XFCE a instalace KDE, což by bylo jedině dobře.) Nevím sice, co má znamenat pojem „vizuální programování“, ale lepší nástroj na programování v C a C++ než KDevelop se mezi relativně „lightweight“ prostředími hledá těžko. Auto-completion, integrace s Doxygenem a systém automatických odkazů mezi deklaracemi, definicemi a použitím identifikátorů je funguje zhruba stejně jako v Eclipse, jen to běží svižně, protože nejde o žádný odporný Java-centric moloch.

ǑǦŹǓǕǙǞǺǨȞȬḔḦḰḾṊṎṸẄẌỖ
16.10.2014 08:43 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Programovani v C - vyuka

Mě to napadlo, ale nikdy mi nefungoval spolehlivě (samozřejmě z tvého pohledu historické verze), oproti code:blocks, kde mi to šlape.

Ale napsat, že KDevelop funguje zhruba jak Eclipse, ehm ano slouží ke stejnému (pod)účelu, ale komplexností je mnohem níže a nastavit si jej podle sebe taky moc nelze. Ano odezva java-centric-molocha je někdy horší, ale obvykle ne v těch věcech, které používáš často. Díky své „jednoduchosti“ a jednotnosti, je určitě vhodnější na výuku, než Eclipse nebo Fazole.

To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
17.10.2014 18:31 Andrej | skóre: 43 | blog: Republic of Mordor | Zürich
Rozbalit Rozbalit vše Re: Programovani v C - vyuka

Já přece netvrdím, že KDevelop je stejně dobrý jako Eclipse na Javu, Python, PHP nebo na spoustu dalších jazyků. To pravděpodobně ne. Nicméně pokud si chci co nejrychleji otevřít nějaký projekt v C nebo C++ založený na CMake a okamžitě mít nějaké context-aware automatické doplňování a všechny možné vychytávky, nic lepšího než KDevelop jsem zatím neviděl. (Klasický Makefile by asi fungoval taky — koneckonců se dá nakonfigurovat téměř jakýkoliv custom build.) Pak existuje ještě QtCreator, ale s tím nemám příliš dobré zkušenosti. Nějaká forma eclipsího CDT existuje taky pro fazole i pro IntelliJIdea (což je další zajímavé IDE, na Javu prý mnohem lepší než Eclipse), ale to jsou všechno prostředí, u kterých jsem leckdy musel nastavit Xmx8g, aby mi to rozumně fungovalo, :-D což mi sice při 16 GB RAM moc nevadí, ale stejně je to divné. KDevelop žádnou takovou nenažranost nevykazuje.

ǑǦŹǓǕǙǞǺǨȞȬḔḦḰḾṊṎṸẄẌỖ
17.10.2014 19:59 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Programovani v C - vyuka

Všimni že jsem ho na závěr označil „…je určitě vhodnější na výuku, než Eclipse nebo Fazole.“

OT: Doma mám stále 4GiB RAM a Core2Duo a Eclipse šlape jak hodinky s CDT (a spoustu dalších), jen na PDT je lepší malý RAM-disk na určitou část, nebo se to uchlastá (výkonově, ne paměťově), nebo mám Galileo, kterému sice něco chybí, ale nemá problém ani z dlouhými soubory a velkým projektem. Já holt používám ti staré věc (Eclipse Juno, Lunu mám rozchozenou, ale zatím jsem nepřešel) a staré OS, které nic nežerou a stačí jim pár set mega ;-).
Nechci Eclipse (java-pomelého-molocha), nicméně zatím mi žádné Open/Free IDE nebylo schopné nabídnout to co Eclipse.

To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
16.10.2014 11:45 Kit | skóre: 36 | Brno
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
Zkusil jsem si Geany a připadalo mi sympatické, protože bylo velmi svižné. Nepoužívám ho, protože mám Vim.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Fuky avatar 16.10.2014 13:41 Fuky | skóre: 52 | blog: 4u
Rozbalit Rozbalit vše Re: Programovani v C - vyuka

Jako úplný základ bych doporučil jet podle knížek Pavla Herouta a jakmile studenti vstřebají C, nechal bych je ať se pokouší implementovat věci z Pavel Töpfer - Algoritmy a programovací techniky.

Dbal bych na to, aby pochopili každý krok který dělají, tj. v žádném případě nepoužívat složité vývojové prostředí, ale jednoduchý textový editor, kde si vše napíši sami včetně Makefile. S manuálem od Pavla Satrapy zvládnou používat GVim velice rychle, a když budou mít chuť, záleží jen na nich, jak moc budou využívat jeho možností. Další dobrý zdroj kde čerpat informace pro výuku je kniha Linux Začínáme programovat.

Pak se můžete vrhnout na tvoření GUI, nejlépe v Gtk, nejprve ručně, poté pomocí Glade.

Javu bych nechal až budou mít plně pod kontrolou výše uvedené. Díky vstřebání předchozího, jim dojde spousta souvislostí a uvidí v čem je přínost OOP.

Zkušenost se studenty na VŠ, kteří se učili programovat rovnou v Javě a Eclipse je taková, že kolikrát neměli tušení co se děje mezi editací zdrojového kódu a spuštěním programu. Stačilo jim Eclipse sebrat, nechat dělat v obyčejném editoru všechny kroky ručně, tím si je osahaly, zažily a pochopily. Kdyby začínaly v C, měli by ještě mnohem lepší představu jak věci vnitřně fungují.

Zkrátka, složitý problém je třeba rozbít na co nejmenší dílky a ty dokonale pochopit, teprve poté z dílků složit něco většího a posunout se o level výše.

Josef Kufner avatar 16.10.2014 21:46 Josef Kufner | skóre: 66
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
Použít na GUI jako první toolkit Gtk je zvrhlé. GUI je krásný příklad pro použití OOP a je škoda to takle zabít.
Hello world ! Segmentation fault (core dumped)
pavlix avatar 16.10.2014 22:40 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
GTK mi přijde na začátky s GUI podobně vhodné jako kterýkoli jiný toolkit. OOP v GTK mi přijde srovnatelné s OOP kdekoli jinde.
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
Josef Kufner avatar 17.10.2014 00:22 Josef Kufner | skóre: 66
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
Je tam neskutečně moc bordelu tím, jak to staví OOP v ne-OOP jazyku. To na výuku není.
Hello world ! Segmentation fault (core dumped)
pavlix avatar 17.10.2014 02:49 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
Je tam neskutečně moc bordelu tím, jak to staví OOP v ne-OOP jazyku.
V závislosti na tom, jak to používáš, tě to může nebo nemusí trápit. A pokud jde o výuku OOP v C, tak jednu výhodu to má, je tam vše řešeno explicitně, nikoli implicitně.
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
FrostyX avatar 16.10.2014 16:01 FrostyX | skóre: 27 | blog: Frostyho_blog | Olomouc / Jeseník
Rozbalit Rozbalit vše Re: Programovani v C - vyuka

No nevím, nechtěl bych se někoho dotknout, některé rady mi přijdou vcelku mimo. Nebylo sice řečeno o jakou školu se jedná, ale řekl bych, že tu stejně všichni (včetně mě) předpokládají technickou střední školu, nebo gympl.

Umíte si představit, kolik hodin týdně je pro takový předmět k dispozici? Taky že v případě toho gymplu nemáte ve třídě pouze samé technicky nadané lidi, které to bude bavit. Navíc ani nemůžete udávat tempo výuky podle těch lepších studentů, ale podle průměru (nemůžete prostě nechat půlku třídy propadnout). A teď taky může nastat situace, že to programování budete vyučovat pouze jeden-dva roky.

Java - V tak ukecaném jazyce se bez IDE píše dost těžko a ty jsou tak přeplácané, že se půlka času stráví jen vysvětlováním, jak něco konkrétního udělat v IDE. Navíc pro Javu je typický overengineering, takže místo aby psali jednoduchá, přímočará řešení, budou je sáhodlouze obkecávat. Navíc budete muset spousty informací zatajovat.

C - To se dá psát bez IDE, ale Vim - wtf? Osobně mám závislost na Vim-like ovládání a používám ho téměř na všechno, ale vnuťte ho člověku, který o něj sám neprojevil zájem a bude vás ze srdce nenávidět. Psaní Makefilů ... hm, takže než vlastně začnou psát v jednom jazyce, tak se musí naučit ještě nějaký speciální syntax pro Makefile, práci s gcc, .. no a pak se někdy na konci roku naučí jak teda vypsat "hello world". Super, to budou šťastní. Hlavní problém Céčka k výuce programování ale vidím v něčem jiném, zásadnějším. Vy zadáte příklad, ale absolutně nikdo nebude přemýšlet nad tím, jak ho vyřešit. Všichni se budou soustředit na to, jak se v tom vlastně píše ta věc co oni chtějí (cyklus, pole, struktura, ...).

Pusťte je ze začátku třeba na Python. Interaktivní mód se spustí jedním příkazem, tím samým příkazem se nechá vyhodnotit i skript v souboru, všechno je absolutně přímočaré a stupidně jednoduché. A přitom se nejedná o jazyk, který by se v praxi nedal použít. Spíš naopak. Jako editor poslouží naprosto cokoliv podporující zvýrazňování syntaxe.

FrostyX.cz | 1984 was not supposed to be an instruction manual.
vlastikroot avatar 16.10.2014 16:34 vlastikroot | skóre: 24 | blog: vlastikovo | Milevsko
Rozbalit Rozbalit vše Re: Programovani v C - vyuka

Naucit nekoho (kdo chce programovat) zaklady C je tak na tyden. Dalsich par mesicu trva, nez si to ten clovek posklada v hlave a zacne chapat, jak z tech zakladu skladat slozitejsi veci. Ale vyucovat C znamena ho znat perfektne od ASM az po linkovani. Ucitel, ktery se to sam uci, bude ucit C rok a nenauci nic.

Python je super, ale jeho syntaxe je trochu zvlastni, napr. pouzivani odsazovani na scope mi neprijde jako moc dobry napad ucit.

Sg1-game | We will destroys the Christian's legion ... and the cross, will be inverted | IP 80.188.182.6
FrostyX avatar 16.10.2014 16:55 FrostyX | skóre: 27 | blog: Frostyho_blog | Olomouc / Jeseník
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
napr. pouzivani odsazovani na scope mi neprijde jako moc dobry napad ucit.
Proč ne? Je to jednoduché a odsazovat je stejně potřeba. Takže je to zase jednodušší než C, protože místo závorek a odsazení, stačí jen odsadit. Zase o jednu věc, která se musí dělat, míň. Stejně tak středníky, ...
FrostyX.cz | 1984 was not supposed to be an instruction manual.
vlastikroot avatar 16.10.2014 17:21 vlastikroot | skóre: 24 | blog: vlastikovo | Milevsko
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
Je dulezite pochopit, jak to funguje se strednikama a zavorkama, pak teprv si clovek muze dovolit to opustit. Clovek si ty scope musi predstavit.
Sg1-game | We will destroys the Christian's legion ... and the cross, will be inverted | IP 80.188.182.6
pavlix avatar 16.10.2014 17:22 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
Zase o jednu věc, která se musí dělat, míň. Stejně tak středníky, ...
Hned dvakrát výhra. Nebudou zapomínat středníky ani závorky a uvidí jak kód opravdu poběží.
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
16.10.2014 17:49 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
K běží jak má - ehm - mně tedy rozhodně ne :(
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
pavlix avatar 16.10.2014 18:36 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
Výkřik do tmy?
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
16.10.2014 19:02 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
Ne, už se mi to stalo nejednou, protože při rychlých úpravách něčího Python zmatku, který si používá v části tabulátory v části kódu čtyři mezery a já všude výhradně dvě mezery, se tomu rozhodí sandál velmi rychle a šup najednou podmínky dělají něco jiného.
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
16.10.2014 19:10 Kit | skóre: 36 | Brno
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
Ve Vimu se mi to nestává, protože mi to hlídá.

Kromě toho při dodržování pravidla max. čtyř úrovní odsazení se krásně dá udržet přehled.

Doporučení pro Python zní: 4 mezery. Stejně mám raději tabulátory.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
16.10.2014 19:35 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
No a to je pro mě noční můra 4 mezery nebo jeden tabulátor a evidentně pro spoustu lidí taky, protože to není zas taková výjimka, že když kód opravdu zobrazíš, tak vidíš, že tam jsou někde taby a někde mezery a on ten mišmaš definuje funkčnost - ne! pro mně je to děs :(. A sorry na 4-mezerové a 8-mezerové kódy se odmítám dívat, naštěstí u ostatních jazyků stisknu „format“ a mám to jak chci a funkčnost to nerozhodí.
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
16.10.2014 20:43 Kit | skóre: 36 | Brno
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
Jaké 8mezerové kódy? Jaký mišmaš? Všechno mám jednotně a do repa to nahrávám přesně tak, jak to má vypadat. Tentýž kód vypadá slušně i když ty taby mám 2, 3, 4 nebo 8 mezer. Vždy se na to koukat dá a vždy je to přehledné.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
16.10.2014 21:23 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Programovani v C - vyuka

Mišmaš vzniká pokud se používají tabulátory, dřív nebo později se to nakombinuje s mezerami a pokud není nic co by to zachytilo, což je často případ skriptů a jednoduchých věcí, tak stačí mít zobrazený jinak tabulátor a pak i sfiňa by se z teho zblula.

Jinak gratuliji, ale já má taky všechno svoje jednotně (2 mezery, tab neexistuje) a klidně to vysypu jinak, pokud si to někdo bude přát (problém by mi možná vznikl v aplikacích používajících OpenGl, tam jsem kdysi používal odsazení sudé {na kód} a liché na sekvence/bloky OpenGl).

To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
pavlix avatar 16.10.2014 22:44 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
Přijde mi, že se hledá problém tam, kde žádný není. Míchání mezer a tabulátorů na odsazení kódu je vždy špatně a dělá to problémy u všech projektů, mezi Pythonem a C není v tomhle zásadní rozdíl.
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
rADOn avatar 16.10.2014 19:56 rADOn | skóre: 44 | blog: bloK | Praha
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
Takova uprava je prasarna v jakymkoliv jazyce. Vazne, kdybych v praci pushnul nejaky "vyhradne" vlastni odsazeni tak me sezerou ceckari stejne jako pythonyri. A to uz bych byl pekne ohlodanej od toho jak by me sezrali kdybych commitnul kombinaci tabu a mezer.

"2^24 comments ought to be enough for anyone" -- CmdrTaco
16.10.2014 20:06 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Programovani v C - vyuka

K tomu je taky definovaná „kultúra“ projektu/firmy.

Ale hold existují ohlodaní úpraváři - ono stačí málo, rychlá oprava, jeden copy&paste ze dvou různých projektů kde v jednom jsou mezery a druhém tab-y, normálně „nekultúra“ v Pythonu průser.

Jinak to zbytečný flame, já díky tomu nemám rád Python a někomu se právě proto libí.

To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
16.10.2014 20:46 Kit | skóre: 36 | Brno
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
Na to jsou určeny filtry clean a smudge v Gitu. Můžeš dělat pro hodně firem, každá může mít jinou firemní/projektovou kulturu, budeš psát po svém a přesto vyhovíš všem.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
16.10.2014 21:11 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
Takový filtry existovaly, než vůbec vznikl nápad udělat git ;)
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
16.10.2014 21:24 Kit | skóre: 36 | Brno
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
Samozřejmě. Git je však udělal natolik transparentními, že můžeš v klidu zapomenout na to, že je máš.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
16.10.2014 21:27 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
No možný to je, doposud jsem ho nepoužil nijak než jen z minimální nutnosti.
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
16.10.2014 21:36 Kit | skóre: 36 | Brno
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
Aby nedošlo k omylu: Ty filtry nejsou součástí Gitu. Jsou to externí programy typu indent či astyle. V konfiguráku Gitu si jen nastavíš jejich parametry při spuštění.

Jedná se tedy o tytéž programy, které máš na mysli, Git je pouze jejich wrapperem.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
rADOn avatar 16.10.2014 21:38 rADOn | skóre: 44 | blog: bloK | Praha
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
A uvedomujes si ze ted vypadas jako nejvetsi prasopisec? :-)

Srsly, pokud nejsi opravdovy prase tak je to jen zvyk <flejm>ve tvoji hlave </flejm>. Kdyz bys dejme tomu v jave vyprasil dve tridy do jednoho souboru tak te to proste zjebe a nezkompiluje. I kdyz je to uplne zbytecnej vymysl. Kazdy jazyk ma svoje specialitky. Ale kdyz mas jazyk kterej ma skutecnych i umelych omezeni minimum a da se v nem prasit skoro jako v perlu, tak ti bude zatezko nastavit si odsazovani? To proste nedava smysl.
"2^24 comments ought to be enough for anyone" -- CmdrTaco
16.10.2014 21:47 Kit | skóre: 36 | Brno
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
V každém javovském souboru mám dvě veřejné třídy. Java s tím nemá žádný problém.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
16.10.2014 22:06 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Programovani v C - vyuka

Java ne, ale některá IDE pro Javu ano, takové fazole, pokud si pamatuji, měly/mají daleko víc problémů než vlastní jazyk.

Já jsem toto blbé pravidlo (1:1), převzal do C++ (není-li dáno jinak), je to docela fajn a poruším to opravu jen výjimečně.

To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
Josef Kufner avatar 16.10.2014 22:24 Josef Kufner | skóre: 66
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
Tohle pravidlo je také vynucováno v PHP, neboť class loadery obvykle s ničím jiným nepočítají.
Hello world ! Segmentation fault (core dumped)
16.10.2014 22:37 Kit | skóre: 36 | Brno
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
V PHP mi to velmi dobře vyhovuje. Pouze u interface se cítím trochu trapně s těmi čtyřřádkovými includy, ale na druhou stranu je všechno na svém místě.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
16.10.2014 22:01 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Programovani v C - vyuka

Já? proč?, já v Pythonu nepíšu a nebudu, jen velmi ojediněle opravuji co někdo zplodil a když to zrovna otevřu ve vim-u, který je jinak nastavený a vidím něco jiného něž co to dělá bez záchytného bodu, tak je to radost.

Když někdo doprasí formátování třeba céčka tabulátory a mezerami, tak si řeknu „to je vůl“, ale furt se mám čeho chytit, nebo si s tisknu „Format“ (pokud to otevřu třeba v Eclipse), ale u Pythonu mám prostě oprávněný strach cokoliv udělat.
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
pavlix avatar 16.10.2014 17:22 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
Python je super, ale jeho syntaxe je trochu zvlastni, napr. pouzivani odsazovani na scope mi neprijde jako moc dobry napad ucit.
Potom, co jsem kdysi viděl spolužáky vyrábět špatně odsazený kód mám přesně opačný názor. Naučit je odsazovat v Pythonu by bylo stokrát jednodušší, nehledě na to, že se syntax oproti třeba Pascalu odsazuje úplně krásně.
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
vlastikroot avatar 16.10.2014 17:48 vlastikroot | skóre: 24 | blog: vlastikovo | Milevsko
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
Pokud pouziju nejaky normalni editor, tak se C osazuje skoro automaticky. Staci jen naznacit, ze je to dulezite a proc. Ale whitespace je proste whitespace, neni to znak, kdyz si predstavim, ze bych misto whitespace pouzil #, tak budu mit pred kazdou radkou tolik # kolik mam zanoreni. To je trochu primitivni, proto normalni jazyky maji neco jako begin a end.
Sg1-game | We will destroys the Christian's legion ... and the cross, will be inverted | IP 80.188.182.6
pavlix avatar 16.10.2014 18:40 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
Staci jen naznacit
Pobavilo. Ale zbytek textu jsou prázdné kecy, na to nemá smysl nějak víc reagovat.
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
Josef Kufner avatar 16.10.2014 21:44 Josef Kufner | skóre: 66
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
Jo, tohle jsem také viděl. Napíše nudli bez odsazení a diví se, že se v tom nevyzná. Ale představa, že takový člověk udrží správné odsazování v trochu větším kousku kódu je celkem ftipná. Ty závorky hodně pomáhají.
Hello world ! Segmentation fault (core dumped)
pavlix avatar 16.10.2014 22:47 pavlix | skóre: 53 | blog: pavlix
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
Ty závorky hodně pomáhají.
V tom se neshodneme.
GentooFedoraSCRAM – Jsem open source vývojář, nikoli markeťák ⇒ názory zde uvedené jsou jen mé vlastní.
16.10.2014 22:47 Kit | skóre: 36 | Brno
Rozbalit Rozbalit vše Re: Programovani v C - vyuka
"větší kousky kódu" vůbec nemají vznikat. Dávám si záležet na správném odsazení i u desetiřádkových metod. Vlastně nemusím. Vim to dělá za mne a pomocí odsazení mi hlídá i závorky.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.