eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingSzukam jezykaRe: Szukam jezyka
  • Path: news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.glorb.com!p
    ostnews.google.com!l30g2000vbn.googlegroups.com!not-for-mail
    From: Andrzej Jarzabek <a...@g...com>
    Newsgroups: pl.comp.programming
    Subject: Re: Szukam jezyka
    Date: Fri, 13 May 2011 04:06:55 -0700 (PDT)
    Organization: http://groups.google.com
    Lines: 63
    Message-ID: <3...@l...googlegroups.com>
    References: <iqio4c$mg$1@inews.gazeta.pl> <iqipri$efe$1@news.onet.pl>
    NNTP-Posting-Host: 195.11.67.225
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2
    Content-Transfer-Encoding: quoted-printable
    X-Trace: posting.google.com 1305284816 9216 127.0.0.1 (13 May 2011 11:06:56 GMT)
    X-Complaints-To: g...@g...com
    NNTP-Posting-Date: Fri, 13 May 2011 11:06:56 +0000 (UTC)
    Complaints-To: g...@g...com
    Injection-Info: l30g2000vbn.googlegroups.com; posting-host=195.11.67.225;
    posting-account=jr5y-woAAAAWidgVjrSJ6j8m650CTb-v
    User-Agent: G2/1.0
    X-HTTP-UserAgent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.24 (KHTML, like
    Gecko) Chrome/11.0.696.60 Safari/534.24,gzip(gfe)
    Xref: news-archive.icm.edu.pl pl.comp.programming:190272
    [ ukryj 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: