No jo, jenže Python má zase spoustu jiných zajímavých vlastností, které AFAIK neobsahuje ani Common Lisp. Kromě toho je klasická distribuce Pythonu "batteries included", na rozdíl od open source verzí CL. Ikdyž SBCL obsahuje ASDF (hezká záležitost, hlavně ASDF-INSTALL) a lidé kolem Cliki se, jak se zdá, docela činí.
Zeptat se samozrejme muzes na cokoliv, stejne tak budu rad, kdyz opravis moje neznalosti. V prve rade musim rict, ze Python se mi libi diky jednoznacnejsi a IMO citelnejsi syntaxi - proste se mi nezda, ze v CL je mozne mit stejne nazvanou hodnotovou promennou a funkci. V Pythonu neexistuji makra apod., coz nekdy muze trosku svazovat ruce, ale diky tomu je daleko snazsi se v pythonnich programech vyznat. Line vyhodnocovani pomoci iteratoru a generatoru je v Pythonu velice snadne, mocne a pohodlne. V Common Lispu se da snad neco podobneho naprogramovat pomoci maker, ale to mi prijde pomerne narocne a neohrabane. Snadne vytvareni trid zarucujicich standardizovane chovani instanci v Pythonu (magicke metody) atd. atp. Ale za nemene dulezite a zajimave povazuji i projekty, ktere se kolem Pythonu toci - Psyco, PyPy, Stackless, BytecodeHacks, frameworky typu PEAK, Zope X3, Twisted apod. Velice inspirativni.
Samozrejme, kazdy jazyk ma neco. Veterani mezinarodni pythonni konference znaji spoustu zajimavych programovacich jazyku (od Smalltalku pres Self, Ruby, Scheme a ruzne jine dialekty Lispu az treba po Haskell) a snazi se jimi inspirovat pri dalsim vyvoji Pythonu a hledani novych zpusobu vyuziti stavajicich moznosti.
Asi bych se te nejmenovane firme mel omluvit, je to moje chyba, takhle to zkomolit :-)
Ale zajimave je, ze Google na dotaz "redmont microsoft" docela dobre reaguje, takze blbej nejsem jenom ja :-)
Napriklad Statni technicka knihovna: http://www.stk.cz/cgi-bin/dflex/CZE/STK/FULL/523115
.. je náhodou sqělá ! Sice jsem k ní přičuchnul až ve spojitosti s Postscriptem, ale když si na člověk zvykne, je to paráda ! A je to i celkem přehledné, posuďte sami :
1.5 1.5 scale
50 50 moveto
/Helvetica findfont 10 scalefont setfont
(nějaký text) show
...
Akorát jsem dlouho nemohl překousnout, že při tomto "úsporném" zápisu musím např. zduplikovat řetězec na vrcholu zásobníku abych mohl zjistit jeho délku.
BTW ukládání proměnných na zásobník mi připomělo ZX Spectrum, u kterého byla v ROM BIOSu (kromě ovladačů na "periferie") uloženo i jádro, které mj. podporovalo výpočty s celými čísly i v plouvocí řádové čárce, grafické funkce apod. - a i zde se pracovalo se zásobníkem, i když pravda volání muselo být na úrovní assembleru. Mimochodem pro nepamětníky - toto vše bylo v 16kiB ROM !
No já bych to viděl spíš přesně naopak - ty funkce (vč. goniometrickýcg, logaritmů a všeho dalšího) byly zadrátované v "místním" BASICu a daly se tam normálně používat. Ale díky dokumentaci se daly celkem jednoduše využívat i z assembleru - a to vč. V/V operací. Dokomce se pracovao s tzv. "kanály", což bylo na svou dobu docela namakané - pokud si to dobře pamatuju, jeden kanál sloužil pro jednořádkovou komunikaci s uživatelem (ano, z assembleru se velmi jednoduše dal zavolat požadavek na zadání reálného čísla, které se pak objevilo na zásobníku), druhý vypisoval na obrazovku (tedy ekvivalent dnešní konzoly), další se daly otevřít pro komunikaci s tiskárnou nebo mikrodrajvy (pásková zálohovací jednotka, kterou v mém okolí nikdo nikdy neviděl na vlasdtní oči ..)
Ta doba už je pryč. Skoro se mi chce říct bohužel, protože kdo dnes může říct, že zná všechny programy a ovladače svého počítače na (skoro) 100% ?
BTW docela zajímavou roli v tom sehrál Svazarm, pro později narozené "Svaz pro spolupráci s armádou", který sdružoval a kontroloval lidi, jejichž zájmy bylo potřebné monitorovat, usměrňovat a případně i využívat (např. potápěči, sportovní piloti, parašutisti apod.) A právě v této organizaci se združovali mj. i zájemci o výpočetní techniku - a tady také vzniknul legendární komentovaný výpis ROM počítače ZX Spectrum, který byl mezi komunitou častěji čtený a citovaný než bible mezi věřícími (a mnozí z nás na rozdíl od nich dokázali lépe citovat). A v záhlaví bylo právě číslo "666", což bylo evidenční číslo příslušné pobočky Svazarmu. Ale na všechno toto už se dávno snesl prach, tyto "počítače" už většinou skončily na smetišti a málokdo už pamatuje co mezi komunitou znamenalo číslo 666. Mnohem známější se později stala 602. organizace, jejíž členové pochopili kam se bude vývoj ubírat a na nastupujících PC (tehdy XT) se rozhodli prosadit diakritiku. Udělali to tak důsledně, že se z nich také stala legenda .. ale to už je jiná kapitola.
Dobry den,
Nerad bych, abych byl chapan jako rypal, ptam se jen ze zvedavosti. Je nejaky rozdil mezi kiB a kB jednotkou? Oficialne by to melo byt kB, ne? Vsiml jsem si, ze na par mistech jinde na netu lide uvadeji jednotky GiB, a podobne. Existuje nejaky duvod pouzivat prave tyto jednotky ( treba aby se to s necim nepletlo a tak )?
S pozdravem
nahodny kolemjdouci Bolemir Noc
Spravne by se mely pouzivat rady kB, MB atd. pro mocniny deseti, tj. 10^3, 10^6 atd. Pro mocniny dvou by se melo pouzivat kiB, MiB atd., tj. 2^10, 2^20.
Pokud se hovori o kapacite operacni pameti, tak je to vzdy v mocninach dvou (logicky, podle adresace), u pevnych disku a spol. to jsou nasobky deseti.
Vsechny tyto zmatky zpusobili predevsim vyrobci pevnych disku, paskovych mechanik, CD-ROM atd., kdyby se drzeli mocnin dvou, bylo by vsechno v poradku.
Ale klidne ty nove jednotky SI ignorujte, v IT je to normalni a tak to ma byt :-)
Delal jsem s FORTHem cca pred 18 lety. Tehdy o nem vychazel pekny serial clanku v AR - psal p.Pecinovsky. Tehdy byl FORTH velice zajimavy.
Zpusobem implemetace se velmi podoba Smalltalku.
V dnesni dobe objektovych jazyku, ale klasicky stary FORTH nemuze nabidnout nic zajimaveho (rozumej efektivniho, ucinneho). Nebo ze by nas autor v dalsich dilech prekvapil (OO Forth, apod.) ???
Ano, pro klasicke desktopove PC se Forth prilis nehodi. Ale zkuste se treba podivat do ruznych ridicich systemu - tam je bud technologicke PC, nejaky jednocip, DSP apod. A pro tyto oblasti se Forth a od nej odvozene jazyky hodi.
Chytre mobilky a PDA jsou druhou skupinou zarizeni, pro ktere se Forth hodi, zejmena svymi malymi naroky na system. To, ze se tato zarizeni programuji v Jave, je vylozene vec ekonomicka (zjednodusene receno, programatoru v Jave je mnohem vic nez programatoru ve Forthu).
bohuzel jsme meli u nas ve firme co delat s PDA - takovy hnus clovek nevidel. Existuje pro to vyvojove prostredi od firmy, jejiz jmeno se nevyslovuje, je drahe jak prase a s kazdou novou verzi PDA, coz nemuzes ovlivnit, musis kupovat upgrade. Kdyz reknu, ze se pro to daji psat programy jenom v basicu, tak nebudu daleko od pravdu. Toto vyvojove prostredi samozrejme obsahuje C (nase aplikace je v nem napsana - kdo by psal neco v basicu), ale prusvih je v tom, ze tohle C i prestoze je primo od vyrobce toho operacniho systemu, neumoznuje pouzivat barvy. Veskere obrazovky jsou vicemene sede na sedem, neda se zmenit ani barva pozadi. V basicu, ktery je soucasti toho sameho vyvojoveho prostredi tohle vsechno funguje.
Takze zaver - jestli chces psat program pro PDA, musis se naucit visual basic.
Taky se ti chce blit?
no ja takove veci programuju v cecku (tim myslim normalni bezobjektove c) a jsem vcelku spokojeny. forth me ale zaujal, dokonce jsem si nasel i jednu zajimavou implementaci na atmely, i kdyz je (podle me) hodne narocna na pamet:
http://claymore.engineer.gvsu.edu/~steriana/Python/pfavr/rationale.html
jo, tenhle kousek kodu (generovani html) je roztomily: http://www.ntecs.de/old-hp/uu9r/lang/html/forth.en.html#_CGI%20Squares
Ale ne, ja si nemyslim, ze je Fortran mrtvy. Ale vetsina lidi presla od Fortranu k Pascalu/Cecku atd. Opet to neni vec "kvality" programovaciho jazyka, ale spis dostupnost programatoru a programovacich prostredku.
Znam nekolik projektu, kde je matematicky zaklad vytvoren ve Fortranu (nejake operace nad maticemi, numericka integrace apod.) a GUI s rizenim je v C++. Vypada to, ze vyvojari byli s touto volbou velmi spokojeni.
Ale klidne muzete zbohatnout, jen si najit prilezitost. Znam cloveka, ktery (opravnene) zhrabl nekolik tisic za to, ze do nejakych reklamnich materialu "pribastlil" logo firmy.
Grafik by na tom delal tyden, tento programator do kazdeho .ps souboru pouze na vhodne misto vlozil prislusne logo (taky ps, resp. eps soubor) a po uprave transformacnich matic to mel hotove za odpoledne.
U nas na skole zase kolega vkladal do postsciptu automaticke cislovani do stranek urcenych do sborniku (lidi to samozrejme posilali "camera ready" bez cisel). S vhodnym skriptem (tusim to bylo v AWK) to slo docela snadno.
Jeden muj znamy z velke nejmenovane telekomunikacni firmy dela na Sunech a OpenBoot si nemuze vynachvalit.
On ho tedy pouzije na kazdem serveru tak jedenkrat za dva roky, kdyz se neco rozhasi - potom najde pisicko, udela si z nej konzoli (pripojenou k Sunu pres seriovy port - jednoduche, spolehlive) a uz vesele nastavuje.
Ted jste vlastne neprimo odpovedel na uplne prvni otazku od mol-a :-)
Pro neznale: Scheme vychazi z Lispu, vyvoj se rozdelil tusim v roce 1975. Scheme se take naucite rychleji nez Lisp, nekde jsem cetl, ze cely manual ke Scheme ma tolik stran, co uvod do knizky Common Lisp :-) Samozrejme vychytavky jako CLOS tam nejsou implementovany.
prave v tom je ta krasa - cely scheme jde pouzivat s pomoci plus/minus peti primitiv a zbytek se da doprogramovat... v tom je ta krasa...
btw. libi se mi jak se vsude cpe XML, kdyz na vetsinu problemu by stacil jazyk podobny LISPu a na zpracovani misto XSLT pouzit neco jako Scheme nebo LISP
na Scheme je take dobre, ze se v dokumentaci docela presne pise, kdy je pouzita tail-recursion (ted si nevzpomenu na presny cesky preklad) a kdy ne. To me u jinych Lispu chybi.
Jedina vada pro me: true a false se pise pomoci #t a #f a ne jako T a nil :-)
ad btw: mluvite mi z duse, vsak jsem to na konferencich uz take nekolikrat rikal. Proste nejaky dokument/databaze vytvorena jako LISP-ovsky seznam a na zpracovani pouzit nejakou funkci, co tento seznam prekouse. Takhle se misto kulatych zavorek, na kteri vsichni nadavali, vsude pouzivaji nesmyslne lomene zavorky, u kterych ani nejde jednoduse zjistit parovost.
> cely scheme jde pouzivat s pomoci plus/minus peti
> primitiv a zbytek se da doprogramovat
No a ? S lispem je to prece podobny a je krasny stejnym zpusobem :)
> btw. libi se mi jak se vsude cpe XML, kdyz na
> vetsinu problemu by stacil jazyk podobny LISPu a na
> zpracovani misto XSLT pouzit neco jako Scheme nebo
> LISP
Presne to me taky napadlo ! Vymysli se tuny zbytecnych specializovanych jazyku (napr. xml, xsl, makefile atp.), pritom by stacilo napsat v Lispu par maker a je to :))) A Lisp uz tu byl pred x desitkami let, a dodnes je nedostizeny...