Pascal byl v první řadě navržen jako jazyk pro výuku programování (strukturovaného) a výuku algoritmizace. A v tomto vždycky plnil a plní svou funkci výborně. Takže mi připadá trochu nemístné poměřovat jeho kvality počtem projektů.
A to říkáš proto, že k tomu máš své konkrétní důvody, nebo se jen opakuje to starodávné Wirthovo tvrzení (které se stalo samopotvrzujícím se proroctvím)? Zeptám se takto - proč dnes Pascal pro výuku ano a proč ne?
Jaké tvrzení? Wirth v 70. letech pro své studenty curišské techniky vymyslel jazyk, který měl být dostatečně jednoduchý a nenáročný jak pro jeho uživatele, tak pro implementátory jeho překladače, intuitivní, dobře čitelný, bezpečný a vedoucí k dobrým návykům. Protože to vše Pascal splňoval, rychle se rozšířil i mimo jeho alma mater, a dokonce, oproti původním předpokladům, se začal používat i k praktickým účelům. V této oblasti ho samozřejmě bylo nezbytné trochu přiohýbat, protože na to nebyl stavěný.
Dnes se Pascal stále hodí pro přípravu studentů, kteří budou v praxi používat jazyky jako je C, tj. klasické strukturované jazyky bez GC. Takových lidí je třeba stále pro embedded oblast. Dále se Pascal výborně hodí k vysvětlování klasických algoritmů a datových struktur, tedy různé grafové algoritmy, stromy, seznamy apod. Člověk zvyklý na to, že o dynamické objekty se musí postarat, si lehce zvykne na GC. Obráceně je to mnohem strastiplnější cesta.
Celkově je Pascal vhodný jako jazyk, kde člověk získá nějakou představu o tom, jak počítač zpracovává program, ale stále je to jednoduchý vysokoúrovňový jazyk. O tom by měl mít nějakou představu každý programátor. Navíc se dá na jeho poměrně jednoduchém, obvykle LL(1) rekurzivně sestupujícím parseru demonstrovat, jak takové věci vlastně fungují. Wirth pro tyto účely specifikoval ještě jednodušší formu, kterou nazval PL/0, což je jazyk Pascalu dost podobný, takže pro studenty je to jednodušší, jehož kompilátor či interpret se dá napsat jako semestrální cvičení.
Dnes, aspoň teoreticky, frčí objektový návrh, pro jehož výuku Pascal IMHO vhodný není. Jenže realita je taková, že ty objektové programy jsou mnohdy jen více či méně dobře navržené strukturované programy zabalené do tříd. S rostoucí oblibou funkcionálního návrhu to podle mě dopadne podobně - začnou vznikat zmršeniny, jak se to paradigma bude šířit mezi méně talentované vývojáře.
Pokud chcete naučit objektové programování, sáhněte po Smalltalku. Ale budete trpět, až v praxi budete muset něco dělat v Javě nebo nedej bože v C++. Pokud chcete naučit strukturovanému programování, sáhněte po Pascalu, a až v praxi budete muset vyvíjet v C, tak zajásáte, protože najednou odpadne ten pascalský pedantismus. Ale to je až v okamžiku, kdy máte zažité dobré návyky a víte, kdy sem-tam něco udělat nějakým hackem, aniž by to způsobilo katastrofu. Assembler, Fortran, Cobol apod. ani neuvádím, ačkoli pro případné vývojáře je i zde Pascal vhodným učebním nástrojem. Ale je mi jasné, že to, narozdíl od dob vzniku Pascalu, už dávno není mainstream.