Aktywne Wpisy
![Treda](https://wykop.pl/cdn/c3397992/Treda_5jYRfQuTif,q60.jpg)
Treda +168
salcefrytki +335
potenżny Konfederata to nie jakaś #!$%@? jak te zniewieściałe lewaki
#bekazkonfederacji #konfederacja #polityka
#bekazkonfederacji #konfederacja #polityka
![salcefrytki - potenżny Konfederata to nie jakaś #!$%@? jak te zniewieściałe lewaki
#b...](https://wykop.pl/cdn/c3201142/2b37c86503aab8cef0240a1cff8fca56c88af91ba892f4df2901001b6ab380f5,w150.jpg?author=salcefrytki&auth=5dffc3e7333219f4e63f1b2e2aaf0b0f)
źródło: konf
PobierzSkopiuj link
Skopiuj linkźródło: konf
PobierzWykop.pl
Podróże
Gospodarka
Ukraina
Technologia
Motoryzacja
Sport
Rozrywka
Informacje
Ciekawostki
#programowanie #java #naukaprogramowania
źródło: comment_16528721416QQ8ly5rzNy4uFwQmmChSN.jpg
PobierzI nie, nie jest wcale "bardzo przyjemnym językiem":
* int vs Integer
* wymazywanie typów generycznych
* dziedziczenie
* null
* static
* brak przeciążania operatorów np. dla BigDecimal
* brak typów unsigned
* wyjątki checked niedziałające dobrze z programowaniem funkcyjnym
* brak dobrego rozwiązania sprzątania zasobów niepamięciowych
* brak systemu makr, metaprogramming czasu kompilacji leży
*
Tu chodzi o gotowy produkt i działający system, a nie o użeranie się z każdym elementem i wymyślanie koła od nowa.
A programiści uwielbiają skupiać się na bzdurach i pisaniu po raz milionowy tego samego.
Stad sukces np Go czy nowych języków - wszystko trzeba klepać od nowa.
@yhbgrobdoivbvwamsv: Tak super dostarcza, że łącznie w firmie spędziłem pewnie dobrych parę miesięcy na wyłącznie szukaniu i poprawianiu błędów związanych z:
- wyścigami pomiędzy wątkami
- nieprawidłowym zwalnianiem zasobów (sockety, pliki, wątki, bufory pamięci itp.)
- null pointerami
- niewłaściwą kolejnością inicjalizacji statycznej
- przekombinowniem kodu przez architektów astronautów OOP
- problemami wydajnościowymi nieistniejącymi w innych językach, w tym pauzami GC
-
Jedynie konflikt bibliotek to faktycznie problem typowo javowy aczkolwiek w najnowszych wersjach sporo się poprawiło.
Przy czym masz miliard narzędzi żeby te wszystkie problemy rozwiązywać, od łatwego debugowania poprzez flight recorder, tony narzędzi do integracji i analizy.
W projekcie żyjącym dłużej niż miesiąc zdecydowanie bardziej ułatwia to życie niż lepsza składnia
@yhbgrobdoivbvwamsv: ... których nie da się normalnie popełnić np. w Rust
Czyli jak w socjalizmie bohatersko walczymy z problemami nieznanymi w innych systemach.
3 tygodnie debugowania wyścigu zamiast błędu
@yhbgrobdoivbvwamsv: ... których nie da się normalnie popełnić np. w Rust
Przy czym masz miliard narzędzi żeby te wszystkie problemy rozwiązywać, od łatwego debugowania poprzez flight recorder, tony narzędzi do integracji i analizy.
Czyli jak w socjalizmie bohatersko walczymy z problemami nieznanymi w innych systemach.
W projekcie żyjącym dłużej niż miesiąc zdecydowanie bardziej ułatwia to życie niż lepsza składnia
3 tygodnie debugowania wyścigu zamiast błędu
@yhbgrobdoivbvwamsv: Normalnie się nie da. Da się dopiero jak napiszesz kompilatorowi ładnie "jestem debeściakiem i wiem lepiej niż Ty że chcę zamknąć używany plik i skraszować program kilka linii dalej", ale najprawdopodobniej to nie przejdzie przez code review, bo recenzentowi to się będzie świecić w kodzie na czerwono.
let file = File::open("plik.txt")?;
drop(file);
writeln!(file, "dane"); // <<<< błąd kompilacji
No to spodziewam się teraz, że padnie tutaj jakiś co najmniej półnaukowy dowód (zważywszy na to, kto to napisał), że błędy w logice nie są częstsze, albo, że logika biznesowa jest "prosta". Czegoś nowego się
Mam wrażenie ze rozmawiam z juniorem który uważa ze w tej branży wszystko jest proste - input -> output i koniec, nie ma miliarda przypadków w połowie sprzecznych, niepoprawnych zbiorów danych i integracji z systemami które typy danych traktuj jak sugestie.
Czy moje ulubione - kod który co nie powinien przejść review jak w
@yhbgrobdoivbvwamsv: A ja piszę o hello world, które napisałem wczoraj:
Tu masz repo: https://github.com/apache/cassandra
A tu masz bugtracker: https://issues.apache.org/jira/projects/CASSANDRA/issues/
Na oko dobre 80% bugów nie byłoby możliwych, gdyby używać silniejszego języka niż Java.
Z punktu widzenia kodu, błędy w logice są takimni