-
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).
Następne wpisy z tego wątku
- 13.05.11 11:11 Jacek Czerwinski
- 13.05.11 14:14 A.L.
- 13.05.11 15:20
- 13.05.11 16:03 Ireneusz Szpilewski
- 13.05.11 16:42
- 13.05.11 17:01
- 13.05.11 20:05 Ireneusz Szpilewski
- 13.05.11 20:35 Ireneusz Szpilewski
- 13.05.11 21:46
- 14.05.11 06:47
- 14.05.11 17:57
Najnowsze wątki z tej grupy
- Nowa ustawa o ochronie praw autorskich - opis problemu i szkic ustawy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
Najnowsze wątki
- 2025-03-18 Tesla na złom
- 2025-03-18 Ziobrotura 3.0 będzie w prawie przesłuchać "świadka" Tuska bez adwokata w sprawach Sienkiewicza/Bodnara/...?
- 2025-03-18 Produkty ,,Made in Germany" wciąż na topie - art. na www.dw.com
- 2025-03-18 ulaskawienia
- 2025-03-18 Gdynia => Sales Executive / KAM <=
- 2025-03-18 42 MILIARDY ZŁOTYCH ZYSKU W ROK. DLACZEGO BANKI TYLE ZARABIAJĄ W POLSCE?
- 2025-03-17 Nie matura lecz chęć szczera ...
- 2025-03-17 Pendrive zdycha, czy coś jeszcze innego? Problem z plikami.
- 2025-03-17 Odkurzacz Smapp Dynamic - dawny Zelmer
- 2025-03-17 Nagra IV i zewnętrzny pilot
- 2025-03-17 Rzeszów => Spedytor Międzynarodowy <=
- 2025-03-17 Warszawa => Junior Account Manager <=
- 2025-03-17 Białystok => Gen AI Engineer <=
- 2025-03-17 Białystok => Generative AI Engineer <=
- 2025-03-17 Częstochowa => Backend Developer (Node + Java) <=