Robert P.

Robert P. Senior PHP Developer

Temat: Dalszy rozwój - wybór technologii

Jakub L.:

Interesujące, bo moje wrażenia z porównania Javy i C++ są dokładnie odwrotne - to Java jest przegadana.

JAVA ma wiele zalet i wad. Min dużą zaletą jest mobilność oprogramowania z uwagi na interpretowanie kodu poprzez maszynę wirtualną, a nie bezpośrednią kompilację jak w przypadku c++. C++ na pewno jest szybsze. W Javie tak jak powiedziałem, żeby napisać coś trzeba się mniej opisać. Weźmy dla przykładu wątki w javie i c++, albo aplikację serwerową? Nie mówię już o konstrukcjach, które wykorzystują polimorfizm, metody wirtualne itd. w c++ trzeba o wielu rzeczach pamiętać, JAVA często niejawnie załatwia wiele spraw. Ciężej jest porównywać java z c++ bo te języki mają najczęściej inne zastosowania. Już lepiej jest porównać java z C#. Gdyż oba języki potrzebują maszyny wirtualnej do interpretacji kodu.
Jakub L.:

Pochodnymi znaczy się ze składnią opartą na motywach.

Nie rozumiem o co chodzi z tą składnią opartą na motywach. Java jest pochodną ponieważ wywodzi się pośrednio z C.
Michał Jastrzębski

Michał Jastrzębski Django-fu, phpjutsu,
sql-do

Temat: Dalszy rozwój - wybór technologii

W Javie denerwuje mnie składnia i anty-błędowość. Tzn jeśli programujesz w php lub pythonie (jak ja) to czeka Cię bolesna przygoda z typowaniem javowym. Poza tym Java jest w 110% obiektowa. To nie jest wada, ale bywa uciążliwą cechą jak chcesz sobie naklepać coś o skomplikowaniu kalkulatora.

Ostatnio przekonuję się dość mocno do C#. Obiektowy jak java, a przy tym dużo wygodniejszy i mniej upierdliwy. Problemem w Polsce jest to, że jeśli chcesz się bawić webdev to ciężko przejdzie Ci praca z .NET. W .NET strony mają głównie duże firmy, bo hostingi są b. drogie. Jakkolwiek fajna to jest technologia, tak ceny microsoftu trochę odstraszają polskich startupowców.

Osobiście jestem na zabój zakochany w python/django. Nie miałem aż takiego problemu żeby przyzwyczaić się do braku klamerek, a teraz wręcz uznaję że składnia pythona jest jedną z najfajniejszych jakie znam. Do tego python nie jest nonsensowy, jest bardzo elastyczny(napiszesz w nim zarówno stronkę jak i daemona na serwerze). Mnogość bibliotek, dynamiczne typowanie, fajna obiektowość ale *nie tylko* obiektowośc (da się pisać proceduralnie a i ma trochę funkcyjnego).

Java z drugiej strony daje możliwości w innej fajnej gałęzi- programowaniu mobilnym... Nie licząc windows phone to programuje się tylko w javie tam.
Tomasz Zadora

Tomasz Zadora programuję

Temat: Dalszy rozwój - wybór technologii

Python często dzieli właśnie przez użycie składni YAML - jednym się to bardzo podoba innym nie :)

Java wymaga za to żelaznej dyscypliny - w sam raz znalazł dla kaprali marzących o przekwalifikowaniu na informatyka ;-)
Jakub L.

Jakub L. Programista

Temat: Dalszy rozwój - wybór technologii

Robert Podwika:
Jakub L.:

Interesujące, bo moje wrażenia z porównania Javy i C++ są dokładnie odwrotne - to Java jest przegadana.

JAVA ma wiele zalet i wad. Min dużą zaletą jest mobilność oprogramowania z uwagi na interpretowanie kodu poprzez maszynę wirtualną, a nie bezpośrednią kompilację jak w przypadku c++.

