Portál AbcLinuxu, 30. dubna 2025 09:18
Tiskni
Sdílej:
Tak ja myslim, ze Python je velmi dobra volba - je jednoduchy a da se s nim efektivne programovat od systémových skriptů přes webove strany (Django, Cherrypy) až po GUI aplikace (Qt).
Každopádně když se zpetně ohlédnu nad svou minulostí (v pořadí QBasic, Pascal, Delphi, C++, PHP, Python), nejrychleji jsem se naučil PHP. Dá se tam hodne flexibilně bastlit, takže jde začít i s naprostým minimem znalostí (které jsem ale já v té době už jakštakš měl z Pascalu a C++). Dnes už bych se k PHP nevracel, Python mi přijde elegantnější. Ale Tobě bych ho možná doporučil. Kašli na předsudky, PHP je jednoduché a je o něj podle mého stále dost velký zájem.
Musím, ale říct, že z Pythonu dá velkou práci přejít na něco jiného, protože si člověk všechno zjednoduší a nemusí nic řešit.
Přesně tak. Ve škole jsem nejednou v C# psal:
for i in list_of_foobar: pass
Nemyslím si že C je pro začátek dobré. Sice si pohraješ s jazykem, ale taky na tom obvykle skončíš. Jenže dost často se někdo, kdo chce programovat, nemá radost z toho že po krůčkách začíná chápat jazyk, ale že něco vytvoří. A to je v C ze začátku nemožné. Už jen hloupé organizování dat, vnitřní struktury programu. V C si musím pro něco složitějšího začít implementovat třeba seznam (jasně, jsou knihovny, atd... ale všechno je to takové těžkopádné), umět perfektně alokace / ukazatele, i API knihoven je dost často děsivé (GTK). Jasně, dá se to, ale určitě po 14 dnech nikdo neudělá nějaké okýnko a tam něco, co bude cokoliv zajímavého dělat. Což může odradit.
Ale třeba v ruby není problém, pro struktůry máme pole / hashe. Můžu to krásně držet v konfigurácích díky integrovanému yaml parseru (yaml je něco jako čitelné xml pro lidi ). A stačí nasadit cairo, sdl.. a na pár řádků a za pár minut nějaké ten tetris / space invaders a nevím co koho napadne mám hotové. A uchopitelný výsledek je pro někoho dost důležitý. U C by za stejnou dobu byl někde u ukazatelů / alokací, atd... a do konsole by mi to psalo nějaké písmenka. Navíc objeví výhody OOP, atd... (učit se hned C++, bez znalostí C, by mohlo být ještě obtížnější)
Jasně, časem se stejně to C, atd.. bude muset naučit, pokud to s programováním chce někam dotáhnout. Ale proč to nevzít z té druhé strany a hned neobjevit nástroj, se kterým můžu něco okamžitě vytvořit. Prostě radši než oběvování jazyka něco chci udělat. A nepotřebuju si házet klacky pod nohy.
Hm, začínal jsem sice na basicu na atari a sinclairu, o Karla jsem taky zakop, ale až na Pascalu jsem se něco principiálního naučil, čili můj hlas je pro Pascal (svého času). Zažil jsem na vejšce kluky, co začínali s javou, řikam si, že pascal je/byl zlatej v porovnání s ní. I když ... možná, že těžší začátek přináší větší a lepší plody?
No nevím, FreeBASIC mi přijde jako trochu taková spatlanina. Ale má výhodu v tom, že když v něm programuješ, tak můžeš použít GCC a jednoduše to spojit s dalším kódem, stačí přeložit hlavičkové soubory (dá se najít někde překladač z C).
Osobně jsem zjistil, že nejraději mám ty jazyky, ve kterých dovedu programovat nebo jsem to ještě nepozapomněl. V současnosti je to také C. Ale nemám na něm rád ten extrémně dlouhý zápis programů, takže uvažuju o přechodu na C++ nebo C#.
Já jsem tedy v Pascalu intenzívně programoval dva roky (a to nepočítám později Delphi), a můj názor je, že Pascal je sice skvělý učební jazyk, ale když v něm nikdy nebudu muset programovat, budu moc a moc rád.
Pascal je prostě nedotáhnutý a jeho klony nedomyšlené. A je to tak v pořádku, protože Wirth Pascal vymýšlel jako učební jazyk pro studenty, nikoli jako jazyk pro praxi.
Dobrý večer,
taky se už po několikáté pokouším začít s Pythonem a pokud jde o to z čeho se učit, tak se mi docela sedlo toto howto.py.cz/uvod.htm . Když už se tu mluví o Pythonu, nevíte někdo, kde by se daly stáhnout zdrojové kódy nějakého kratšího programu v pythonu? Něco co si můžete otevřít na jedné ploše v textovém editoru a s učebnicí na ploše druhé to zkoušet, co se stane když změním třeba tohle... .
S pozdravem JH
Ruby = (Perl + SmallTalk) / 2 # fuuuj perl
Ruby je celkem fajn, ale hůř se čte (asi jak komu), je méně výkonné a má podivný vztah k Unicode. Navíc Python běží i na PalmOS nebo Symbianu S60! A Python + PyGame rulezzz!
V 1.8 je knihovna, se kterou utf8 není problém. A v railsech to jede samo od sebe (mají to ošefované). V 1.9 je to už vyřešené přímo (trošku 'zajímavě' implementované, ale co). Ale... Davide, na to že je ruby z Japonska máš k němu sakra vlažný vztah. Pro mě to byla jedna z věcí, proč jsem se na něj podíval. Ta koncepce je totiž naprosto perfektní, když se na to podíváš trošku do hloubky. Geniálních postřehů je tam plno (samozřejmě i převzatých, proč ne, ale tvoří to dost mocný celek).
A nakonec jeden citát:
„Věřím, že — alespoň do jisté míry — je smyslem života být šťastný. Na základě tohoto přesvědčení je Ruby navrženo tak, že je nejenom snadné, ale i zábavné v něm programovat. Ruby vám umožňuje soustředit se na kreativní stránku programování, a nepřidělává vám další starosti.“
~ Yukihiro Matsumoto
Já osobně kdybych se měl rozhodovat mezi Python a Ruby, tak neváhám a jdu k Pythonu.
Ruby má dodnes podivný vztah k Unicode. Bohužel stringy jsou pro něj stále sekvence bajtů a tak Ruby prostě nad stringy ukládá charset a bajtovou reprezentaci. Kdysi jsem slyšel historku, že Japonci obecně nenávidí Unicode, stejně tak jako Asiaté, protože algoritmus „han-unification“ v Unicode jim przní jejich znaky a tak si raději ukládají ve svých abecedách, které jsou v tomto mocnější, než Unicode. Takže v Ruby si u stringů připadáte jako v assembleru, stále je to de facto proud bajtů a tak trochu sekvence znaků.
Ruby má také velmi podivný vztah k threadům. I když je os má, tak je Ruby emuluje a samozřejmě je jasné, které thready jsou vyladěnější, zda tu Ruby, nebo os.
Navíc, Ruby je prostě zprasený Smalltalk a je zprasený Perlovskými naplaveninami. My co originální Smalltalk známe, tak víme, že čistota Smalltalku je prostě úžasná. A můj interní, v zásadě fašistický a rasistický názor je, že jazyk, který se inspiruje Perlem je prostě horší. A v menší míře si totéž myslím o Javě.
> kdy se _to_ vyřeší a od kdy Python bude moct opravdu reálně využít více vláken.
Co presne mate na mysli?
a nebo se podivat na modul parallelpython (pp)
Syntaxe vypadá z počátku možná děsivě, ale jako céčkar jsem se do týdne adaptoval a přijde mi dost mocná. Když si projdeš různé tutorialy, tak zjistíš, že se v tom dají psát dost kompaktní programy, protože to obsahuje sakra praktické vychytávky. Narozdíl od perlu je ještě ale dobře čitelný. Začínám v tom psát jednu SDL + cairo gamesku jako projekt do školy, tak uvidím jak s tím dopadnu. Pokud to pujde hrát na mém celeronu 2,6 GHZ, 512 MB ram, tak budu považovat rychlost za dostačující . Jinak co jsem slyšel, tak 1.8 na tom je skutečně špatně, ale vznikají alternativní interpreti a navíc 1.9 dosahuje prý podstatného zrychlení (ovšem není ani v portage, takže mě moc nezajímá zatím, potřebuju aby ta moje věc někde šla rozběhnout).
Ale hlavní důvod, proč se o ruby začínám zajímat, je pronikání do railsů. Po nějakém čase budu moc zhodnotit, jestli jsem si vybral dobře, ale zatím myslím, že jo.
Já myslím, že překonat v rychlosti Python je nejnižší laťka, kterou si může jazyk dát.
Python není nic jiného, než chroustač do byte kódu a přímá interpretace byte kódu. Žádná optimalizace se v Pythonu nekoná, a to ani při překladu do byte kódu. Tudíž v zásadě pomalejší, než Python mohou být jen počáteční verze jiných jazyků, nebo nově přepsané interpretery, aby vzápětí Python nechali rychlostně daleko vzadu.
Proto také Rossum vymýšlí neustále jak překopat Python, jak změnit syntaxi tak, aby to nebylo kompatibilní s minulostí, apod.. Python interpretr je zkrátka tak primitivní, a zcela bez jakýchokoli optimalizací, že se ani jinak realizovat moc nejde.
Didaktik sme si od rodičov vyžobrali na Vianoce 1990. Cena bola tuším 2999,- Kčs, čo bola riadna pálka.
Che, v roce 1988 jsem vyzebral Didaktik Gama (cernej) za zavratnych 8000kc. TO byla palka, pozdejc uz byla cena niz!! Ale nebyly to vyhozeny prenize, myslim - delal jsem Basic, pak i Assembler Z80, z toho jsem pak presel na i286 ASM.
Naprosto tě chápu. Jak jsem před měsícem zjistil, můj funkční Didaktik M skončil ve sběrném dvoru Zůstala mi jen hromada kazet a příruček
Jó to byly doby. Ze začátku jsem neměl kazeťák, tak jsem vždycky ráno opsal z nějakého časopisu nějakou jednoduchou hru, pak to celý den hrál, večer vypnul a druhý den jsem mohl začít znova
Určitě je potřeba hledat jazyk, který "sedne". Já coby věčný začátečních zkoušel Delphi, C, ale nic moc. Pak přišel Python, a láska na první pohled . První jazyk, kde netrávím většinu času tím, jak to proboha zapsat a proč tahle triviální věc nechce fungovat.
Python je myslím si dobrý pro člověka, který má blíž k lingvistice než k matematice. Syntaxe má blíž k lidské řeči.
Přesně tak na mě působí Python také. Byl jsem z něho strašně nadšený, ale pak jsem si začal uvědomovat, že ne vše je zlato co se třpytí.
Kdysi jsem se rozhodl v Pythonu psát vše, co není vysloveně low level a začal jsem v tom dělat i projekty na zakázku. Už to nikdy, nikdy neudělám.
Python chybí preciznost a jakési praktické myšlení. Asi nejvíce to Python demonstroval na faktu, že po 17 letech existence schopen nekompatibilině rozsekat syntaxi, což by v případě, že byste v tom měli opravdu velký projekt opravdu tragédie. A ještě tento hloupý krok obhajoval jako to nejlepší co se mohlo stát.
V Pythonu jsem narážel i na jiné amatérismy, například je docela těžké ohraničit program v Pythonu s dodaným interpreterem tak, aby nezávisel na jiném interpreteru Pythonu v systému. Při použití py2exe to fungovalo dosti nespolehlivě, atd..
Zároveň vynucená úprava syntaxe indentací také nebyla vždy úplně přehledná.
A pak začaly chybět skutečně profesionální nástroje, jak píše kolega nade mnou.
Většina knihoven pro Python byla přísně pro jednu verzi Pythonu, při pohybu Pythonu o jednu minor verzi výše člověk většinou musel postahovat vše znovu.
Dnes už bych se nepokoušel Python prosadit pro seriózní projekt, Python na to zkrátka nemá. Je to skvělý jazyk, kterým nabastlíte malou aplikaci, nebo kterým převedete jednorázově data, či ho můžete používat jako náhradu bashe.
> Debug (opravdu bych chtěl přednášku o tom, jak se v pythonu má ladit)
Uz jste zkousel Eclipse?
> Code Assist (pamatovat si všechny metody u tříd prostě nejde)
Uz jste zkousel Eclipse?
Notepad totiz neni vhodne IDE pro zadny programovaci jazyk...
Uz jste zkousel Eclipse?Ano. Vzdal som to, pretoze by som minimalne tyzden musel prekonfigurovavat klavesove skratky a zrovna pohodlne sa to teda nerobilo.
Zatim jsem ho moc nepouzival ale pydev plugin do eclipse se tvari dost pouzitelne(debug, code assist a tusim i ta refaktorizace tam je). Kazdopadne je python porad dost minoritni jazyk a tim padem neni zase tak moc z ceho vybirat, Snad jeste komercni verze IDE Komodo, ale neni zrovna levny.
gem install ruby-debug
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.