kostenloser Webspace werbefrei: lima-city


Porgrammieren in JAVA, warum nur so langsam? || OOP || C++

lima-cityForumProgrammiersprachenJava

  1. Autor dieses Themas

    k********l

    Hi Leute, nachdem ich nun ca 1 Jahr in der Schule mit der Peitsche gezwungen wurde C zu lernen
    beginnen wir jetzt JAVA zu lernen.
    Irgendwie fin ich ja JAVA recht nett, es scheint schon so einige Libs zu geben,
    die man einfach per import einfügen kann. Und es heißt auch das man mit Java schnell GUIs machen kann.
    Nur jetzt ist mir aufgefallen, das JAVA recht langsam ist, also auch schon bei einfachen Programmen,
    Ist das normal so? Kann man da was machen ?
    Wenn ich jetzt ein "einfaches" Konsollen Programmschreibe braucht Java schon recht lange....
    Warum also nicht bei C bleiben.

    Naja unser Prof meint für Objekt orientiertes Programieren (OOP) ist JAVA besser geeignet.
    Ich würde trotzdem gerne auch mit C++ bissal OOP lernen und GUIs
    Kennt vl jemand ein _einfaches_ Tutorial für C++ mit einer einfachen GUI ?

    Zuletzt hätte ich da auch noch ein Paar einfache (vl Blöde) OOP fragen.

    Wozu legt man eigentlich alle (die meisten) Attribute einer Klasse "private" an ?
    Nacher macht man ja doch nur "public" Methoden um darauf zuzugreifen ?
    Kann mir da vl jemand ein BSP sagen wo das nicht der fall ist ?

    Was ist eigentlich der Unterschied zw. "private" und "protected" ?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. e********l

    @java langsam: Programm wird zunächst in die Virtuelle Maschine geladen, dann wird der Bytecode analysiert und übersetzt und dann erst wird der Code ausgeführt sofern er gültig ist. Wenn das nicht der Fall ist beendet sich die Anwendung. Generell finde ich Java nicht mehr so langsam, vielleicht sind eure Rechner nur zu schwach.
    Das C/C++ Programme beim starten schneller sind ist klar, schließlich liegen die bereits in Binärform vor und können direkt von der CPU verarbeitet werden. Etwaige Prüfungen finden dort auch nicht statt.

    @OOP: Üben, üben, üben. Das Buch gibt dir nur die Theorie, die Praxis und das tiefere Verständnis für OOP kommt mit der Praxis.

    @private/protected: private ist wie der Name schon sagt privat. Eine privat deklarierte Methode/Variable ist nur von der Klasse in der sie definiert ist aufrufbar. Protected variablen/methoden können von Klassen die sich von der jeweiligen Klasse ableiten oder im selben Package residieren aufgerufen werden.

    @getter/setter: Weil man nicht für jede private variable letzten Endes einen Getter/Setter haben wird und vor allem kann man so verhindern das ungültige Eingaben getätigt werden. Oder hast du es schonmal geschafft an einem Bankautomaten Minus Beträge abzuheben? Für sowas sind Setter gut, sie überprüfen den übergebenen Wert und schmeißen bei Bedarf eine Fehlermeldung oder setzen einen Defaultwert.

    All das sollte euch aber eigentlich euer Lehrer am Anfang bereits beigebracht haben, sonst taugt er nicht viel.


    Beitrag geändert: 29.11.2007 14:07:29 von evil-devil
  4. Ein weiterer Sinn von Private und Protect Variablen sind folgende:
    -Ungewolltes Überschreiben wird vorgebeugt. (Es kann immer mal passieren, dass man ausversehen auf den falschen Zeiger schreibt und plötzlich eine Objektvariable überschreibt. Was passieren kann liegt auf der Hand.)

    -Privates und Protected können nicht einfach so ausgelesen werden. Deshalb kann man in solchen auch einfach mal Passwörter speichern oder so.

  5. ich find auch nicht das java langsam ist zwar dauerts n bissl länger bis es geladen ist aber danach läuft alles paletti
    ich denke auch eher das da der pc recht langsam ist
  6. Autor dieses Themas

    k********l



    reimann schrieb:
    ich find auch nicht das java langsam ist zwar dauerts n bissl länger bis es geladen ist aber danach läuft alles paletti
    ich denke auch eher das da der pc recht langsam ist

    Eigentlich habe ich einen wie ich finde durchschnittlichen PC.
    Und da sollte es doch möglich sein die Programm angenemm schnell auszuführen, wenns nciht gerade 3D-Graphik oder irgendwelche extremen Physikberechnungen durchführt.

    evil-devil schrieb:
    ..n die Virtuelle Maschine geladen, ...

    Hmm an die hab ich gar nicht gedacht ...

    Danke für die verständlichere Ekllärung von public/private, unser Prof wird uns dass noch nicht so genau erklärt haben, weil wir erst eine Stunde hatten :)

    Naja an Java komm ich jetzt mal wohl oder Übel nciht vorbei, nachdem wir gerade erst begonnen haben damit. Naja es wäre dennoch net wenn ich selbiges auch in C++ könnte. So GUIs ... das wär schon was oder vl doch zuerst in JAVA.

  7. benutzernaemelchen

    Kostenloser Webspace von benutzernaemelchen

    benutzernaemelchen hat kostenlosen Webspace.


    Naja an Java komm ich jetzt mal wohl oder Übel nciht vorbei, nachdem wir gerade erst begonnen haben damit. Naja es wäre dennoch net wenn ich selbiges auch in C++ könnte. So GUIs ... das wär schon was oder vl doch zuerst in JAVA.

    Du kannst GUIs auch in C++ machen. Wenn du aber nur mit der WinAPI arbeitest, kommst du ganz schnell wieder zu Java zurück ;)
    Außer dem ist es mit Swing nichtmal soo langsam.
  8. Autor dieses Themas

    k********l

    Naja würds gerne mit beiden machen.
    Nur WinAPI kommt eh nicht in frage, weil ich die Programme auch auf Linux Portieren will.
    Dabei ein klares Plus für JAVA, aber wenn man in C++ gute Code schreibt (für GUI QT oder seh ich das falsch?) sollte das ja auch möglich sein!
    Muss man hald 2 mal compilieren oder seh ich das Falsch ?

    Denke da gerade ein ein kleine Aplikation mit Datenbank an bindung (SQLite oder kennt wer was besseres/bzw hatt überhabt erfahrungen ?)

  9. e********l

    Es gibt keinen "guten Code". Es gibt nur schlecht strukturierte Programme ;)
  10. s*************9

    java ist grundsätzlich nicht langsam, kann aber langsam programmiert werden....:)
  11. hast du eine ahnung(nicht das ich dich jetzt für \"dumm\" halte^^), aber ich hab ein javaprog geschrieben, und danach exact in c++ kopiert(nur halt syntaxangleichungen) und c++ war doppelt so schnell. Das liegt daran, dass der JavaByteCode interpretiert wird und C++ einmal kompiliert wird und dann gleich ausgeführt wird.

    Thema GUI:
    Ich hab früher häufig versucht C++ zu lernen und GUIs zu erzeugen. Hab aber immer schnell wieder aufgehört, weil ichs nicht verstanden habe^^
    Jetzt hab ich an der Uni JAVA gelernt(aber nur konsolenanwendungen). Dann fand ich JAVA so toll, dass ich geleich mit GUIs weitergemacht habe und ich muss sagen, es war echt einfach.
    => GUI in Java ist sehr leicht(sogar wenn man davor mit VB gearbeitet hat) in C++ ist es denke ich nicht so einfach(wenn man mal schaut, was es für tools gibt, um GUIs in C++ zu erstellen und wie viele es in Java gibt(mir istt keine bekannt, weil man einfach javax.swing importiert)).


    Aber das Thema ist ziemlich alt^^


    Mfg


    Beitrag geändert: 13.3.2008 13:30:36 von grizzlybaer
  12. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!