Java jest jak najbardziej kompilowana, tylko że do kodu wirtualej maszyny, ale nadal jest to kod maszynowy.
Są także procesory które są w stanie wykonywać natywnie kod maszyny Javy.
C++ na pewno jest szybsze. W Javie tak jak powiedziałem, żeby

Niekoniecznie, maszyna Javy może optymalizować kod na podstawie jego działania - zmieniać domyślną ścieżkę ifa, inlineowanie pętli i takie tam.
napisać coś trzeba się mniej opisać. Weźmy dla przykładu wątki w javie i c++, albo aplikację serwerową? Nie mówię już o konstrukcjach, które wykorzystują polimorfizm, metody wirtualne itd. w c++ trzeba o wielu rzeczach pamiętać, JAVA

Polimorfizm i metody wirtualne jako różnice pomiędzy C++ i Javą?
Jakub L.:

Pochodnymi znaczy się ze składnią opartą na motywach.

Nie rozumiem o co chodzi z tą składnią opartą na motywach. Java jest pochodną ponieważ wywodzi się pośrednio z C.

Mógłbyś rozwinąć to wywodzi się pośrednio z C bo nie potrafię tego odnieść do historii Javy gdzie po prostu koleś ją wziął i wymyślił.
Nawiasiki, typy proste (których obiektowość została poświęcona na ołtarzu wydajności) i słowa kluczowe to trochę mało na wywodzenie się.
Jakub L.

Jakub L. Programista

Temat: Dalszy rozwój - wybór technologii

Michał Jastrzębski:
W Javie denerwuje mnie składnia i anty-błędowość. Tzn jeśli programujesz w php lub pythonie (jak ja) to czeka Cię bolesna przygoda z typowaniem javowym. Poza tym Java jest w 110% obiektowa. To nie jest wada, ale bywa uciążliwą cechą jak

Prymitywy? :)
Java z drugiej strony daje możliwości w innej fajnej gałęzi- programowaniu mobilnym... Nie licząc windows phone to programuje się tylko w javie tam.

Eeee, nie licząc Windows Phone, nie licząc iPhone i iPada.
Android oprócz Javy ma już to: http://developer.android.com/sdk/ndk/overview.html
I są inne platformy gdzie Java jest tylko kolejnym językiem.

konto usunięte

Temat: Dalszy rozwój - wybór technologii

iPhone'a ?

ok negacja, juz qmam....

osobiscie nie lubie telefonow z Java, wolne i wieszajace... przynajmniej takie mialem doswiadczenia kiedy ich uzywalem, ale to bylo dawnoTomasz Grzechowski edytował(a) ten post dnia 12.03.11 o godzinie 12:38
Dominik Marczuk

Dominik Marczuk Remote Team Lead w
Sonalake

Temat: Dalszy rozwój - wybór technologii

Jakub L.:
Mógłbyś rozwinąć to wywodzi się pośrednio z C bo nie potrafię tego odnieść do historii Javy gdzie po prostu koleś ją wziął i wymyślił.
Nawiasiki, typy proste (których obiektowość została poświęcona na ołtarzu wydajności) i słowa kluczowe to trochę mało na wywodzenie się.

Zabawię się w adwokata diabła. Myślę, że Robertowi chodziło nie o aspekty związane z tym, czy to jest język kompilowany do kodu maszynowego, czy bytecodu Javy, ale raczej o jego składnię. Założeniem przyświecającym Goslingowi podczas tworzenia języka było właśnie upodobnienie go do już znanej, a więc łatwej do przyswojenia składni C i C++.

BTW, nie "koleś wziął i wymyślił", tylko trzech kolesi w Sun przez cztery lata siedziało i rezało ;)

konto usunięte

Temat: Dalszy rozwój - wybór technologii

@Autor wątku:
Polecam rozwinięcie się w PHP. Co jest do poznania to koledzy napisali.
Głównie chodzi o warsztat, w pół roku raczej mało prawdopodobne że go poznałeś. Optymalizacja, frameworki, wzorce, zarządzanie kodem itd.

