Dnia 11-02-2011 o 14:39:08 J.F. <jfox snipped-for-privacy@poczta.onet.pl> napisał(a):
haha.. ostatnio dużo czytam o AVR i zamiast Android zobaczyłem Arduino :)
Sięgnąłem po książkę "Thinking in Java" - a nie robiłem tego od wielu miesięcy :) Kurcze sprawa wydaje się jeszcze dziwniejsza, bo faktycznie wywołanie byte buf[] = new byte[256]; powinno zainicjować i wyzerować tablicę. No ale książka traktuje o referencyjnej Javie Sun'a. Widać Google dla swojej maszyny wirtualnej po swojemu optymalizuje bajtkod. To jest dla mnie jedyne wytłumaczenie.
Czekaj bo się już zgubiłem w tym wątku. Wydaewało mi się że tutaj: <iiup2o$em2$ snipped-for-privacy@opal.futuro.pl> Lelek sobie sam odpowiedział na swoje pytanie dlaczego mu się wywala?
Nie widziales tlumaczenia ? Druga linia wywala pierwsza inicjacje, a wstawia do obiektu zaalokowanego i zwroconego przez metode. W tym przypadku pewnie zwrocilo null i stad caly jest ambaras.
A tak swoja droga - to co potem zwraca .length od null ? zero czy juz wyjatek ?
Przenoszenie złych nawyków z C do Javy to bardzo złe podejście. Java jest bardzo restrykcyjna jeśli chodzi o niedozwolone operacje. Dobrze napisanym programom to nie przeszkadza, a znakomicie ułatwia znalezienie błędów.
Sprawdziłeś co się pojawia w logach? Wrzuć na grupę kawałek kody z try (i po nim), to może ktoś będzie w stanie Ci pomóc.
Wielki błąd. Obiektowość to jeden z najpotężniejszych mechanizmów jakie java oferuje. Podobieństwo z C++ pomaga zacząć, ale trzeba pamiętać że tak na prawdę to jest zupełnie inny język, i przenoszenie na siłę nawyków z C++ jest proszeniem o kłopoty. Ale na to żeby dobrze poznać język (jakikolwiek) potrzeba sporo czasu i pracy. Na swoim przykładzie mogę powiedzieć, że na to żeby zacząć pisać w jakimś języku wystarczy kilka dni-tydzień na oswojenie się ze składnia. Ale dopiero dopiero po jakiś 3-4 miesiącach codziennego tłuczenia kodu mogę się przed sobą przyznać że w miarę nieźle znam język i otoczkę programistyczną. A co do narzekania na javę - java nie jest językiem idealnym i ma sporo wad. Ale większość tych, którzy uważają że java to shit albo jej nie znają, albo chcą na siłę przenosić nawyki z innego języka (c/c++/bascoma/assemblera/łotewera).
Proponowałbym jak najszybciej się z nimi zaprzyjaźnić. Pomoże Ci to lepiej pisać aplikacje androidowe, ale też inaczej będziesz podchodzić do projektowania i pisania aplikacji w innych językach.
Asemblera też po drodze zaliczyłem. W pewnym momencie byłem w stanie tłumaczyć programy w assemblerze z80 na język maszynowy z minimalną pomocą tablic :) Dobra znajomość wielu różnych języków programowania pomaga nabrać dystansu i inaczej spojrzeć na projekt aplikacji nad którą się pracuje. Często dzięki temu można zawczasu zauważyć dość nieoczywiste pułapki projektowe.
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.