Nim vs Crystal vs Go

Odpowiedz Nowy wątek
2019-09-09 02:12
0

Czy może ktoś podać jakiś benchmark z tymi językami programowania, aby sprawdzić który z nich jest wydajniejszy? Wszystkie są kompilowane, chyba nie mają wskaźników ale mają odśmiecanie pamięci.
https://nim-lang.org/
https://crystal-lang.org/

Pozostało 580 znaków

2019-09-11 11:43
9

Wybieranie języka po wydajności to jeden z głupszych pomysłów - zwłaszcza jeśli człowiek się uczy.
Generalnie jak jeden jezyk nie jest 10 razy wolniejszy od drugiego to zwykle spokojnie da się zastąpić.
Warto raczej zaczynac od języków wyższego poziomu, a potem jesli potrzeba spojrzeć w dół bagna.

Jak chcesz tworzyć reponsywne programyu okienkowe to umiejetności programistyczne są dużo ważniejsze od jezyka.

Jezyki statycznie kompilowane wcale nie są by default szybsze od tych na VM - na razie różne vmki są średnie, ale formalnie VMki powinny być szybsze od statycznej kompilacji - w koncu są w stanie zoptymalizowac dużo wiecej, bo wiecej wiedzą o kodzie. Fakt,na razie tak bywa dość rzadko. Słabości VM to zużycie pamięci, które praktycznie zawsze będzie większe od native.
GC może czasem powodować, że program jest szybszy dla użytkownika niz ten z ręcznym odśmiecaniem.

Z tej całej listy to Crystal wygląda najciekawiej. Nim nie znam, ale wygląda jak python dla laika. Go mnie rozczarował (rozjazd hype z rzeczywistością, to nie jest zły język, ale niektórzy ludzie krzyczeli, że wyprze javę... - chyba tylko na zasadzie, że język gorszy może być wyparty przez jeszcze gorszy :-) ).

Ale tak szczerze, jak chcesz robić okienka, to najpierw pytanie jaki rodzaj okienek, a potem wybierz coś w czym te okienka się robi wygodnie i będziesz miał przykłady.
Jak chcesz drugi jezyk inny niż C to polecam:

  • javę ze względu na tony przykładów i okienka i IMO lepiej wziąć starego Swinga niż javafx (wiecej przykładów),
  • kotlin - bo to ciekawy i prosty jezyk ze zwięzła składnią (i okienka na JVM możesz robić),
  • haskell - bo najciekawszy i IMO najbardziej przyszłościowy - ale w tym okienek nigdy nie robiłem i nie widziałem,
    (btw. nie sądze, że w przysżłości bedziemy programować w Haskellu, ale nowsze jezyki coraz bardziej się haskelizują i tworzone sa ciekawe jezyki na bazie haskella (Idris, purescrupt, elm). A Scala nadal rżnie z haskella :-).

Bardzo lubie Singletony, dlatego robię po kilka instancji każdego.
edytowany 3x, ostatnio: jarekr000000, 2019-09-11 13:03
Pokaż pozostałe 19 komentarzy
Zresztą jeśli chodzi o wojenki wewnątrz obozów Javowych czy .NETowych to można też przyjrzeć się DDD+CQRS+ES. Ewangeliści tego kierunku twierdzą, że leczy raka i gwarantuje sukces każdego projektu, a bez tego projekt będzie od razu greenfield legacy. Sceptycy twierdzą, że DDD+CQRS+ES to przerost formy nad treścią i strata czasu. Czy ta niezgodność powoduje panikę? Raczej nie. - Wibowit 2019-09-11 12:36
No właśnie, @jarekr000000 miesza w Javie, ale nie tak mocno jak John de Goes w Scali :] - Wibowit 2019-09-11 12:37
@jarekr000000: w zasadzie to nie mieszam, bo tylko propaguje lokalnie pomysłyi biblioteki, które już dawno ktoś zrobił. John De Goes jednak dużo sam wymyśla. (chociaż scalowcy IMO są mniej oporni od javowców na nowości). - jarekr000000 2019-09-11 12:41
Wczoraj kolejny javowiec mi płakał, że ma pozmieniać różne ciągi null checków (4-5 poziomów zagłebień - sonar płakał) na Optionale. Przecież jakie to będzie niewydajne. Soft ma pięciu użytkowników (backend/ backoffice) i czyta po 2000 tłustych rekordów z bazy danych, żeby je filtrować i stronicować w javie(tadaaam). Działa to dramatycznie źle, ale nie opłaca sie poprawiać dla tych pięciu ludzi. (No, ale optionale na pewno spowolnią...) - jarekr000000 2019-09-11 12:44
Jeszcze jedno - języki programowania nie mają szybkości, tylko ich implementacje ;) - hauleth 2019-09-11 13:45

