-
Data: 2011-07-27 22:03:04
Temat: Odp: Re: Prosty preprocesor wielojęzykowy
Od: "godek.maciek" <g...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu środa, 27 lipca 2011, 15:39:27 UTC+2 użytkownik Mariusz Marszałkowski napisał:
> Nie wiem co to ma na celu... Mnie czasami nie chcialo sie wpisywac
> recznie
> wiele podobnego/specyficznego kodu. Wtedy pisalem po prostu w C taki
> generator.
Moim zdaniem C nie jest najlepszym językiem do tworzenia generatora kodu, bo
zazwyczaj nie wymaga się od takich programów wydajności, ale raczej tego, żeby dało
się je szybko pisać i łatwo edytować, a nade wszystko -- żeby dobrze operowały na
łańcuchach tekstu. Ale nawet gdyby ktoś chciał zrobić coś takiego, to mógłby napisać
kod.c:
...
@begin "cc -x c $< -o gen; ./gen > $>; rm gen"
/* kod w C, który generuje inny kod w C */
...
@end
Tzn. ja sam raczej zalecałbym unikanie takiego stylu programowania (o ile istnieje
taka możliwość), jednak mogą się zdarzyć sytuacje, w których może on pozwolić na
zaoszczędzenie mnóstwa wysiłku i uniknięcie błędów.
Poza tym taki preprocesor pozwala na trzymanie kodów źródłowych kilku różnych
programów w jednym pliku tekstowym (co może mieć sens, gdy kody są niewielkie, a
programy mają ze sobą coś wspólnego) i zapewne można by dla niego wymyślić jeszcze z
miliard zastosowań :)
> Czasami gdy musze napisac bardzo wydajny program, to marzy mi sie
> zeby byl jakis pol-automatyczny konwerter z kodu ludzkiego na kod
> zoptymalizowany. Niestety nie mam za bardzo pomyslu jakby to
> moglo wygladac. Moze napisac jakis konwerter javy do c++, oczywiscie
> podzbioru javy :)
Trochę nie rozumiem, w jakim sensie kod w javie jest kodem ludzkim, i w jakim sensie
kod w c++ miałby być zoptymalizowany ;]
Zdaje się, że gcj oferuje możliwość kompilacji kodu w javie do postaci kodu
maszynowego x86 zamiast do kodu dla jvm.
Pozdrawiam!
Następne wpisy z tego wątku
- 29.07.11 19:10 Mariusz Marszałkowski
- 30.07.11 12:52 Spec
- 02.08.11 04:43 Mariusz Marszałkowski
- 03.08.11 01:01 godek.maciek
- 03.08.11 02:00 A.L.
Najnowsze wątki z tej grupy
- 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??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
Najnowsze wątki
- 2025-02-01 Śmierć mózgu a narządy do pobrania
- 2025-01-31 A niektórym to naprawdę zależy na ekologi w miastach LPG POWRACA ;-)
- 2025-01-31 Lublin => Programista Delphi <=
- 2025-01-31 Łódź => Programista NodeJS <=
- 2025-01-31 Wrocław => Senior SAP Support Consultant (SD) <=
- 2025-01-31 Warszawa => Full Stack web developer (obszar .Net Core, Angular6+) <=
- 2025-01-31 Gdańsk => iOS Developer (Swift experience) <=
- 2025-01-31 Kraków => UX Designer <=
- 2025-01-31 Warszawa => Data Engineer (Tech Leader) <=
- 2025-01-31 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-01-31 Gliwice => Business Development Manager - Network and Network Security
- 2025-01-31 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-01-31 Warszawa => Full Stack .Net Engineer <=
- 2025-01-31 Warszawa => Programista Full Stack (.Net Core) <=
- 2025-01-31 Gdańsk => Programista Full Stack .Net <=