eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingSzukam jezykaRe: Szukam jezyka
  • Data: 2011-05-13 11:06:55
    Temat: Re: Szukam jezyka
    Od: Andrzej Jarzabek <a...@g...com> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    On May 13, 9:24 am, Jacek Czerwinski <x...@...z.pl> wrote:
    >
    > na gruncie kompilowanych, od strony formalnej C++ jest przygotowany do
    > takiej zabawy, w sensie forsowanie operatorów, operator () * -> itd

    Jednak składnia nie pozwala na przedefiniowanie senamtyki sekwencji
    oddzielonych spacjami. Trzebaby co najmniej używac jakiegoś operatora,
    więc mogłoby to ewentualnie wyglądać tak:
    Kamyczek + zderza + sie + w + Powietrze + z + Moja_pilka;

    NIe ma też żadnego sensownego pattern matchingu, więc definicje takiej
    operacji byłyby dosyć rzeźnickie.

    > 2.
    > Ja źle patrzę (jako jednak zawodowy programista) na naginanie syntaxu w
    > skrajny sposób, pod użytkownika. Komplikuje to parser, zwiększa ryzyko
    > błędów w parserze i u użytkownika. Przykład z SQL:
    > select * from Tab as t
    > select * Form Tab t
    >
    > są obie dopuszczalne z 'as' i bez.
    > Ocenę o ryzyku potwierdza mi np highlighter z MS-SQL Management, który
    > czasem wykłada się na legalnych kwerendach.
    >
    > To "już było" w Cocolach, PL/1 itp, i ostatecznie nic dobrego tym
    > językom nie przyniosło. Uważam, że dla jego dobra, użytkownika języka
    > trzeba przyzwyczaić do minimum wymogów formalnych

    Z drugiej strony wydaje mi się, że składnia c++ z konstrukcjami typu a
    b (*c) (d)->e jest też mocno problematyczna.
    Do języka z dużą (i rosnącą) ilością features jak C++ powinna być
    jednak bardziej czytelna składnia, typu właśnie
    define variable x of type int;
    define function foo (p1 of type int, p2 of type string) of type float
    ...
    end define
    itd.

    Co do tego, o czym pisze OP to jest jakby osobna sprawa (możliwość
    rozszerzania składni języka), ale powinno się dać zrobić przy pomocy
    jakiegoś sensownego macro engine z pattern matchingiem, nawet bez
    restrykcji na duże/małe litery w identyfikatorach, jakąś konstrukcją
    typu
    define macro (variable K of type kamien) zderza sie w (varbaible Po
    of type powietrze) z (variable Pi of type pilka)
    ...
    end macro

    Nie widzę tutaj jakiejś zasadniczej trudności (być może z wyjątkiem
    czasu kompilacji/parsowania programu z dużą ilością makr).
    Ale osobiście nie znam chyba języków, które by takie możliwości miały
    (z wyjątkiem powiedzmy pseudo-języków do generacji parserów).

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: