eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingSzukam jezyka
Ilość wypowiedzi w tym wątku: 17

  • 1. Data: 2011-05-13 07:52:39
    Temat: Szukam jezyka
    Od: "Ireneusz Szpilewski" <i...@s...opole.pl>

    Czy jest taki jezyk programowania, w ktorym po prostu opisuje sie zwyklymi
    zdaniami co sie dzieje w programie z przedmiotami?

    np. majac deklaracje

    thing kamien
    {
    // zbiór cech kamienia
    }

    thing pilka
    {
    // zbior cech pilki
    }

    thing powietrze
    {
    // zbior cech powietrza
    }

    event (kamien K) zderza sie w (powietrze Po) z (Pilka Pi)
    {
    // zmien cechy kamienia K
    // zmien cechy pilki Pi
    // zmien cechy powietrza Po (fala dzwiekowa)
    }

    mozemy sobie potem spokojnie napisac

    kamien Kamyczek
    pilka Moja_pilka
    powietrze Powietrze

    Kamyczek zderza sie w Powietrze z Moja_pilka

    Taki kompilator bylby chyba bardzo prosty (analizator makr w sumie), bo
    zdarzeniami elementarnymi mogły by byc po prostu rozkazy procesora, a
    przedmiotami elementarnymi komorki pamieci i rejestry procesora (copy byte
    at Address to register a), ale to tylko taka dygresja.

    Irek




  • 2. Data: 2011-05-13 08:03:41
    Temat: Re: Szukam jezyka
    Od: Sławomir Szczyrba <c...@o...the.night>

    Ireneusz Szpilewski! Cssy... Cssy ja moge s tobą pogadać?
    > Czy jest taki jezyk programowania, w ktorym po prostu opisuje sie zwyklymi
    > zdaniami co sie dzieje w programie z przedmiotami?
    >
    Trochę pasuje tu Prolog :)

    Sławek
    --
    ________ Chowam kielich do plecaka i szybkim krokiem wychodzę ze świątyni.
    _/ __/ __/ (ostatnie słowa gracza RPG)
    \__ \__ \___________________________________________________
    ____________
    /___/___/ Sławomir Szczyrba steev/AT/hot\dot\pl


  • 3. Data: 2011-05-13 08:24:17
    Temat: Re: Szukam jezyka
    Od: Jacek Czerwinski <...@...z.pl>

    W dniu 2011-05-13 09:52, Ireneusz Szpilewski pisze:
    > Czy jest taki jezyk programowania, w ktorym po prostu opisuje sie zwyklymi
    > zdaniami co sie dzieje w programie z przedmiotami?

    1.
    Mi idea kojarzy się z DSL (Domain Specyfic Languages). Pewna ilość
    takich języków jest budowana na Groovy'm (a Groovy jest na JVM)
    Szukaj -> groovy dsl

    Np są przykłady:

    time = 16.h + 32.min

    na gruncie kompilowanych, od strony formalnej C++ jest przygotowany do
    takiej zabawy, w sensie forsowanie operatorów, operator () * -> itd

    Teoretycznie BY TO BYŁO #include jakiejś rodziny klas i kompilowanie
    kompilatorem C++. To ma szanse chodzić, ale w razie błędu mam pewność,
    komunikaty nieczytelne dla kogokolwiek poniżej dobrego C++ programersa.


    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





  • 4. Data: 2011-05-13 09:39:05
    Temat: Re: Szukam jezyka
    Od: Andrzej Jarzabek <a...@g...com>

    On May 13, 9:03 am, Sławomir Szczyrba <c...@o...the.night> wrote:
    > Ireneusz Szpilewski! Cssy... Cssy ja moge s tobą pogadać?> Czy jest taki jezyk
    programowania, w ktorym po prostu opisuje sie zwyklymi
    > > zdaniami co sie dzieje w programie z przedmiotami?
    >
    > Trochę pasuje tu Prolog :)

    racja(ty).
    używa(X,Y) :- każdy(x), słowo(Y), takie_jak(Y, ':-').


  • 5. Data: 2011-05-13 10:14:55
    Temat: Re: Szukam jezyka
    Od: "Ireneusz Szpilewski" <i...@s...opole.pl>


    Użytkownik "Jacek Czerwinski" <...@...z.pl> napisał w wiadomości
    news:iqipri$efe$1@news.onet.pl...
    >W dniu 2011-05-13 09:52, Ireneusz Szpilewski pisze:
    >> Czy jest taki jezyk programowania, w ktorym po prostu opisuje sie
    >> zwyklymi
    >> zdaniami co sie dzieje w programie z przedmiotami?
    >
    > 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:

    Mnie chodzi w sumie o banalny jezyk typu C czy Pascal + przeciazenie funkcji
    wzgledem typow argumentow. Postulowane przeze mnie

    event (kamien K) zderza sie w (powietrze Po) z (pilka Pi)
    {
    }

    to po prostu odchudzone i przeciazone typami argumentow

    void T_zderza_sie_w_T_z_T(struct kamien* K, struct powietrze* Po, struct
    pilka* Pi)
    {
    }

    Ja po prostu zamiast pisac

    T_zderza_sie_w_T_z_T(&kamyczek, &powietrze, &pilka)

    wolałbym jednak:

    Kamyczek zderza sie w Powietrze z Pilka

    przy czym "przedmioty" T odróżniam tym, że zaczynają się zawsze z dużej
    litery.

    To jakby uogólnienie sztuczki z C++:

    obiekt.metoda(argument) == metoda(&obiekt, argument)

    > select * from Tab as t
    > select * Form Tab t
    >
    > są obie dopuszczalne z 'as' i bez.

    Ale to programista sam definiuje skladnie zdania, tak jak sam wymysla nazwe
    funkcji w C czy C++.


    > Ocenę o ryzyku potwierdza mi np highlighter z MS-SQL Management, który
    > czasem wykłada się na legalnych kwerendach.

    Ale ja tu nie widze ryzyka. Przedmioty wykrywane sa przez duza litere,
    reszta slow i znakow tworzy przeciazona ze wzgledu na typy "przedmiotow"
    nazwe funkcji/eventu, ktory po prostu sie wywoluje.

    Irek




  • 6. Data: 2011-05-13 11:06:55
    Temat: Re: Szukam jezyka
    Od: Andrzej Jarzabek <a...@g...com>

    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).


  • 7. Data: 2011-05-13 11:11:38
    Temat: Re: Szukam jezyka
    Od: Jacek Czerwinski <...@...z.pl>

    W dniu 2011-05-13 12:14, Ireneusz Szpilewski pisze:
    > Użytkownik "Jacek Czerwinski"<...@...z.pl> napisał w wiadomości
    > news:iqipri$efe$1@news.onet.pl...
    >> W dniu 2011-05-13 09:52, Ireneusz Szpilewski pisze:
    >>> Czy jest taki jezyk programowania, w ktorym po prostu opisuje sie
    >>> zwyklymi
    >>> zdaniami co sie dzieje w programie z przedmiotami?
    >>
    >> 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:
    >
    > Mnie chodzi w sumie o banalny jezyk typu C czy Pascal + przeciazenie funkcji
    > wzgledem typow argumentow. Postulowane przeze mnie

    Tu i ówdzie pojawiają się buildery do kwerend SQL (zwykle java)

    Sztuczny przykład z fragmentów z głowy:
    Engine.selectFrom(t).column(a,b,c,d).where(equal(a,1
    ))

    Na gruncie C++ chyba soci jest dość bliskie tej filozofii. Możesz
    popatzreć jak 'pod maską' ma to zrobione.



  • 8. Data: 2011-05-13 14:14:37
    Temat: Re: Szukam jezyka
    Od: A.L. <l...@a...com>

    On Fri, 13 May 2011 12:14:55 +0200, "Ireneusz Szpilewski"
    <i...@s...opole.pl> wrote:

    >
    >Użytkownik "Jacek Czerwinski" <...@...z.pl> napisał w wiadomości
    >news:iqipri$efe$1@news.onet.pl...
    >>W dniu 2011-05-13 09:52, Ireneusz Szpilewski pisze:
    >>> Czy jest taki jezyk programowania, w ktorym po prostu opisuje sie
    >>> zwyklymi
    >>> zdaniami co sie dzieje w programie z przedmiotami?
    >>
    >> 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:
    >
    >Mnie chodzi w sumie o banalny jezyk typu C czy Pascal + przeciazenie funkcji
    >wzgledem typow argumentow. Postulowane przeze mnie
    >
    >event (kamien K) zderza sie w (powietrze Po) z (pilka Pi)
    >{
    >}
    >
    >to po prostu odchudzone i przeciazone typami argumentow
    >
    >void T_zderza_sie_w_T_z_T(struct kamien* K, struct powietrze* Po, struct
    >pilka* Pi)
    >{
    >}
    >
    >Ja po prostu zamiast pisac
    >
    >T_zderza_sie_w_T_z_T(&kamyczek, &powietrze, &pilka)
    >
    >wolałbym jednak:
    >
    >Kamyczek zderza sie w Powietrze z Pilka


    W Prologu to jest dosyc trywialne

    A.L.


  • 9. Data: 2011-05-13 15:20:24
    Temat: Re: Szukam jezyka
    Od: " " <f...@g...pl>

    Ireneusz Szpilewski <i...@s...opole.pl> napisał

    cos takiego jest przeze mnie obmyslane jako
    syntaktyczna nakladka nad c czy c2 (o nazwie nctx)
    wspominalem miesiac temu

    http://niusy.onet.pl/niusy.html?t=artykul&group=pl.c
    omp.programming&aid=89702757

    nie do konca to obmyslalem jeszcze i tak wogole
    to ogarnal mnie nielekki paraliz dolnej czesci
    mozgu (tylko osrodek filtrowania spolecznej
    brzydoty ciagle mocno mi przetwarza)

    > Czy jest taki jezyk programowania, w ktorym po prostu opisuje sie zwyklymi
    > zdaniami co sie dzieje w programie z przedmiotami?
    >
    > np. majac deklaracje
    >
    > thing kamien
    > {
    > // zbiór cech kamienia
    > }
    >
    > thing pilka
    > {
    > // zbior cech pilki
    > }
    >
    > thing powietrze
    > {
    > // zbior cech powietrza
    > }
    >
    > event (kamien K) zderza sie w (powietrze Po) z (Pilka Pi)
    > {
    > // zmien cechy kamienia K
    > // zmien cechy pilki Pi
    > // zmien cechy powietrza Po (fala dzwiekowa)
    > }
    >
    > mozemy sobie potem spokojnie napisac
    >
    > kamien Kamyczek
    > pilka Moja_pilka
    > powietrze Powietrze
    >
    > Kamyczek zderza sie w Powietrze z Moja_pilka
    >
    > Taki kompilator bylby chyba bardzo prosty (analizator makr w sumie), bo
    > zdarzeniami elementarnymi mogły by byc po prostu rozkazy procesora, a
    > przedmiotami elementarnymi komorki pamieci i rejestry procesora (copy byte
    > at Address to register a), ale to tylko taka dygresja.
    >
    > Irek
    >
    >
    >


    --
    Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/


  • 10. Data: 2011-05-13 16:03:24
    Temat: Re: Szukam jezyka
    Od: "Ireneusz Szpilewski" <i...@s...opole.pl>


    Użytkownik "A.L." <l...@a...com> napisał w wiadomości
    news:h5fqs69ocm48mv25ng55b0vsl1oa726c0h@4ax.com...

    >>Ja po prostu zamiast pisac
    >>
    >>T_zderza_sie_w_T_z_T(&kamyczek, &powietrze, &pilka)
    >>
    >>wolałbym jednak:
    >>
    >>Kamyczek zderza sie w Powietrze z Pilka
    >
    >
    > W Prologu to jest dosyc trywialne

    Ale w Prologu chyba nie napisze czegoś takiego:

    int Liczba
    stos_int Moj_stos
    bool Pelny

    Liczba := 15
    wloz Liczba na Moj_stos o ile nie Pelny

    if Pelny
    {
    wyslij "Stos jest pelny" do Moj_adres_email
    }
    else
    {
    wyslij 1 do Port_lampki
    czekaj 5 sekund
    wyslij 0 do Port_lampki
    }

    Chcialbym miec po prostu taki prosty C, Pascal albo asembler
    bez tej sztywnej skladni wywolywania procedur:
    nazwa_procedury(argument, argument,...)
    i z przeciazaniem wzgledem typu "rzeczownikow"
    jak powyzej (wyslij email / wyslij liczbe do portu)

    Irek


strony : [ 1 ] . 2


Szukaj w grupach

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: