-
Data: 2012-01-20 09:05:55
Temat: Re: tcl - do czego to sie moze przydac?
Od: Maciej Sobczak <s...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On Jan 19, 11:18 pm, Krzysiek Kowaliczek
<k...@g...com> wrote:
> > A tak przy okazji - masz tu jakieś porównanie z Pythonem? Tzn. GUI w
> > Pythonie z drzewkami/listami na tysiące elementów? Bo skoro zauważasz,
> > że format wskaźnika wpływa na wydajność, to pewnie z czymś ją
> > porównałeś.
>
> A gdzie ja pisałem coś o Pythonie w tym kontekście?
W takim razie się nie kłócę.
Przecież nigdzie nie pisałem, że wskaźnik w formie stringa jest super-
wydajny. Nie jest.
On jest po prostu wygodny przy wypisywaniu na ekran.
> Chodzi właśnie o
> to, aby tych danych między Tcl i C++ przepychać jak najmniej
Można to robić na dwa sposoby - albo przez zmniejszenie tych danych,
albo przez zmniejszenie częstości tej wymiany. Ja preferuję to drugie,
jeśli można tak ukierunkować projekt. Nie przeszkadza mi to, że
przepycham przez granicę kilkadziesiąt bajtów; przeszkadzało by mi,
gdybym to miał robić milion razy na sekundę, bo to by znaczyło, że źle
podzieliłem zadania pomiędzy różne języki.
Jeśli coś ma się dziać często, to nie się dzieje po jednej stronie.
> Panie, ja to bym zamienił całego Tcla nie na Pythona, ale (uwaga!) C+
> +.
Dlaczego "uwaga"? Jeśli GUI ma mieć drzewka/listy na tysiące
elementów, to jest to naturalny wybór.
> W przypadku większych programów, lepszy jest język ze statycznym
> systemem typów.
Oczywiście.
> Po dyskusji to już nie wiem czy uważasz język za gniota, czy
> implementację jego interpretera?
Jedno i drugie. Język to gniot, który wraz ze swoim rozwojem stał się
bardzo skomplikowany będąc jednocześnie monolitycznym i
nierozszerzalnym, natomiast jego interpreter jest zaprojektowany i
napisany po dziadowsku.
Niemniej, doceniam jego biblioteki, nawet jeśli czasem muszę
instalować N wersji Pythona i szukać, w której wersji jakaś potrzebna
mi biblioteka nadaje się do użytku. "Release early, release often" ma
swoje efekty w postaci bugów od lewej do prawej a to wcale nie pomaga
w efektywnym użytkowaniu.
> > Gdybym dzisiaj miał coś robić w tych okolicach, spróbowałbym z
> > językiem Racket.
>
> Z ciekawości, co Cię skłoniło to tego języka?
Nawet nie pamiętam. Chyba chciałem się trochę odświeżyć i (po raz
kolejny) rzucić okiem na Scheme. Doklikałem się do Racket i spodobała
mi się jego dokumentacja, więc ją przeczytałem. Poklikałem,
poeksperymentowałem, spróbowałem też włączyć moduł ładowalny w C++ -
wszystko jest na swoim miejscu. Są wątki i wyjątki, trochę koślawe
klasy[*] i nawet rozbudowany system modułów[**] i różne fajne rzeczy
out-of-the-box typu wyrażenia regularne i takie tam podręczne zabawki,
nawet ładnie zrobione strumienie (ogólnie obsługa I/O). Miło się tego
używa, jeśli przymkniemy oko na nawiasy[***]. Przede wszystkim jest to
język prawdziwie funkcjonalny (a nie "posiada elementy"), więc
faktycznie dobrze działają takie rzeczy jak upward closure.
[*] Nie szkodzie, że są koślawe, bo ustaliliśmy już, że duże systemy
piszemy w statykach. [**] W sumie niepotrzebnie, z tych samych
powodów.
[***] W tym pomaga przyzwoity edytor.
Ogólnie - ładny język, według mnie warty co najmniej rzucenia okiem.
Piątka za staranną i bardzo czytelną dokumentację.
--
Maciej Sobczak * http://www.msobczak.com * http://www.inspirel.com
Następne wpisy z tego wątku
- 20.01.12 09:15 Maciej Sobczak
- 20.01.12 09:52 Stachu 'Dozzie' K.
- 20.01.12 12:02 Andrzej Jarzabek
- 20.01.12 12:32 Andrzej Jarzabek
- 20.01.12 13:31 Roman W
- 20.01.12 13:35 Stachu 'Dozzie' K.
- 20.01.12 13:30 Roman W
- 20.01.12 14:11 A.L.
- 20.01.12 14:35 Andrzej Jarzabek
- 20.01.12 15:50 Roman W
- 20.01.12 15:49 Roman W
- 20.01.12 15:57 Andrzej Jarzabek
- 20.01.12 18:35 Andrzej Jarzabek
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-03-08 Cięcie wysokich tui
- 2025-03-08 Środa Wielkopolska => SAP FI/CO Konsultant wewnętrzny <=
- 2025-03-08 Prawo "gminne"
- 2025-03-08 Warszawa => Senior Recruiter <=
- 2025-03-08 Warszawa => Key Account Manager IT <=
- 2025-03-08 Najszybciej ładujące się samochody elektryczne
- 2025-03-07 AION przejety
- 2025-03-07 Warszawa => Data Engineer (Tech Leader) <=
- 2025-03-07 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-03-07 Warszawa => System Architect (background deweloperski w Java) <=
- 2025-03-07 Gliwice => Business Development Manager - Network and Network Security
- 2025-03-07 Chiny-Kraków => Senior PHP Symfony Developer <=
- 2025-03-07 Gliwice => IT Expert (Network Systems area) <=
- 2025-03-07 Chiny-Kraków => Backend Developer (Node + Java) <=
- 2025-03-07 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS