Kategorie:
28

Google pokazał Androida!

Google szybko przeszło od słów do czynów. Tydzień po ogłoszeniu projektu Android ukazało się SDK oraz masa prezentacji pokazujących nowy system operacyjny Google w akcji!

android

W skład systemu wchodzi między innymi jądro Linux, freetype, sqlite, webkit, natomiast podsystem aplikacji działa w wirtualnej maszynie Javy dla urządzeń mobilnych o nazwie Dalvik. SDK dla Linuksa, Maca i Windows zawiera też emulator telefonu do testowania aplikacji.

Również serwis ONLamp przygotował spory artykuł na temat Androida, w sieci znajdują się też związane z tematem filmy: wprowadzenie do tematu, trzyczęściowe omówienie architektury i demonstracja SDK dla programistów.

Główna prezentacja Google w wykonaniu Sergieja Brina i Steve’a Horowitza to klip wideo, w którym ten pierwszy zapowiada pulę nagród w wysokości 10 mln dolarów za najlepsze aplikacje Open Source stworzone dla Androida, a drugi przedstawia programy, które już stworzył lub zintegrował Google, m.in. androidowe wersje Google Maps i Google Earth, przeglądarkę WWW, klient Jabbera, grę Quake czy prezentujący możliwości 3D systemu globus pokazujący temperaturę na świecie.

Więcej informacji: http://www.osnews.com/story.php/18907/Go...-Emulator/

«
»

Znalazłeś literówkę? Zgłoś ją używając formularza!


Jeśli uważasz, że ten nius jest nieobiektywny, przedstawia nieprawdziwe wydarzenie, jest spamem lub nie spełnia standardów serwisu, napisz raport.

Niusy na podobny temat:

Komentarze (RSS)

Komentarze są prywatnymi opiniami dodających je osób. Prosimy o zachowanie kultury wypowiedzi. Komentarze obraźliwe oraz obniżające poziom serwisu będą usuwane. Więcej w regulaminie komentowania.

87 komentarzy

zwiń wątek Jabbas  13 listopada 2007 o godz. 0:23 #
Gravatar

O żesz ty w morde!

(Poniżej tego poziomu komentarze nie będą zagnieżdżane)
zwiń wątek KA  22 listopada 2007 o godz. 2:54 #
Gravatar

Warto dodać, iż Google w Stanach walczy także o wartą grube miliardy dolarów częstotliwość GSM. I znów – jak to u Google – wszystko ładnie układa się w jedną całość.

 
 
zwiń wątek L1  13 listopada 2007 o godz. 0:48 #
Gravatar

Jestem w szoku. Google niedawno to ogłosiło, a mają już niemal gotową aplikację dorównującą niejednemu zamkniętemu rozwiązaniu ale oczywiście jej nie wypuszczą. Niech powstanie jeszcze trochę softu, niech ludzie poznają architekturę, poprawimy to co się da.

A co dla programistów? SDK, plugin do eclipse aby ułatwić pracę oraz dokumentacja.

Wszystko to czego brakuje iPhoneowi (IMHO). Otwartość jest bardziej niż kusząca.

Wygląda to na bardziej dopracowane niż neo1973 (nigdy nie pamiętam numerków, chyba dobrze?) z openmoko czy qtopią.

(Poniżej tego poziomu komentarze nie będą zagnieżdżane)
zwiń wątek michuk  13 listopada 2007 o godz. 0:58 #
Gravatar

Obawiam się, że Android to krok do trumny OpenMoko. Ale może też stać się tak, że projekty takie jak OpenMoko czy Qtopia po prostu zostaną zintegrowane z wynalazkiem Gugla i będą rozwijać się podobnie jak dystrybucje w Linuksie.

 
zwiń wątek trasz  13 listopada 2007 o godz. 1:01 #
Gravatar

I nic z tego, co powoduje, ze iPhone stal sie przebojem rynkowym.

zwiń wątek jellonek  13 listopada 2007 o godz. 12:38 #
Gravatar

nie ma to jak komentarz najwiekszego trolla osnews.pl :D

nie ma to jak miec jabłeczne klapki na oczach…

zwiń wątek trasz  13 listopada 2007 o godz. 17:46 #
Gravatar

Co maja klapki do dostrzegania ilosci sprzedanych egzemplarzy? To, ze iPhone ma szanse stac sie w ciagu najblizszego pol roku najlepiej sprzedajacym sie telefonem jasno pokazuje, ze "otwartosc" wiekszosc klientow ma gdzies.

 
zwiń wątek rjc  13 listopada 2007 o godz. 19:40 #
Gravatar

Otwartość, zamkniętość, półotwartość – wszystko to większość klientów ma gdzieś. To co piszesz o iPhone można odnieść do iPoda i innych iProduktów ze stajni Apple. Większość ludzi idzie za reklamą, modą, i tym co mają znajomi. Większość z nich ma głęboko gdzieś co siedzi w środku, byle by działało i ładnie wyglądało. Działać, działa, a że ładnie wygląda – o tym chyba nie muszę nikogo przekonywać, bo produkty Apple'a mają niezły "dizajn".

 
zwiń wątek trasz  13 listopada 2007 o godz. 23:17 #
Gravatar

@rjc: Ano maja. I funkcjonalnosc tez maja fajna – nie maja bajerow w rodzaju obslugi niszowych formatow zapisu, ale to, co ma robic odtwarzacz MP3 – od sposobu wyszukiwania muzyki i zarzadzania nia, az po czas pracy miedzy ladowaniami akumulatora – robia lepiej od konkurencji. Podobnie z iPhonem. A iPhone to ich pierwsze podejscie, wiec nalezaloby go oceniac z pewna rezerwa.

Jesli otwartosc naprawde okaze sie istotna zaleta, to Apple po prostu otworzy iPhona. Co za problem wypuscic SDK, ktore dotychczas bylo uzywane tylko wewnatrz firmy?

Tak naprawde Android moze przebic sie na dwa sposoby. Po pierwsze, cena – jesli Chinczycy zaczna produkowac badziewne, ale tanie telefony, to swoj kawalek rynku ugryza, tak jak w odtwarzaczach MP3. Po drugie, Google ma sile i pewne rzeczy moze metodami zwykle kojarzonymi z Microsoftem przepchnac.

 
zwiń wątek Void  13 listopada 2007 o godz. 23:21 #
Gravatar

Microsoft zwykle nie kojarzy się mi się z Open Source. :]

 
 
 
zwiń wątek Tomasz Torcz  13 listopada 2007 o godz. 11:32 #
Gravatar

A czemu nie Android na Neo1973? :)

 
 
zwiń wątek Jabbas  13 listopada 2007 o godz. 0:58 #
Gravatar

Ściągnąłem emulator i pobawiłem się tym trochę. Przyjemne, nie powiem. Trudno powiedzieć coś więcej o tym, ale tak na moje przeczucie będzie to poważny konkurent iPhone, OpenMoko, Symbiana no i Windy Mobile…

I z tego co Sergiey mówił w filmiku na tubie to na dodatek nagrodę wyznaczyli. Zrób superzajefajny programik pod Androida, nam się spodoba, a dostaniesz kasę. Hmm… Nice… Oby to było otwarte…

(Poniżej tego poziomu komentarze nie będą zagnieżdżane)
zwiń wątek L1  13 listopada 2007 o godz. 1:07 #
Gravatar

Będzie otwarte. Linux, google zwolennicy otwartości. Konsorcjum od androida ma open w nazwie. Programy pisane (ubiegające się o nagrodę) mają być otwarte.

@michuk: Hmm. To jest kwestia sporna i nadaje się na niezłego flame'a. Czy lepiej się rozdrabniać, postawić na dystrybucje, a może po prostu OpenMoko na Neo a Android swoją drogą.

IMHO OpenMoko będzie się rozwijał (chociaż z recenzji jakie miałem okazję czytać do rozmów to się nie nadaje a na Qtopi, Neo to po prostu maszynka do jedzenia baterii).

Mnie szczerze mówiąc kusi najbardziej Android. Rozwiązanie jest niemal gotowe, otwarte i w dodatku integruje się z usługami gugla z których korzystam.

Otwartość zapobiega totalnemu monopolowi, ale działa google to temat na jeszcze jednego flame'a.

zwiń wątek michuk  13 listopada 2007 o godz. 1:29 #
Gravatar

Konsorcjum od androida ma open w nazwie

SCO OpenServer też :)

zwiń wątek jellonek  13 listopada 2007 o godz. 12:41 #
Gravatar

z jednej strony przyklad bardzo zabawny, z drugiej…

 
 
zwiń wątek mario  13 listopada 2007 o godz. 2:36 #
Gravatar

Microsoft Office Open XML też ;-)

 
 
 
zwiń wątek pjf  13 listopada 2007 o godz. 1:24 #
Gravatar

Przeglądarka na Webkit! Hurrrrra! :-)

(Poniżej tego poziomu komentarze nie będą zagnieżdżane)
 
zwiń wątek Rysio  13 listopada 2007 o godz. 2:35 #
Gravatar

10 melonów :P … Zabieram się za projekt, którym zgarnę całą kasę. xD

(Poniżej tego poziomu komentarze nie będą zagnieżdżane)
 
zwiń wątek m1k0  13 listopada 2007 o godz. 3:21 #
Gravatar

Konkurencja to jest również dla CLDC/MIDP.

Przedstawiono nie google Earth a zegarek,

API jest ubogie. W CLDC/MIDP jest więcej.

To tylko początek. Google wpompuje w to trochę kasy. Oczywistym zyskiem będą reklamy. Już można znaleźć dość sporo wodotrysków, które idealnie pasują do reklam.

Ważne, że idzie promocja Linuksa. Może to przynieść dużo dobrego, np. popularyzację OpenGL ES w MIDP

OpenMoko jest spokojne o przyszłość. Oni bazują na C/C++ a google na Java-ie.

(Poniżej tego poziomu komentarze nie będą zagnieżdżane)
 
zwiń wątek Sannindan  13 listopada 2007 o godz. 4:04 #
Gravatar

W mordę cały podsystem w Java.

Toż to do bani jest!!!

Za chiny nie ruszam gierek na Java, a co dopiero jak ma być cała reszta.

"Ble ble blah,

Poszło google na dach,

A tam patrzy to nic nie znaczy,

Gdy nas ktoś Javą raczy,

Toż to bełkot nie kumaty

Co to google dało graty

Poszło spać

I już nie kraczy,

Zaraz koniec

On nam nie wybaczy"

Pozdrawiam.

(Poniżej tego poziomu komentarze nie będą zagnieżdżane)
zwiń wątek mkk  13 listopada 2007 o godz. 10:05 #
Gravatar

Tak, jasne. Java to zło, bo to zło i Java:-) Fakt, nie jestem sympatykiem Javy, ale bez przesady !

P.S. Proponuję douczyć się trochę języka przed zabieraniem się za poezję ;-)

zwiń wątek Sannindan  13 listopada 2007 o godz. 11:26 #
Gravatar

To tak przyszło od razu jak to przeczytałem.

A co do języka to tak ma być :) , ponieważ Java właśnie nie zmusza człowieka do myślenia (to tak jakby jakaś przenośnia).

Ale z tą przesadą to nie wiem.

na prawdę nie chciałbym aby mój system, bądź aplikacje były napisane w Java. Jedyny racjonalny i szybszy z zarządzanych to jak już coś to .NET.

Pozdrawiam.

zwiń wątek michuk  13 listopada 2007 o godz. 11:47 #
Gravatar

Java właśnie nie zmusza człowieka do myślenia

Ale bredzisz to Ty dziś 3-po-3 :)

 
zwiń wątek mzobniow  13 listopada 2007 o godz. 12:04 #
Gravatar

Wez sobie wsadz w d…ten swoj dotNet. Java rzadzi i jest pomocnym narzedziem ludzi myslacych.

Zaadaptowanie Javy do tego projektu to genialny ruch ze strony GG. Tak trzymac!!!

 
zwiń wątek mario  13 listopada 2007 o godz. 12:30 #
Gravatar

.NET to kopia Javy więc nie wiem dlaczego miał by być szybszy, a już na pewno nie jest bardziej przenośny (kompilacja programów do EXE-PE o przenośności bynajmniej nie świadczy).

