Má smysl učit se Pascal (Delphi)?

Re:Má smysl učit se Pascal (Delphi)?
« Odpověď #15 kdy: 12. 06. 2019, 10:33:18 »
www.trsek.com je tam príručka pre začiatočníkov www.trsek.com/pascal/Príručka_pre_Pascal_(lite)
Inak odpoved na otázku: Nemá zmysel sa učiť pascal. Bohužiaľ.


Re:Má smysl učit se Pascal (Delphi)?
« Odpověď #16 kdy: 12. 06. 2019, 19:36:20 »
Keďže basic mi prestával stačiť (nemal podporu prerušení biosu ani inline ASM takže som si nevedel rozbehnúť ani myš)
Možná ti zničím mládí: ;D
Kód: [Vybrat]
mouseInit:
  ax = 0
  GOSUB driver
RETURN

mouseShow:
  ax = 1
  GOSUB driver
RETURN

mouseHide:
  ax = 2
  GOSUB driver
RETURN

mouseStatus:
  ax = 3
  GOSUB driver
  IF mb = 1 THEN
    ... nějaká činnost ...
  END IF
RETURN

driver:
  DEF SEG = VARSEG(asm)
  CALL Absolute(ax, mb, mx, my, VARPTR(asm))
RETURN

mouseStart:
  DIM asm AS STRING * 54
  FOR a = 1 TO 54
    READ a$
    MID$(asm, a) = CHR$(VAL("&H" + a$))
  NEXT a
  GOSUB mouseInit
  DATA 55,89,E5,8B,5E,06,8B,17,8B,5E,08,8B,0F,8B,5E,0C,8B,07
  DATA 8B,5E,0A,8B,1F,1E,07,CD,33,53,8B,5E,06,89,17,8B,5E,08
  DATA 89,0F,8B,5E,0C,89,07,58,8B,5E,0A,89,07,5D,CA,08,00,90
RETURN
Někde se mi tu válí tluuustá knížka QBasic Kompendium, možná to pochází zrovna z ní. Ale to už je jenom nostalgie.

A Pascal? I skladník si může přečíst Vergilia v originále, a Pascal je taková počítačová latina. Jako výukový jazyk je dodnes nepřekonaný, což je pro moderní jazyky dost velká ostuda. Některé věci se v něm totiž naučí mnohem lépe, a o dost méně bolestivě.

Pokud se takový pascalista jednou dostane třeba k siemensímu SCL, ve kterém se řídí průmyslové provozy včetně jaderných, bude se cítit jako doma. Na rozdíl od vyděšeného javovského gůgliče metod!

Ink

  • *****
  • 654
    • Zobrazit profil
    • E-mail
Re:Má smysl učit se Pascal (Delphi)?
« Odpověď #17 kdy: 13. 06. 2019, 06:25:06 »
A Pascal? I skladník si může přečíst Vergilia v originále, a Pascal je taková počítačová latina. Jako výukový jazyk je dodnes nepřekonaný, což je pro moderní jazyky dost velká ostuda. Některé věci se v něm totiž naučí mnohem lépe, a o dost méně bolestivě.

Tohle mě zajímá - co konkrétně Pascal umí tak skvěle naučit a třeba Python to nezvládne? Mě napadají pro dnešní praxi naprosto nepotřebné věci typu implementace spojového seznamu.

gill

  • ****
  • 270
    • Zobrazit profil
    • E-mail
Re:Má smysl učit se Pascal (Delphi)?
« Odpověď #18 kdy: 13. 06. 2019, 09:26:31 »
Tohle mě zajímá - co konkrétně Pascal umí tak skvěle naučit a třeba Python to nezvládne? Mě napadají pro dnešní praxi naprosto nepotřebné věci typu implementace spojového seznamu.

na to jste přišel kde?

https://www.tutorialspoint.com/python/python_linked_lists.htm

Re:Má smysl učit se Pascal (Delphi)?
« Odpověď #19 kdy: 13. 06. 2019, 19:09:09 »
Tohle mě zajímá - co konkrétně Pascal umí tak skvěle naučit a třeba Python to nezvládne? Mě napadají pro dnešní praxi naprosto nepotřebné věci typu implementace spojového seznamu.
V BASICu jsem spojové seznamy nikdy nepotřeboval ani neřešil. Jsou proto nepotřebné?