Pozostało 580 znaków

2019-09-11 16:35
1

Ostatecznie zrezygnowałem z nauki C i wybrałem Go, na razie korzystam z kursów z youtube, aby mieć jakieś podstawy. Szukam dobrych darmowych tutoriali do Go poza tym ze strony Go.
https://www.youtube.com/watch[...]wUJtjn_cZZwozN4hjMexRJfHOuPaD
Co myślicie o tym kursie, dobrze Polak tłumaczy podstawy Go? Ciekawie skonfigurowane jest VSCode do Go.
Czytałem na blogu developera Google, który ma ponad kilkunastoletnie doświadczenie w programowaniu z Javą i JVM, że Go może być przyszłością.
https://przemelek.blogspot.com/2018/10/czas-porzucic-javae.html

edytowany 1x, ostatnio: tedy, 2019-09-11 16:37

Pozostało 580 znaków

2019-09-11 16:45
0

Książka The Go Programming Language jest ok + na ich stronie jest pełno tego: faq, effective go no i specyfikacja. Tak na start pewnie wystarczy :D Kursy video nie dla mnie, więc sie nie wypowiem. Co do wychwalania golanga to akurat opiniami devów z googla bym się nie sugerował za bardzo

  • w tym wpisie, który podałeś nie ma ani jednego argumentu za Go ._. jedynie narzekanie o oraclowych jdk
edytowany 1x, ostatnio: baant, 2019-09-11 16:48
Na helionie są dwie książki do Go, mam już je, ale jedna jest dość stara, czy zaczynać od niej? Poczytaj inne jego wpisy na temat Go, tam sporo plusów podaje. - tedy 2019-09-11 16:51
nie wiem o których mówisz, ja widze więcej niż dwie - baant 2019-09-11 16:54
jeśli o polskich to jest czerwona i biała. Biała to ta o której pisałem, jest spoko. Czerwona jest średniawa, na pewno nie na start z językiem - baant 2019-09-11 16:55
no to jak wyzej - baant 2019-09-11 16:56
Mój wpis był przed twoim drugim. - tedy 2019-09-11 16:56

Pozostało 580 znaków

2019-09-11 17:03
2

https://przemelek.blogspot.com/2018/10/czas-porzucic-javae.html

Pffff. Gość napisał mniej więcej: nie umiem zainstalować Javy, więc przerzucę się na Go. No ludzie, trzymajcie mnie. Jak ktoś zbuduje Javę z oficjalnych źródeł to to jest Java, a nie jakieś UFO, więc można instalować. Zresztą zajrzałem głębiej do blogasa tego kolesia i wychodzi na to, że dalej programuje w Javie, a do Go nie wraca mimo iż pisał o nim w 2011 roku.


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.
Pokaż pozostałe 24 komentarze
Zobacz sobie sortowanie bąbelkowe w C#, Javie vs inny nowszy język programowania. - tedy 2019-09-11 18:19
Uchowaj Boże od pracy z ludźmi, którzy oceniają języki pod kątem implementacji sortowania bąbelkowego. - Saalin 2019-09-11 18:32
J chyba zaoralo reszte - vpiotr 2019-09-12 11:22
@somedev: dla ścisłości Brian Kernighan sam przyznał, że nie brał udziału w projektowaniu języka C. - sugar_hiccup 2019-09-12 18:00

Pozostało 580 znaków

2019-09-12 11:13
0

ja ogólnie to zgadzam się ze zdaniem @jarekr000000. Język powinno się wybierać pod konkretny case + jak łatwo jest mi wejść w tę technologię. Nie na odwrót. Lubię Go, ale okienek bym w nim nie pisał :)

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0