A
Anonymous
Guest
https://webhosting.pl/Jesli.Oracle.w.sp ... akie.znamy
No to będą niezłe jaja. Zawsze uważałem, że java to gówno.
No to będą niezłe jaja. Zawsze uważałem, że java to gówno.
Premislaus napisał:No to będą niezłe jaja. Zawsze uważałem, że java to gówno.
Voy napisał:a ja właśnie zacząłem się uczyć javy
Voy napisał:a ja właśnie zacząłem się uczyć javy
To nie tak. Oni początkowo chcieli napisać maszynę wirtualną w 100% zgodną ze standardem JRE i uzyskać od Suna odpowiednie certyfikaty. Tak przynajmniej wynika z korespondencji ujawnionej podczas procesu.kr2y510 napisał:Goooooooogle nie chce OpenJDK, bo aplikację z Androida mógłbyś odpalić na czym innym a inną aplikację na Androidzie. A Android Market czyli Google Play zarobiłby znacznie mniej.
Słupek napisał:Tylko, że potem stwierdzili, iż wydajnościowo im to będzie leżeć. Stąd niekompatybilność bajtkodu -- inna struktura plików (więcej niż 1 klasa w pliku dex, pula stałych wspólna dla klas), inna abstrakcja VM (wirtualne rejestry zamiast stosów).
Słupek napisał:Wada tego jest m.in. taka, że języki o których wspomniałeś nie bardzo się na Androida nadają
Słupek napisał:podczas gdy na JRE jest coraz lepsze, ale nie bardzo jest jak to przeportować.
Premislaus napisał:Ja tam uznaję jedynie języki kompilowane
Premislaus napisał:zacząłem znów ostatnio dłubać w C++.
kr2y510 napisał:Premislaus napisał:Ja tam uznaję jedynie języki kompilowane
Java jest kompilowalna do byte kodu.
Premislaus napisał:zacząłem znów ostatnio dłubać w C++.
Lepiej naucz się wpierw normalnego C. Tylko tyle by zrozumieć pewne zasady i wskaźniki. A potem możesz zapomnieć C i kombinować jak chcesz. Jak przeskoczysz etap C to będziesz wiecznie niekumatym programistą.
Da się, ale to by musiały być inne interpretery, niż te, które są obecnie dostępne. Tych javowskich się nie da bo wymagają generacji bajtkodu podczas wykonywania programu, co JVM umożliwia, a Dalvik nie. To jest najważniejszy problem, poza tym są jeszcze inne, związane z wydajnością pewnych operacji w Dalviku.kr2y510 napisał:Pisałem o ekosystemie ogólnie. Choć nie widzę przeciwwskazań, by nie doklejać interpreterów języków dynamicznych do programów na Androida (wcześniej czy później ktoś to zrobi).
Google nie potrzebuje JRE bo ma Dalvika. Chodziło mi o portowanie poszczególnych funkcjonalności.kr2y510 napisał:Czyżby ani Google ani Oracle nie umiało zrobić sensownego portu JRE na Androida?
Programy powinny być pisane i optymalizowane pod dziedzinę problemu. Jak piszę skrypt, który raz na tydzień będzie przez 10 min. obrabiał jakiś plik tekstowy, to sensowniej go napisać w Pythonie niż w C. Im niższa abstrakcja, tym trudniej się program pisze, a potem utrzymuje. Zwykle jest to gra niewarta świeczki. Wydajność wielu programów jest ograniczona przez operacje odczytu/zapisu i tego nie przeskoczysz używając C++. Poza tym, obecnie Java wcale nie ma tak dużego narzutu w porównaniu do C++. Na benchmarkach od 1-3 razy wolniej:Premislaus napisał:Programy powinny być pisane i optymalizowane pod daną architekturę.
Słupek napisał:Programy powinny być pisane i optymalizowane pod dziedzinę problemu. Jak piszę skrypt, który raz na tydzień będzie przez 10 min. obrabiał jakiś plik tekstowy, to sensowniej go napisać w Pythonie niż w C. Im niższa abstrakcja, tym trudniej się program pisze, a potem utrzymuje. Zwykle jest to gra niewarta świeczki. Wydajność wielu programów jest ograniczona przez operacje odczytu/zapisu i tego nie przeskoczysz używając C++. Poza tym, obecnie Java wcale nie ma tak dużego narzutu w porównaniu do C++. Na benchmarkach od 1-3 razy wolniej:Premislaus napisał:Programy powinny być pisane i optymalizowane pod daną architekturę.
http://shootout.alioth.debian.org/u64q/ ... astest.php
w rzeczywistości różnie.
"We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil" - D. Knuth
Zresztą, teraz największa zabawa jest z pisaniem na architektury wielordzeniowe. A to się w C++ robi nie za fajnie. Tu jest duża szansa dla języków, które obsługują abstrakcję aktora czy paradygmat funkcyjny, typu Scala, Erlang.
I ani GC, ani większa biblioteka standardowa, ani zabawki typu wyrażenia generatorowe nic a nic ci nie pomagają?Może ja jestem jakiś dziwny, ale C++ jest dla mnie tak samo trudny jak Java i Python
I jak dokładnie ułatwi mi to pisanie wieloprocesorowej, skalowalnej aplikacji? Powiedzmy, backendu Twittera. Nadal się męczę z wątkami, muteksami i resztą tego barachła.Dziwne, że Haiku jest pisane w C++ a w porównaniu do innych systemów posiada pervasive multithreading.
Słupek napisał:I jak dokładnie ułatwi mi to pisanie wieloprocesorowej, skalowalnej aplikacji? Powiedzmy, backendu Twittera. Nadal się męczę z wątkami, muteksami i resztą tego barachła.
I ani GC, ani większa biblioteka standardowa, ani zabawki typu wyrażenia generatorowe nic a nic ci nie pomagają?
No więc trzeba zrobić tak, by przerwy były wystarczająco krótkie:Rozchodzi się Garbage Collector, odśmiecanie pamięci zajmuje czas.
Przecież nie mówię o aplikacji klienckiej.http://code.google.com/p/haikutwitter/ - nie wiem, nie korzystam z Twittera, więc nie wiem czy program jest dobry( na screenie wygląda fajnie), ale obadaj kod. Może coś ci podpowie.
Umieć fajnie. Pilnować, żeby nie było wycieków już mniej :] Tylko po co robić coś, co zrobi za mnie maszyna?Co do przydzielania i zwalniania pamięci, wolę samemu się tego nauczyć.
Słupek napisał:Przecież nie mówię o aplikacji klienckiej.http://code.google.com/p/haikutwitter/ - nie wiem, nie korzystam z Twittera, więc nie wiem czy program jest dobry( na screenie wygląda fajnie), ale obadaj kod. Może coś ci podpowie.
http://www.artima.com/scalazine/article ... scala.html
Umieć fajnie. Pilnować, żeby nie było wycieków już mniej :] Tylko po co robić coś, co zrobi za mnie maszyna?Co do przydzielania i zwalniania pamięci, wolę samemu się tego nauczyć.
Premislaus napisał:Moim zdaniem Java dla użytkownika domowego nie ma racji bytu. I staram się nie używać programów napisanych w Javie, Pythonie, z przyczyn wydajnościowych.
Premislaus napisał:Bo można to zrobić wydajniej i szybciej( w sensie działania). I fajnie jest mieć pełną kontrole nad tym co się dzieje. Wystarczy pamiętać o dezalokacji pamięci.
Słupek napisał:Wada tego jest m.in. taka, że języki o których wspomniałeś nie bardzo się na Androida nadają.
Słupek napisał:Wada tego jest m.in. taka, że języki o których wspomniałeś nie bardzo się na Androida nadają.
Akurat projekty w ramach GSoC to nie jest coś co sam Google planuje. Do tego się zgłaszają organizacje z zewnątrz, w tym wypadku sam zespół Clojure. Że się ludzie znajdą to prawda; Ruby na Androida jest już od jakiegoś czasu (wersja alpha chyba). Ja nie mówię, że się nie da (bo z Turing-zupełności Dalvika tak po mojemu wynika, że się da, przynajmniej w teorii), tylko że dla każdego języka dynamicznego trzeba robić osobne narzędzia dla Androida, a i tak będzie to pewnie chodzić dużo gorzej niż na JVM.kr2y510 napisał:Nawet jak masz rację to Google jest innego zdania.