Re:Má smysl učit se Pascal (Delphi)?
« Odpověď #20 kdy: 14. 06. 2019, 07:42:23 »
Uz pred docela dlouhou dobou nekdo prohlasil, ze PASCAL je nejlepsi programovaci jazyk pro na uceni se PASCALu. Takze asi tak...
Na pascalu nas ucili algoritmizaci a cast programovacich technik (stridali jsme to s C, takze z toho mela spousta lidi v hlave gulas, na druhou stranu pascal mel alespon nejake IDE). Osobne mi znalost pascalu pomohla, abych mohl udrzovat nejaky projekt v delphi, ale to byly v te dobe winXP nejvetsi hit na poli operacnich systemu, dneska uz s delphi diru do sveta clovek neudela. Naucit se spatne programovat se da s kazdym programovacim jazykem, nemyslim si, ze by samotny pascal pomohl nekomu byt lepsi programator, nez kdyby zacal s C nebo s necim modernejsim

Ink

  • *****
  • 654
    • Zobrazit profil
    • E-mail
Re:Má smysl učit se Pascal (Delphi)?
« Odpověď #21 kdy: 14. 06. 2019, 20:43:01 »
Tohle mě zajímá - co konkrétně Pascal umí tak skvěle naučit a třeba Python to nezvládne? Mě napadají pro dnešní praxi naprosto nepotřebné věci typu implementace spojového seznamu.
V BASICu jsem spojové seznamy nikdy nepotřeboval ani neřešil. Jsou proto nepotřebné?

Většina lidí je nepotřebuje implementovat. Zato potřebují řešit věci, které v Pascalu nejsou, například rozumné ošetření chyb nebo paralelní výpočty. To je v klasickém Pascalu, jak jsme se ho učili ve škole třeba my, úplně mimo dosah.

Re:Má smysl učit se Pascal (Delphi)?
« Odpověď #22 kdy: 14. 06. 2019, 21:28:03 »
Ach ano, paralelní výpočty jsou v jazyce pro začátečníky a mírně pokročilé naprosto nepostradatelná věc.

Ale co je nerozumného na tom, že se program zastaví a řekne: "Na tomhle řádku došlo k překročení pole, dál nemůžu pokračovat."? Myslíš že něco ve stylu try/catch je k danému účelu vhodnější? Dokáže to Python vysvětlit lépe?

To mi připomíná skučení, že Raspberry Pi nezvládne video ve 4K, takže je k ničemu. Nezvládne. Jenže ona je to hračka pro děti, a pro svůj účel dost možná to nejlepší co je dnes k dostání... A jen tak mimochodem se s tím dá dělat i spousta dalších věcí, celkem pohodlně a bezpečně. Pascal je na tom podobně.

Vlasta A: Jo, to je pravda. Mám tady jednu starou učebnici Pascalu založenou na používání GOTO, a trochu mě její existence děsí ;D
« Poslední změna: 14. 06. 2019, 21:31:01 od Radovan . »

Re:Má smysl učit se Pascal (Delphi)?
« Odpověď #23 kdy: 14. 06. 2019, 23:29:32 »
Citace
Zato potřebují řešit věci, které v Pascalu nejsou, například rozumné ošetření chyb

Jistě, v Pascalu bylo možné vracet chyby jen skrz návratové kódy. Neoznačoval bych ale vyhazování výjimek za vždy rozumnější alternativu – chybové kódy sice znamenají více práce, ale obvykle pak víte, kde přesně (a z jakého důvodu) k selhání došlo, než když celý blok obalíte do try/catch/finally a prostě řeknete, že se něco nepovedlo.

Citace
nebo paralelní výpočty
Minimálně Turbo/Borland Pascal, který se asi nejvíce proslavil, neměl moc k implementaci mechanismů pro paralelní výpočty důvod, jelikož běžel pod DOSem.

Ink

  • *****
  • 654
    • Zobrazit profil
    • E-mail
Re:Má smysl učit se Pascal (Delphi)?
« Odpověď #24 kdy: 15. 06. 2019, 10:05:24 »
Citace
Zato potřebují řešit věci, které v Pascalu nejsou, například rozumné ošetření chyb

Jistě, v Pascalu bylo možné vracet chyby jen skrz návratové kódy. Neoznačoval bych ale vyhazování výjimek za vždy rozumnější alternativu – chybové kódy sice znamenají více práce, ale obvykle pak víte, kde přesně (a z jakého důvodu) k selhání došlo, než když celý blok obalíte do try/catch/finally a prostě řeknete, že se něco nepovedlo.

