Porovnání C a Javy pro začátečníka

ondra.novacisko.cz

Re: Porovnání C a Javy pro začátečníka
« Odpověď #15 kdy: 17. 01. 2011, 15:29:21 »
Spíš doporučuju Visual C++ Express.  Pro začátečníka skvělé prostředí, lepší než vi+gcc+gdb. I pro programování v Eclipse CDT musí člověk už něco umět, aby si to dokázal nastavit.


Re: Porovnání C a Javy pro začátečníka
« Odpověď #16 kdy: 17. 01. 2011, 16:45:22 »
Jako prvni "opravdovy" jazyk bych C nebral ani nahodou. Jako druhy, treti jazyk je to skvela volba, ktera cloveku ukaze hodne veci do hloubky. Ale jako prvni knihu take nedavame detem Fucaultovo kyvadlo vytistene malym pismem.
Zacal bych Pythonem (alternativne Ruby, Smalltalkem, Scheme...), v mirne horsim pripade Javou. Zacatecnik imo nema byt postaven naraz pred vsechny problemy, bude mu stacit prvni varka (algoritmizace, cykly, podminky, volani funkci, rekurze). Bude rad, ze napise print vysledek a ono to vypise vysledek (ruku na srdce, trebas IO je v C sice logicke, ale aby ho clovek pochopil, tak musi chapat hodne i netrivialnich veci).

Takze ma rada: zacit mensim problemem (Python, Ruby, Java...), nabrousit si na nem drapy a pak jit smer C. Lepsi dostat do zacatku nejaky ten bonus zadarmo (sprava pameti, bohate knihovny, bezpecnost runtime...) nez si namlatit cumak. Nekoho to zoceli, ale vetsinu odradi. Prvni kroky jsou tezke a pozitivni zpetna vazba neocenitelna.

Z knih pro zacatecniky neznam nic lepsiho nez edici Head first. Zacal bych Head first programming (pouziva Python), ale i Head first Java nebo Head first Python jsou dobre navrzene ucebnice.

Re: Porovnání C a Javy pro začátečníka
« Odpověď #17 kdy: 17. 01. 2011, 16:57:39 »
Na začátek je docela dobry php, syntaxe je dost podobná Cčku, člověk nemusí řešit alokaci paměti a spoustu dalších věcí, navíc se jde v něm docela dobře naučit objektovy programování (ale nemám s tím moc zkušeností, OOP nemusím). Jediny co mě v php štvě jsou $ před každou proměnnou.

Jakub D.

Re: Porovnání C a Javy pro začátečníka
« Odpověď #18 kdy: 17. 01. 2011, 18:56:22 »
Z pohledu zacatecnika je tu jeste jedna dulezita otazka: kolik casu mi zabere v tom kterem jazyce udelat neco zajimaveho, co bude fungovat. Treba hru, jednoduchy editor textu atd. Pro zacatecnika je myslim dulezite, aby co nejrychleji dostal nejake vysledky, a mel tak motivaci pokracovat dal.

K tomu je asi nejlepsi PHP a Java. Jen pro porovani: absolvoval jsem dva kurzy: Java a C++. Kazdy z nich byl prednasen a cvicen schopnymi lidmi. Zatimco v kurzu Javy se ke konci delaly kolekce, GUI, prace se siti a dalsi, v kurzu C++ se stale zapolilo se zaklady (cti ukazately :-)), ale prakticky vysledek nikde.

Pokud budete chtit psat drivery nebo vlastni OS (sic!), tak se specifika C++ doucite. Tak jako tak by jste casem, po zdokonaleni se mel pribrat dalsi jazyk, neni vhodne zustavat u jednoho.

blizz

Re: Porovnání C a Javy pro začátečníka
« Odpověď #19 kdy: 17. 01. 2011, 19:35:39 »
Z pohledu zacatecnika je tu jeste jedna dulezita otazka: kolik casu mi zabere v tom kterem jazyce udelat neco zajimaveho, co bude fungovat. Treba hru, jednoduchy editor textu atd. Pro zacatecnika je myslim dulezite, aby co nejrychleji dostal nejake vysledky, a mel tak motivaci pokracovat dal.

K tomu je asi nejlepsi PHP a Java.

