python je lisp-like jazyk? tak to teda slysim prvne (to abych ho prestal pozuivat :-) )
Názory k článku
Programovací jazyk Forth a zásobníkové procesory
Re: ?
celé vláknoAno, je - kdyz se zanedbaji ty zajimave vlastnosti ;-)
Viz treba http://www.norvig.com/python-lisp.html
Re: ?
celé vláknoNo 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í.
Re: ?
celé vlákno> Python má zase spoustu jiných zajímavých vlastností,
> které AFAIK neobsahuje ani Common Lisp
muzu se zeptat jaky ?
Re: ?
celé vláknoZeptat 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.
Re: ?
celé vláknoDocela zajimave cteni (samozrejme, jde o subjektivni nazory autora) je zde: http://www.strout.net/python/pythonvslisp.html
Re: ?
celé vláknoale to je spis dobra vlastnost Pythonu ne :-)
Takova typicky lispovska vec je napriklad lambda vyraz.
Redmont
celé vláknoNevylučuji, že existuje nějaký Redmont a v něm nějaká softwarová firma, ale ta, jejíž jméno se nevyslovuje, sídlí v Redmondu.
Re: Redmont
celé vláknoAsi 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
Postfixová notace
celé vlákno.. 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 !
Re: Postfixová notace
celé vláknoO pocitacich pane Sinclaira se zminuji az v dalsich dilech. On ale tusim existoval nejaky wrapper, ktery ty matematicke funkce dovoloval pouzivat i v Basicu. Ale moc o tom nevim, sam jsem atarista ;-)
re
celé vláknojojo, atari ;-) btw. nevite (nekdo) neco o implementacich Forthu pro nej? :) mam posledni dobou nutkani ho oprasit, ... kdysi jsem na nem ale delal jen nemnoho v basicu a pomerne brzy bylo nahrazeno PC :/
Re: re
celé vláknoPro atarko zcela urcite existuje FIG Forth, ale myslim, ze byly k dispozici i dalsi implementace. Kazdopadne FIG Forth na nem fungoval bez problemu.
Re: Postfixová notace
celé vláknoNo 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.
jednotky
celé vláknoDobry 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
Re: jednotky
celé vláknoTo je FAQ. kB = 1000 B, KiB = 1024 B. Viz http://physics.nist.gov/cuu/Units/prefixes.html, http://physics.nist.gov/cuu/Units/binary.html .
Re: jednotky
celé vláknoSpravne 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 :-)
Re: jednotky
celé vláknoPozor - nasobky 10 jsou to pouze u pevnych discich jako celku, uz velikosti partition je normalnejsi uvadet v mocninach 2.
Re: Postfixová notace
celé vláknoA pro ještě větší pamětníky, kteří už zapoměli: kalkulačka (tedy to jádro) ZX Spectra se volala nejlépe z assembleru Z80 instrukcí RST 0028 :-)
Bez titulku
celé vláknoKdysi dávno jsem z nouze tento jazyk pouzival na Atari. Mohu rict, ze jsem dodnes nenarazil na nic zajimavejsiho. Je fajn, ze o nem vychazi clanek, i kdyz pro dnesni PC je jiz prezity...
Re:
celé vláknoPro PC je mozna prezity, ale treba pro PDA, smartphone by nemusel byt. Jsem zvedavy na pokracovani. Muze to byt zajimave.
Re:
celé vláknoDelal 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.) ???
Re:
celé vláknoOO Forth sice existuje (asi od roku 1987, vychazi z ANS Forthu), ale je to takovy ten dort ala pejsek a kocicka (neco jako C++). Proste kvuli OO rozsireni musite udelat spoustu veci kolem a uz se nejedna o tak elegantni jazyk jako je puvodni Forth.
Re: forth...
celé vláknoMozna vas potesi, ze FORTH neumrel, ale zije a je nedilnou soucasti firmy, kde pracuji... =o) Po urceni se me ale neptejte (to vite, vladni tajemnstvi je vladni tajemstvi) =o)
Re: forth...
celé vláknoVladni tajemstvi si klidne nechte pro sebe (to uz vystouraji novinari) :-))), ale muzete nam rict, jak jste s Forthem spokojeni :-)
Re: forth...
celé vlákno- A kolik ti plati?
- Ale, nic moc, 5 korun za granat :-))))
Re:
celé vláknoAno, 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).
Re:
celé vláknoPak je ale zajimave, ze se tato zarizeni neprogramuji v php nebo ve visual basicu. ;-)
Re:
celé vláknoTo ne, ale za chvili to urcite bude Visual Basic for .NET mobile profile :-(
Re:
celé vláknoPDA se samozrejme daji programovat v Basicu. Pocket PC (Windows Mobile) ma .NET Compact Framework a existuje i nejaky Basic pro Palmy - v tom se ale nevyznam.
Re:
celé vláknobohuzel 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?
Re:
celé vláknono 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
Fortran
celé vláknoMyslim, ze spousta lidi, zvlaste tech programujicich numericke vypocty atp., by s Vami rozhodne nesouhlasila v nazoru, ze Fortran je mrtvy ;-)
Re: Fortran
celé vláknoAle 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.
smalltalk
celé vláknoPěkný článek. Dovoluji si ale nesouhlasit s výrokem, že Smalltalk byl vytvořen akademickou institucí. Pochází totiž z komerčního prostředí (Xerox).
jazyky
celé vláknoAsi trosku "off topic" prispevek:
zajimalo by mne, zda neznate nekdo nejaky odkaz na dokumenty/stranky, ktere se zabyvaji historii a/nebo srovnavanim programovacich a jinych(pocitacovych) jazyku ?
Re: jazyky
celé vláknoZkuste http://www.levenez.com/lang/ nebo posimrat Googla.
Re: jazyky
celé vláknodocela unikatni je http://merd.sourceforge.net/pixel/language-study/, zejm. casti diagram&history a syntax across languages.
pro srovnani konkretnich jazyku zkus googla.
Prima!
celé vláknoTo je prima, tenhle serial. Kdysi sem zbastlil Forth pro IQ-151 a pro ADT 4500 a pak sem na nej nejak pozapomenul, tak se tesim na pokracovani, abych si oprasil znalosti :)
Bez titulku
celé vláknoUz se tesim, jak zbohatnu v DTP diky postfixove notaci :-)
Re:
celé vláknoAle 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.
Fort a bootloader
celé vláknoForth respektive nieco na nom zalozene sa pouziva aj v OpenBOOT-e na Sun masinach. Velmi prijemna zalezitost, skoda, ze to nieje na PC.
Re: Fort a bootloader
celé vláknoJeden 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.
FreeBSD
celé vláknojen tak mimochodem - boot loader ve FreeBSD je napsan ve Forthu..
zajimavych jazyku je cela rada (hlavne z tech paradigmat mimo imperativni) skoda ze vsichni koduji v C/C++ apod. svet by mohl byt velmi krasne misto ;)
Re: FreeBSD
celé vláknoproc tolik jazyku, kdyz kazdy jazyk jde nasimulovat ve schemu! ;-)
Re: FreeBSD
celé vláknoTed 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.
Re: FreeBSD
celé vláknoprave 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
Re: FreeBSD
celé vláknona 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.
Re: FreeBSD
celé vlákno> 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...
Re: FreeBSD
celé vláknoScheme proste rulez. Hned se pozna, kdo si prosel paradigmata na UPOLu...:)
Re: FreeBSD
celé vlákno> manual ke Scheme ma tolik stran,
> co uvod do knizky Common Lisp
mozna proto ze CL specifikace popisuje dost velkou std .knihovnu, nejen jazyk
Re: FreeBSD
celé vláknoObávám se, že v LISPoidních jazycích moc velký rozdíl mezi std knihovou a jazykem není...veliká část jazyka je prostě součást standardní knihovny :)
zkusenosti s forthem
celé vláknoVe Forthu sem byl prinucenej delat jakesi zarizeni na mereni zrychleni - v principu jednoduchoucka zalezitost, ale (nejen) diky forthu se to kapanek protahlo a nevzpominam na to rad ;( uznavam ze ma radu vyhod, ale programovat v nem je o dusevni zdravi :o)
Forth
celé vláknoForth určitě není mrtvý,má své opodstatnění v real time zařízeních ,samozřejmě ne na bázi PC ,právě kvůli své HW nenáročnosti.Konkrétně se jedná o některé řídící systémy pro CNC zařízení.

