-
Data: 2013-05-16 07:47:09
Temat: Re: Wybór języka/technologii pod konkretne wymagania, konkretnego przypadku ludzkiego :)
Od: Andrzej Jarzabek <a...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 15/05/2013 19:08, boryspower wrote:
>
[...]
> 3. Łatwa obsługa wielowątkowości (np mam problemy z C# gdy wątki mają
> wpływać na GUI)
[...]
> 8. W miarę prost budowanie wersji instalacyjnych
> 9. Technologia "na czasie"
> 10. ... pewnie coś jeszcze o czym zapomniałem :)
>
> Teoretycznie wszystkie te warunki najlepiej spełnia Java (tak mi się
> wydaje), tylko ten 8 punkt mi pod Javę nie pasuje...
Punkt 8 to pikuś, od tego są narzędzia. Problemem jest punkt 3 - Java,
jak większość mainstreamowych języków ma model wątków oparty na
dzieleniu wszystkiego i jawnej synchronizacji przez locks i conditional
variables. Teoretycznie wbudowane w język synchronized i notify trochę
upraszaczają pisanie programów, ale nie rozwiążąn raczej twojego
problemu "wątki mają wpływać na GUI", bo to kwestia projektu.
We wszystkich popularnych językach/technologiach masz co prawda
biblioteki oferujące wyższego poziomu abstrakcje współbieżności, ale bez
wsparcia w języku nie zapewnią ci odpowiedniej enkapsulacji
gwarantującej brak owych problemów.
Języki rozwiązujące ten problem inaczej są zazwyczaj mało popularne i
będziesz miał problem z innymi wymaganiami - GUI, narzędzia, bycie "na
czasie".
Proponuję się przyjrzeć natomiast rozwiązaniom w ramach technologii
takich jak Java czy .NET ze względu na to, że możesz łatwo łączyć różnee
języki - np. mieć backend napisany w Scali a GUI w Javie (albo nawet w
Groovym, który ma taką sympatyczną rzecz jak SwingBuilder), czy też
backend w F# a GUI w C# - zarówno Scala jak i F# mają swwoje (różne)
rozwiązania problemu współbieżności.
Z drugiej strony trochę też jest tak, że sensowność szukania takich
rozwiązań zależy od skali problemu - jeśli program jest stosunkowo
niewielki, a ma problemy z wątkami, to można się w pierwszej koleności
zastanowić, czy naprawdę dobrze rozumiemy jak posługiwać się mutexem i
condition variable i np. jak prawidłowo za ich pomocą przekazać dane z
wątku do wątku.
Następne wpisy z tego wątku
- 16.05.13 08:29 boryspower
- 16.05.13 08:33 Ghost
- 16.05.13 08:36 boryspower
- 16.05.13 08:53 boryspower
- 16.05.13 09:34 Ghost
- 16.05.13 09:53 R.e.m.e.K
- 16.05.13 10:14 boryspower
- 16.05.13 10:38 wloochacz
- 16.05.13 11:56 boryspower
- 16.05.13 13:36 Tomek Kańka
- 16.05.13 15:46 Borneq
- 16.05.13 16:55 M.M.
- 16.05.13 18:52 boryspower
- 16.05.13 19:13 Borneq
- 17.05.13 02:35 A.L.
Najnowsze wątki z tej grupy
- 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
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
Najnowsze wątki
- 2024-10-19 PUE ZUS -- administracyjna nuda...
- 2024-10-18 Marsz niepodleglosci
- 2024-10-18 Pożar parkingu w Luton
- 2024-10-18 Łódź => Spedytor Międzynarodowy <=
- 2024-10-18 Gdańsk => Technical Lead ( (Java Background)) <=
- 2024-10-18 Warszawa => Head of International Freight Forwarding Department <=
- 2024-10-18 uwazajmy na haczyki w umowach
- 2024-10-18 Warszawa => Account Manager - Usługi rekrutacyjne <=
- 2024-10-18 Białystok => Full Stack web developer (obszar .Net Core, Angular6+) <
- 2024-10-18 Gdańsk => Software .Net Developer <=
- 2024-10-18 Warszawa => Junior Rekruter <=
- 2024-10-18 Warszawa => Key Account Manager <=
- 2024-10-18 Przeróbka na zgrzewarkę "równoległą"
- 2024-10-18 Ostrów Wielkopolski => Laravel PHP Developer <=
- 2024-10-18 Warszawa => Data Scientist / Data Engineer (modele predykcyjne) <=