-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!news.chmurka.net!.POSTED!not-for-mail
From: Andrzej Jarzabek <a...@g...com>
Newsgroups: pl.comp.programming
Subject: Re: Wybór języka/technologii pod konkretne wymagania, konkretnego
przypadku ludzkiego :)
Date: Thu, 16 May 2013 06:47:09 +0100
Organization: news.chmurka.net
Lines: 42
Message-ID: <kn1rst$o77$1@somewhere.invalid>
References: <7...@g...com>
NNTP-Posting-Host: 5.67.172.255
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: somewhere.invalid 1368683230 24807 5.67.172.255 (16 May 2013 05:47:10 GMT)
X-Complaints-To: abuse-news.(at).chmurka.net
NNTP-Posting-Date: Thu, 16 May 2013 05:47:10 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130509
Thunderbird/17.0.6
In-Reply-To: <7...@g...com>
X-Authenticated-User: ajarzabek
Xref: news-archive.icm.edu.pl pl.comp.programming:203412
[ ukryj 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
- 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
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
Najnowsze wątki
- 2024-07-13 256 świadków nie ma racji
- 2024-07-11 Tokarze CNC czyli ciężkie życie prototypiarza
- 2024-07-12 Zgody na przetwarzanie danych
- 2024-07-13 IObit Uninstaller Pro 13.6.0.5 Multilingual: Installation Guide
- 2024-07-12 stare graty młode kozy
- 2024-07-11 8080
- 2024-07-13 Przyłącze dolne grzejnika
- 2024-07-13 IObit Uninstaller Pro 13.6.0.5 Multilingual Overview
- 2024-07-12 Czym wykonać otwór fi 100 w betonie komórkowym?
- 2024-07-12 Warszawa => Senior Rust Software Engineer <=
- 2024-07-12 Warszawa => Business Unit Manager (Recruitment Business) <=
- 2024-07-12 Warszawa => Head of WMS Competence Center for IT&D Contract Logistics
- 2024-07-12 Warszawa => Head od WMS Competence Center dla IT&D (Blue Yonder) <=
- 2024-07-12 Kraków => Ruby Backend Developer <=
- 2024-07-12 Warszawa => UX/UI Designer <=