Ahoj milý začátečníku, který jsi se prokousal diskusí až sem. Chápu že na tebe diskuse zapůsobila odpudivým dojmem. Ano tvůj závěr je správný, C není jazyk pro tebe :). C se neuč je to jazyk který efektivně využije jenom malá skupina programátorů zaměřených na ovladače, mikroprocesory a speciality a který pak mají mindráky z toho, že strávily tisíce hodin učením se jazyka a výběrem knihoven a pak tady mudrují jestli main() nebo main(void). Samozřejmě, programovat v C/C++ jde všechno , ale cenou za to je velice mnoho práce. Pokud se chceš naučit programovat v něčem co jde použít ( např aby jsi mohl naprogramovat jednoduchou GUI aplikaci, nebo hru) není třeba se těmito jazyky zabývat. Bohužel na těchto jazycích je znát , že jsou již staršího data výroby :D a tak tam "chybí" mnoho věcí, které již řadu let zpříjemňují práci programátorům v jiných aplikacích. Něco jako automatická správa paměti, vlastnosti u tříd dalo by se pokračovat :D. Pokud chce někdo tvořit progamy (ne utápět se v programování) doporučuji něco jako delphi nebo C#, samozřejmě v kombinaci s příslušnými IDE.
Jenom pro úplnost já nejsem programátor. Mám za sebou jenom pár projektů a jedním z nich je např aplikace s 32000 řádcích (po zkompilování má ovšem jen 530 000 kB :) ) programovaná v C++/MFC která mi zabrala rok života. S odstupem času vydím, že jsem bohužel nezvolil optimální kombinaci a kdybych si vybral jiný jazyk, strávil bych minimálně polovinu času lepšími věcmi než je progamování :). Jak na codeproject,forum.builder.cz a podobně, tak teď už i tady jsem postupně přesvědčován, že pro tvorbu aplikací C/C++ není nejlepší volba. Doporučuji zastáncům C/C++ se podívat na tyto stránky aby mohli porovnávat co řaší programátoři v c/c++ a co řeší programátoři v jiných jazycích ... je to značný rozdíl... takový příklad: Mějme zubní kartáček .... Ceckar začně počítat kolik přesně má chloupků přesné rozměry a materiály... jiným programátorům stačí při koupi vědět jestli je Tvrdý/měkký/střední :)
Pro ostatní, přeji štastné trefy při házení kamenama :D a jenom abych nebyl neznalý prosím uveďte mi nějaký kvalitní IDE pro linux ,který je na úrovni např. Borland studia 2006 nebo Visual studia 2003 /2005( pokud jste programátoři určitě znáte features těchto IDE :) ).
Je videt, ze na konec jsi nic kloudneho neprogramoval/dalsi z rada klikacu/.Pouzivani RAD nastroju a opravdove programovani je rozdil. Zkus se podivat na Kdevelop, glade a rada dalsich.
pokud ti nekdo rika, ze psani kodu je vetsina programovani, tak ti lze. Pokud stravis psanim kodu vice nez 20% sveho produktivniho casu (dlouhodobe), tak neco delas spatne. Bud pises bez premysleni; nebo netestujes; anebo pises zbytecne slozite.
A pokud programujes jen 20% casu, tak je skoro jedno, v jakem jazyce (dulezitejsi je jazyk umet, nez jaky jazyk) a v jakem prostredi (dobre IDE ovsem mene unavuje, to je urcite pravda).
A navic casem zjistis, ze pokud nepises vec typu "po pouziti zahodit", tak potrebujes neco trvanliveho. A lze predpokladat, ze pokud neco prezilo aspon deset let (to neni jen C, ale i treba java nebo perl), tak to dalsich deset let taky prezije.
RE: Pokud stravis psanim kodu vice nez 20% sveho produktivniho casu (dlouhodobe).
jenom taková otázka ... nemyslím to zle... programátor programuje 2 hodiny ze směny?
Od doby co jsem přičichl k potřebě občas něco vytvořit, používám různé vyjadřovací jazyky ( php, c++, perl, bash, delphi, vb) hlavně v závislosti na aplikaci ( pro co to tvořím ). Problém je spíše srovnání právě z hlediska času. když srovnám investovaný čas / výsledek pak nejnižší hodnotu mi dává C++ ... ano je to tím, že programováním se neživím. Kdybych pokračoval a programoval ještě tak 5-6 let v C++ a nějakém frameworku tak výkonnost velice stoupne a investovaný čas se vrátí. Ale pro příležitostného programátora je "cecko++" moc. Asi hlavně proto, že se distancuje od konkrétního frameworku a výběr je na uživateli(kde jsem jsem konkrétně já naneštěstí zvolil kombinaci API a MFC :( )... nevim. Také je pravdou, že mi u c++ mnoho věcí nevadilo... protože to byl jazyk kterým jsem začal ( nepočítaje pascal). Ale když jsem začal dělat i v jiných jazycích, tak vidím a velice oceňuji pohodlí, které poskytují. Prostě myslím že svět se již posunul dlouhými kroky jinam.
Jenom pro ukázku ... četl někdo z Vás knihu od "Premier Press" "C# Professional Projects" ? ... tak takhle nějak si představuji že má vypadat nauka programování :). Byl bych upřímně zvědavej jak by se dala nějaká taková kniha udělat v kontextu C++. ( o C++ a navazujících věcech (mfc,api atd) jsem přečetl cca 7000 stran knih, ale žádná nešla takto pěkně "na věc")
Ad "programator programuje 2 hodiny ze smeny": K tomu dve veci.
Za prve, citim v podtextu vasi poznamky skryty predpoklad, ze "programovani" = "psani kodu". To je obecne rozsireny omyl. I pokud budeme chapat programovani jako kodifikovani pozadavku, tak vetsinu doby musi zabrat shromazdovani pozadavku plus snaha jim porozumet, a potom testovani kodu, zda je vystup v souladu s pozadavky. Pokud to tak u vas neni, tak delate neco spatne. (A to jsem se prave snazil naznacit.)
Za druhe, pokud mluvime o hodinach: Pred nedavnem jsem cetl velmi zajimovou studii, kde autori vyhodnocovali, kolik casu programator stravi explicitni konstruktivni praci (presna definice tam byla i uvedena, ted snad postaci intuitivni chapani). Ve vetsine firem vyslo neco kolem 25%, nejlepsi vysledek byl 37%. Pokud snad znate nekoho, kdo si mysli, ze jeho programatori pracuji 100% doby, tak ten nekdo lze bud vam nebo sobe. Ono to tak nefunguje a ani fungovat nemuze. A mate moznost bud pohlizet na skutecnost tak, jak je, anebo se ji snazit videt takovou, jak by byt mela - vyberte si sam.
K tomu zbytku: Jak rikam, je jedno, jaky jazyk - podstatne je, jak dobre.
Tak pod tohle bych se podepsal. Každý jen trochu rozumný vývojář by měl vzít nohy na ramena, pokud se po něm nechcou: specifikace, dokumentace, testy a někde v zadu se krčící implementace. Pokud to má být rychle i když blbě, tak honem pryč!
Tak todle je trefa do černýho. Typuju, že takovým tím živelným přístupem pracuje nejmíň polovina softwarových firem, je to ten typ zastuzeného vývoje z garážových aplikací, na jejichž složitost mimochodem nižší jazyky byly dostačující (zkušenost už mám). Na rozsáhlé projekty jsou třeba vyšší jazyky s lepší abstrakcí, řešení problémů pointerů, přetékání bufferů ap. zde nemají místo, naopak je třeba jazyky, které umějí jednou operací řešit rozsáhlé problémy. Mimoto samotné implementaci musí předcházet rozbor a datové modelování, jinak se v tom jeden utopí...
Celou diskusí se táhne pocit, že se zde potkávají lidé z nižšího programování, kteří upřednostňují nižší jazyky (asm, C) a z vyššího (vyšší jazyky), jenom si to nějak nemůžou říci. Takže otázka není zda C, ale na co!