Skriptovacie jazyky: Perl, Python nebo Lua?

Mordae

Re:Skriptovacie jazyky: Perl, Python nebo Lua?
« Odpověď #30 kdy: 19. 12. 2011, 12:43:44 »
Padl tu ten lisp a ja si taky prisadim. Zkus Racket...


andy

Re:Skriptovacie jazyky: Perl, Python nebo Lua?
« Odpověď #31 kdy: 19. 12. 2011, 17:01:08 »
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).

ehm

Re:Skriptovacie jazyky: Perl, Python nebo Lua?
« Odpověď #32 kdy: 19. 12. 2011, 17:33:02 »
grow up. learn java

stewe

Re:Skriptovacie jazyky: Perl, Python nebo Lua?
« Odpověď #33 kdy: 19. 12. 2011, 19:03:22 »
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 ;)

Inkvizitor

Re:Skriptovacie jazyky: Perl, Python nebo Lua?
« Odpověď #34 kdy: 19. 12. 2011, 21:30:46 »
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


Sten

Re:Skriptovacie jazyky: Perl, Python nebo Lua?
« Odpověď #35 kdy: 19. 12. 2011, 21:34:24 »
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.

Jelen

Re:Skriptovacie jazyky: Perl, Python nebo Lua?
« Odpověď #36 kdy: 19. 12. 2011, 22:24:37 »
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.

JS

Re:Skriptovacie jazyky: Perl, Python nebo Lua?
« Odpověď #37 kdy: 20. 12. 2011, 09:26:44 »
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..).