Java to o wiele bardziej poważne rozwiązanie, jej przenośność została sprawdzona i na przestrzeni lat wiele błędów zostało poprawionych. Koledzy którzy używają .NET mówią, że jest tam bardzo dużo bugów i tracą sporo czasu na głupie ich obchodzenie (może i aplikacje pisze się szybko, ale żeby jeszcze działały tak jak powinny…)

"Java właśnie nie zmusza człowieka do myślenia"

Każdy język programowania zmusza człowieka do myślenia. Nie ważne czy to LOGO, Basic, Java, C, Asm, Prolog – każdy z nich, tylko w niektórych dodatkowo musisz się skupiać na technikaliach nie związanych z logiką działania Twojego programu. Java ma tę zaletę, że w niewielkim stopniu trzeba się skupiać na technikaliach i kwestiach nie związanych z logiką programu, który piszesz – ale wcale to nie oznacza, że nad tą logiką nie musisz myśleć.

Co do prędkości, to telefonik z androidem może mieć jakiegoś procka, który 90% kodu Javy wykonuje sprzętowo. Są wersje procesorów ARM, które to potrafią – instrukcją maszynową o mnemoniku bj skacze się do kodu Javy :-) .

 
zwiń wątek trasz  13 listopada 2007 o godz. 17:50 #
Gravatar

@mario: Jesli .NET jest kopia Javy, to Java jest kopia Smalltalka. Srednio udana. ;-P

Odnosnie powagi rozwiazan – znam kilkanascie osob, ktore w ciagu ostatnich paru lat przeszly z pisania pod J2EE na .NET. Nie znam zadnej, ktora przeszla w druga strone. Z owych kilkunastu raptem dwie nie uwazaja (jeszcze ;-) , ze pod .NET pisze im sie lepiej.

 
zwiń wątek mzobniow  13 listopada 2007 o godz. 18:43 #
Gravatar

Widac mamy diametralnie rozne odczucia.

Pamietam jak gdzies w okolicach roku 2000, rowniez na linuxnews.pl wychodzily rozne trole wieszczace upadek javy i sukces .net w 3 lata. Mamy rok 2007, java ma sie swietnie, a ja nie zauwazam obecnosci .netu przynajmniej na rynku aplikacji webowych. Nie jest to autosugestia bo ja nie jestem zawodowym developerem i jesli o mnie chodzi to moga sabie te tiery pisac nawet w pythonie. Cieszy jednak fakt ze malo kto dal sie zlapac na ten badziew z m$.

 
zwiń wątek Cherry  13 listopada 2007 o godz. 21:22 #
Gravatar

I tu (niestety) się mylisz. Dużo instycucji, firm (i to bardzo poważnych) migruje na .NET-a. Niestety ale .NET jest dla nich po prostu tańszy.

 
zwiń wątek revcorey  13 listopada 2007 o godz. 22:05 #
Gravatar

I właśnie dzięki .NET MS w serwerach(szczególnie www) ma coraz szybszy wzrost.

A co do javy i C# to w zasadzie są dość podobne oczywiście jeż też J#

 
zwiń wątek trasz  13 listopada 2007 o godz. 23:21 #
Gravatar

@mzobniow: Jakbys byl zawodowym developerem, to bys zauwazyl. ;-)

Upadek COBOL-a tez wieszczyli dawno temu. I tez w sumie COBOL ma sie swietnie, dwadziescia lat pozniej. Ciekawe, gdzie bedzie Java za dwadziescia lat?

 
zwiń wątek mzobniow  13 listopada 2007 o godz. 23:31 #
Gravatar

Nie jestem developerem ale tez czasem developuje i pracuje z developerami. Jesli zapytacie ktory jezyk jest najwiekszym wygranym w segmencie web aplikacji to powiem ze php. Jest znacznie tanszy od javy i .netu niestety i dlatego robi tu furore. dotNetu, jak juz pisalem, prawie w ogle nie tu nie wiedze (Niemcy) no ale moze u was sa inne mody.

 
zwiń wątek trasz  13 listopada 2007 o godz. 23:59 #
Gravatar

@mzobniow: Bardziej chodzi o segment rynku niz o kraj. PHP to "klasa ekonomiczna", .NET – nie.

 
zwiń wątek mzobniow  14 listopada 2007 o godz. 1:04 #
Gravatar

Ja oczywioscie pisze o segmencie ASP i innych firm ktorych modele biznesowe bezposrednio zaleza od technologi. Mysle ze ten segment jest najbardziej miarodajny – tu zreszta najwiecej sie dzieje w tej materi. W tym wlsnie segmencie php rzadzi, a potem java.

Inee segmenty: np. banki i korporacje maja czasem .net na swoich wewnetrznych systemach, ale gdy potrzebuja niezawodnej aplikacji wystawionej na Swiat, to oczywiscie siegaja po outsourcing lub consulting i tak wracamy do php i javy.

 
zwiń wątek jellonek  14 listopada 2007 o godz. 11:05 #
Gravatar

w takim przypadku wraca sie do javy, ale juz nie do php…

trash: .net to wlasnie klasa ekonomiczna. moze i w .necie latwiej/szybciej cos napisac ale kto w powaznej firmie zdecyduje sie na serwer oparty o ms? niby z .net mozna sie polaczyc do normalnych baz, ale "programisci" .netowi dosc mocno sa przywiazani do mssql, a kto to w powaznym zastosowaniu ustawi jak baze danych?

jak takie rozwiazania sie skaluja?

w przypadku javy – mimo ze wydaje sie bardziej ociezala niz .nety, dosc latwo mozna zaplanowac rozwoj srodowiska serwerowego, w przypadku wzrastajacego zapotrzebowania na moc obliczeniowa. j2ee zarowno w przypadku suna, ibma, oracla – jest jak najbardziej do tego przygotowana/sprawdzone/wdrazane z wieloletnim doswiadczeniem.

podobnie w przypadku baz danych – oracle@hpux, oracle@aix, db2@aix – tu masz jasne plany rozwoju, np. poprzez zwielokratnianie ilosci prockow (np. hp superdome – gdyby tylko orakiel pod tym tak czesto nie sral ora-00600 ;) ).

 
zwiń wątek mzobniow  14 listopada 2007 o godz. 11:17 #
Gravatar

