C++ | Java



  • Hi,

    ich wollte fragen: Was ist sinnvoller zu lernen JAVA | C++, wenn man schon Ahnung im Umgang mit OOP hat?

    CU



  • das ist schlicht und einfach ne Troll Frage .. 🙄 informier dich über die "üblichen Einsatzgebiete" und entscheide dann was du machen willst ... 🙄



  • das sorgt eh nur für einen Flamerwar, deswegen mach ich den Thread provisorisch schon mal dicht. (okay, ich lass ihn doch auf :))

    Ob du Java oder C++ lernst ist eigentlich egal, da die beiden Sprachen sich sehr ähneln und du wahrscheinlich wenn du C++ gut kannst auch leicht Java lernen kannst und umgekehrt (Java bekommt ja jetzt sogar Templates)

    [ Dieser Beitrag wurde am 07.05.2003 um 16:31 Uhr von kingruedi editiert. ]



  • Ok, ich bringe den Beweis das Trolls nicht doof sind.

    Also lerne am besten C++.

    Java kannste danach lernen und dann biste gut ausgerüstet.



  • Original erstellt von <Troll>:
    Ok, ich bringe den Beweis das Trolls nicht doof sind.

    Und? Wo ist dein Beweis? Ich sehe ihn nicht. :p

    Zum Thema: Was man zuerst lernt ist egal. Du wirst nach einer gewissen Zeit schon das Beste für dich finden. Programmieren können bedeutet ja nicht Programmiersprachen können, sondern diese spezielle Denkweise zu erlangen. Das kannst du in jeder Sprache. Wenn du die Grundprinzipien verstanden hast dann dauert es um die 2 Wochen eine neue Sprache zu erlernen. Klar gibt es immer Leute die sagen Java ist besser oder C++ ist besser. Gar nicht so wenige Leute programmieren immer noch in FORTRAN. Es kommt immer auf den Anwendungsfall an. 😉



  • Lisp



  • wenn jemand fragt Java oder C++ ist Lisp wohl keine Antwort.

    @KeineEntscheidung: Sag mal, was du mit der Sprache vorhast. Allgemein kann man das nicht sagen.



  • dazu musst du auch noch wissen das java sehr umständlich ist(finde ich zumindest). JVM, JDK, und das ganze OOP zeug das in java sehr sehr streng genommen wird.

    so sieht in c++ ne helloworld so aus:

    #include <iostream>
    
    using namespace std;
    
    int main(){
    cout<<"hello World!";
    return 0;//(oder was du willst, einige haben nen problem mit return 0)
    }
    

    und in java:
    [java]

    public class hello{

    public static void main(String args[]){
    System.out.print("hello World!");

    }

    }
    [/cpp]

    Ich wollte dir nur mal ein Bsp zeigen, die Entscheidung liegt bei dir und kommt drauf an was und wie du ein projekt machen möchtest....

    bye donay



  • @donay: er hat ja schon erfahrung mit OOP und es hat ja auch vorteile

    und C++ sollte man ja auch mit OOP benutzen
    wenn du nur sequentiell programmieren willst dann kannst du ja gleich C oder pascal nehmen

    regards

    gomberl



  • dazu musst du auch noch wissen das java sehr umständlich ist
    

    nee muß er nicht, weils nicht stimmt 🙂 (finde ich zumindest)

    der Java-Code selber is jedenfalls nicht umständlicher als objektorientierter C++ - Code. Und OO an sich is nur für Leute die es nicht kapiert haben umständlicher als strukturierter Code.



  • Original erstellt von gomberl:
    **@donay: er hat ja schon erfahrung mit OOP und es hat ja auch vorteile
    und C++ sollte man ja auch mit OOP benutzen
    wenn du nur sequentiell programmieren willst dann kannst du ja gleich C oder pascal nehmen
    regards
    **

    er sagte, es werde ZU streng genommen. damit hat er recht. oder wo hängt sqrt() rum?
    daß java generell umständlicher sei, ist meiner meinung nach aber eher flasch. die sprache ist zwar schlechter, das wird aber durch dir prima bibliothek ausreichend kompensiert. gerade kleinere programe sind in java einfacher zu machen.



  • sqrt() ist eine statische Methode der Klasse Math und ist damit meiner Meinung nach sehr gut untergebracht 🙂

    wieso sollte Java schlechter sein? Weil es nicht so überfrachtig ist mit Sprachelementen?



  • Original erstellt von crass:
    wieso sollte Java schlechter sein? Weil es nicht so überfrachtig ist mit Sprachelementen?

    ohje. flamewar komme.



  • Original erstellt von crass:
    sqrt() ist eine statische Methode der Klasse Math und ist damit meiner Meinung nach sehr gut untergebracht 🙂

    Aha, wieso?

    da wird doch eine klasse nur als namespace missbraucht - ich sehe da keinen sinn warum man sqrt nicht in den namespace math geben sollte...

    btw: eine static methode ist ja auch nur eine funktion (da sie kein (this) objekt hat) - insofern ist es ein irrglaube das alles OOP sei, was in Klassen steckt.

    ich sehe keinen vorteil darin
    class Math { static double sqrt(double d){ ... } }
    darin zu schreiben wenn eigentlich
    namespace Math { double sqrt(double d) { ... } }
    gemeint war, zu schreiben.

    eine Klasse sollte man (IMHO) nicht als namespace verwenden...



  • ja klar, Klassen werden in Java auch als eine Art Namespace für statische Funktionen verwendet. Imo wirklich ne feine Sache, anstatt wieder ein (überflüssiges) neues Sprachkonzept wie namespace einzuführen. Mit Mißbrauch hat das nix zu tun



  • außerdem gehört double sqrt(double) in die klasse double rein, wenn mans richtig machen will.



  • Original erstellt von volkard:
    außerdem gehört double sqrt(double) in die klasse double rein, wenn mans richtig machen will.

    Exakt!

    ein

    result=value.sqrt();

    liest sich auch viel besser als ein
    result=math.sqrt(value);

    was wenn ich nämlich math nicht kenne? (weil es uU nicht math sondern foobar ist - und das ist was total super tolles was nicht jeder kennt) - dann würde ich verzweifelt nach der foobar deklaration suchen 😞



  • da habt ihr wohl recht
    das ganze ist sogar mir zuwieder
    und ich habe java eigentlich fuer alles ganz gerne

    fuer viele dinge ist es halt ausreichend
    und es geht ja auch schneller

    wenn es dann gefinkelter wird macht es auch mit C++ und allen feinheiten davon (Templates, namespaces, STL, destruktoren, ....) mehr spass und ist auch sinnvoller

    dementsprechend
    zu jedem zwecke eine sprache 🙂

    gomberl



  • Original erstellt von Shade Of Mine:
    **
    was wenn ich nämlich math nicht kenne?(**

    ...dann hast du Glück, dass Java ausgezeichnet dokumentiert ist. So findest du meistens in kürzester Zeit, was du brauchst.

    ...und solche Funktionen, wie sqrt findet man ja sowieso in jedem Standard-Javabuch im Inhaltsverzeichnis.



  • Original erstellt von Shade Of Mine:
    **
    result=value.sqrt();

    liest sich auch viel besser als ein
    result=math.sqrt(value);
    (**

    BTW: Mit Java 1.5 werden statische Imports eingeführt. Damit kann das dann so aussehen:

    result=sqrt(value);

    ...also so ähnlich, als ob da in C++ vorher sowas wie "using namespace blah" stehen würde.

    [ Dieser Beitrag wurde am 09.05.2003 um 19:00 Uhr von Gregor editiert. ]


Anmelden zum Antworten