Programiści HTML5 i CSS3 nie istnieją…
Ten śmieszny żart przestał być śmieszny, gdy pojawiło się html5 oraz gruntopodobne aplikację.
Ja mam nadzieję, że ty żartujesz i to znaczy ten wielokropek.
Java -
1.Dobrze i łatwo dekompilować (Prawie każdy może mieć kod twego programu).
2.Szybko piszesz programy.
3.Na wiele maszyn.
4.Jest wolna.
C++ -
1.Trudna dekompilacja
2.Piszesz wolniej niż w javie.
3.Na pc i laptopy.
4.Jest wolniejsze od C ale nwm jak to się ma do javy.
Mógłbym doczepić się do każdego z tych punktów. Całość to “w sumie nieprawda”. Zaczynając od pierwszego punktu, gdzie można sprawić, by kod w javie był po dekompilacji bardzo nieczytelny.
A czego się uczyć? Zarówno C++ i Javy. Nadmiar wiedzy nikomu nie zaszkodził Z resztą trudno programistę nazwać programistą jeżeli zna tylko jeden język programowania i jedną technologie. (Nie)stety świat idzie do przodu i Java stanie się kiedyś bezużyteczna (lub o wiele mniej użyteczna niż dziś)
C i C++ są niemal tak samo szybkie, przy dobrym kompilatorze (a taki jest każdy dzisiejszy “mainstreamowy”, mam tu na myśli GCC, Clang, chyba VC - osobiście go nie testuję, ICC i Open64 - ten w benchmarkach wygrywa, w praktyce na równi z resztą) narzut przez obiektowość jest niewielki. A co do szybkości Javy - wolny start (do 10 razy, pesymistycznie), później ~20% wolniej (pesymistycznie) względem C/C++, nikt tego nawet nie odczuje przy aplikacjach użytkowych.
“3.Na pc i laptopy.” Co to ma do rzeczy? W C++ mogę zaprogramować toster, jeśli ma jakikolwiek procesor, a on chyba nie jest ani PC ani laptopem.
Popieram hubciorza - warto znać oba. A nawet i więcej. Każdy ma swoje zastosowania.
Używając dobrego dekompilatora zmienie pliki na .java, a jeśli chodzi o to że napiszesz nieczytelny kod to teraz ci powiem dobry programista znający jave i tak odczyta kod.
Nie zrobisz odpowiedniego formatu pliku żeby pracował przy starcie procesora.
A jeśli chodzi o znajomość wielu języków się przyda się nawet na znalezienie swojego ulubionego.
np.
Ja kocham Asembly ale pierwszego uczyłem się C++.
Idź spać… co ma proces kompilacji do pisania w c++? Na tostery możesz pisać w czym chcesz ważne żeby tokeny w wyniku parsowania zamienić na odpowiednie instrukcje tegoż procesora.
I opisz mi to jak ty to zamienisz?
Tak samo jak osoba znająca dobrze assemblera odczyta kod napisany w assemblerze…ale z całego serca nie życzę żadnemu Java developerowi odczytywania czegoś takiego :
http://www.semdesigns.com/products/obfu … ample.html
chyba nie masz pojęcia o programowaniu mikrokontrolerów:)
Nie trzeba żadnego formatu pliku, wystarczy znać model procesora, strukturę połączeń i po prostu wgrać mu Hexa, nie piszesz przecież binarki dla jakiegoś systemu operacyjnego, tylko gołego procesora.
A co do tej dekompilacji Javy - to samo dotyczy również platformy .NET, jakby ktoś nie wiedział.
Czy ty rozumiesz czym jest język programowania, a czym jest program?
Nic nie stoi na przeszkodzie, żeby napisać sobie kompilator, który będzie przyjmował takie same ciągi znaków (instrukcje) jak te w C++ czy Java, a i tak zostanie to zamienione na instrukcje procesora tostera. Nie zrobisz tego w Visual Studio (bo pewno tylko tyle znasz), tylko musisz znać zestaw instrukcji procesora, umieć używać lekserów oraz parserów i umieć pisać kompilatory. A to czy na wejściu będzie C++, Java czy C# nie ma znaczenia, to jest tylko umowa, zawarta miedzy twórca kompilatora a programistą.
To tak jakbyś twierdził, że javy nie można skompilować do binarki natywnej - można tylko nie będzie ona przenaszalna miedzy systemami czy procesorami o innych instrukcjach i nie zrobisz tego przy pomocy javac z pakietu Oracla. Rozróżnij język od programu i procesu kompilacji. Język to tylko protokół komunikacji w wyniku którego kompilator utworzy program.
A po co ma robić? Kompilatory C++ np. dla ARM są od dawna.
+1 za Red/REBOL. Teraz, gdy część kodu R3 jest aktywnie rozwijana przez deweloperów innych niż Carl S. oraz biorąc pod uwagę ostatnie usprawnienia zaimplementowane w Red (“obsługa JVM”) - oba projekty mają coraz większe szanse na powodzenie.
Na http://recode.revault.org/ są już dostępne materiały wideo z ostatniej konferencji w całkiem dobrej jakości.
Jak chcesz pisać szpanerskie apki na androida to java, a gdy chcesz brać się za coś ambitnego to weż c++
Ale zwróc uwage na uniwersalne języki jak asm czy python. A gdy myślisz o grach na winde to c#.