Java aus Sicherheitsgründen nicht lernen?

carpot

Cadet 4th Year
Registriert
Jan. 2007
Beiträge
113
Ich bin schon ein wenig älter und wollte meine grauen Zellen mal wieder aktivieren. Ich habe mich entschlossen, entweder C++ oder Java zu lernen. Java wäre schon ok, allerdings liest man immer über gravierende Sicherheitsmängel. Ich müsste das Java Kit auf meinem Rechner installieren, und genau da liegt mein Problem. Bringe ich meinen Rechner damit in Gefahr, nur um eine Programmiersprache zu erlernen? Sollte ich deshalb lieber C++ anfangen.

Vielen Dank im voraus.
 
Der unsichere Teil ist das Browserplugin, nicht Java an sich. Du kannst beruhigt Java lernen wenn du willst.
 
Java ist eine gute Sprache für den einstiegt. Und wie schon gesagt, Java an sich ist nicht gefährlich.
Alte Browser inclusive Plugins schon.
 
HominiLupus schrieb:
Der unsichere Teil ist das Browserplugin, nicht Java an sich. Du kannst beruhigt Java lernen wenn du willst.

Das ist so stark vereinfacht gesagt, dass es eigentlich falsch ist. Java ist extrem komplex und bietet deshalb eine riesige Angriffsfläche. Trotzdem zwingt einen ja niemand, diese Angriffsfläche auch zu präsentieren (außer beim Browserplugin halt). Deshalb sehe ich kein Problem darin, das zu installieren. Zumindest wenn man ausschließlich Sicherheitsbedenken hat.
 
Und C++ ist weniger komplex und "unsicher"? Der war aber gut! Den Lacher heute morgen hab ich gebraucht :)

Eine Programmiersprache ist nie "unsicher". Die Programme die man damit schreibt, die Laufzeitumgebung, die VM, aber nicht die Sprache.
Ein Javaprogramm welches lokal läuft ist genau gleich wie jedes andere Programm inkl. C++ Programme.
 
HominiLupus schrieb:
Und C++ ist weniger komplex und "unsicher"? Der war aber gut! Den Lacher heute morgen hab ich gebraucht :)
Habe ich nirgends behauptet

Eine Programmiersprache ist nie "unsicher". Die Programme die man damit schreibt, die Laufzeitumgebung, die VM, aber nicht die Sprache.
Habe auch nirgendwo behauptet, irgendeine Sprache wäre unsicher oder sogar Java wäre unsicher. Ich habe gesagt, komplexe Systeme bieten eine große Angriffsfläche und Java ist unzweifelhaft extrem komplex.

Edit:
Ein Javaprogramm welches lokal läuft ist genau gleich wie jedes andere Programm inkl. C++ Programme.
Und ich habe auch gesagt, dass man nicht gezwungen ist, die Angriffsfläche nach außen zu präsentieren. Und mit einem lokal laufenden Programm ohne Verbindung nach außen, tut man das auch nicht.

Was ist jetzt dein Problem genau? Habe ich gesagt, dein Supermanpüppchen ist voll doof und mein Batman ist viel cooler und dich dann mit Sand beworfen?
 
Zuletzt bearbeitet:
Unsicher lässt sich im Englischen in insecure und unsafe übersetzten. Diese beiden Konzepte meinen etwas vollkommen verschiedenes. Ein Programm, welches beispielsweise einen Speicherzugriffsfehler enthält (also eine Runtime-Exception) ist unsafe. Die Sicherheit des fehlerfreien Betriebs ist also nicht gewährleistet. Dieses Form von Sicherheit kompromittiert dein Entwicklersystem aber vorerst mal gar nicht. Es kommt irgendwann an, was du damit machst. Beispielsweise, wenn du beliebig viel Speicher belegst kann dein System irgendwann abschmieren. Aber das sind Probleme bei der Programmierung als solche.
Die Insecurity ist ein anderes Problem: In dem Moment wo du zum Beispiel eine Passwortauthentisierung, oder einen FTP Server selbst implementierst, musst du entsprechende Sicherheitsvorkehrungen treffen, sodass man diene Zugangskontrollmechanismen nicht aushebeln oder umgehen kann. Dies kommt aber erst zum Tragen, sobald du deine Software produktiv oder ungeschützt (öffentlich im WWW) betreibst.

Solange es dir ums Programmieren und das Erlernen der Sprache geht, gibt es keine Gefahren in diesem Sinne. Die gekapseltere Form ist hier jedoch Java: Die Virtuelle Maschine in der der Bytecode ausgeführt wird bietet dir z.B. die Sicherheit in die oben genannten Probleme bei z.B. Speicherlecks nicht laufen zu können. Es bleibt Geschmackssache.

Viele Grüße und gutes Gelingen.
 
Java ist eine super Sprache und für den Einstieg ideal!
Viel Spaß mit Java und Objekt orientierter Programmierung!
 
Erstmal danke an alle,

und bitte nicht die Köpfe einschlagen. Ich wollte einfach nur wissen, wenn ich Java installiere, ob mein PC wesentlich unsicherer wird, als er vielleicht sowieso ist. Ich werde also Java installieren und das Browser PlugIn deaktivieren.
 
C++ und Java sind von Schwierigkeitsgrad nicht wirklich vergleichbar.

C# und Java sind etwa gleich schwer und vom Syntax ähnlich.

Installiere dir einfach mal Visual Studio Express und Eclipse + Java und schaue was dir von der Bedienung besser gefällt.
 
gozza schrieb:
Installiere dir einfach mal Visual Studio Express und Eclipse + Java und schaue was dir von der Bedienung besser gefällt.

