-
Data: 2013-02-12 20:14:34
Temat: Re: Jakie typowanie jest najlepsze i dlaczego statyczne?
Od: Andrzej Jarzabek <a...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On Feb 12, 9:19 am, Maciej Sobczak <s...@g...com> wrote:
> W dniu wtorek, 12 lutego 2013 00:19:46 UTC+1 użytkownik Andrzej Jarzabek napisał:
>
> > No to odpowiem: ty nie dałbyś, ale kto inny dał. Tajemnica wyjaśniona?
>
> Nie bardzo. Kiedyś pewien akwizytor do mnie zapukał i chciał mi coś sprzedać
> powołując się na fakt, że mój sąsiad też kupił. Zgadnij, jaki osiągnął sukces.
Jak będę kiedyś chciał ci coś sprzedać, to może się zainteresuję.
> > > 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.
> > > i sama w sobie nie ma cech, który by były z nimi sprzeczne.
> >http://c2.com/cgi/wiki?ArgumentsAgainstOop
>
> 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...
> Jeżeli chciałem pokazać, że na absolutnie każdy temat można znaleźć
> w necie stronę zatytułowaną "Why XYZ sucks", to wiem, że można.
Chodzi o to, że różnie można interpretować "cechy sprzeczne".
Technicznie nawet assembler nie posiada cech sprzecznych z dużymi
systemami, skoro istnieją duże systemy napisane w assemblerze.
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ś.
> > > Jeśli coś ma być inaczej, to ma być po coś i ma się opłacać.
>
> > A dlaczego akurat to dynamiczny, a nie statyczny system typów to jest
> > "inaczej"?
>
> Bo rozmawialiśmy o możliwości wprowadzenia nowego języka w miejscu,
> gdzie używa się czegoś mainstreamowego - w domyśle Javy lub C++.
To nie ta odnoga dyskusji :)
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.
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, który ma dynamiczny system typów. Z różnych względów Groovy
nadaje się świetnie do osadzania DSL-i w programach Javovwych -
wystarczy zlinkować program z jednym JAR-em, który jest dostępny w
standardowych repozytoriach (my używamy Mavena), poza tym jest
interpretowany i użytkownik może sobie program w DSL-u napisac w pliku
i uruchomić go tym narzędziem testowym - żadna faza kompilacji nie
jest potrzebna. Poza tym ma dynamiczny meta-object protocol jako część
owego dynamicznego systemu typów, przez co świetnie się nadaje do
pisania DSL-i. Pewnie dałoby się mieć język statycznie typowany,
który się równie dobrze, a może nawet lepiej nadaje do pisania DSL-i -
ja wiem o Haskellu, ale nie znam Haskella, a Groovy trochę znam i
nawet mam (kupioną w tym celu) książkę o pisaniu DSL-i w Groovym, poza
tym Haskell nie jest na JVM więc musiałbym wszystko posklejać i
dołączyć kompilator Haskella do projektu. W statycznie typowanej Javie
ani nawet w statycznie typowanej Scali nie dałoby sie zrobić równie
dobrego i wygodnego w użyciu DSL-a.
Czy w takiej sytuacji byś uznał, że wprowadzenie języka dynamicznie
typowanego do projektu w mainstreamowej Javie ma sens?
> Taki był mniej więcej klimat w tym wątku i generalnie takie są realia na rynku.
No bo Pythona czy Ruby to się w ogóle na rynku nie spotyka.
> > > Statyczne typowanie ma swój koszt. Pytanie, jaki jest końcowy
> > > bilans.
> > I uważasz, że potrafisz ten bilans policzyć?
>
> Nie, ale oczekuję tego od kogoś, kto mi reklamuje nowe rozwiązanie.
Na ten temat musisz porozmawiać z tym, co ci reklamuje.
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".
Wagi przy checkboxach dają dodatkową zabawę "prosze mi pokazać
metodologię, z której wyliczyłeś, że pattern matching ma relatywną
wagę 2.7".
Bo bilans wyciągnięty z odbytu to każdy potrafi pokazać.
Następne wpisy z tego wątku
- 12.02.13 22:28 Andrzej Jarzabek
- 12.02.13 22:42 M.M.
- 12.02.13 23:27 AK
- 12.02.13 23:32 AK
- 13.02.13 00:25 M.M.
- 13.02.13 01:02 Roman W
- 13.02.13 01:03 Roman W
- 13.02.13 05:37 Andrzej Jarzabek
- 13.02.13 06:31 Andrzej Jarzabek
- 13.02.13 07:11 Roman W
- 13.02.13 09:09 Adam Wysocki
- 13.02.13 10:10 Maciej Sobczak
- 13.02.13 10:29 Maciej Sobczak
- 13.02.13 14:00 Michal Kleczek
- 13.02.13 14:56 Piotr Chamera
Najnowsze wątki z tej grupy
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,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
Najnowsze wątki
- 2025-06-26 Re: Recykling akumulatorów
- 2025-06-26 Re: Recykling akumulatorów
- 2025-06-26 Inwentaryzacja budynku
- 2025-06-26 Warszawa => Developer Microsoft Dynamics 365 Finance & Operations (D36
- 2025-06-26 Warszawa => Strategic Account Manager <=
- 2025-06-26 Warszawa => Specjalista rekrutacji IT <=
- 2025-06-26 Re: Zatonął kolejny statek wiozący 800 palnych elektryków
- 2025-06-26 Warszawa => C Programmer <=
- 2025-06-26 Karty mBąka.
- 2025-06-26 Traktorek do trawy na prund
- 2025-06-26 Warszawa => Specjalista/tka ds. Administracji <=
- 2025-06-25 klawiatura podświetlana zasilana z sieci
- 2025-06-25 Gdańsk => Programista Mainframe (z/OS, Assembler) <=
- 2025-06-25 Warszawa => Konsultant Wiodący SAP PP <=
- 2025-06-25 Warszawa => Leading SAP PP Consultant <=