PHP by sa začiatočník určite nemal učiť ako prvý jazyk, lebo získa zlé programátorské návyky.


blizz

Re: Porovnání C a Javy pro začátečníka
« Odpověď #20 kdy: 17. 01. 2011, 19:40:22 »
Na začátek je docela dobry php, syntaxe je dost podobná Cčku, člověk nemusí řešit alokaci paměti a spoustu dalších věcí, navíc se jde v něm docela dobře naučit objektovy programování (ale nemám s tím moc zkušeností, OOP nemusím). Jediny co mě v php štvě jsou $ před každou proměnnou.

PHP umožňuje programovať objektovo ale neni to oo jazyk v pravom zmysle slova. A vôbec nevedie programátora k tomu aby myslel v objektoch.

Inkvizitor

Re: Porovnání C a Javy pro začátečníka
« Odpověď #21 kdy: 17. 01. 2011, 23:28:51 »
Jakub D.: Pokud bych chtěl rychlý výsledek, rozhodně bych si vybral nějaký jazyk, který má REPL (interaktivní rozhraní). To, pokud vím, Java nesplňuje a pro PHP existuje jakési udělátko od tvůrců Facebooku, které jsem neviděl.

Pokud bych chtěl mít extra rychlé výsledky, rozhodně bych nevolil "čtvrtinový assembler", tedy Javu (C je poloviční assembler, Java je poloviční C), ale Python nebo Ruby, já mám zkušenosti s Pythonem a z hlediska rychlosti výsledku mohu doporučit. V Pythonu se na žádné kolekce ala Java moc nehraje, prostě máš pole objektů nebo slovník a strč si tam, co chceš. Navíc je "batteries included", tj. v základní distribuci snad kromě pořádného GUI lze dělat všechno, co začínajícího programátora napadne.

Ze staticky typovaných jazyků bych volil asi Scalu. Namísto Javy rozhodně.

blizz

Re: Porovnání C a Javy pro začátečníka
« Odpověď #22 kdy: 18. 01. 2011, 00:03:26 »
"V Pythonu se na žádné kolekce ala Java moc nehraje, prostě máš pole objektů nebo slovník a strč si tam, co chceš."

takto?:

object[] pole = { "retazec", 1999 };
var kolekcia = new List<object>() { "retazec", 1999 }
var slovnik = new Dictionary<object, object>()
{
   {"x", 2},
   {55, "werqwe"},
   {ff, 5.5},
   {5.5, -1}
};

"Ze staticky typovaných jazyků bych volil asi Scalu. Namísto Javy rozhodně."

typická otrepaná fráza.

Inkvizitor

Re: Porovnání C a Javy pro začátečníka
« Odpověď #23 kdy: 18. 01. 2011, 00:24:39 »
Sorry, blizzbossi, ale co jsi mi tím vyvrátil? Já jsem nikde netvrdil, že v Javě nelze udělat pole obecných objektů, jenom jsem řekl, že Python je dynamicky typovaný jazyk a tudíž v poli máš OBECNĚ to, co tam narveš (a bez garance, kterou zajišťují staticky typované jazyky). Jasně že si můžeš dát v Javě nohu za krk a programovat podobným způsobem, byť daleko méně elegantně. Pokud se pro to ale rozhodneš, s největší pravděpodobností jsi udělal něco špatně.

S tou "typickou otřepanou frází" jsi mě rozesmál. Já napíšu, že bych JÁ OSOBNĚ zvolil raději Scalu (z dobrých důvodů, ale to není podstatné, neuváděl jsem je) a ty na mě s "otřepanou frází".  ;D

pravdokop

Re: Porovnání C a Javy pro začátečníka
« Odpověď #24 kdy: 18. 01. 2011, 02:36:15 »
Uvědomte si, že vše, co má běžet opravdu rychle, je a ještě dlouho bude programováno v C/C++. Navíc uvidíte "pod pokličku" všech zpomalovacích vrstev jako je java nebo C# a budete schopni odhadovat, jak zatíží ten či onen algoritmus procesor. Pokud někomu dělá problém se tyto nepříliš složité jazyky naučit, tak ať raději vůbec neprogramuje, stejně to bude stát za starou belu.