PHP jest wg mnie najlepszy do stron WWW, ale to też zależy od kontekstu.

Co do webu i innych języków:
- Python - też mnie trochę na początku składnia odrzucała, ale teraz te dodatkowe spacje sobie chwalę, poza tym w tym języku masz pełną modularność (podobnie jak w Java, a nie takie namiastki jak w C/C++/Php)

- Java i .NET - tutaj poza językiem będziesz musiał poznać o wiele wiele więcej - nawet po to żeby wyświetlić zwykłe "Hello World".

Możesz też podejść do tego z drugiej strony - ile chcę zarobić. I wybrać odpowiednią technologię. (podpowiedź - nie tą w której programują masy).

konto usunięte

Temat: Dalszy rozwój - wybór technologii

@Autor
nie ma sensu uczyć się języka jeżeli nie masz dla niego zastosowania i planów z nim związanych. Życie uczy że zawsze warto mieć +1 fach ręce. Zaczynając jako programista, za jakiś czas zrobię sobie uprawnienia do nauczania. W PHP masz jeszcze sporo do nauczenia zapewne (język to nie wszystko).

Na Twoim miejscu zajął bym się nowościami jak HTML5, CSS3 no i JavaScript. Nie wiem czy zauważyłeś ale niedługo przeglądarka będzie wyposażona w narzędzia które pozwolą na tworzenie aplikacji webowych offline oraz online. Do tego dochodzi coraz lepiej działający WebGL. Tutaj dodatkowo można pouczyć się programowania shaderów, troszkę fizyki i matematyki (jak np zmusić jakiś element by poruszał się po krzywej ?).

Jeżeli to Cie interesuje to masz iPhona czy Androida. W sumie jeszcze WP7 ale ta platforma jak na razie kiepsko się trzyma. Rynek tych urządzeń rośnie gwałtownie i na pewno znajdziesz i tutaj coś do roboty.

To też Ci nie pasuje ? To możesz poznać C++. Siąść przy bibliotece QT i możesz nauczyć się tworzyć aplikacje desktopowe.

A może zabrać się za C albo Assemblera i pisać oprogramowanie pod urządzenia fabryczne ?

Uczenie się Ruby itp by robić to samo co w PHP tylko w czymś innym nie ma głębszego sensu. Chyba że masz jakieś argumenty za tym żeby zastąpić PHP czymś innym. Osobiście uważam że należy jak najlepiej poznać technologię w której się pracuje i jeżeli już zabierać się za kolejną to albo po to by rozszerzyć swoje możliwości w tej którą znamy (PHP + wszelkie nowości które niesie HTML5 dla przykładu) albo po prostu zrobić sobie kolejny fach.

Niektórzy mówią tu o zarobkach. Dobra rada dla Ciebie. Jako programista PHP się w tym kraju nie dorobisz. Większość ofert pracy jest dla klepaczy stron. Miałem różne propozycje pracy. W moim regionie i gdzieś dalej w Polsce. Jeżeli jechał bym gdzieś dalej to płacę mogłem mieć 2, 3 razy większą ale wydatki na wynajęcie mieszkania i życie skutecznie mi to niwelowały do tego co mam pracując w swoim regionie.
Chcesz zarabiać, zajmij się handlem albo pozwól innym pracować dla Ciebie (co z początku, w trakcie i w przyszłości będzie wymagać od Ciebie dużo pracy i zachodu, tylko już nie jako programista).
Ja osobiście uważam że lepiej mieć odrobinę niższe zarobki przy satysfakcjonującej pracy niż wyższe w pracy której nienawidzimy. Ale kiedy już pracujesz to staraj się międzyczasie robić coś też dla siebie. Nabieraj znajomości, ucz się nowych technologii, nabieraj wprawy w tym czy owym i ogólnie się rozwijaj.
W przyszłości możesz wyjechać za granicę, znaleźć pracę w Polsce gdzieś na dobrych warunkach, założyć firmę czy robić cokolwiek innego. Czasami też warto spróbować pracy dla dużej firmy.

Pozdrawiam
Jakub L.

Jakub L. Programista

Temat: Dalszy rozwój - wybór technologii

Dominik Marczuk:
Jakub L.:
Mógłbyś rozwinąć to wywodzi się pośrednio z C bo nie potrafię tego odnieść do historii Javy gdzie po prostu koleś ją wziął i wymyślił.
Nawiasiki, typy proste (których obiektowość została poświęcona na ołtarzu wydajności) i słowa kluczowe to trochę mało na wywodzenie się.

Zabawię się w adwokata diabła. Myślę, że Robertowi chodziło nie o aspekty związane z tym, czy to jest język kompilowany do kodu maszynowego, czy bytecodu Javy, ale raczej o jego składnię. Założeniem przyświecającym Goslingowi podczas tworzenia języka było właśnie upodobnienie go do już znanej, a więc łatwej do przyswojenia składni C i C++.

To dość zrozumiałe, w dziedzinie składni co prawda można wymyślić wiele, ale działa dobór względem upodobań - historycznie jest składnia pascalowa którą lubi Wirth, i popularność języków z tą składnią widać, są inne składnie Ruby albo Pythona, które mają swoich zwolenników i przeciwników, i jest najbardziej rozpowszechniona składnia C/C++ na której się wzorują różni ludzie, od Perla przez PHP do D nawet, bo już jest i jest dość łatwa.
Ale sama składnia to nie 'wywodzenie się', Java ma sporo rzeczy bardzo innych.
BTW, nie "koleś wziął i wymyślił", tylko trzech kolesi w Sun przez cztery lata siedziało i rezało ;)

:)

konto usunięte

Temat: Dalszy rozwój - wybór technologii

Dariusz Półtorak:
Niektórzy mówią tu o zarobkach. Dobra rada dla Ciebie. Jako programista PHP się w tym kraju nie dorobisz.

Jeśli ktoś jest dobry w tym, co robi, to się dorobi.

Jest tu gdzieś topik o zarobkach i widać, że w PHP możesz zarobić i 2-4 tys, ale nawet i 10 tys.
Robert P.

Robert P. Senior PHP Developer

Temat: Dalszy rozwój - wybór technologii

Jakub L:
Java jest jak najbardziej kompilowana, tylko że do kodu wirtualej maszyny, ale nadal jest to kod maszynowy.
Są także procesory które są w stanie wykonywać natywnie kod maszyny Javy.

Nie czytasz konkretnie tego co piszę i czepiasz się słów. Napisałem, że jest nie jest kompilowana bezpośrednio do kodu maszynowego.
Nie napisałem, że w ogóle nie jest kompilowana. Słyszałem o procesorach, które potrafią czytać bytecode javy, ale nie należą one z tego co mi wiadomo do powszechnych rozwiązań.
Jakub L:
>
Niekoniecznie, maszyna Javy może optymalizować kod na podstawie jego działania - >zmieniać domyślną ścieżkę ifa, inlineowanie >pętli i takie tam.

No fajnie, a w C++ możesz pisać wstawki bezpośrednie assemblera, używać instrukcji preprocesora, wpływać na rodzaj kompilacji itd.. Podaje cytat z wiki dlaczego c++ jest w większości przypadków jest szybsze

"All objects are allocated on the heap. For functions using small objects this can result in huge performance degradation as stack allocation costs essentially zero.
Methods are by-default virtual. This increases memory usage as much as several times for small objects because of virtual function tables. Also, it induces performance penalty, because JIT compiler has to do additional optimization passes even for de-virtualization of small functions.
A lot of casting required even using standard containers induces performance penalty as it is needed to walk through entire inheritance hierarchy.
Virtual Java Machine increases memory usage even further, thus reducing memory locality and increasing chances of cache misses and therefore slowdown of the program.
Lack of access to low level details does not allow developer to better optimize the program where the compiler is unable to do so."


Jakub L:
Polimorfizm i metody wirtualne jako różnice pomiędzy C++ i Javą?

Napisałem, że różnice są w konstrukcji czyli inaczej semantyce języka. Przecież nie będe pisał szczegółowo wszystkiego każdy wie o co chodzi.. Poza tym są różnice w dziedziczeniu np. w JAVIE nie możesz ustawić, aby zmienne klasy, które są publiczne były dziedziczone np jako protected.
Jakub L:
Mógłbyś rozwinąć to wywodzi się pośrednio z C bo nie potrafię tego odnieść do historii > Javy gdzie po prostu koleś ją wziął i wymyślił.
Nawiasiki, typy proste (których obiektowość została poświęcona na ołtarzu wydajności) i słowa kluczowe to trochę mało na wywodzenie się.


Po pierwsze początki języka czyli projekt green zakładał udoskonalenie języka C++, miał to być język zorientowany obiektowo na bazie C++. Potem powstał OAK, a potem java..
Czy uważasz, że w składni języka JAVA i w składni języka C++ nie ma podobieństw? Składnia, dziedziczenie, programowanie generyczne, szablony. A poza tym to nie było tak, że gość usiadł wstał powiedział: "JAVAAA" i wtem powstał język.. Idąc Twoim tokiem myślenia można dojść do wniosku, że C++ nie wywodzi się z C..Robert Podwika edytował(a) ten post dnia 13.03.11 o godzinie 21:36
Jakub L.

Jakub L. Programista

Temat: Dalszy rozwój - wybór technologii

Robert Podwika:
Jakub L:
Java jest jak najbardziej kompilowana, tylko że do kodu wirtualej maszyny, ale nadal jest to kod maszynowy.
Są także procesory które są w stanie wykonywać natywnie kod maszyny Javy.

Nie czytasz konkretnie tego co piszę i czepiasz się słów. Napisałem, że jest nie jest kompilowana bezpośrednio do kodu maszynowego.

Czymże w takim razie jest bytecode Javy jak nie kodem maszynowym?
Niekoniecznie, maszyna Javy może optymalizować kod na podstawie jego działania - >zmieniać domyślną ścieżkę ifa, inlineowanie >pętli i takie tam.

No fajnie, a w C++ możesz pisać wstawki bezpośrednie assemblera, używać instrukcji preprocesora, wpływać na rodzaj kompilacji itd.. Podaje cytat z wiki dlaczego c++ jest w większości przypadków jest szybsze

Programista generalnie przegrywa z kompilatorem w dziedzinie optymalizacji programu.
Mógłbyś rozwinąć to wywodzi się pośrednio z C bo nie potrafię tego odnieść do historii > Javy gdzie po prostu koleś ją wziął i wymyślił.
Nawiasiki, typy proste (których obiektowość została poświęcona na ołtarzu wydajności) i słowa kluczowe to trochę mało na wywodzenie się.

Po pierwsze początki języka czyli projekt green zakładał udoskonalenie języka C++, miał to być język zorientowany obiektowo na bazie C++. Potem powstał OAK, a potem java..

Ale przed Oakiem olali C++ i zaczęli tworzyć język od zera, właśnie Oaka: Gosling attempted to modify and extend C++ (which he referred to as "C++ ++ --") but soon abandoned that in favor of creating an entirely new language, which he called Oak, after the tree that stood just outside his office.
Czy uważasz, że w składni języka JAVA i w składni języka C++ nie ma podobieństw? Składnia, dziedziczenie, programowanie generyczne, szablony. A poza tym to nie było tak, że gość

Składnia ma subtelne różnice, jak na przykład słówko finally.
Dziedziczenie jest okrojone do pojedynczego, programowanie generyczne i szablony zostały dopchnięte kolanem do Javy jak Microsoft zrobił C#, do Javy 1.4, czyli przez całe 8 lat tego nie było.
Takie coś się nazywa konwergencja.

