-
Data: 2013-02-13 10:10:38
Temat: Re: Jakie typowanie jest najlepsze i dlaczego statyczne?
Od: Maciej Sobczak <s...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie 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
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
- "Wuj dobra rada" z KDAB rozważa: Choosing the Right Programming Language for Your Embedded Linux Device
- Nowa ustawa o ochronie praw autorskich - opis problemu i szkic ustawy
- 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
Najnowsze wątki
- 2025-05-11 Po nie udanej próbie egzekucji: Nigeryjczyk, który chciał zabić Polaka, nie odpowie za atak
- 2025-05-10 Szczecin => Key Account Manager IT <=
- 2025-05-10 Rudno => Administrator sieci IT <=
- 2025-05-10 Wrocław => Controlling systems Consultant <=
- 2025-05-10 Rudno => IT network administrator <=
- 2025-05-10 Warszawa => Customer Service with Spanish + translation <=
- 2025-05-10 Warszawa => Senior Account Manager <=
- 2025-05-10 Trójmiasto => Head of Social Media <=
- 2025-05-10 Warszawa => C Programmer <=
- 2025-05-10 Warszawa => Java Developer <=
- 2025-05-10 powąchaj instrybutor
- 2025-05-10 Prawomocny wyrok. Rowerzysta nie ma pierwszeństwa, dojeżdżając do przejazdu
- 2025-05-09 Propagation velocity v/c dla kabli RF
- 2025-05-09 Warszawa => Senior Node.js Developer (doświadczenie z framework Nest.
- 2025-05-09 Patrolowanie kampusów