-
Data: 2010-12-08 09:55:04
Temat: Re: [.] zachecam do wiekszej aktywnosci na grupie
Od: Borneq <b...@a...hidden.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu 2010-12-08 08:25, Tomasz Sowa pisze:
> Z tego co kiedyś się przyglądałem to język wyglądał ciekawie. Na liście
> mailingowej ostatni post jest z 2008 roku więc może rzeczywiście nie jest
> on już rozwijany.
Ale prace były zaawansowane. Nawet kompilator Koguta w kogucie. Mój nie
wiem czy wyjdzie poza konwerter z Pascala na nowy, obecnie jest na
etapie zbierania opinii.
Nowy kompilator ma wypełnić niszę nie zajmowaną przez nowe kompilatory,
a więc ma być statycznie typowany, (choć to niemodne) bez garbage
collectora, tylko częściowo automatycznie zarządzannie pamięcią z
licznikami referencji w stringach czy interfejsach.
Ma być po prostu następcą Pascala. Na niższym, leksykograficznym
poziomie ma przypominać języki C++ czy Java czyli nawiasy klamrowe
zamiast begin-end, definiowanie zmiennych i funkcji najpierw podając
typ, potem identyfikator; natomiast na wyższym będzie przypominał
Pascala z całą jego filozofią dołączanych unitów (przestrzeni nazw).
Kompatybilność z Pascalem ma być na takim poziomie, że będzie możliwość
przekonwertowania całych istniejących bibliotek i programów, chociaż
będą konstrukcje występujące w C których nie ma Pascal: podstawienie w
pętli : while (c=getch()), czy jeszcze jest coś co się nie
przekonwertuje z C na Pascala?
Pytanie: czy jest lepiej tak jak w C++/Pascalu deklarować metody w
klasie bez ciała, które następnie zapiszemy niżej w postaci
nazwaKlasy::nazwaMetody czy tez lepiej od razu w klasie?
Sposób C++/Pascala ma tę zaletę że od razu widać listę metod, z drugiej
strony nie ma to już znaczenia gdy używamy nowoczesnych środowisk które
zwijają ciała metod, tylko że to wymaga specjalnego edytora, dla
zwykłego będzie gorzej.
Drugie: bardzo przyjemną rzeczą byłoby mieć komentarze które można
zagnieżdżać ale tu problem jak je obsługiwać - komentarze są usuwane w
analizie leksykalnej która działa na automatach bez stosu. Nawet gdyby
kompilator to potrafił to problem byłby z takim edytorem podświetlającym
składnię. Można by to zostawić na później przez wprowadzenie drugiego
rodzaju komentarzy: pierwsze to /* */, klamry nie mogą być, więc drugi
komentarz (oprócz //) może /- -/ czy /+ +/?
Jaka nazwa: mam dwie propozycje - jedna nawiązuje do Pascala.
Mają być dwa rodzaje pętli for: jedna to znana z C:for(i=0;i<100; i++)
druga to pętla pascalowska z jednorazowym wyliczeniem końca
for(i=0..100;i++) for(i=n..n+5;i++) for(i=n+a..n+k;i++)
Pytanie, w konstrukcji 0..100, pętla ma działać dla <=100 czy dla <100 ?
Przed else powinien być średnik - łatwiej dodawać else;
Na końcu każdej instrukcji ma być średnik, bez pustej instrukcji, nie
może być dwóch średników po sobie. Zabronione pisanie +liczba
(odwrotność ujemnej, która nic nie zmienia) np. 2*+liczba
Ma przewyższać Pascala przez możliwość użycia w programie zmiennych
preprocesora, jednak musi być możliwość odróżnienia ich od zwykłych
identyfikatorów, przez:
- albo będą pisane samymi dużymi literami
- albo będą zaczynały się i kończyły podkreśleniem
- albo będą zaczynały się dwoma podkreśleniami
- albo będą zaczynały się od #
Literały:ósemkowy: \377 (a może 0377?), szesnastkowy: \x378 (a może
0x378 ?)znakowy #90 (tak jest w Pascalu, ale mozę być konflikt z
preprocesorem?)dwójkowo 0011101B, -1111B
Ma rozróżniać wielkość liter.
znaki unicodu \uxxxx np \u1234
Możliwość definiowania zmiennych w bloku
w case nie potrzeba break, aby można było break użyć do przerwania pętli.
Break z etykietą - możliwość wyjścia z dwóch pętli zamiast goto.
Dwa rodzaje tablicy: tab[100] - indeks od zera i tab['a'..'z'] w celu
kompatybilności z Pascalem.
Dwa rodzaje zmiany typu: (int)a i int(a) jeden to konwersja a drugi
bitowe rzutowanie bez żadnej zmiany - które wybrać na które?
Contructor bez nazwy jak w Oxygene
Stringi indeksowane od zera - tu pewien problem przy konwersji z Pascala
Następne wpisy z tego wątku
- 08.12.10 09:56 Jędrzej Dudkiewicz
- 08.12.10 13:15 A.L.
- 08.12.10 19:46 Waldek M.
- 08.12.10 21:10 A.L.
- 12.12.10 16:54 R. P.
- 12.12.10 17:31 A.L.
- 12.12.10 19:24 R. P.
- 12.12.10 19:25 Stachu 'Dozzie' K.
- 12.12.10 19:51 R. P.
- 12.12.10 20:21 R.M.M
- 12.12.10 20:54 Wojciech Jaczewski
- 12.12.10 20:56 R. P.
- 12.12.10 20:57 R. P.
- 12.12.10 21:06 R.M.M
- 12.12.10 21:37 R. P.
Najnowsze wątki z tej grupy
- 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
- Re: W czym sie teraz pisze programy??
Najnowsze wątki
- 2025-02-12 Warszawa => Expert Recruiter 360 <=
- 2025-02-12 Ostrów Wielkopolski => Area Sales Manager OZE <=
- 2025-02-12 Bieruń => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-02-12 Dęblin => Node.js / Fullstack Developer <=
- 2025-02-12 Kraków => PHP Full Stack Developer <=
- 2025-02-12 Karta dźwiękowa stereo
- 2025-02-12 Dęblin => JavaScript / Node / Fullstack Developer <=
- 2025-02-12 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-02-12 Łódź => NodeJS Developer <=
- 2025-02-12 Błonie => Sales Specialist <=
- 2025-02-12 Dziwne zachowanie magistrali adresowej w 8085
- 2025-02-11 Mini pecet
- 2025-02-10 Spalił się spaliniak
- 2025-02-10 zarowka wifi - z sensowna apka lub lepiej albo lokalnie lub przez web. I zeby harmonogram miala
- 2025-02-10 Chrzanów => Programista NodeJS <=