👋 Nový obsah na borekb.cz

Info Tento blog je v "read-only módu" a nový obsah již nebude přibývat. O vývoji píšu na DevBlog.

Starý dobrý Pascal

Rosňa se jako každý správný prvák na matfyzu potýká s Pascalem a zřejmě věří, že si toho pamatuju tolik, že jí budu schopen trochu pomoct. První seance v Dřenicích skončila funkčním prográmkem na výpočet n-tého čísla Fibonacciho posloupnosti m-tého řádu a jelikož nakonec přijeli i Tom H. se Zuzkou Š., z programátorského odpoledne se vyklubala zajímavá akcička okořeněná skvělou muzikou pouštěnou panem Pavlovičem.

Druhý příklad, který musí udělat, už tak triviální není – jedná se o vyhodnocování aritmetických výrazů zadaných řetězcem. Od Rosni jsem jako nástroj pro vývoj obdržel jakýsi podezřelý Turbo Pascal 7.0, který má přes 100 MB a nemusí se instalovat, což je skvělé, ale bohužel na něm funguje jenom česká qwertz klávesnice, kterou fakt neumím a nemám rád. Sháněl jsem proto alternativní vývojová prostředí. Narazil jsem na FreePascal a na Virtual Pascal. Zvláště druhý jmenovaný dokázal prostředí klasického TP napodobit velmi věrně, integrováno bylo i ladění a nápověda, mnohdy kvalitněji zpracovaná než ta originální. Bohužel překladač VP nebyl plně kompatibilní s tím v TP – např. funkce val v TP očekává argumenty typu string, integer a integer, zatímco ve VP musel být poslední argument typu longint. Překladač FreePascalu se zdál být kompatibilnější – první verze vyhodocovače aritmetických výrazů v něm šla přeložit bez nejmenších úprav, což mě potěšilo. Naneštěstí je však IDE poměrně nekvalitní (zatím je v beta fázi), takže jsem si musel vybrat mezi dobrým IDE a dobrým překladačem, když se zdálo, že nemůtu mít obojí současně.

Pak jsem ale objevil IDE Dev-Pascal, což je normální Win32 aplikace, kterou lze stáhnout buďto s GNU Pascal kompilátorem nebo právě s Free Pascalem (kupodivu nelze stáhnout „distribuci“ s oběma kompilátory naráz). Dev-Pascal + FP kompilátor tedy byla jasná volba. Bohužel Dev-Pascal nemá integrovaný debugger, který se konkrétně u vyhodnocování výrazů, což je hraní se zásobníkem, ukázal jako nezbytnost. Naštěstí lze stáhnout samostatný debugger InSight (grafická nadstavba nad DBG debuggerem), který se jen rozbalí do cesty Dev-Pascalu a po spuštění ladění se otevře nová aplikace, který jakous takous podporu poskytuje. Nepodařilo se mi sice rozchodit watches a také při pokusu o podrobnější zobrazení lokálních proměnných (např. typu pole) se debugger složil, ale aspoň jsem se mohl dívat, kudy program kráčí, což často v kombinaci s tužkou a papírem (které nahrazují watches) stačí.

Takže: ideální vývojové prostředí pro Pascal se mi najít nepodařilo, ale kombinace Dev-Pascal + Free Pascal compilter + InSight už pro mé jednoduché potřeby asi stačí. Ještě poznámka na závěr: včera na Slunečnici vyšel dosti kontroverzí titul „Turbo Pascal 7.0“, což je neoficiální verze od nějakého Slováka, který integroval českou nápovědu a patch na runtime error 200, ale ani zde se mi nepodařilo přepnout na QWERTY nebo na anglickou klávesnici.

Update: Virtual Pascal také umí bez zásahu do kódu přeložit zdroják z TP7. Problém je v tom, že VP kompiluje do 32bitového exáče, zatímco TP do 16ti bitového, což má za následek některé problémy s velikostí datových typů – integer vs. longint je zářným příkladem. V nastavení VP kompilátoru ale stačí zaškrtnout direktivu „Use32“ a vše běží v pohodě (alternativně lze do každého zdrojáku do sekce uses vložit odkaz na knihovnu use32, což je samozřejmě daleko méně elegantní řešení). Takže zatím se mi jako ideální jeví: psát v Dev-Pascalu s FreePascal kompilátorem a když je potřeba ladit, hodit to do VP. Celý vývojový cyklus je tak možno obstarat s free nástroji, i když na ladění by se dal alternativně použít i TP.

Zařazeno do kategorií | |
HLuPaCeK (Út, 2006-05-09 13:57):

mě se jeví jako nejlepší psát v PSPadu a kompilovat v čemkoliv :)

Flintstone (Po, 2008-04-07 17:19):

Ahoj! S tou klávesnicí jsem měl také problém. V TurboPascalu 7.0 jsem prostě nemohl najít přepínání a dost mě to mrzel, protože jinak se mi ta verze docela líbí a jsem rád že jsem (právě u toho slováka:-) kápnul na verzi, kde se dá v xpéčkách dělat turbopascalovská grafika jako ve starým dosu. Až právě před minutou jsem dogoogloval na pcsvět – a funguje to! :-) Stačí zmáčknout Ctrl-Alt-F1 a je to. Zdravíčko a hezký den všem čtenářům. Blogům zdar! F.

rainbof (Pá, 2008-09-12 08:47):

ctrl+alt+F1 ctrl+alt+F2

archeolog (Po, 2012-09-24 12:18):

Ze školy bývá doporučený kompilátor (verze jazyka) a to je značné omezení. Jinak asi není nad Delphi a nebo Borland TurboPascal. Právě pro kvalitní IDE a integrované vývojové prostředky. Strávil jsem s Pascalem velký kus života a kromě různých dektopových aplikací jsem psal právě pod TurboPascalem i „embeded“ aplications. Právě možnost hacknout IDE umožnilo separovat kód i data a umístit je na požadované adresy v EPROM v malém řídícím počítači stroje a navázat na jiný operační systém.QWERY, bez češtiny, jistěže to jde. (Flinstone už napsal) Mnoho let jsem psal RealTime aplikace v Modula-2. Nádherný jazyk. Bez konkurence, nemá to chybu.Těžce jsem na něj vzpomínal v letech psaní v C pro jinou firmu (ten se pro RT aplikace fakt nehodí) a nyní píšu webové apliace v Javě. Je to skvělý jazyk. Ale leta s Pascalem a hlavně Modulou-2 byly nejlepší. Je tam vynikající poměr v tom kolik musíte vložit do perfektního zvládnutí jazyka a kolik z toho vytěžíte. Doba ale pokročila a ani jeden ze vzpomínaných jazyků na větší a komplexní aplikace už nestačí.

Komentáře jsou uzavřeny (blog je v read-only módu). Pokud mě chcete kontaktovat, můžete mailem.