konto usunięte

Temat: Dalszy rozwój - wybór technologii

Tomasz Grzechowski:
Dariusz Półtorak:
Niektórzy mówią tu o zarobkach. Dobra rada dla Ciebie. Jako programista PHP się w tym kraju nie dorobisz.

Jeśli ktoś jest dobry w tym, co robi, to się dorobi.

Jest tu gdzieś topik o zarobkach i widać, że w PHP możesz zarobić i 2-4 tys, ale nawet i 10 tys.

Owszem, chodziło mi o to że 95% ofert pracy jakie widziałem gdy takową poszukiwałem była w agencjach interaktywnych które klepią stronki internetowe. A w tym segmencie się nie dorobisz bo i mało kiedy takie firmy robią coś kosztowniejszego.
Reszta to aplikacje internetowe i duże projekty. Tutaj pojawiają się lepsze pieniądze.

konto usunięte

Temat: Dalszy rozwój - wybór technologii

Jakub L.:

Programista generalnie przegrywa z kompilatorem w dziedzinie optymalizacji programu.

Nie pisałem jakichś wydumanych rzeczy, ale już w przypadku prostych gier optymalizacja przy użyciu Assemblera przynosiła bardzo duży wzrost szybkości (Borland C, Inline Assembler)

Temat: Dalszy rozwój - wybór technologii

Jakub L.:
Robert Podwika:
Jakub L:
Java jest jak najbardziej kompilowana, tylko że do kodu wirtualej maszyny, ale nadal jest to kod maszynowy.
Są także procesory które są w stanie wykonywać natywnie kod maszyny Javy.

Nie czytasz konkretnie tego co piszę i czepiasz się słów. Napisałem, że jest nie jest kompilowana bezpośrednio do kodu maszynowego.

Czymże w takim razie jest bytecode Javy jak nie kodem maszynowym?

Jest czymś pośrednim pomiędzy kodem źródłowym a maszyowym.
Kod maszynowy wykonuje się natywnie przez dany procesor.
Bytecode jest wykonywany przez maszyne wirtualną, która także jest programem, a więc musi sobie przetłumaczyć bytecode na stricte maszynowy danego procesora. Więc wciąż to będzie w jakiś sposób język interpretowany, tyle że nie z kodu źródłowego a bytecodu.
Jakub L.

Jakub L. Programista

Temat: Dalszy rozwój - wybór technologii

Andrzej K.:
Jakub L.:
Czymże w takim razie jest bytecode Javy jak nie kodem maszynowym?

Jest czymś pośrednim pomiędzy kodem źródłowym a maszyowym.
Kod maszynowy wykonuje się natywnie przez dany procesor.
Bytecode jest wykonywany przez maszyne wirtualną, która także

Co najmniej 13 lat temu pojawił się procesor wykonujący natywnie bytecode Javy: http://www.developer.com/tech/article.php/610041/A-Jav... (pierwszy link który znalazłem)
tu na początku jest lista ale link jest obrzydliwie długi.

Podobnie możesz twierdzić, że wraz z zejściem Amigi w architekturze 680x0 kody programów na Amigę magicznie stały się czymś pośrednim, bo są wykonywane na emulatorach a nie natywnie.
Albo kod (natywny) Androida - emulator jest oparty na QEMU, tak samo binarka androidowa która na telefonie wykonuje się odpowiednio na emulatorze jest wykonywana na emulowanym sprzęcie.
W przypadku Javy emulacja jest domyślna, ale bytecode jest językiem maszynowym.

Temat: Dalszy rozwój - wybór technologii

Jakub L.:
Co najmniej 13 lat temu pojawił się procesor wykonujący natywnie bytecode Javy: http://www.developer.com/tech/article.php/610041/A-Jav... (pierwszy link który znalazłem)
tu na początku jest lista ale link jest obrzydliwie długi.