Uwierz ze nader czesto niestety do php. Przyznam ze ostanio czesto spotyka sie rowniez model: interface w php+middleware w javie. Poprostu czysty rachunek ekonomiczny. Za wyplate jednego dobrego programisty javy zatrudnia conajmniej dwoch stikaczy php i czesto nie wazna jest tu jakos produktu koncowego.

 
zwiń wątek kubusja  14 listopada 2007 o godz. 21:32 #
Gravatar

Dodaj jeszcze ze ci stukacze od PHP są każdy 2x bardziej wydajnego od tego wydajnego programisty Javy …

Póki on napisze te 50 linii na każdy drobiazg, poki skompiluje, zdeplojuje i zrobi masę innych rzeczy to

minie godzina …

Tymczasem gostek od PHP poprawi ten drobny babol w 45 sekund ….

Sorry ale 90% zastosowań na rynku to są proste rzeczy do których PHP (+pewnie Zend) spokojnie wystarczy …

Byle mieć dobrą bazkę pod spodem która sobie poradzi z masą prostych zapytań …

 
zwiń wątek mario  16 listopada 2007 o godz. 0:39 #
Gravatar

@trasz: "Jesli .NET jest kopia Javy, to Java jest kopia Smalltalka. Srednio udana. ;-P"

Java to nie tylko język + API, ale też środowisko uruchomieniowe – maszyna wirtualna. Popatrz na rozkazy bytecodeu Javy i wirtualnej maszyny CLR (.NET) – podobieństwo jest ogromne, praktycznie ponad 90% rozkazów jest takich samych, albo bardzo podobnych. Warto dodać że MS zdecydował się na własną maszynę wirtualną po tym jak przegrał proces z Sun Microsystems o Javę – dokładniej o wprowadzenie niezgodnej ze standardem VM Javy, wiadomo jakie to miało by skutki dla rynku podczas gdy ta Java była by standardem w Windowsach – zresztą swego czasu czat onet'u działał tylko na MSJavie. .NET to kopia Javy + odwet za przegrany proces i tyle.

 
 
 
 
zwiń wątek Jabbas  13 listopada 2007 o godz. 9:35 #
Gravatar

Przesadzacie z tą javą… Jeśli będzie dobrze zoptymalizowane i będzie płynnie chodzić to kogo obchodzi w czym to pisane?

MIDP ma parę ładnych latek… Po drugie można to zintegrować i będziemy mieli jeszcze fajniej.

P.S.:

Macie już pomysł jak zgarnąć nagrodę :-P

(Poniżej tego poziomu komentarze nie będą zagnieżdżane)
 
zwiń wątek Gf  13 listopada 2007 o godz. 10:48 #
Gravatar

to wszysto w javie? bez sensu. to ja dziękuję. Wole open Moko. ale jak beda telefony to sobie po prostu wgram i tyle.

(Poniżej tego poziomu komentarze nie będą zagnieżdżane)
zwiń wątek jellonek  13 listopada 2007 o godz. 13:00 #
Gravatar

a co ma do rzeczy to czy java, czy co innego? skoro ma natywne interfejsy (jni) do opengl_es to przeciez i tak bedzie bardzo ladnie toto dzialalo. jesli maszynka wirtualna bedzie miala jit to aplikacje i tak moga dzialac szybciej niz 80% dostepnego kodu w c++, marnie napisanego (wbrew pozorom automat potrafi obecnie bardzo duzo jesli chodzi o optymalizacje)

 
zwiń wątek dna  13 listopada 2007 o godz. 13:41 #
Gravatar

Widzę, że FUD, że JAVA jest ociężała i wolna ciągle żywy. 10 lat temu może na starych komputerach może i była ociężała, ze względu na zbyt dużą zachłanność na pamięć.

W tych czasach dobrze napisana aplikacja serwerowa potrafi być szybsza od C++. A na pewno łatwiej się oprogramowuje w Javie wielowątkowość. W C++ też można owszem, ale wsparcie wielowątkowości przez podstawowe biblioteki jest marne i to droga przez mękę…

zwiń wątek sytry  13 listopada 2007 o godz. 19:22 #
Gravatar

>W tych czasach dobrze napisana aplikacja serwerowa >potrafi być szybsza od C++.

Sorry, ale do aplikacji serwerowych napisanych w Javie to podchodzę z 3m kijem. A to że Java jest wolna i ociężała to nie FUD tylko rzeczywistość.

zwiń wątek IRo  13 listopada 2007 o godz. 21:08 #
Gravatar

Jesteś w błędzie… też tak uważałem, aż nie sprawdziłem "na sobie". Może nie nadaje się do sekcji krytycznych, gdzie naprawdę trzeba pojechać low-level, ale gwarantuje Ci, mechanizmy języka są już znacznie szybsze niż kiedyś. Najważniejsze jest to, że 2 największe zmory programistów C i C++ są ubite: Memory Leak i Core Dumped…

 
zwiń wątek kubusja  14 listopada 2007 o godz. 22:06 #
Gravatar

Memory Leak ? I Core Dump ?

ha, znam dużą aplikację Java od jednej z największych polskich firm developerskich i….

Od memory Leak aż się roi … nie na najniższym poziomie ale na wyższym poziomie – masy powiązanych obiektów z którymi GC sobie nie radzi … po 3h aplikację należy restartować na maszynach z

 
zwiń wątek t_ziel  28 listopada 2007 o godz. 20:08 #
Gravatar

@IRo

Kompletna bzdura. Żeby zrobić wyciek pamięci w Javie, wystarczy (trywialny przykład) napisać stos i zapomnieć o ustawianiu na null referencji w metodzie pop (do zdejmowania ze stosu obiektów). Odśmiecacz pomaga w zarządzaniu pamięcią, ale nie jest panaceum na wszystkie problemy związane z zarządzaniem pamięcią w Javie.

public Object pop() {

if (size==0) throw new EmptyStackException();

Object result = elements[--size];

elements[size] = null; //bez tej linijki wystąpi wyciek pamięci

return result;

}