Ich gebe dir Recht. Aber Op sollte auch bedenken welche Ziele er mit der neu erlernten Sprache verfolgt. Webentwicklung, Grafische Implementierungen...?
 
Zuletzt bearbeitet:
IKäsebrot schrieb:
Ich gebe dir Recht. Aber Op sollte auch bedenken welche Ziele er mit der neu erlernten Sprache verfolgt. Webentwicklung, Grafische Implementierungen...?


Da rüber habe ich noch nicht wirklich Gedanken gemacht. Wie oben bei der Eröffnung geschrieben, will einfach meine grauen Zellen auffrischen. Man wird im Alter sonst noch senil. Ich würde z.B. Gerne einen nach meinen Vorstellungen, einen Taschenrechner, ein Memoryspiel usw. Kleine Programme halt.
 
carpot schrieb:
Da rüber habe ich noch nicht wirklich Gedanken gemacht. Wie oben bei der Eröffnung geschrieben, will einfach meine grauen Zellen auffrischen. Man wird im Alter sonst noch senil. Ich würde z.B. Gerne einen nach meinen Vorstellungen, einen Taschenrechner, ein Memoryspiel usw. Kleine Programme halt.

Dann würde ich dir eindeutig Java empfehlen (Meine Meinung!). Der Einstieg ist (imo) leichter. Und die Sprache eignet sich auch super für die von dir genannten kleinen Programme.

Das sag ich immer wenn hier Leute ankommen die Java lernen wollen, also hier nochmal. Für einen schnellen und bequemen Einstieg in OOP und Java kann ich "Java von Kopf bis Fuß" sehr empfehlen! Hat mir im Studium (erstes Semester) sehr geholfen!

Übrigens würde ich mir in deinem Fall keine Gedanken über Sicherheit machen! Frag mal lieber wer kein JDK auf seinem Rechner installiert hat :)

Gruß
 
Zuletzt bearbeitet:
Man sollte sich nur überlegen ob man nicht C# lernt, ist praktisch wie Java.
Ist ja nun Quelloffen und könnte in den nächsten Jahren einen Boom erfahren.

Für Java sind meine Buchempfehlungen:

1. "Jetzt lerne ich Java..." (Markt & Technik) - simpel gehalten, vermittelt Grundwissen, reicht sogar für die ersten Monate im Studium

2. "Java als erste Programmiersprache" - taugt nach dem obigen Buch, aber nichts für wirkliche Einsteiger

3. "Java Kompendium" - kein wirkliches Lehrbuch, beleuchtet nur mit kurzem Beispiel die Möglichkeiten in Java, top Ideen Geber was man noch lernen sollte
 
Zuletzt bearbeitet:
black90 schrieb:
Man sollte sich nur überlegen ob man nicht C# lernt, ist praktisch wie Java.
Ist ja nun Quelloffen und könnte in den nächsten Jahren einen Boom erfahren.
Wieso sollte man sich überlegen lieber C# zu lernen, wenn es praktisch wie Java ist?
Java hat schon einen "Boom" und ist dazu nicht nur für Windows verfügbar.

Ich denke man fährt besser erst Java zu lernen. Wenn man dann noch C# lernen will, ist es fast nur noch eine Eingewöhnung.
 
S.Kara schrieb:
Wieso sollte man sich überlegen lieber C# zu lernen, wenn es praktisch wie Java ist?
Java hat schon einen "Boom" und ist dazu nicht nur für Windows verfügbar.

Ich denke man fährt besser erst Java zu lernen. Wenn man dann noch C# lernen will, ist es fast nur noch eine Eingewöhnung.

Ich rieche holy war :D

An OP wie du siehst ist es reine Geschmackssache was du lernst, tu es einfach. Ich würde sagen, für C# und Java gilt.

Kannst du eine, kannst du beide.
 
Jede Sprache hat Vor- und Nachteile. Weil schon sehr viele positive Sachen über Java gesagt wurden, hier ein paar negative Dinge über Java, die erst bei großen Projekten auffallen:

- Java und Performance bleibt ein Problem. Java frisst auch viel Speicher. Auf einem Rechner unter 4GB RAM würde ich nie ein größeres Java Projekt ausführen. Früher oder später erhälst du einen schönen "Java heap space out of memory" Error. Noch geiler ist der Error "GC overhead limit exceeded", der dich immer wieder daran erinnert wie geil C/C++ ist.

- Java und Versionen. Es gibt so viele unterschiedliche Versionen von Java, dass dein Code garantiert nicht auf allen Versionen gleich gut läuft. Offiziell sollte ein Java v6 Programm mit allen Java v6+ Versionen laufen. Bei großen Projekten kannst du das vergessen. Die Versionen sind einfach nicht kompatibel, so kommt es vor, dass auf einem Rechner mehrere Java Versionen installiert sein müssen. C# hat dieses Problem nicht!
 
S.Kara schrieb:
Wieso sollte man sich überlegen lieber C# zu lernen, wenn es praktisch wie Java ist?
Java hat schon einen "Boom" und ist dazu nicht nur für Windows verfügbar.

Ich denke man fährt besser erst Java zu lernen. Wenn man dann noch C# lernen will, ist es fast nur noch eine Eingewöhnung.

Java hat einen Boom nach unten und zwar massiv. Siehe TIOBE Index.

Und das mit dem Heap hatte ich auch schon, liegt aber eher am Betriebssystem dass dem Prozess zu wenig RAM zuteilt und damit der Heap den Stack grüßt ;D
 
Zuletzt bearbeitet:

Ähnliche Themen

Zurück
Oben