Re: Porovnání C a Javy pro začátečníka
« Odpověď #25 kdy: 18. 01. 2011, 09:21:56 »
Uvědomte si, že vše, co má běžet opravdu rychle, je a ještě dlouho bude programováno v C/C++. Navíc uvidíte "pod pokličku" všech zpomalovacích vrstev jako je java nebo C# a budete schopni odhadovat, jak zatíží ten či onen algoritmus procesor. Pokud někomu dělá problém se tyto nepříliš složité jazyky naučit, tak ať raději vůbec neprogramuje, stejně to bude stát za starou belu.
Da se souhlasit s tim, ze C udela z programatora lepsiho programatora. Ale stale v tom nevidim duvod, proc by to mel byt prvni jazyk. Zacit jednodusim a pokracovat ke slozitejsimu. (S tim, ze by se mel clovek naucit C++ i pokud se jim nechce zivit, bych ale uz nesouhlasil. Pro praxi je to jazyk uzitecny, ale na rozdil od plain C tam neni nic, co by podstatne rozsirilo programatorovu mysl. Navic je to dost nestastne navrzeny jazyk, ktery zabere hodne casu, ale vse v nem je jinde lepe.)

Re: Porovnání C a Javy pro začátečníka
« Odpověď #26 kdy: 18. 01. 2011, 11:36:05 »
Pozrime si Tiobe Index
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

To je pouzivanost jazykov v praxi
a  tomu prepojenost jazykov podla historika Erica Levenza
http://levenez.com/lang/

Z ktoreho zistis, ze  C s OOP je  C++, Java je C++ bez smenikov, a C#  je zmrvena Java, z C/C++ vychdza aj ObjectiveC.


Z Tiobe indexu ale zistis,. ze za tento mesiac brutalne narasta Jazyk Symbolickych Instrukcii  (Assembly Language) a jazyk umelej inteligencie LISP.

C je len lepsi citatelny "Assembler" a teda ta na neho pripravi. C umoznuje aj funkcionalne konstrukcie, ktore ta pripravia na LISP.
 


JAVA-e by som sa v uvode vyhybal, ak sa chces nieco naucit

Dvaja profesori z New York University sa v obšírnejšej rozprave zaoberali problémom, ktorý trápi mnohých zamestnávateľov v IT priemysle: programátorské schopnosti nových absolventov počítačových vied sa postupne znižujú. Podľa nich za to môžu úvodné kurzy Javy a skriptovacích jazykov.

http://www.itnews.sk/spravy/software/2008-01-17/c87894-programatorske-schopnosti-absolventov-klesaju-problemom-je-java

pssp

Re: Porovnání C a Javy pro začátečníka
« Odpověď #27 kdy: 18. 01. 2011, 14:27:37 »
Ja by som ako prvy odporucal Basic. U mna to fungovalo :-)

Seriozne ... asi by som si vybral skor podla toho, comu sa chcem venovat (jednoduche webove stranky (php), webove aplikacie (php, java, python), hry (c, c++, java, ...), desktop applikacie (c++, objc, java, ...), android (java), iphone (objc), ... nieco uplne ine). Po zvladnuti jedneho jazyka sa dalsie daju naucit rychlejsie, vela konceptov sa medzi jazykmi opakuje, aj ked rozdiely samozrejme su, napr. medzi C a Javou je dost velky skok. Hlavne to berte sportovo, netreba sa nikam ponahlat, programovanie je obrovske pole a naucit sa nieco vyzaduje kopec casu a odhodlania. Have fun!

Mac

Re: Porovnání C a Javy pro začátečníka
« Odpověď #28 kdy: 18. 01. 2011, 14:52:22 »
Když budeš umět třeba C/C++, tak můžeš napsat program pro příkazovou řádku. Aby měli programy nějaké textové nebo grafické rozhraní, je potřeba se také naučit knihovny, např. ncurses, GTK+ nebo Qt. Na hry třeba SDL nebo OpenGL atd. atd. Taky se budeš muset učit algoritmy. Programování je prostě závazek na celý život.

Re: Porovnání C a Javy pro začátečníka
« Odpověď #29 kdy: 18. 01. 2011, 15:05:34 »
Zacal bych Pythonem (alternativne Ruby, Smalltalkem, Scheme...)
Hej, python je tiez fainy. Zrovna v nom robim ;)