Totale Newbiefrage ich weiss: Aber was kann man mit Java alles machen? Ich bin jetzt sehr viel im Internet am programmieren gewesen (PHP etc.) und möchte nun eine Programmiersprache auf dem Computer lernen (also eben, nichts, wasnur im Web anwendbar ist Und ich muss mich für eine Sprache entscheiden. Was kann Java was C++ nicht kann und umgekehrt? Kann man mit Java komplette Anwendungen proggen? Und so weiter...Bitte einfahc mal alles wissenswerte für nen bloody newbie aufschreiben..danke
Ja, mit JAVA kannst du richtige Anwedungen proggen und auch Applets für´s Web.
Wie schon erwähnt kannst du nichts hardwarenahes programmieren, falls dich das aber doch interessiert, würde ich dir C empfehlen, da es schneller ist als C++.
Für alles andere reicht JAVA.
Ja, mit JAVA kannst du richtige Anwedungen proggen und auch Applets für´s Web.
Wie schon erwähnt kannst du nichts hardwarenahes programmieren, falls dich das aber doch interessiert, würde ich dir C empfehlen, da es schneller ist als C++.
Was genau meint ihr mit Hardwarenah? Kann ich zum Beispiel so Fotoalben etc. in Java programmieren? Hat ja nix mit Hardware zu tun. Was schliesst alles Hardwarenah ein?
PS: Danke für die schnellen, vielen Antworten
Und welches Buch ist das Beste zum Anfangen? Programmierkentnisse (all die Kontrollstrukturen etc. ) hab ich schon
Das behaupte ich mal kann dir keine beantworten. Warum ausgerechnet Java - warum nicht ?
Java ist objektorientiert, d.h. man kann "leicht" die Realität abbilden. Java ist sehr mächtig (Anwendungen, Internet, Client-Server, Datenbank, XML usw usw) und plattformunabhängig.
Das kannst du aber auch auf viele andere Sprachen übertragen !!
Aber Java macht Spaß und du hast hier ein geiles Forum .... also warum nicht ?
Hm ok hast mich überzeugt Ne es ist halt so , dass ich im Studium im Herbst auch Java lernen muss Wollte mich nur schon informieren ob es sich auch jetzt schon lohnt rrein aus Interesse Java zu lernen und nicht C oder so. Aber demfall ist das so, denn gross mit Hardware will ich nix zu tun haben
Aus eigener Erfahrung kann ich dir Java empfehlen (im Gegensatz zu C) - meine Meinung - ich finde Java ist strukturierter und angenehmer zu arbeiten. Man kann zwar auch mit C "pseudo" objekt orientiert arbeiten, aber ich finde Java angenehmer !
Ja, mit JAVA kannst du richtige Anwedungen proggen und auch Applets für´s Web.
Wie schon erwähnt kannst du nichts hardwarenahes programmieren, falls dich das aber doch interessiert, würde ich dir C empfehlen, da es schneller ist als C++.
Denke schon, dass etwas damit zu tun hat. In C z.B., musst du alles manuell machen, was Speicher usw. angeht. In C++ und besonders JAVA geht vieles automatisch.
C ist an Assembler ziemlich angelehnt, auch wenn es deutlich einfacher ist zu erlernen. Trotzdem ist C fast genauso schnell wie Assembler.
Für mich steht fest, die nächste Sprache, die ich lernen will ist C, da es hardwarenah und sehr schnell ist. Warum nicht C++? Weil JAVA schon teilweise schneller ist als C++ und weil es C++ gegenüber sehr viele Vorteile hat, wie z.B. Sicherheit, es ist robust, die Anwedungen sind kleiner, automatische Speicherverwaltung etc.
mann da geht man kurz was essen und zack sind masig andere antowrten da
C ist an assembler angelehnt ?? die syntax von c istjawohl völlig ander als die "syntax" von asm.
Klar, aber C macht so ziemlich dasselbe wie Assembler. Will damit sagen, dass man bei C auch vieles manuell machen muss. Dass C an Assebler angelehnt ist, habe ich aus einem Buch, also wiedersprich mir nicht. :lol:
ja schon, c ist nunmal nicht so einfach wie java, und in C muss man ja schon fast alles selber machen. aber rein syntaktisch hat C mit assembler so wenig gemeinsam wie Java und html. aber technisch gesehen stimmt es ja, wobei ich sogar glaube, dass manche C compiler den c source erst in assembler umwandeln und dann in op code umgewandelt wird.. naja is ja egal
Reality hat gesagt.:
Dass C an Assebler angelehnt ist, habe ich aus einem Buch, als wiedersprich mir nicht. :lol:
Und nochwas, was man in Java kann und in anderen Sprachen nicht: Man kann Anwendungen für Handys programmieren. So ziemlich alle aktuell am Markt befindlichen Handymodelle haben eine KVM (Java Virutal Machine für Mobile Geräte) und man kann darauf sogenannte Java-MIDlets laufen lassen.
HandyGames kann man natürlich auch in C++ schreiben, aber nur wenige Handys (meist auf Symbian OS Basis) können damit auch was anfangen. Somit hat Java hier eindeutig die Nase vorne :lol:
@roar:
jedes c/c++ programm wird erst in assembler und dann in maschinencode umgewandelt . aber ich muss euch zustimmen. wenn man oop proggen will is java eindeutig bequemer als c++. aber wenn man schnelle/hardware bezogene sachen machen will is eindeutig c das beste.
aber ist schon lustig hier. man merkt, dass man in einem java-forum ist "in c muss man noch alles von hand machen". ich mag pointers... . und "new" is ganz isi. nur "delete" is schon bisl blöder geb ich zu. da muss man genau wissen WANN man jetzt deleten darf und wann nicht (man kannst natürlich auch gleich sein lassen wenn die anwendung ned zuviele "new's" hat ^^.
Java hat einen RIESEN Vorteil gegenüber C/C++ ... es ist platformunabhängig. Gerade das finde ich toll ... da ich zu Hause zwischen Windoof und Linux hin- und herwechsel habe ich Java-Programme schätzen gelernt.
Der Nachteil, dass man mit Java nicht hardwarenah programmieren kann ist aber auch gleichzeitig ein vorteil ... bei C/C++ musst du die ganze Zeit aufpassen, was du mit deinen Pointern machst ... eine unbedachte Anweisung und dein Programm stürzt ab. Da du bei Java nur mit Referenzen arbeitest hast du die Probleme nicht - natürlich kann man auch hier mit einer falschen Anweisung das Programm zum Absturz bringen ... aber dann bekomms du von der VM detaillierte Fehlermeldungen, die dir zeigen wo der Fehler aufgetreten ist. Frag mal 'nen C/C++-Programmierer nach 'nen "segmentation fault" ... da suchst du dich dumm und dusselig im Programmcode !!!
mit nem anständigen debugger und n bisl übung findest den pointerfehler aber auch "relativ" schnell. musst einfach massen von breakpoints setzen. bei jedem funktionsaufruf einen und dann in der funktion selber auch n haufen. dann findest meist recht schnell raus in welcher funktion der fehler auftritt.... .
aber die exceptions sind natürlich schon im einiges praktischer *g*.
Ist schon lustig wie sich JAVA - Programmierer über C und C++ auslassen. Ich bin in der glücklichen lage das ich Java, C, C++ und Assembler behersche. Jede Sprache hat ihre Vor- und Nachteile.
Zu Java :
+ Sehr viele einfach anzuwendenden Templates
+ Plattformunabhängig
- meines erachtens Speicherhungrig
- oftmals langsam
- Hardware zugriff nur über JNI
Zu C :
+ Schelle Programme
+ direkter Hardwarezugriff
+ direkter Zugriff auf fertige Templates des jeweiligen Betriebssystems
- plattform unhabhängigkeit nur begrenzt möglich und nur durch neu Compelieren
- eigene Speicherverwaltung (kein GarbageCollector)
Man kann die Listen sicherlich noch Erweitern. Man muß immer schauen worauf man in einem Projekt wert legt.
Ich muß Chris da wirklich rechtgeben. Ist doch sinnlos zu diskutieren, ob Java oder C++ besser ist. Kommt eben immer drauf an wofür man entwickelt und was man erreichen möchte.
Was viele übersehen, die Programmieren vor allem als Hobby betreiben ist der Kostenfaktor. Ein C++ Projekt ist (meist) deutlich aufwändiger als ein Java-Projekt und dann läuft es nur auf einer Plattform.