Czy przeczytaliście specyfikację Javy?

0

Czy ktoś z was zagłębił się w tę lekturę i jeżeli tak to co cennego z niej wyniósł? Pytanie odnosi się również do specyfikacji samego JVM.
https://docs.oracle.com/javase/specs/

2

Nie

4

Lol żal nie da się wszystko wiedzieć. tak nie mam co robić i będę czytać specyfikacje javy XDDD z javy wystarczy wiedzieć trochę i już można kodzić i kosić mamone.
po co mam czytać specyfikacje javy, która nie dość że nigdy się nie przyda i ją zapomne to jeszcze nawet dziwniejsze problemy jak np. przez effectively final
rozwiązać z google dość łatwo. W Javie polecam stosowanie JIT -> Just in time learning

1

Nie przeszkadza Ci to że nie wiesz jak to działa "pod spodem"? Nie jesteś typem dociekliwca, który idąc za Feynmanem orzeka "Czego nie potrafię zbudować, tego nie rozumiem"?

Myślisz że czytając specyfikacje JVM'a zrozumiesz co się dzieje kiedy wołasz native code ? albo ... dobra, w sumie. Szczęść boże twojej drodze

0

Przeczytanie specyfikacji nie jest konieczne ani wystarczające aby rozumieć jak coś działa.
Np. specyfikacja nie określa wg jakiego algorytmu ma działać GC w Javie, ani jaką ma mieć charakterystykę wydajnościową. Tak samo nie określa jakie optymalizacje może robić HotSpot, a nawet nie określa, że w ogóle musi być HotSpot lub inny JIT...

Specyfikacja jest potrzebna jedynie twórcom kompilatorów / JVM, jeśli chcą aby ich produkty były certyfikowane.

0

W sumie nie można przeczytać wszystkiego. Trzeba jakoś sensownie zarządzać swoim czasem i znajdować jakieś kompromisy. Może rozsądniej jest część tej wiedzy nabyć z jakiejś łatwiej przyswajalnej formy niż specyfikacja. Na pocieszenie, Feynman też nie przeczytał specyfikacji JVM. ;P Poza tym, jak się czyta coś o sławnych ludziach z branży, którzy czegoś tam dokonali (np. "Coders at Work"), to oni najczęściej byli bardzo skoncentrowani na jakimś wycinku, klepali to w kółko i mieli gdzieś szerokie horyzonty. Słyszeliście Linusa i jwz o C++, że do d... i zaraza i upadek ludzkości, nie mówiąc już o Javie. A taki Fabrice Bellard to kilkadziesiąt lat tylko klepie w C (no jeszcze ciut w JavaScripcie) i pewnie nie słyszał nawet o Hibernate i Springu. ;P ;)

0

Nie, nie przeczytałem. Co do opinii twórcy Linuksa i innych takich to odpowiedziałbym, że wszystko zależy od architektury systemu i poziomu abstrakcji, który w danym momencie jest wymagany.
Java nie została stworzona po to, żeby schodzić nisko i patrzeć na to co dzieje się pod spodem, jeśli ktoś czuje potrzebę pracy niżej to zdecydowanie polecałbym mu nauczenie się języka C, a tym gorliwszym zaproponowałbym ASM ;-), będą mogli sobie napisać własną Javę i jej specyfikację. Pewnie, że lepiej wiedzieć więcej, bycie dociekliwym to dobra cecha, ale doba ma tylko 24h.

1

Twórca Linuksa o Javie: "What a horrible language..." (patrz któryś z wywiadów wideo).

Chyba jedyne rzeczy, po których Linus nie jedzie to jego własne dzieła

No a co ma mówić o języku w którym jest int i Integer oraz je*anie o gettery i settery. a C++ to już wgl wystarczy na to spojrzeć żeby widzieć, że jest jest pokręcony.
Dennis Ritchie jako matematyk i fizyk wiedział jak coś porządnie zrobić (język ANSI C) a Linus stara się to tylko kontynuować. Kto jak kto, ale myślę, że Linux Tovarlds - twórca najlepszego systemu kontroli wersji na świeci i twórca najlepszego jądra systemu na świecie wie co mówi. I każdy o podstawowej podstawie matematyczno-leksykalnej powinien dostrzec, że nie chodzi o to, że w javie łatwiej posortować liste niż w C w którym trzeba napisać sobie wgl implementacje takowej, tylko o coś innego.

