( RaptoR | 2020. 03. 25., sze - 19:28 )

Hogy kinek milyen szintaxis tetszik, az eléggé egyénfüggő. Nekem pl. a kedvencem a Python 3 kompakt, de átlátható (számomra természetesen) szintaxisa, de ezt se szereti mindenki, sőt ugye a kötelező kódblokk indentálás egyesek számára emészthetetlen. De nincs is ezzel semmi baj, van elég nyelv, amit lehet használni. :)

A "mi a programnyelv" vitát meg úgy lehetne eldönteni, hogy először meg kéne állapodni a közös alapokban/definíciókban. Mint pl. a tudományban, ahol ez eléggé esszenciális dolog. Ha pl. leírom azt, hogy parciális differenciál-egyenlet, akkor az olvasó pontosan tudja, hogy miről beszélek, mert közös szakkifejezések használ a tudomány, ahol csak lehet. A programnyelv tervezéshez nem értek egyáltalán, de találkoztam már olyan definícióval, hogy egy programnyelv, az tényleg csak a szintaxisát definiáló szabvány, vagy szabályok halmaza. Legutóbb pl. a Zig nyelvnél találkoztam egy 500 soros Parsing Expressions Grammars formátumú szintaxis-definícióval. Ha szigorúan veszem, ennyi elég egy nyelvhez, aztán mindenki írhat magának egy fordítót, ami készít az adott architektúrán futó binárist. De persze ezt egyik komoly nyelvnél se így csinálják, hanem készítenek egy referencia implementációt, mint pl. Pythonnál a CPython. De emellett ott van a PyPy is, ami a Python nyelvet használja, de nem referencia implementáció.

Tehát a fenti vita a topikban arról szól - ha jól értem -, hogy egy programnyelv az szintaxis, vagy szintaxis + referencia implementáció. :) Hát... definíció kérdése. Ha szigorúan veszem, akkor az előbbi, de gyakorlatban az utóbbi. Azonban azt mindenképp javasolnám, hogy ha úgy érzed, hogy elérted az 1.0-át a szintaxissal, akkor készíts (valamilyen formátumban) egy szintaxis leíró szabványt. Ez azért is fontos, mert ha valaki akarna készíteni a nyelvhez pl. egy lintert, vagy szintaxis kiemelőt egy szerkesztőhöz, akkor legyen miből kiindulnia, és ne úgy kelljen összevadászni a szintaxis szabályokat.