Pełny kod w książce pt. Efektywne programowanie w języku Java, str. 24, Helion.

 
zwiń wątek michuk  28 listopada 2007 o godz. 20:32 #
Gravatar

Z tym kodziem t_ziel to nie do końca prawda. Tzn ten "wyciek" (jak to nazywasz) to po prostu obiekt, do którego nadal istnieją odnośniki w systemie, więc nie może być poddany działaniu garbage collectora. W momencie gdy ostatni odnośnik do result zniknie (np przez wyjście z bloku w którym ten obiekt był stworzony), pamięć zostanie odzyskana.

To się ma nijak to prawdziwych wycieków z C, gdzie nie zdekonstruowany obiekt do którego nie ma się już jak odwołać wisi w próżni.

Co oczywiście nie zmienia faktu że w Javie jak w innych językach programować należy z głową.

Jeśli trzymamy tysiące odnośników do dużych obiektów to nie ma się co dziwić że nasza aplikacje powoduje swapowanie :)

 
zwiń wątek stilgar  28 listopada 2007 o godz. 20:44 #
Gravatar

a jesli zrobimy cos takiego:

obiekt A z referencja na obiekt B, obiekt B z referencja na obiekt A a nastepnie porzucimy posiadane referencje do obiektow A i B

GC poradzi sobie z tym? w koncu na obiekt A i na B wskazuja jakies referencje.

 
zwiń wątek jellonek  28 listopada 2007 o godz. 21:11 #
Gravatar

tradycyjny przyklad… garbage collector nie ma szans sobie z tym poradzic…

jesli czlowiek popelni dostatecznie duzy blad – automat tego nie naprawi.

gc jest udogodnieniem, ale nie panaceum.

przyklad t_ziela wlasnie pokazuje typowy blad programistyczny przez ktory dochodzi do wycieku pamieci (tak michuk, to jest wyciek – spowodowany blednym algorytmem/niedopatrzeniem programisty).

 
zwiń wątek t_ziel  28 listopada 2007 o godz. 23:43 #
Gravatar

@michuk

Oczywiście nie chodziło o result, tylko o elements. Rzecz w tym, że bez linijki elements[size] = null, obiekty będą zdejmowane, ale nadal będziemy trzymali do nich referencje. Innymi słowy chodzi o to, że stos najpierw rośnie a potem zmniejsza się, natomiast po zrzuceniu obiektów, nadal przechowujemy do nich referencje, co uniemożliwia odśmiecaczowi zwolnienie pamięci.

 
zwiń wątek michuk  30 listopada 2007 o godz. 1:28 #
Gravatar

obiekt A z referencja na obiekt B, obiekt B z referencja na obiekt A a nastepnie porzucimy posiadane referencje do obiektow A i B

GC poradzi sobie z tym? w koncu na obiekt A i na B wskazuja jakies referencje.

Javowy GC sobie z tym poradzi. Oczywiście jeśli rzeczywiście do A i B nie mamy referencji żadnych w innych obiektach w nieumarłych wątkach.

Analogiczna sytuacja: tablica z referencjami do obiektów — jak tracimy referencję do tablicy, GC ją pożera.

 
zwiń wątek michuk  30 listopada 2007 o godz. 1:29 #
Gravatar

@michuk

Oczywiście nie chodziło o result, tylko o elements.

Tak, mi też oczywiście chodziło o elements.

 
 
 
 
zwiń wątek ris  13 listopada 2007 o godz. 12:05 #
Gravatar

Dla wszystkich narzekających na Javę w Android. Porównywałem wczoraj zaraz jak wyszło SDK szybkość działania Eclipse + emulator android i Visual Studio 2005 + emulator windows mobile. Tak na oko emulator androida działał 3 razy szybciej. Także dajcie spokój z tą szybkością javy.

(Poniżej tego poziomu komentarze nie będą zagnieżdżane)
zwiń wątek mario  13 listopada 2007 o godz. 12:35 #
Gravatar

Java jest szybka, ale na maszynach, które nie mają wsparcia do sprzętowego wykonywania jej kodu (np. na PCtach) jest zasobożerna, ze względu na kompilowanie byte-codu przez kompilator JIT w czasie działania programu. Przez to w RAMie są 2 kopie klasy, jedna w byte-code Javy, a druga skompilowana – oczywiście struktury, które to obsługują też sporo zajmują. Problemem Javy na PC jest zajętość w pamięci a nie prędkość – oczywiście prędkość staje się problemem w momencie gdy pamięć musi być swapowana, ale wynika to też z dużej zajętości programu w RAMie.

zwiń wątek jellonek  13 listopada 2007 o godz. 13:04 #
Gravatar

wierz mi ze to nie dublowanie postaci kodu klas jest problemem, a bardziej podejscie programistyczne (zarzadzanie pamiecia przez GC jest wygodne i zazwyczaj przynosi bardzo dobre efekty, ale w niektorych przypadkach o wiele lepiej jest moc samemu kontrolowac kiedy okreslone fragmenty pamieci powinny byc zwolnione)

zwiń wątek dna  13 listopada 2007 o godz. 13:47 #
Gravatar

Potencjalnie można prawie kontrolować poprzez wpisywanie null do nieużywanych odnośników.

Kiedyś implementowałem prosty GC dla C++. Najbardziej czasochłonne jest poszukiwanie wzajemnych referencji dwóch obiektów i czy żadna referencja programu nie wskazuje na którykolwiek z tych obiektów.

Rozwiązaniem jest więc wpisywanie null do referencji w porzucanych obiektach. Bardzo pomaga to GC.

 
zwiń wątek bies  13 listopada 2007 o godz. 14:38 #
Gravatar

Cały czas nie to. Tj. GC daje pewien narzut pamięciowy nad ręcznie zarządzaną pamięcią (teoria kolejek, jakby się kto pytał). Ale problem Javy to java.lang.Object z którego dziedziczy wszystko i który jest ,,tłusty'' do przesady.

 
zwiń wątek jellonek  13 listopada 2007 o godz. 17:03 #
Gravatar

sporo racji…

