Názor ke článku Rubinius 1.0 již klepe na dveře od Miloslav Ponkrác - [3] Ano souhlasím, naprostá většina jazyků je definována...

  • 27. 12. 2007 13:13

    Miloslav Ponkrác (neregistrovaný)

    [3] Ano souhlasím, naprostá většina jazyků je definována normou/standar­dem/popisem a dost mě to spojení "alternativní implementace" vystrašilo.

    Jaká je alternativní implementace pro C, pro C++, pro Asm, pro Adu, pro Fortran, pro LISP, pro unixový shell, pro Haskell, pro Smalltalk, pro APL, pro COBOL, pro Logo, ... - to jen co mě tak hned napadlo.

    Já osobně s jazyky, které mají "oficiální implementaci" mám dost špatné zkušenosti - většinou to svádí k tomu, že autor tohoto jazyka začne kašlat na zpětnou kompatibilitu, začne dřív, nebo později upravovat sysntaxi jazyka způsobem, že Vás donutí existující zdrojové kódy přepsat, nebo alespoň trochu upravit. Že v tom máte milión řádek ve zdrojovém kódu, a že si tam novým přepisem můžete do perfektně odladěného kódu zanést i obtížně hledatelné chyby, tak daleko tvůrce takového jazyka většinou nedohlédne.

    Pokud jazyk má "oficiální implementaci", autor jazyka nikdy nezvládne nepoužít tu moc k totálnímu rozkopání viz odstavec výše. Pokud existuje popis jazyka, nebo norma, či standard, většinou se toto neděje. Dostatečný počet běhový prostředí a mnoho napsaného kódu většinou udrží autora na uzdě, nehledě na to, že autor jazyka, který stvoří popis, nebo dotáhne jazyk k normě, většinou svůj jazyk míní seriózněji.

    Jako příklad si vemte jazyky, které mají "oficiální implementaci": Python - autor deklaruje, že ve verzi 3 bude Python nekompatibilní a změní se zdrojové kódy. Ruby - autor deklaruje, že změní a překope nekompatibilně syntaxi jazyka. Perl - autor ve verzi 6 nekompatibilně změní syntaxi jazyka. Atd..

    Závěr: Pokud chcete napsat velké sw dílo, které chcete mnoho let udržovat při životě - vyberte si jazyk, který nemá "oficiální implementaci" - ušetříte si hodně nervů, času, chyb, atd.. Vyberte si seriózní jazyk, který na Vás myslí, a který chrání Vaše investice do zdrojových kódů v něm napsaných.