0
Krolik napisał(a):

Np. specyfikacja nie określa wg jakiego algorytmu ma działać GC w Javie, ani jaką ma mieć charakterystykę wydajnościową. Tak samo nie określa jakie optymalizacje może robić HotSpot, a nawet nie określa, że w ogóle musi być HotSpot lub inny JIT...

Otóż to, np. taka książeczka może być znacznie bardziej owocna:
http://shop.oreilly.com/product/0636920028499.do

1

Akurat pewne rzeczy warto przeczytać, np 17.4. Memory Model jeśli ktoś chce współdzielić dane między wątkami.

0
karolinaa napisał(a):

Twórca Linuksa o Javie: "What a horrible language..." (patrz któryś z wywiadów wideo).

Chyba jedyne rzeczy, po których Linus nie jedzie to jego własne dzieła

No a co ma mówić o języku w którym jest int i Integer oraz je*anie o gettery i settery. a C++ to już wgl wystarczy na to spojrzeć żeby widzieć, że jest jest pokręcony.
Dennis Ritchie jako matematyk i fizyk wiedział jak coś porządnie zrobić (język ANSI C) a Linus stara się to tylko kontynuować. Kto jak kto, ale myślę, że Linux Tovarlds - twórca najlepszego systemu kontroli wersji na świeci i twórca najlepszego jądra systemu na świecie wie co mówi. I każdy o podstawowej podstawie matematyczno-leksykalnej powinien dostrzec, że nie chodzi o to, że w javie łatwiej posortować liste niż w C w którym trzeba napisać sobie wgl implementacje takowej, tylko o coś innego.

Eh to że wzorował linuxa na unixie to nikt już nie wie, wszystkie koncepcje zerznął i lekko urozmaiciły czasem zastosował inne rozwiązanie danego problemu co niekiedy było gorsze od innych systemów.

Ja wiem, że java to jakiś wybryk natury i posortowanie tablicy, listy dla takiego javowca to pewnie maksymalne wyzwanie umysłowe, ale w innych językach tak samo idzie posortować, i każdy sobie z tym poradzi.

1

Dla podniecających sie Torvaldsem polecam przeczytać http://www.ece.ubc.ca/~sasha/papers/eurosys16-final29.pdf ;)

0

@karolinaa to by mogla kiedys dostac bana za to trollowanie...

0

Pamietajcie ze Linusowi zawdzieczamy rowniez GITa

0
WhiteLightning napisał(a):

Pamietajcie ze Linusowi zawdzieczamy rowniez GITa

Dobra idea, kiepskie wykonanie.

0
Azarien napisał(a):
WhiteLightning napisał(a):

Pamietajcie ze Linusowi zawdzieczamy rowniez GITa

Dobra idea, kiepskie wykonanie.

słaby troll

0

Był jeden facet w Grenlandii który przeczytał 60% specyfikacji Java, no tak, ale on żył prawie 120 lat...

0

Ja przeczytałem około 60% specyfikacji po za rozdziałem o kompatybilności wstecznej, wyrażeniach i kilku innych. Jakieś 40% przeczytałem w trakcie wykładu, na który zmuszony byłem chodzić, pozostałe 20% przeczytałem w domu / autobusach itp. Zostawiłem sobie rozdział o wątkach na potem by przeczytać go na spokojnie. Dużej części z pewnością nie pamiętam, bardzo dużo nauczyłem się jeśli chodzi o kolejność inicjalizacji klas - pól instancyjnych i statycznych, wnioskowania typów. Fajny jest też rozdział o "Definite Assignment" :D

Z pewnością mogę teraz powiedzieć, że mogłem ten czas spędzić lepiej. Jednak po przeczytaniu takiej ilości specyfikacji nabrałem jeszcze większego szacunku do twórców Javy i całego środowiska. Good job gajs ;)

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