co do GC to ztcp w javie kiedys byla mozliwosc recznego jego wywolania (moze jest dalej?), po czym chyba zlikwidowali ja… moge bredzic – za trzezwy jestem :/

 
zwiń wątek mario  15 listopada 2007 o godz. 16:56 #
Gravatar

Jellonek jest nadal: System.gc();

Bies: "Ale problem Javy to java.lang.Object z którego dziedziczy wszystko i który jest ,,tłusty” do przesady."

Nie zgadzam się z tym, klasa Object ma pola: referencję do obiektu klasy jekiej jest, sygnalizer, mutex. Pamięć w zaalokowanym obiekcie zajmują tylko pola klasy, nie metody, więc Object praktycznie nie zajmuje NIC. Metody to:

clone() – zwraca kopię

equals(Object obj) – zwraca true jeśli referencja jest taka sama

finalize() – handler wywoływany przez GC

getClass() – zwraca referencję do klasy jakiej jest ten obiekt

hashCode() – zwraca hash code – domyślnie jest to adres obiektu

notify() – sygnalizuje oczekujący wątek przez sygnalizer (metoda wait())

notifyAll() – sygnalizuje wyszystkie oczekujące wątki

toString() – domyślnie zwraca hashCode@nazwa_klasy, więc też nie jest to pole

wait() i warianty – czeka na sygnał

To są metody, które w pamięci są w jednej kopii (występują w kontekście klasy nie obiektu), w postaci kodu bajtowego Javie i ew. skompilowane przez JIT, a sama klasa ma niewiele pól (pola występują w kontekście obiektu i zajmują pamięć proporcjonalnie do ilości obiektów).

@dna: zgadzam się w 100% wpisywanie null do nieużywanych referencji to dobra praktyka. Wpisanie null i wywołanie System.gc() daje taki sam efekt jak free w C, albo delete w C++, tylko niepotrzebnie odpala się dealokacja, podczas gdy program może potrzebować czasu procesora – lepiej aby GC zrobił to inteligentnie – wtedy gdy aplikacja nie ma dużych potrzeb, lub gdy naprawdę brakuje pamięci.

 
zwiń wątek jellonek  15 listopada 2007 o godz. 17:20 #
Gravatar

o, dzieki za przypomnienie ;)

System.gc() to nie tyle jak free w C, tylko przeszukanie wszelkich zmiennych pod katem mozliwosci zwolnienia pamieci, po czym na kazdej z nich free…

tak wiec roznica jest bardzo duza…

 
zwiń wątek mario  16 listopada 2007 o godz. 0:09 #
Gravatar

jellonek napisałem, że wpisanie do referencji null I ZARAZ PO TYM wywołanie System.gc() daje taki sam efekt jak jawna dealokacja w C/C++. Tylko po co to robić, skoro GC powstał właśnie po to aby w najbardziej krytycznych momentach nie bawić się w zwalnianie pamięci? Z drugiej strony algorytmy wymagające dużej mocy obliczeniowej powinny mieć pamięć przygotowaną wcześniej, ale nie zawsze się tak da.

Oczywiście wiem jak działa System.gc(), zresztą gdybym nie wiedział to nie odpowiedział bym na Twoje pytanie ;-) .

 
zwiń wątek jellonek  16 listopada 2007 o godz. 14:14 #
Gravatar

;)

wiesz (co widac) ale i tak sie plunczesz w zeznaniach ;)

taki sam efekt – jesli chodzi o zajetosc pamieci, ale nie taki sam, jesli chodzi o wywolanie free na konkretnej danej. wywolanie system.gc, to wywolanie kobyly w porownaniu do mrowki w postaci free ;)

 
 
 
zwiń wątek trasz  13 listopada 2007 o godz. 23:25 #
Gravatar

@ris: Wedlug ciebie porownanie predkosci pod emulacja jest w jakis sposob przekladalne na porownanie predkosci na faktycznym sprzecie? ROTFL.

Hint: jak myslisz, co bedzie dzialalo szybciej na sprzecie (telefonie): bytecode Javy czy kod maszynowy skompilowany na procesor? Co bedzie dzialalo szybciej w emulacji (w sensie, na maszynie developerskiej) i czemu na odwrot?

zwiń wątek jellonek  14 listopada 2007 o godz. 20:32 #
Gravatar

trasz: makowkowy trollu – poczytaj o tym jak dziala program w C++ skompilowany do bytecode llvm i uruchamiany na jit, a jak dziala ten sam program skompilowany (z optymalizacja do konkretnego sprzetu) pod gcc 4.3 (czyli z najlepszym obecnie w gcc optymalizerem).

raz jeszcze poprosze – poczytaj i nie trolluj…

zwiń wątek trasz  14 listopada 2007 o godz. 20:40 #
Gravatar

@jellonek: Przeczytaj jeszcze raz moj komentarz powyzej.

Nie mowie o porownaniu predkosci wykonywania kodu kodu natywnego na kazdej z maszyn. Mowie o porownaniu predkosci emulacji kodu na inna architekture _procesora_ z predkoscia wykonywania bytecodu.

Inaczej – w skomplikowany sposob probuje dac wam do zrozumienia, ze bytecode wykonuje sie szybciej niz emuluje sie inna achitekture procesora.

 
zwiń wątek jellonek  15 listopada 2007 o godz. 11:24 #
Gravatar

przeczytaj jeszcze raz moj komentarz powyzej.

dosc jasno i wyraznie pisze o tym co Ty. tj. o wykonywaniu BYTECODE przez MASZYNE WIRTUALNA LLVM.

przeciez jestes oratorem apple – powinienes wiec slyszec o zaletach llvm bardzo mocno wspieranym ostatnio przez apple…

 
 
zwiń wątek mario  16 listopada 2007 o godz. 0:22 #
Gravatar

Są procesory ze wsparciem sprzętowym dla Javy, np. ARM gęsto stosowany w urządzeniach mobilnych. ARM potrafi ok 90% instrukcji byte-codeu Javy wykonać sprzętowo, więc strata w prędkości będzie niewielka.

Zastosowanie Javy ma sens, bo:

1. Prędkość nie jest problemem w przypadku wsparcia sprzętowego.

2. Programy będą niezależne od sprzętu

3. Java pozwala na o wiele łatwiejsze pisanie aplikacji – nie skupiasz się na problemach natury technicznej tylko na logice aplikacji

