-
1. Data: 2017-01-23 12:21:05
Temat: OMG co za wariat!
Od: g...@g...com
Wuj Bob zarządził, w czym mamy od dziś programować:
https://www.youtube.com/watch?v=qxYuvnjUTxM
-
2. Data: 2017-01-23 14:31:42
Temat: Re: OMG co za wariat!
Od: m...@g...com
On Monday, January 23, 2017 at 12:21:06 PM UTC+1, g...@g...com wrote:
> Wuj Bob zarządził, w czym mamy od dziś programować:
>
> https://www.youtube.com/watch?v=qxYuvnjUTxM
Ja nie odebrałem tego jako "zarządzenie", tylko bardziej przypuszczenia i
przewidywania. Inna sprawa że nie zgadzam się z tym zbytnio.
Składnia lispowa jest zbyt INNA i zbyt DZIWNA, żeby się tłumy programistów na nią
przestawiły. Ta elastyka i homoikoniczność w lispach potrafi zabijać, bo jeśli
dzisiaj w Clojure 80% zaawansowanych rzeczy siedzi w makrach, to wiele osób zapyta,
czy nie zaburzyły się pewne proporcje.
Dla mnie język przyszłości to już bardziej coś, co oferuje Smalltalk Pharo:
http://pharo.org/
Czyściutki, symetryczny, spójny model obiektowy. Oszczędna, elegancja, przejrzysta
składnia. Homoikoniczność i potężna reflektywność. Do tego narzędzia graficzne takie,
że szczena opada (debugowanie kodu w każdym miejscu, rekompilacja w locie
pojedyncznych elementów, wbudowane narzędzia do testów jednostkowych i
prototypowania. Mechanizmy takie jakie dzisiaj chcą wprowadzać w Javie za pomocą
JRebel - taki Smalltalk miał już lata temu.
Pharo mimo bardzo prężnego community w tej chwili, pewnie świata nie zawojuje - ale
może Java 10 pójdzie jakoś w tę stronę, bo na razie to z Javy zrobił się rozbuchany,
przegadany potwór, który produkuje tyle "ubocznych" rzeczy, że bez specjalistycznych
narzędzi nie ogarnie się już nawet średnio rozbudowanego kodu :)
MZ
-
3. Data: 2017-01-23 14:58:03
Temat: Re: OMG co za wariat!
Od: g...@g...com
W dniu poniedziałek, 23 stycznia 2017 14:31:44 UTC+1 użytkownik m...@g...com
napisał:
> On Monday, January 23, 2017 at 12:21:06 PM UTC+1, g...@g...com wrote:
> > Wuj Bob zarządził, w czym mamy od dziś programować:
> >
> > https://www.youtube.com/watch?v=qxYuvnjUTxM
>
> Ja nie odebrałem tego jako "zarządzenie", tylko bardziej przypuszczenia i
przewidywania. Inna sprawa że nie zgadzam się z tym zbytnio.
Ja zaś zasadniczo zgadzam się z jego argumentacją [mimo że
forma prezentacji jest dla mnie cokolwiek odpychająca], choć
akurat jeżeli idzie o Clojure, to wydaje mi się raczej zabaweczką,
niż językiem programowania.
> Składnia lispowa jest zbyt INNA i zbyt DZIWNA, żeby się tłumy programistów na nią
przestawiły.
Nie łykam tego argumentu. "INNOŚĆ" i "DZIWNOŚĆ" są tym, czym są,
dopóki nie zostaną oswojone. Myślę też, że to w dużej mierze kwestia
narzędzi "okołojęzykowych".
> Ta elastyka i homoikoniczność w lispach potrafi zabijać, bo jeśli dzisiaj w
Clojure 80% zaawansowanych rzeczy siedzi w makrach, to wiele osób zapyta, czy nie
zaburzyły się pewne proporcje.
Jeżeli idzie o to, jak "powinno się" tworzyć oprogramowanie,
to nie ulega wątpliwości, że różne osoby mają na to różne pomysły.
> Dla mnie język przyszłości to już bardziej coś, co oferuje Smalltalk Pharo:
>
> http://pharo.org/
>
> Czyściutki, symetryczny, spójny model obiektowy. Oszczędna, elegancja, przejrzysta
składnia. Homoikoniczność i potężna reflektywność. Do tego narzędzia graficzne takie,
że szczena opada (debugowanie kodu w każdym miejscu, rekompilacja w locie
pojedyncznych elementów, wbudowane narzędzia do testów jednostkowych i
prototypowania.
Rozumiem. Dlaczego, skoro homoikoniczność w lispach potrafi zabijać,
homoikoniczność w smalltalku miałaby tego nie potrafić?
> Mechanizmy takie jakie dzisiaj chcą wprowadzać w Javie za pomocą JRebel - taki
Smalltalk miał już lata temu.
>
> Pharo mimo bardzo prężnego community w tej chwili, pewnie świata nie zawojuje - ale
może Java 10 pójdzie jakoś w tę stronę, bo na razie to z Javy zrobił się rozbuchany,
przegadany potwór, który produkuje tyle "ubocznych" rzeczy, że bez specjalistycznych
narzędzi nie ogarnie się już nawet średnio rozbudowanego kodu :)
Myślę, że historia Smalltalka raczej się powtórzy. Wydaje mi się, że
największa siła Smalltalka -- tzn. budowanie "na żywo" ewoluujących
systemów -- jest jednocześnie jego największą słabością. Dystrybuowanie
programu poprzez przesyłanie obrazu maszyny wirtualnej to naprawdę bardzo
kiepski pomysł.
-
4. Data: 2017-01-23 15:32:32
Temat: Re: OMG co za wariat!
Od: m...@g...com
> Nie łykam tego argumentu. "INNOŚĆ" i "DZIWNOŚĆ" są tym, czym są,
> dopóki nie zostaną oswojone. Myślę też, że to w dużej mierze kwestia
> narzędzi "okołojęzykowych".
Pewnie wiesz dlaczego Java (mimo różnych potknięć Sun'a w owym czasie), tak szybko
zawojowała świat i "zgarnęła" masę programistów z rynku? Głównie dlatego że miała
składnię i semantykę zbliżoną do C++, a przy okazji zdejmowała z programisty wiele
zmartwień, jakie pisanie w C++ powodowało. Po prostu dzisiaj żeby coś się przyjeło w
szerokiej skali, moim zdaniem nie może być tak trudne jak Lisp czy Clojure i tak
"inne" semantycznie. Oczywiście to tylko wynik moich obserwacji i mogę się mylić.
> Rozumiem. Dlaczego, skoro homoikoniczność w lispach potrafi zabijać,
> homoikoniczność w smalltalku miałaby tego nie potrafić?
Bo Smalltalk nie nadużywa tego w takim stopniu co Common Lispy i pochodne i daje o
niebo lepsze narzędzia niż macroexpand ;) Dużo siedzi w podcastach Pharo. Nie jestem
ekspertem od Smalltalka więc nie będę rozwijał opinii znanych z drugiej ręki.
> Myślę, że historia Smalltalka raczej się powtórzy. Wydaje mi się, że
> największa siła Smalltalka -- tzn. budowanie "na żywo" ewoluujących
> systemów -- jest jednocześnie jego największą słabością. Dystrybuowanie
> programu poprzez przesyłanie obrazu maszyny wirtualnej to naprawdę bardzo
> kiepski pomysł.
Czas pokaże. Ja mam inne odczucia. Zauważ, że dzisiaj system w Java EE, czy .NET, to
przecież właśnie zestaw klocków na maszynie wirtualnej JVM czy CLR). Jak się spojrzy
na KOLOSALNE zainteresowanie przemysłu dockerem czy kubernetes (czyli odpalanie
segmentów aplikacji w "wirtualnych", odizolowanych od warstwy sprzętowej kontenerach
- które z otoczeniem gadają przez ściśle określony interfejs (wówczas masz pełniejszą
kontrolę nad wieloma kwestiami i lepiej skaluje się rozwiązania), to stąd tylko krok
od tego, co oferują obrazy Pharo (które dają Ci dostęp do OS'a, warstwy sieciowej,
ale nie bezpośrednio).
Że nie wspomnę o JRebel, które jest niczym innym, jak próbą przeniesienia tego, co
zawsze miał Smalltalk, do świata Javy.
MZ