Existují i jiné způsoby - třeba Result/Either. Nicméně u výjimek nikdo nikomu nebrání ošetřovat chyby tak, že přesně víme, kde a proč k chybě došlo.

Citace
nebo paralelní výpočty
Minimálně Turbo/Borland Pascal, který se asi nejvíce proslavil, neměl moc k implementaci mechanismů pro paralelní výpočty důvod, jelikož běžel pod DOSem.

No a přesně o tohle jde. V DOSu už nikdo nepracuje; co v 90. létech mohlo dávat smysl, to už dnes moc smysl nedává. Pascal je dítě určité doby, dnes už podle mě pro účely výuky moc nevyhovuje.

Re:Má smysl učit se Pascal (Delphi)?
« Odpověď #25 kdy: 15. 06. 2019, 10:27:54 »
Citace
Nicméně u výjimek nikdo nikomu nebrání ošetřovat chyby tak, že přesně víme, kde a proč k chybě došlo.
Já vím. Jen se dost často setkávám s přístupem "prostě to obalíme a neřešíme nic".

Citace
No a přesně o tohle jde. V DOSu už nikdo nepracuje; co v 90. létech mohlo dávat smysl, to už dnes moc smysl nedává. Pascal je dítě určité doby, dnes už podle mě pro účely výuky moc nevyhovuje.

To je pravda. Nicméně pokud budeme považovat Delphi za nástupce Pascalu (protože BP/TP se, řekněme od 90. let, už moc nevyvíjel), o možnosti paralelizace a synchronizace ochuzeni nejsme.

Re:Má smysl učit se Pascal (Delphi)?
« Odpověď #26 kdy: 15. 06. 2019, 10:29:56 »
Ak sa človek chystá do akademickej sféry, minimálne z historických dôvodov má zmysel naučiť sa / preskúmať Pascal, aj jeho objektovú verziu.

Ak sa človek chystá do praxe, chce sa živiť programovaním v nejakom jazyku, len zatiaľ nemá jasno v ktorom, Pascal aj Delphi môže pokojne odignorovať, na jeho kariéru to nebude mať žiadny vply, a naučiť sa ktorýkoľvek z ďaleko perspektívnejších jazykov.

Čo na tak jednoduchej otázke naďalej riešite?

Kit

  • *****
  • 704
    • Zobrazit profil
    • E-mail
Re:Má smysl učit se Pascal (Delphi)?
« Odpověď #27 kdy: 15. 06. 2019, 11:11:46 »
Jistě, v Pascalu bylo možné vracet chyby jen skrz návratové kódy. Neoznačoval bych ale vyhazování výjimek za vždy rozumnější alternativu – chybové kódy sice znamenají více práce, ale obvykle pak víte, kde přesně (a z jakého důvodu) k selhání došlo, než když celý blok obalíte do try/catch/finally a prostě řeknete, že se něco nepovedlo.

Právě s výjimkami vím úplně přesně, kde k nim došlo a za jakých okolností, včetně hodnot, které do dané metody či funkce vstoupily a způsobily nestandardní stav. V chybových kódech spousta informací chybí a v tu chvíli už není způsob, jak je získat.

Re:Má smysl učit se Pascal (Delphi)?
« Odpověď #28 kdy: 15. 06. 2019, 11:43:51 »
Pascal je dítě určité doby, dnes už podle mě pro účely výuky moc nevyhovuje.
Pascal je dítě určité myšlenky, dokážeš jí dnes něčím plnohodnotně nahradit? Co vyhovuje pro účely dnešní výuky, Scratch?

Naučíš se Pascal z roku 1970, a pak potřebuješ programovat paralelně. Je na to dnes už konečně vhodnější jazyk než ADA z roku 1979? Tam ti Pascal přijde hodně vhod. Ale zkus si na Adu přejít z Pythonu :o

Ink

  • *****
  • 654
    • Zobrazit profil
    • E-mail
Re:Má smysl učit se Pascal (Delphi)?
« Odpověď #29 kdy: 16. 06. 2019, 20:02:10 »
Pascal je dítě určité doby, dnes už podle mě pro účely výuky moc nevyhovuje.
Naučíš se Pascal z roku 1970, a pak potřebuješ programovat paralelně. Je na to dnes už konečně vhodnější jazyk než ADA z roku 1979? Tam ti Pascal přijde hodně vhod. Ale zkus si na Adu přejít z Pythonu :o

Tohle mě zajímá - proč by dnes zrovna Ada měla být nejvhodnější na paralelní programování?