4. Będzie można zrobić implementacje tego środowiska na inne platformy mobilne i niemobilne, bez stosowania emulacji procesorów (które emuluje się ciężko).

5. Java jako jedyne rozwiązanie na świecie ma wydajność najbardziej zbliżoną do analogicznego kodu w C/C++ przy zachowaniu maksymalnej niezależności od sprzętu i platformy programowej.

Jedyną wadą Javy jest problem implementacji w sprzęcie, jest to po prostu trudniejsze.

zwiń wątek jellonek  16 listopada 2007 o godz. 14:21 #
Gravatar

jesli chodzi o p. 5 – troche za bardzo uprosciles ;) java nie zapewnia ci ani wydajnosci, ani niezaleznosci od sprzetu, a tym bardziej od platformy programowej (bo narzuca swoja wlasna). to o czym piszesz zapewnia forth – dobre implementacje sa na o wiele wiekszej liczbie platform zarowno sprzetowych, jak i programowoch – niz java. tak wiec masz zarowno wiecej platform (wspomniana wieksza niezaleznosc) a i znacznie lepsza wydajnosc.

btw. sa tez specjalizowane pod fortha procesory ;)

 
 
 
 
zwiń wątek Gf  13 listopada 2007 o godz. 12:34 #
Gravatar

no to kiedy telefony dla developerów? ;)

(Poniżej tego poziomu komentarze nie będą zagnieżdżane)
zwiń wątek jellonek  13 listopada 2007 o godz. 13:05 #
Gravatar

poogladaj filmiki – developerzy juz maja :P

tak na serio – tez bym sie chetnie skusil. poki co trzeba sie zapoznac z emuglatorem…

 
 
zwiń wątek jeronimmo  13 listopada 2007 o godz. 14:54 #
Gravatar

Mam tylko nadzieję, że gugle nie zjedzą openmoko. Najlepszym faktycznie scenariuszem byłoby gdyby android, openmoko, qtopia były jak dystrybucje w Linuksie.

Co do otwartości Androida – Motorola też do smartphonów ładuje Linuksa ale ZAMKNIĘTEGO. Nie dają SDK do wytwarzania softu chałupniczym sposobem, opierają się na Javie – IMHO pisanie softu na smartphona w Javie to lamerskie podejście (oczywiście Michuk się wnerwi :P )

(Poniżej tego poziomu komentarze nie będą zagnieżdżane)
zwiń wątek michuk  13 listopada 2007 o godz. 16:01 #
Gravatar

Nie ma co się michuk wnerwiać. Proponuję jednak uzasadniać swoje twierdzenia, bo argument, że "pisanie softu na smartphona w Javie to lamerskie podejście" jest mało przekonujący :)

zwiń wątek jeronimmo  13 listopada 2007 o godz. 17:48 #
Gravatar

Ponieważ bo :P

Nie wiem dokładnie jak wygląda sprawa frameworku do openmoko OpenMokoFramework, ale widzę tam gtk+, glibc … Pisanie softu na smartphona bezpośrednio na niego vs pisanie softu na javę pracującą na smartphonie … sprawa prędkości działanie, wydajności, portowanie GNU -> openmoko

Dlatego właśnie java nie jest tu tym, co geeki lubią najbardziej.

btw. obecnie męczę mojego cpv c500 -> trudno znaleźć rom + sdk pasujące do siebie wersjami. Tu wm2005 a .net compact framework 2.0 ssie. Interesuje mnie sprawa openmoko na motorolkach – ludzie już toto robili (ten Linux od motoroli ssie)

 
 
 
zwiń wątek Cherry  13 listopada 2007 o godz. 16:26 #
Gravatar

Ciekawi mnie tylko dlaczego wybrali libc z BSD a nie uClibc który jest dobrze przystosowany do urządzeń przenośnych.

(Poniżej tego poziomu komentarze nie będą zagnieżdżane)
zwiń wątek jellonek  13 listopada 2007 o godz. 22:22 #
Gravatar

mialbys od reki mozliwosc pisania aplikacji w C na ta platforme, a to staraja sie jak tylko moga w tej chwili zablokowac. poki co staraja sie by natywny kod wychodzil tylko od nich (wiecej mozna na psuc – dzieki czemu staraja sie miec nad tym kontrole), podczas gdy szarym userom daja "namiastke" mozliwosci tworzenia aplikacji (cos jak narzedzie do tworzenia themes pod nokie, choc tu masz duzo wieksze mozliwosci – bo masz jezyk).

od paru godzin sa juz przyklady jak uruchomic wlasny kod C na googlowym emulatorze, ale opiera sie toto na czystym jadrze + statycznej binarce, tak wiec poki co nie skorzystasz z dobrodziejstw googleapi.

bardzo latwo mozna dojsc do tego jakie abi jest tam stosowane, co jest uzywane jako crt0.o, ale plikow naglowkowych juz nie odtworzy sie tak latwo…

ps. prosze mi nie pisac o tym ze na symbiany przeciez jest mozliwosc kodowania w C. srodowisko mam/znam… narzedzie do tworzenia themes bylo tylko przykladem.

 
 
zwiń wątek Moarc  13 listopada 2007 o godz. 16:50 #
Gravatar

tylko żeby telefony pod to nie kosztowały ~1300zł…

(Poniżej tego poziomu komentarze nie będą zagnieżdżane)
zwiń wątek jellonek  13 listopada 2007 o godz. 16:59 #
Gravatar

jak bedzie kosztowal i 2k to i tak kupie ;)

zwiń wątek jeronimmo  13 listopada 2007 o godz. 17:50 #
Gravatar

hehehe to może zrobić petycję do operatorów – Polscy Geecy Chcą OpenMoko

zwiń wątek Gf  13 listopada 2007 o godz. 20:40 #
Gravatar

chętnie podpiszę!

 
zwiń wątek jellonek  13 listopada 2007 o godz. 22:27 #
Gravatar

takie petycje sa bez sensu. jak chcesz – mozesz sie zglosic do polskiego przedstawicielstwa googli, ale nie spodziewaj sie za wiele ;)