Oczywiście. Ale to wyjątek nie reguła. Na zdecydowanej większości urządzeń potrzebna jest maszyna wirtualna.

Podobnie możesz twierdzić, że wraz z zejściem Amigi w architekturze 680x0 kody programów na Amigę magicznie stały się czymś pośrednim, bo są wykonywane na emulatorach a nie natywnie.

Oczywiście. Jeśli odpalasz je na emulatorze amigi na PC to programy stały się czymś pośrednim, bo bezpośrednio na PC ich nie uruchomisz.

Teoretycznie masz rację, ale spróbuj spojrzeć na temat bardziej praktycznie.
Albo kod (natywny) Androida - emulator jest oparty na QEMU, tak samo binarka androidowa która na telefonie wykonuje się odpowiednio na emulatorze jest wykonywana na emulowanym sprzęcie.
W przypadku Javy emulacja jest domyślna, ale bytecode jest językiem maszynowym.

OK. Maszynowym. Jakiej konkretnie maszyny? Weźmy pod uwagę te najpopularniejsze (a nie "wynalazki") i nie zapominajmy o systemach operacyjnych: Windows, OSX, Linux, Android. Na którym z nich program javowoy ruszy natywnie?
Robert P.

Robert P. Senior PHP Developer

Temat: Dalszy rozwój - wybór technologii

Jakub L.:
Czymże w takim razie jest bytecode Javy jak nie kodem maszynowym?
http://en.wikipedia.org/wiki/Bytecode zapraszam do lektury
Jakub L.:
Programista generalnie przegrywa z kompilatorem w dziedzinie optymalizacji > programu.

Nie zgodzę się. Programista ma o wiele większe pole manewru gdy wie co robi.
Jakub L.:
Ale przed Oakiem olali C++ i zaczęli tworzyć język od zera, właśnie Oaka: Gosling attempted to modify and extend C++ (which he referred to as "C++ ++ --") but soon abandoned that in favor of creating an entirely new language, which he called Oak, after the tree that stood just outside his office.

No spoko zgadzam sie ale wczesniej pisałeś, że w historii javy nie ma w ogóle odniesień do C++...

Jakub L.:
Składnia ma subtelne różnice, jak na przykład słówko finally.
Dziedziczenie jest okrojone do pojedynczego, programowanie generyczne i szablony zostały dopchnięte kolanem do Javy jak Microsoft zrobił C#, do Javy 1.4, czyli przez całe 8 lat tego nie było.
Takie coś się nazywa konwergencja.

Jaka konwergencja C# i JAVY? Najpierw porównujesz c++ i jave i mówisz, że te języki są całkowicie inne wrzucając słówko finally jako argument, a potem piszesz, że C# jest podobny do JAVY...
Podobne są na pewno z tym nie ma co polemizować, ale różnic jest wiele. Np więcej typów bazowych C#, różnica w typach prostych. Całkowicie inne podejście do słów kluczowych struct, class, brak obsługi wskaźników w javie, mechanizm delegatów, przeładowania operatorów itd...
Rafał Korszuń

Rafał Korszuń co-owner @ Kleder

Temat: Dalszy rozwój - wybór technologii

Andrzej K.:

Oczywiście. Ale to wyjątek nie reguła. Na zdecydowanej większości urządzeń potrzebna jest maszyna wirtualna.
(...)
OK. Maszynowym. Jakiej konkretnie maszyny? Weźmy pod uwagę te najpopularniejsze (a nie "wynalazki") i nie zapominajmy o systemach operacyjnych: Windows, OSX, Linux, Android. Na którym z nich program javowoy ruszy natywnie?

taki off - najpopularniejsza platforma javy to: http://www.oracle.com/technetwork/java/javacard/overvi...

smart cardy natywnie obsługują javę, kartę sim czy kartę bankomatowa z chipem raczej masz w swoim portfelu :)



Wyślij zaproszenie do