-
X-Received: by 10.49.24.13 with SMTP id q13mr1433119qef.33.1360746638665; Wed, 13 Feb
2013 01:10:38 -0800 (PST)
X-Received: by 10.49.24.13 with SMTP id q13mr1433119qef.33.1360746638665; Wed, 13 Feb
2013 01:10:38 -0800 (PST)
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask
.pl!news.nask.org.pl!news.unit0.net!news.glorb.com!p13no13741775qai.0!news-out.
google.com!k2ni26867qap.0!nntp.google.com!p13no14951811qai.0!postnews.google.co
m!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Wed, 13 Feb 2013 01:10:38 -0800 (PST)
In-Reply-To: <5...@h...googlegroups.com>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=195.182.34.201;
posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S
NNTP-Posting-Host: 195.182.34.201
References: <f...@g...com>
<keuri4$nje$1@somewhere.invalid>
<1...@g...com>
<keuusd$ovj$1@somewhere.invalid>
<7...@g...com>
<kf1b5r$cvj$1@somewhere.invalid>
<51152b96$0$1306$65785112@news.neostrada.pl>
<3...@x...googlegroups.com>
<4...@g...com>
<kf61vl$fh0$1@somewhere.invalid>
<c...@g...com>
<kf8mrj$piq$1@somewhere.invalid>
<3...@g...com>
<kf9c7i$61o$1@somewhere.invalid>
<8...@g...com>
<kfbuak$lvs$1@somewhere.invalid>
<0...@g...com>
<5...@h...googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <8...@g...com>
Subject: Re: Jakie typowanie jest najlepsze i dlaczego statyczne?
From: Maciej Sobczak <s...@g...com>
Injection-Date: Wed, 13 Feb 2013 09:10:38 +0000
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: quoted-printable
Xref: news-archive.icm.edu.pl pl.comp.programming:202037
[ ukryj nagłówki ]W dniu wtorek, 12 lutego 2013 20:14:34 UTC+1 użytkownik Andrzej Jarzabek napisał:
> > > > Poza tym, że obiektowość powstała z myślą o dużych systemach
> > > W którym momencie?
>
> > W takim, że w małych nie było powodów, żeby powstała.
>
> Kto konkretnie, kiedy i co takiego zrobił z myślą o dużych systemach?
>
> Bo mi wygląda na to, że opowiadasz o wymyślonej przez siebie historii
> OO, a nie tej, która faktycznie miała miejsce.
Bo ta, która miała miejsce, absolutnie nie dotyczyła dużych systemów, tylko systemów
sztucznej inteligencji i symulacji? Bo, jak wszyscy wiedzą, sztuczna inteligencja i
symulacje to malutkie programiki, i właśnie w takim kontekście wymyślono OO, żeby te
malutkie programiki pisało się jeszcze fajniej?
W sumie - znowu nie rozwijamy dyskusji, więc nie będę się sprzeczał.
> > Przewinąłem losowo i trafiłem na argument "OO runs too slow",
>
> > Przewinąłem losowo i trafiłem na argument "Everything has to be an object".
>
> Poszczególne argumenty odnoszą się do różnych definicji
> obiektowości...
Do jakich? Nie napisali a ja nie znam żadnej definicji, do której przykładowe dwa
argumenty by się odnosiły.
> Technicznie nawet assembler nie posiada cech sprzecznych z dużymi
> systemami,
Ma, bo przez brak czytelnego wsparcia dla tworzenia abstrakcji nie sprzyja tworzeniu
projektów, które można łatwo rozwijać w długiej perspektywie a oprócz abstrakcji w
długiej perspektywie i przy dużych rozmiarach pojawia się też temat przenośności, w
czym asembler nie błyszczy. To są powody techniczne.
> To czy owo może posiadać cechy przeszkadzające albo pomocne w pisaniu
> dużych systemów, ale to kategorie subiektywne - cechy przeszkadzające
> komuś lub pomocne dla kogoś.
Niech będzie, że wszystko co napisałem, jest subiektywne.
> Przy takim pytaniu nie da się przecież odpowiedzieć abstrakcyjnie:
> zarówno C++ jak i Java mają swoje ograniczenia, każdy projekt ma swoje
> okoliczności. Jeśli np. chcesz mieć UI w przeglądarce, to możesz
> zaimplementować go:
>
> * w dynamicznym Javascript
> * jako aplikacja flashowa w dynamicznym actionScript czy jak to się
> tam nazywa
> * jako applet Javowy
> * w C++ jako komponent ActiveX
>
> Nie powiesz chyba, że skoro używasz już C++ albo Javy, to rozwiązanie
> z tym właśnie językiem jest oczywistym wyborem.
Nie jest.
Mogę jedynie ubolewać, że w kategorii "UI w przeglądarce" rynek nie wypracował
safysfakcjonyjących rozwiązań. Niektórzy pokładają nadzieje w HTML5, ale to tylko
czas pokaże, czy te nadzieje się spełnią.
> Inny przykład, tym razem z osobistego doświadczenia: miałem rozbudować
> możliwości programowania narzędzia testowego napisanego w Javie.
> Zdecydowałem się zrobić to przez dodanie DSL-a. Żeby zrobić to szybko,
> postanowiłem zaimplementowac embedded DSL i wybrałem do tego język
> Groovy,
[...]
Tak, też tego używamy.
> Czy w takiej sytuacji byś uznał, że wprowadzenie języka dynamicznie
> typowanego do projektu w mainstreamowej Javie ma sens?
Może mieć sens. Podobnie jak w samym kontekście mógłby mieć sens np. JPython. Albo co
tam komu lepiej leży w ręku.
Przecież nie napisałem, że języki dynamiczne powinny być zakazane.
> Nawiasem mówiąc, w nawiązaniu do odnogi dyskusji o wprowadzaniu
> języków programowania przez programistę, najlepszy sposób uwalenia
> dowolnej inicjatywy innowacyjnej to zażądanie przedstawienia bilansu.
> Na zasadzie: "postawiliśmy checkboxa dla Scali bo ma lambdy? Proszę o
> konkretny dowód na to, że języki z lambdami są mniej błedogenne niż
> języki bez lambd".
To bardzo dobry argument. Dlatego nie wprowadziłbym Scali dlatego że ma lambdy myśląc
o mniejszej błędogenności.
> Bo bilans wyciągnięty z odbytu to każdy potrafi pokazać.
Owszem. Ale ja naprawdę chcę wiedzieć, dlaczego będzie lepiej.
Bo jeśli nie wiem, to będzie to na zasadzie "spróbujmy" - i to też jest bardzo dobra
zasada, podobna np. do kupowania na pałę akcji losowych firm na giełdzie. Są tacy, co
tak robią i bywa nawet, że na tym zyskują. Kluczowym hasłem jest to zarządzanie
ryzykiem - im więcej wiem, tym łatwiej jest tym ryzykiem zarządzać.
--
Maciej Sobczak * http://www.msobczak.com * http://www.inspirel.com
Następne wpisy z tego wątku
- 13.02.13 10:29 Maciej Sobczak
- 13.02.13 14:00 Michal Kleczek
- 13.02.13 14:56 Piotr Chamera
- 13.02.13 16:50 AK
- 13.02.13 18:55 Andrzej Jarzabek
- 13.02.13 19:09 AK
- 13.02.13 23:25 Maciej Sobczak
- 14.02.13 09:18 Andrzej Jarzabek
- 14.02.13 10:22 Maciej Sobczak
- 14.02.13 11:11 firr kenobi
- 14.02.13 23:57 Andrzej Jarzabek
- 15.02.13 01:08 Andrzej Jarzabek
- 15.02.13 09:20 firr kenobi
- 15.02.13 10:37 Maciej Sobczak
- 15.02.13 10:59 Maciej Sobczak
Najnowsze wątki z tej grupy
- 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
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
Najnowsze wątki
- 2024-11-24 Czy Sejm RP zahamuje proceder zabijania dla organów?
- 2024-11-24 Aby WKOOOORWIĆ ekofaszystów ;-)
- 2024-11-22 OC - podwyżka
- 2024-11-22 wyszedł z domu bez buta
- 2024-11-22 Bieda hud.
- 2024-11-24 DS1813-10 się psuje
- 2024-11-23 Białystok => Inżynier bezpieczeństwa aplikacji <=
- 2024-11-23 Szczecin => QA Engineer <=
- 2024-11-23 Warszawa => SEO Specialist (15-20h tygodniowo) <=
- 2024-11-22 Warszawa => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-11-22 Warszawa => Senior Account Manager <=
- 2024-11-22 Warszawa => Key Account Manager <=
- 2024-11-22 Warszawa => DevOps Specialist <=
- 2024-11-22 Kraków => IT Expert (Network Systems area) <=
- 2024-11-22 Warszawa => Infrastructure Automation Engineer <=