poki co masz srodowisko w ktorym mozesz tworzyc oprogramowanie.

przypomina mi to sytuacje z procesorami amd64, na ktore linux powstal ztcp pol roku wczesniej niz procesory pojawily sie w sprzedazy ;) procesory te byly dostepne wczesniej w postaci… emulatora ;)

amd odnioslo dzieki temu spory sukces – czy uda sie to rowniez googlom?

 
 
 
 
zwiń wątek jeronimmo  13 listopada 2007 o godz. 23:01 #
Gravatar

A kto tu mówił o sprzęcie od gugli? Ja chcę openmoko

(Poniżej tego poziomu komentarze nie będą zagnieżdżane)
zwiń wątek jellonek  13 listopada 2007 o godz. 23:18 #
Gravatar

a to przeprasza, niedoslyszalem pytania ;)

 
 
zwiń wątek mruk  14 listopada 2007 o godz. 0:16 #
Gravatar

Chyba pierwszy raz przeczytałem wszystkie komentarze…

Powiem szczerze, gdy spojrzałem w SDK ugryzła mnie ta java, bo to na pewno utrudnia portowanie gotowych aplikacji spod linuxa na androida. Ale java ma też swoje zalety (i wady jak wszystko z resztą). To wiemy zapewne bardzo dobrze. Co do wydajności – nie ma sensu się spierać co jest szybsze – bardzo wiele tu zależy od samej platformy sprzętowej. Emulator – nie ma co kryć – tanie rozwiązanie – tanie niemniej nie znaczy że źle. Lepiej mieć emulator i mieć na czym testować soft niż mieć obiecany smartfon i go nigdy nie dostać.

W głębi ducha wierze że 10 baniek to dobra mobilizacja i ta otwarta platforma przejdzie próbę rynku. Z resztą czy w innym razie google by się za to zabierał?

Co do OpenMoko. W dalszym ciągu czekam na platformę i liczę, że czas kiedy będzie można to kupić w Polsce nadejdzie (prędzej czy później).

(Poniżej tego poziomu komentarze nie będą zagnieżdżane)
 
zwiń wątek krzychos7  14 listopada 2007 o godz. 0:35 #
Gravatar

Ja to się trochę zawiodłem. Co prawda przez swoją pomyłkę ale jednak. Myślałem że Google ma stworzyć system który będzie można zainstalować na telefonach teraz obsługiwanych przez Windows Mobile i Symbiana.

Dla mnie najbardziej denerwujące w systemach na telefony komórkowe jest brak kompatybilności. Dobrze by było gdyby nie producent sprzętu decydował o systemie na nim używanym lecz użytkownik. Podobnie jak to dzieje się na komputerach osobistych.

Android nawet mi się podoba ale jeśli do jego używania musiałbym kupić specjalny telefon to musieli by mi dopłacić. Podobne zdanie ma co do OpenMoko.

Głównie dla tego że zarówno OpenMoko jak i z tego co widzę Android ma padaczne telefony, Cegłowate, brzydkie i w dodatku o słabych osiągach najważniejszych w telefonach (zasieg oraz wytrzymałość baterii).

To już ym wolał iPhona. Przynajmniej jakoś wygląda (no i pare funkcji nie stety zastrzeżonych ma np. ekran "wielo" dotykowy). Ale podobnie jak iPod jest przereklamowany. Może jakość jest dobra, wygląda fajnie oraz łatwo i przyjemnie się obsługuje ale co on obsługuje? Co z .avi (nie wspominam o .rmvb który jest chyba nierealnym marzeniem).

Jestem wielkim zwolennikiem otwartości ale już wole płacić i coś mieć a nie samą niemożliwą do wykorzystania wolność.

Myślę że do wolności telefonów jeszcze daleko.

Puki co chyba jedynym sposobem by mieć komfortowy system na przenośnym urządzeniu jest laptop z modemem GSM. Jedyny minus gabaryty.

(Poniżej tego poziomu komentarze nie będą zagnieżdżane)
zwiń wątek Jabbas  14 listopada 2007 o godz. 10:07 #
Gravatar

UMPC z GSM były już mniejszy i poręczniejszy… :)

Ja osobiście właśnie poluje na małego laptopa… 10"-11" max.

 
 
zwiń wątek bluszcz  14 listopada 2007 o godz. 18:43 #
Gravatar

Można tam jakoś wjechać z pythonem?

(Poniżej tego poziomu komentarze nie będą zagnieżdżane)
zwiń wątek jellonek  14 listopada 2007 o godz. 20:34 #
Gravatar

sa plany. google niezle naciska na rozwoj zarowno jythona jak i jruby.

na grupie androdida juz o tym nawet wspominano – rowniez trzymam kciuki.

 
 
zwiń wątek impression  8 kwietnia 2011 o godz. 8:55 #
Gravatar

Thanks for these pointers. One thing I also believe is that often credit cards offering a 0% rate of interest often bait consumers along with zero rate of interest, instant endorsement and easy over-the-internet balance transfers, nonetheless beware of the main factor that will certainly void that 0% easy streets annual percentage rate and also throw you out into the poor house in no time.

(Poniżej tego poziomu komentarze nie będą zagnieżdżane)
 

Uwaga! Niektóre komentarze, m.in. te dodane przez niezalogowanych i nowych użytkowników, są ręcznie moderowane. Jeśli Twój komentarz nie ukaże się od razu, nie dodawaj go ponownie, tylko cierpliwie poczekaj na akceptację.

W komentarzach możesz używać prostych znaczników HTML. Przykłady:
  • Link: <a href="http://osnews.pl">OSnews: niusy IT</a>,
  • Wytłuszczenie: <strong>tekst pogrubiony</strong>,
  • Kursywa: <em>tekst pochylony</em>,
  • Przekreślenie: <strike>tekst przekreślony</strike>,
  • Kod: <code>printf("blok kodu");</code>,
  • Cytat: <blockquote>cytat</blockquote>
Uwaga: jeśli dodasz nieznany znacznik, będzie on niewidoczny, gdyż system filtruje takie znaczniki.

Wszystkie autorskie niusy w serwisie publikowane są na licencji Creative Commons Uznanie autorstwa 2.5 Polska.

Twoja sugestia