Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: asdfasd 17. 12. 2011, 19:17:28
-
zdravim,
zacinam s programovanim (mam zaklady pascalu a to je tak vsetko) a neviem sa rozhodnut medzit tymito jazykmi : Perl, Python, Lua
Python - vsetko fasa len sa dost bojim tych zmien vo verziach (napr. 2.6 vs 3.0, 3.0 vs 3.2),
Perl - vraj niekedy dost mätuca syntax
Lua - malo dokumentacie, neviem ci by som to zvladol
co by ste mi odporucili? viem ze je tu podobnych threadov isto vela ale skratka neviem
-
Podla mna je vitazom na obycajne skriptovanie Perl - syntax je podla mna prirodzena; najvacsia nevyhoda je citatelnost, ak to pises "iba aby to fungovalo".
Dalsie dva su pekne, ich funkcionalna cast je krajsia ako to u Perlu, ale maju problemy s kompatibilitou medzi verziami a s ich rozsirenim - perl je skoro vsade, ma moduly skoro na vsetko.
-
ale zase pokud mas jenom zaklady pascalu, nejlepsi pro tebe bude python
-
Mě to přijde jako jestli se máš "učit řehtat", "chrochtat" nebo "vyplazovat jazyk", všechno z toho MĚ přijde jako blbost.
Třeba Ruby se nemusí používat jen s Rails a když umíš Ruby, bude cesta k Rails snazší, navíc tě jazyk sám vede k "pěknému kódu".
Stejně tak PHP, tenhle "zmetek" je pořád na 70% webů a na skripty mimo web se dá použít taky.
Skript, jako skript, má být PODLE MÉHO názor napsaný v Shellu (BASH).
Přijde mi jako pěkná zhovadilost, když nějaký programátor vyžaduje, aby se k vůli jeho blbýmu skriptu musel ještě extra instalovat překladač. Pokud se těchhle debílků sejde několik, znamená to na server nainstalovat Perl, Python, Lisp i Ruby naráz.
Skriptovací jazyk je brána k plnohodnotným programům, proč se tedy neučit rovnou plnohodnotný jazyk?
Jestli chceš dělat web, uč se Ruby/PHP/C#.
Jestli chceš dělat aplikace, uč se C#/C++11(C++0x)/C.
Jestli chceš dělat skripty pro hry, jdi do LUA.
-
Skript, jako skript, má být PODLE MÉHO názor napsaný v Shellu (BASH).
Přijde mi jako pěkná zhovadilost, když nějaký programátor vyžaduje, aby se k vůli jeho blbýmu skriptu musel ještě extra instalovat překladač.
Vidis. Pak nechapu proc pozadujes bash :-)
-
Třeba proto, že BASH už je nainstalovaný jako výchozí SHELL v 99% Linuxových instalací?
Pokud by byl Perl/LUA/LISP/Pytloun na 99% stanic, doporučoval bych jeden z nich.
-
Osobně doporučuji Python (budeš-li chtít přejít na weby, můžeš ho využít v Djangu, Google App Engine nebo spoustě jiných frameworků, na GUI doporučuji třeba PyQt) - dost velkých firem ho používá a asi vědí proč, případně Ruby. Výhodou je interaktivní interpreter, spousta knihoven (ne tolik jako v Perlu, ale upřímně; Perl je dnes spíš na sestupu, zatímco v Pythonu a Ruby se děje moc a moc zajímavých věcí - PyPy včetně stackless verze, zmíněný GUA, v Ruby je Rubinius, verze těchto jazyků pro JVM a .NET atd.), relativně promyšlená syntaxe atd.
Řečí pravověrných příznivců shell skriptů si nevšímej; jakmile Tvůj skript trošku povyroste, budeš šťastný, že jsi ho nezačal psát v shellu. A ať Tě ani nenapadne psát větší aplikaci v C. Ne že by to nešlo, ale je to opruz.
-
Perl a Pytloun jsou nainstalované na nezanedbatelném procentu stanic, Kapitáne. A na ten zbytek se snadno nainstaluje pomocí yum/apt-get/zypper/urpmi nebo něčím podobným - je to jeden blbý příkaz v konzoli a Perl s Pytlounem už jsou tam pak nafurt.
-
Perl je dnes spíš na sestupu, zatímco v Pythonu a Ruby se děje moc a moc zajímavých věcí
v Perlu se děje taky dost zajímavých věcí perlbrew, cpanminus, metacpan, perl5i, oživení zoidberg-a, ...
a nezapomínejme na Perl6 :)
-
Ano, za předpokladu, že chceš mít v systému nainstalováno fůru bordelu, je jeden příkaz opravdu řešení, taky umím napsat apt-get. Ale chceš mít na serveru balast? Já ne!
Třeba takovej blbej spamassasin, Perlová lahůdka, něco hnusnější jsem viděl jen, když jsem se snažil upravovat Qmail a proklínal jsem Bernsteina. Ne snad, že by to (assasin) bylo geniálně napsané jako Qmail, ale různě v tom strašilo, CPU například vytížil na 100% ...ale jen někdy, nelogicky, nedařilo se to uměle vyvolat, pak to po nějaké aktualizaci Perlu přestalo blbnout. Půl roku byl pokoj, jenže po půl roce se provedla zase jedna z aktualizací a šup, utilizace občas 100%. No to bych blil! Taky jsem ho i s Perlem kopl do řiti a nasadil sice placené, ale bezúdržbové řešení (50Kč/rok/mailbox). (Viz Google: spamassassin high cpu load)
Už jen z definice: Skript má být malý, čitelný a jednoúčelový program.
Třeba to, co se děje s JavaScriptem, je taky hnůj.
Mám pocit, že to je taková hnojňácká nátura, snažit se vylepšovat něco, co už bylo dávno překonáno a mělo být nahrazeno.
Kdyby stejní lidé, kteří se snaží vylepšovat skripty v čele s JavaSkriptařema vyráběli počítače, mělo by počítač pár firem a jelo by se na elektronkách! Jééé tranzistory, zbytečně moderní, bude stačit vylepšit elektronky!
Jé, Core i7 s 8GB ram, nesmysl, stačí když do 486ky přidáme další 8MB modul!
Na co Cčko, tisíc řádek přece není tak moc!
Na co lopatu, tu metrovou díru klidně vyhrabu rukou!
Přijde mi to takové "pravověrně komunistické".
-
Perl je dnes spíš na sestupu, zatímco v Pythonu a Ruby se děje moc a moc zajímavých věcí
v Perlu se děje taky dost zajímavých věcí perlbrew, cpanminus, metacpan, perl5i, oživení zoidberg-a, ...
a nezapomínejme na Perl6 :)
A Perl6 je výhoda nebo nevýhoda? :-) Na to, že se o něm mluví už tak 10 let...
-
KapitánRUM:
Já bych řekl, že skriptovací jazyky jsou prostě na rychlý vývoj, případně jako prototypovací jazyky. Ale na to, abych v C napsal nějakou analýzu vstupního textového souboru, na to bych se opravdu mohl...
Každá věc má prostě své místo a měla by se používat k tomu, k čemu byla určena. Používat kladivo na zašroubování vrutu sice jde, ale není to úplně ono.
-
2 DgBd
No to máš pravdu, a hned použiji tvoje přirovnání C ke kladivu a malý program k vrtu.
Na "sešroubování" tanku je zase blbost použít vruty.
Vruty(skripty) mají své nezastupitelné místo, ale to i svářečka(pořádný jazyk).
Prakticky jediný důvod oblíbenosti skriptů je v tom, že Cčko je prostě dost nahovno. (překvapeni?)
Psát v Cčku, nebo i v C++ vyžaduje se soustředit stejnou měrou na kód jako problém.
Proto Sun přišel s Javou a M$ s C#.
Jejich impotence prosadit svůj model, nedodělky, neřešené věci, nelogičnosti a další problémy vedou k tomu, že se ve skriptovacích jazycích vytváří i velké projekty.
A pod má člověk ambice i na větší věci než jen import souboru do DB nebo automatickou konfiguraci, měl by sáhnout po RUBY.
-
A pod má člověk ambice i na větší věci než jen import souboru do DB nebo automatickou konfiguraci, měl by sáhnout po RUBY.
Tak rozdíly mezi Pythonem a Ruby jsou celkem minimální, takže asi záleží spíš na dostupnosti knihoven k patřičné práci.
-
Možná jsem byl až příliš příkrý, mě v zásadě nevadí skriptovací jazyky a chápu jejich důležitost, ale vadí mi, když se používají na věci, na které nikdy nebyly určeny.
Viz třeba JavaScript, který je super na ošetření stisku tlačítka, ale v poslední době nad ním vyrůstá ohromný moloch, který se pomocí knihoven ať už třeba prototype, coffeescript nebo podobných snaží "opravit" původní nedostatky jazyka. Lepší řešení by bylo se na tu sra*ku vykašlat a navrhnout striktně typový jazyk, ve kterém nepůjdou prasárny jako _tick("mamlas();_tick();");
Pak je to Perl, se kterým mám vyloženě špatné zkušenosti a ne jen díky spammassasinovi.
Opět, problém není v jazyce samotném, ale ve špatném užití.
LUA jako jazyk pro makra a skripty ve hrách je taky skvělá. Ale nechme jí hrám.
Ruby je krásná/ý.
-
Když říkáš, Kapitáne, že "skriptovací jazyky" jsou používány pro účely, pro které nebyly navrženy, netýká se to Pythonu ani Ruby. Tyto jazyky se od začátku profilovaly jako univerzální. Java byla od začátku navržena špatně (odstranění šablon bez náhrady prostě navrhnul nějaký jouda, podobně u přetěžování operátorů apod.), C# vystartovalo líp a rychleji se porvalo s problémy. Problém je, že když už se naskytne nějaký lepší jazyk, který vychází ze syntaxe C (D, Scala atd.), dočká se poměrně vlažného přijetí. Python a Ruby se celkem pochopitelně vydaly vlastní cestou, protože se tím návrháři odstřihli od klapek na očích, které céčkaři mívají. Pokud chce někdo dělat multiplatformní aplikace středního nebo vyššího rozsahu, má na výběr mezi C++ (vcelku nízkoúrovňová záležitost), JVM a jazyky pod ním (strašlivá infrastuktura), Pythonem a Ruby (v zásadě ekvivalentní; Python je z mnoha důvodů pragmatičtější volba a přes všechno hype kolem RoR ho používá větší počet vývojářů; Ruby je v něčem čistější, ale krása je věc názoru). Ostatní možnosti jsou poměrně obskurní nebo o nich ani nemá cenu uvažovat.
-
a treba sa obavat tych zmien vo verziach pythonu? lebo to je jedina vec ktora ma drzi v neistote
-
Pokud můžeš začít s nejnovější verzí, změn se obávat nemusíš.
-
Zatím tady nebyl zmíněn Lisp. I když v něm třeba nikdy nenapíšeš žádnou aplikaci, získáš návyky, které se ti budou hodit při programování v jiných jazycích.
-
Možná jsem byl až příliš příkrý, mě v zásadě nevadí skriptovací jazyky a chápu jejich důležitost, ale vadí mi, když se používají na věci, na které nikdy nebyly určeny.
Mnoho skriptovacích jazyků je univerzálních.
Viz třeba JavaScript, který je super na ošetření stisku tlačítka, ale v poslední době nad ním vyrůstá ohromný moloch, který se pomocí knihoven ať už třeba prototype, coffeescript nebo podobných snaží "opravit" původní nedostatky jazyka. Lepší řešení by bylo se na tu sra*ku vykašlat a navrhnout striktně typový jazyk, ve kterém nepůjdou prasárny jako _tick("mamlas();_tick();");
„Nedostatky jazyka“ se většinou snaží odstranit někdo, kdo ten jazyk nechápe nebo chápat ani nechce. Typický příklad je Qt nad C++.
Skriptovací jazyky jsou v naprosté většině případů dynamické, což je dáno právě tím, že jsou skriptovací.
Pak je to Perl, se kterým mám vyloženě špatné zkušenosti a ne jen díky spammassasinovi.
Opět, problém není v jazyce samotném, ale ve špatném užití.
Zrovna spamassassin je výborné použití jazyka Perl. Jaký jiný skriptovací jazyk byste chtěl používat na složité zpracovávání textů?
LUA jako jazyk pro makra a skripty ve hrách je taky skvělá. Ale nechme jí hrám.
Nejen ve hrách, kdekoliv, kde se hodí složitější skriptování aplikací. Tedy pokud nechcete sáhnout po schopnějším JavaScriptu, který má ale mnohem složitější binding.
Ruby je krásná/ý.
Má krásnou filosofii. Které ale IMO mnohem lépe vyhovuje spustitelný pseudokód zvaný Python (tedy až na přetěžování operátorů, to dělal někdo, kdo s tím neměl žádné zkušenosti).
-
2 Sten
Říkám, neútočím na skripty jako takové, ale na jejich nevhodné použití.
Tedy, že by tazatel měl říct, NA CO TO VLASTNĚ CHCE.
2 Inkvizitor
Otázka je, jestli Ruby (nevím jak Pytlouna) zařadit mezi "opravdové skriptovací jazyky".
Pár programů v Ruby jsem viděl i napsal, napsal jsem jich i dost v C# a jeden používá široká uživatelská základna z celého světa, všichni 2 uživatelé mi pravidelně píšou. Jde o to, že po přidání překladače k Ruby do bytekódu bych mezi C# a Ruby nepoznal.
Jo, Ruby mi přijde čistší.
-
Otázka je, jestli Ruby (nevím jak Pytlouna) zařadit mezi "opravdové skriptovací jazyky".
A jaká je Tvoje definice opravdového skriptovacího jazyka? Já jsem v těchto škatulkách vždycky plaval.
-
2 Inkvizitor
Třeba popis na Wiki je myslím dost zavádějící: http://cs.wikipedia.org/wiki/Skriptovac%C3%AD_jazyk
Tak se podívejme do minulosti.
Skript vznikl jako náhrada dávky.
Skriptovací jazyk by tak měl být dobrý na vyřešení malého konkrétního problému a výsledkem by mělo být 5-50 řádků kódu.
PHP v začátku také fungovalo jako skript, připoj se k DB, získej záznam, zobraz, konec.
JavaScript obsluhoval třeba stisk tlačítka.
LUA řešila nějakou herní akci.
BASH (Shell) například spustí a ukončí program, něco někam zkopíruje, ale umí se připojit i do DB.
To, jestli je skript kompilovaný nebo interpretovaný s tím v zásadě nesouvisí.
Jenže vývoj jde dopředu a rostou tu obři na hliněných nohou.
Ruby je na to (být obr) třeba připravená.
Na LUA už bych se bál stavět velký projekt.
Pytlouna používá(al?) seznam, takže asi funguje.
Ale ničemu v Perlu, co má víc jak 50 řádek už nevěřím ;D
Proto říkám, pokud tazatel přesně nespecifikuje, co chce dělat, tak se přece nedá univerzálně doporučit žádný ani skriptovací jazyk.
-
Já bych ti doporučil jazyk LUA. Pavel Tišnovský pro roota napsal skvělý seriál podle něhož jsem se tento jazyk učil i já, a začínám jej čím dál víc používat i pro psaní běžných scriptů. Jeho základní forma je velmi jednoduchá - takže nepotřebuješ moc dokumentace, pro začátek ti bohatě stačí zmiňovaný seriál, a základní dokumentace, která se instaluje přímo s interpretem (nebo ji lze nalézt i na stránkách projektů). dále je velmi variabilní, s pomocí MetaLua lze dokonce definovat např vlastní operátory, mnoho věcí v jazyce lze nahradit vlastními implementacemi (například rutiny pro načítání modulů a pod), lze ji rozšířit pomocí jazyka C a nebo ji lze poměrně snadno propojit s aplikacemi v C/C++. Myslím, že pokud si trochu zvykneš na některé zvláštnosti jazuka Lua (např na objekty reprezentované asociativními poly, a pod) nebudeš mýt s jeho zvládnutím sebemenší problémy.
Krom Pavlova opravdu vynikajícího seriálu ( http://www.root.cz/serialy/programovaci-jazyk-lua/ ) a základní dokumentace k jazyku Lua ( http://www.lua.org/docs.html ), je perfektním zdrojem jak poučení, tak i hotových příkladů i portál Lua-users wiki ( http://lua-users.org/wiki/ ).
Jinak však nejlepší odpověď na tvou otázku si stejně můžeš dát jen ty sám - prostě zkus a uvidíš ;)
-
To, jestli je skript kompilovaný nebo interpretovaný s tím v zásadě nesouvisí.
Existuje něco jako posunutí významu příp. zůžení nebo rozšíření. S tím nic nenaděláte.
Jenže vývoj jde dopředu a rostou tu obři na hliněných nohou.
Co kvalifikuje jazyk na obra?
-
Jazyky nejsou problém, problém je jejich užití.
Například mi vadí, když stránka používá Jquery, Prototype, ExJS i MooTools a ještě další kraviny k tomu, aby se vůbec mohla zobrazit. Není nic divného, kdy velikost JS kódu zabírá přes půl mega. Koukněte se třeba na http://pctuning.tyden.cz/ velikost JS kódu je 800 KB (ne všechno je označeno .js ale je to JS)! Jak dlouho Vám zabere opravdu dobře prostudovat 800KB zdrojáku? A kolik % toho kódu řeší problémy jazyka a kolik % opravdu něco smysluplného dělá? Ale ano, na kopání díry není nutné použít zrovna rýč nebo bagr, holou rukou to jde taky a hodně lidem to určitě nevadí. Mě to přijde blbé. No, klidně se mi divte.
Spammassasin mi přišel taky jako slušný moloch, pravda, delší dobu jsem ho neviděl (ale vůbec se mi nestýská).
-
KapitánRUM: A to jako posuzuješ podle ocasů, co kvůli jedný dvouřádkový funkci linkujou celou knihovnu a na každou chujovinu mají dva pluginy? To jsou prostě lepiči. Stejní tragédi se najdou úplně všude - nevím, proč ti to tak vadí zrovna tady. I když třeba nedávno tady byla anketa, kde se autor upřímně podivoval nad lidmi, kteří si většinu věcí píšou na míru, místo aby vzali hroudu kódu a "nějak to tam namrdali". Tak si vyber :-D.
-
2 Inkvizitor
Třeba popis na Wiki je myslím dost zavádějící: http://cs.wikipedia.org/wiki/Skriptovac%C3%AD_jazyk
Tak se podívejme do minulosti.
Skript vznikl jako náhrada dávky.
Skriptovací jazyk by tak měl být dobrý na vyřešení malého konkrétního problému a výsledkem by mělo být 5-50 řádků kódu.
PHP v začátku také fungovalo jako skript, připoj se k DB, získej záznam, zobraz, konec.
JavaScript obsluhoval třeba stisk tlačítka.
LUA řešila nějakou herní akci.
BASH (Shell) například spustí a ukončí program, něco někam zkopíruje, ale umí se připojit i do DB.
To, jestli je skript kompilovaný nebo interpretovaný s tím v zásadě nesouvisí.
Jenže vývoj jde dopředu a rostou tu obři na hliněných nohou.
Ruby je na to (být obr) třeba připravená.
Na LUA už bych se bál stavět velký projekt.
Pytlouna používá(al?) seznam, takže asi funguje.
Ale ničemu v Perlu, co má víc jak 50 řádek už nevěřím ;D
Proto říkám, pokud tazatel přesně nespecifikuje, co chce dělat, tak se přece nedá univerzálně doporučit žádný ani skriptovací jazyk.
Jo, skript jako náhrada dávky, to dává smysl. Pytlouna používá Google od samého začátku, kromě Seznamu ho používá (používalo?) i Centrum a u třeba nás ve firmě na něm stojí většina produktů. Ty produkty mají moře moc řádek a vývoj šel relativně rychle od ruky, aniž bychom měli závažnější problémy třeba s rozšiřitelností nebo stabilitou a výkon je v pohodě. Vím i o poměrně velkých projektech v Perlu, které taky fungují v pohodě, ale osobně bych na něm stavět nechtěl. Například kvůli absenci formálních parametrů a vůbec dost odporné syntaxi. Neříkám, že na Perlu není nic dobrého, ale na větší projekty je IMO dost nešikovný.
-
S tou dávkou to asi nebylo moc šikovné přirovnání, přesto někde tady lze hledat počátky skriptů.
Jak přestala dávka příkazů stačit (jako první je asi zajímal návratový kód, jestli operace dopadla dobře), autoři hledali možnosti, co s tím udělat a úplně v prvopočátku se jednalo o spouštění a ukončování programů, importy/exporty, překlady a podobné činnosti.
Šup a byl tu lepší SHELL, pak i BASH. "Moderní" skriptovací jazyky jako LUA(skripty uvnitř her), PHP(pokus o pár řádcích kódu, které trochu oživí stránku) a JS(podobně), to už je moderní záležitost řekněme posledních 15 let. Silně pochybuji, že autoři řady skriptovacích jazyků vůbec kdy počítali s tím, že se v tom budou někdy dělat nějaké rozsáhlejší programy.
A pak tu jsou věci jako RUBY a (ta Vaše věc), skoro si myslím, že si ani nezaslouží tak "hanlivé označení" jako skriptovací jazyk, a určitě ne, pokud si ho nezaslouží ani Basic.
-
Rekl bych, ze hlavnim ucelem skriptovacich jazyku je rychlost a jednoduchost implementace, za cenu nizsi rychlosti vysledneho kodu tam, kde nas nejakej ten cas navic nezabije. Python se velice dobre hodi na praci s rozsahlymi texti a vetsina lidi co znam, tak od PERLu vylozene odrazuji. LUA se ukazuje jako pomerne mocny a uzitecny nastroj a pouziva ji cim dal tim vice UNIXovych aplikaci jako skriptovaci jazyk pro konfiguraky. Osobne se ucim v pythonu a je to velice mocny a zajimavy nastroj pro vetsinu bezneho rychleho pouziti a s pouzitim interaktivniho shellu je to takovej "svycarak" se kterym s pouzitim tech spravnych knihoven dokazete temer cokoliv. Ruby a Lisp nemuzu soudit pac ty jsem videl pouze ze shinkansenu.
Ve finale opravdu nejvice zalezi na tom k cemu chces jazyk pouzivat. Pro praci s rozsahlymi texty jsou jazyky jako C/C++ etc nevhodne, na druhou stranu, velky projekty zase nejsou uplne domenou skriptovacich jazyku.
-
Padl tu ten lisp a ja si taky prisadim. Zkus Racket (http://racket-lang.org/)...
-
S tym, ze python pouziva google by som sa neohanal. Ak si zoberes akykolvek trosku znamejsi jazyk tak zistis, ze ho pouziva na nieco google.. Napr. aj tu lua-u. Uz som v inom vlakne spominal, ze Lua sa pouziva aj v Adobe Lightroom na skriptovanie UI a je na to velmi vhodna si myslim, len to treba mat aj dobre vymyslene. Lenze to plati aj pre ine skriptovacie jazyky.
Moj pohlad na vec:
perl -hovori sa, ze je to jazyk na spracovanie textu a pritom by mal aj ostat..zeby mal nieco s perlami sa neda povedat :). Myslim, ze zoznam maval v tom email.
python - taky univerzal aj na vacsie projekty, pomaly ale robustny, velka vyhoda - dostupnost kniznic. Mas to na google apps, ale google apps s novym tarifom nie su moc zaujimave. Sice ho poznam len tak z rychlika, ale volil by som python.
javascript - mas to v kazdom prehliadaci, existuje node.js, co je webserver nad V8 pre javascript (celkom vykonny). Ak si uz programoval, tak zaklad sa naucis bez problemov za par dni.
lua - robis aplikaciu v C/C++? Zda sa ti, ze je blbost pisat GUI (event handlery atd) v C/C++? Potom siahni po tomto. Maly ale vykonny :) (interpreter je fakt superrychly). Ako vacsina spominanych jazykov nepodporuje multithreading, ale ma coroutines (cooperativny multitasking, da sa s tym vselico :) ). Da sa to vystavat tak, ze ti odpada rekompilacia pri kazdej prkotine (nieco ako interaktivne programovanie). Existuje LuaJIT - rychlost je na niektorych testoch na urovni C, ale zda sa mi, ze nie je 100% stabilny. Nevyhoda - nizsia rozsirenost, aj ked rozsah kniznic je celkom dobry, chybaju "killer apps" (ale pouziva sa v mnohych hrach bez toho aby si o tom vedel).
-
grow up. learn java
-
asi to bude offtopic ale kazdy programator by mal vediet z kazdeho trochu, neda sa existovat len s jednym jazykom. kolko jazykov vies, tolkokrat si programatorom :)
na oop by som zobral javu alebo c#, ktore, to je vlastne jedno, ja skor preferujem javu ale c# tiez by som chcel vediet
na skripty zober jeden tazkotonazny a jeden lahky, napr. pyton alebo perl + lua
s funkcionalnych zober haskell
na web sa nauc nejaky framework, ror ...
osol to s postgresql, trochu prichucni k systemovemu programovaniu v c a o robotu mas postarane ...
nic ine netreba len sa peknych par rokov venovat tymto jazykom
samozrejme, treba mat vseobecny prehlad, aby clovek aspon tusil co ktory jazyk robi, prolog, scala, aspectj ... vzhladom na to, ze imho cim dalej tym viac bude nastupovat funkcionalne programovanie spojene s objektovym tak by som sa zameral na tuto oblast, skripty sa vzdy budu dat nejako zbastlit ;)
-
Andy, moje poznámka o Pythonu v Google neměla znamenat, že ostatní jazyky se tam nepoužívají (nebo dokonce nedají použít), ale byla to reakce na Kapitánovu poznámku. Python měl svoje významné místo v Google od samého začátku a jaký je tam poměr teď, je samozřejmě otázka. Viz třeba:
http://panela.blog-city.com/python_at_google_greg_stein__sdforum.htm
http://digg.com/news/story/YouTube_is_almost_entirely_written_in_Python
-
grow up. learn java
A odkdy je Java skriptovací jazyk?
Btw. Java is for children who need guidance and supervision at every step. Grow up. Think for yourself. And learn some real programming language.
-
IMHO se tady zapomíná na to, že tazatel se chce především naučit programovat. Odkážu tě na dřívější příspěvek zde na rootu, který podle mého prospěje každému, kdo začíná s programováním:
Podle mě je stejně důležité, jako se naučit programovat, naučit se neprogramovat. Základem by mělo být vždycky vyřešení konkrétní úlohy a to může být nejrychlejší v tabulkovém procesoru, v databázi typu Access, v nějakém programu pro statistiku atd. Tedy zvládnout doménu, ve které se úloha nachází, porozumět zadání a korektně vyřešit úlohu v nejkratším možném čase. Pochopit význam Parettova pravidla a nesnažit se v řešení jít dál, než je nutné. Troufám si tvrdit, že není špatné začít zrovna tady.
Další úrovní je pak logicky naučit se jazyk, který má dostatečně velkou abstrakci a velkou zásobu standardních knihoven. Navrhoval jsem Python, ale existují i jiné alternativy (třeba Ruby). V takovém jazyce je možné snadno vyřešit spoustu úkolů bez velké námahy a bez vynalézání kola.
Pokračoval bych algoritmizací - naučit se základní algoritmy (řazení, binární vyhledávání, procházení do šířky a do hloubky) a porozumět datovým strukturám typu strom nebo hash. Naučit se základy OOP a pochopit jeho výhody i nevýhody. Zde je možné pokračovat v Pythonu (Ruby...) nebo zkusit třeba Scalu, Javu, C#. Statické jazyky vedou k lepšímu pochopení úlohy typů, parametrizace, variance apod.
Další krok je naučit se teorii složitosti (Amdahlův zákon), základy vícevláknového / víceprocesového programování (synchronizace, komunikace apod.) a zjistit, že existují úlohy, které jsou paralelizovatelné a úlohy, u nichž dominuje sekvenční složka.
Naučit se SQL, vztahy mezi tabulkami, normální formy, pochopit význam indexů, případně si něco zjistit o relační algebře. Nastudovat si význam a použití uložených procedur.
Teprve pak bych doporučoval nořit se hlouběji do operačního systému, naučit se C a případně C++, pochopit, jakým způsobem se alokuje paměť, naučit se pointerovou aritmetiku atd.
Co zbývá? Exkurze do jiných paradigmat (funkcionální a logické programování), ASM, textové algoritmy, základy konstrukce kompilátorů atd. atp.
Samozřejmě lze jít i jinou cestou - začít si programovat milion šestý grafický nebo textový editor v C, udělat si framework, který už existuje (a pravděpodobně je daleko lepší, než ten, který si člověk bez dostatečných zkušeností a s omezeným časem udělá sám a i tato cesta člověka mnohé naučí. Osobně doporučuju jít obecně "odshora dolů" a ne naopak. Ale to je na každém.
Abych odpověděl konkrétně na tvoji otázku, tak já si myslím, že je úplně jedno, který z těch tří jazyků si vybereš. Všechny fungují a na jazyk, který ti sedí nejvíc, si přijdeš stejně až časem sám. Pro někoho je to nízkoúrovňové C pro programování embeded systémů, pro jiného c++ s OpenGL pro 3D grafiku nebo Java pro distribuované bankovní systémy.
-
Nic proti te Inkvizitorove rade, souhlasim s ni, ale myslim, ze je vhodna pro nekoho, kdo je pevne rozhodnuty stat se profesionalnim programatorem.
Ale programovani je uzitecne i pro lidi, kteri se zabyvaji i jinym oborem (skoro bych rekl, ze je uzitecne pro kazdeho). A takovym bych doporucil Python a na ostatni se zatim vykaslat. Neni to matematicky nejelegantnejsi a nejuniverzalnejsi jazyk pod sluncem, ale dobre se cte, ma spoustu knihoven a je snadne se ho naucit. A ma siroke spektrum pouziti, a da se snadno rozsirit z C. Da se v nem take spousta veci skriptovat (treba MS Office nebo OpenOffice, pokud vas zajima pocitacova grafika tak Blender..).