JAVA, C++, Delphi - IT-Klasse



  • Streiten sich 3 freut sich der 4 🙂 . Ich würde dir c++ empfehlen.
    -Ich meine java ist 1. (finde ich) schwerer als c++
    2. ist java ja ich 2 "teile" ( das nenne ich mal einfach so) aufgeteilt- nähmlich applets und applikationen und für applets solltest du html können.
    - Und delphi und vb kommen nicht in frage ( auch wen die sprachen nochnicht tot sind, sind sie trotzdem scheiße)

    Ich hoffe ich hab mir jetzt nicht zuviel feinde gemacht... 🙂



  • oh, oh, oh Gamer,

    nie im Leben C++ für Anfänger!!! Das führt nur zu Riesenverwirrung.
    Java ist einfacher als C++. Vor allem wegen der guten Doku die Sun bietet. Und die "2 Teilung" ist auch kein Problem. Für Applets braucht man kein HTML. Die zwei Zeilen sollte man nicht als HTML-Kenntnisse darstellen.

    Aber auch Java ist nicht die beste Anfängersprache. Delphi ist da um einiges besser. Und außerdem ist es nicht tot. Es gibt einige große Software-Systeme die in Delphi implementiert sind.

    So, das war meine Meinung!

    Ciao



  • TuneUp Utilities sind in Delphi geschrieben 👍

    Wer Delphi für tot befindet, sollte sich selbst erschießen 👎



  • Ich hab auch mit c++ angefangen 😞
    Zum vergleich:

    class CHalloCplusplus
    {
    public static void main (String[] args)
    {
    System.out.println("Hallo Cplusplus");
    }
    }
    
    #include <iostream>
    main() {
    cout << "Hallo Cplusplus";
    }
    

    Ok ich gebe zu zeile 2 ist nicht ganz korekt, aber mein compiler nihmt es an 😉
    PS: ich hab nicht gesagt das delphi und vb tot sind.



  • gamer schrieb:

    PS: ich hab nicht gesagt das delphi und vb tot sind.

    aber paar so trolls wie "totgesagte leben länger" oder "volkard" behaupten so'n dünnpfiff 😡



  • gamer schrieb:

    Ich hab auch mit c++ angefangen 😞
    Zum vergleich:

    class CHalloCplusplus
    {
    public static void main (String[] args)
    {
    System.out.println("Hallo Cplusplus");
    }
    }
    
    #include <iostream>
    main() {
    cout << "Hallo Cplusplus";
    }
    

    Toller Vergleich. Da hab ich auch einen:

    public class TestPrime
    {
       public static void main (String[] args)
       {
          int end = 1000000000;
          long time = System.currentTimeMillis ();
          int [] sieve = new int [(end >> 5) + 1];
          int x, y, i;
          int primes = 1;
          int sqrt = (int)Math.sqrt((double)end);
          x = 3;
          while (x <= sqrt)
          {
             if ((sieve[x >> 5] & (0x1 << (x & 0x1f))) == 0)
             {
                y = x * x;
                i = x << 1;
                ++primes;
                while (end > y)
                {
                   sieve[y >> 5] |= (0x1 << (y & 0x1f));
                   y += i;
                }
             }
             x += 2;
          }
          while (x <= end)
          {
             if ((sieve[x >> 5] & (0x1 << (x & 0x1f))) == 0) ++primes;
             x += 2;
          }
          System.out.println ("Zwischen 0 und " + end +
                              " liegen " + primes + " Primzahlen.");
          System.out.println ("GesamtZeit : " +
                              (System.currentTimeMillis () - time) +
                               " Millisekunden");
       }
    }
    
    #include<iostream>
    #include<time.h>
    #include <cmath>
    
    int main ()
    {
       const int end = 1000000000;
       const long startTime = (long)time(NULL);
       const int arraySize = (end >> 5) + 1;
       int sieve [arraySize];
       for (int i = 0 ; i < arraySize ; ++i)
       {
          sieve[i] = 0;
       }
       int x, y, i;
       int primes = 1;
       const int sqrtEnd = (int)sqrt((double)end);
       x = 3;
       while (x <= sqrtEnd)
       {
          if ((sieve[x >> 5] & (0x1 << (x & 0x1f))) == 0)
          {
             y = x * x;
             i = x << 1;
             ++primes;
             while (end > y)
             {
                sieve[y >> 5] |= (0x1 << (y & 0x1f));
                y += i;
             }
          }
          x += 2;
       }
       while (x <= end)
       {
          if ((sieve[x >> 5] & (0x1 << (x & 0x1f))) == 0) ++primes;
          x += 2;
       }
       std::cout << "Zwischen 0 und " << end << " liegen " << primes << " Primzahlen." << std::endl;
       std::cout << "GesamtZeit : " << ((long)time(NULL) - startTime) << " Sekunden" << std::endl;
    }
    

    Huh?! Was sagt uns das jetzt?



  • Dich meinte ich ja gar nicht.

    Im Java-Prog is auch noch was nicht ganz richtig 😉

    Aber es sind nicht die "kleinen" Sachen die C++ schwieriger machen. Es sind z.B. der Umgang mit Zeigern, das System mit den Header-Files ...

    Ein anderer Punkt ist das Anfänger gerne etwas auf dem Bildschirm sehen und auch draufklicken wollen. Das kann einem C++ nicht so einfach bieten wie Delphi oder Java.

    Ciao



  • Naja also ich hab mit 14 angefangen c++ zu lernen und hatte bis heute nie probleme ⚠



  • n00bs schrieb:

    gamer schrieb:

    PS: ich hab nicht gesagt das delphi und vb tot sind.

    aber paar so trolls wie "totgesagte leben länger" oder "volkard" behaupten so'n dünnpfiff 😡

    ey ich hab nur vb gemeint und damit hatte ich recht.



  • gamer schrieb:
    Ich hab auch mit c++ angefangen :(
    Zum vergleich:
    Code:
    class CHalloCplusplus
    {
    public static void main (String[] args)
    {
    System.out.println("Hallo Cplusplus");
    }
    }
    Code:
    class CHalloCplusplus
    {
    public static void main (String[] args)
    {
    System.out.println("Hallo Cplusplus");
    }
    }
    Code:
    class CHalloCplusplus
    {
    public static void main (String[] args)
    {
    System.out.println("Hallo Cplusplus");
    }
    }
    
    Code:
    #include <iostream>
    main() {
    cout << "Hallo Cplusplus";
    }
    Code:
    #include <iostream>
    main() {
    cout << "Hallo Cplusplus";
    }
    Code:
    #include <iostream>
    main() {
    cout << "Hallo Cplusplus";
    }
    
    Toller Vergleich. Da hab ich auch einen:
    Java Code:
    public class TestPrime
    {
       public static void main (String[] args)
       {
          int end = 1000000000;
          long time = System.currentTimeMillis ();
          int [] sieve = new int [(end >> 5) + 1];
          int x, y, i;
          int primes = 1;
          int sqrt = (int)Math.sqrt((double)end);
          x = 3;
          while (x <= sqrt)
          {
             if ((sieve[x >> 5] & (0x1 << (x & 0x1f))) == 0)
             {
                y = x * x;
                i = x << 1;
                ++primes;
                while (end > y)
                {
                   sieve[y >> 5] |= (0x1 << (y & 0x1f));
                   y += i;
                }
             }
             x += 2;
          }
          while (x <= end)
          {
             if ((sieve[x >> 5] & (0x1 << (x & 0x1f))) == 0) ++primes;
             x += 2;
          }
          System.out.println ("Zwischen 0 und " + end +
                              " liegen " + primes + " Primzahlen.");
          System.out.println ("GesamtZeit : " +
                              (System.currentTimeMillis () - time) +
                               " Millisekunden");
       }
    }
    Java Code:
    public class TestPrime
    {
    public static void main (String[] args)
    {
    int end = 1000000000;
    long time = System.currentTimeMillis ();
    int [] sieve = new int [(end >> 5) + 1];
    int x, y, i;
    int primes = 1;
    int sqrt = (int)Math.sqrt((double)end);
    x = 3;
    while (x <= sqrt)
    {
    if ((sieve[x >> 5] & (0x1 << (x & 0x1f))) == 0)
    {
    y = x * x;
    i = x << 1;
    ++primes;
    while (end > y)
    {
    sieve[y >> 5] |= (0x1 << (y & 0x1f));
    y += i;
    }
    }
    x += 2;
    }
    while (x <= end)
    {
    if ((sieve[x >> 5] & (0x1 << (x & 0x1f))) == 0) ++primes;
    x += 2;
    }
    System.out.println ("Zwischen 0 und " + end +
    " liegen " + primes + " Primzahlen.");
    System.out.println ("GesamtZeit : " +
    (System.currentTimeMillis () - time) +
    " Millisekunden");
    }
    }
    Java Code:
    public class TestPrime
    {
       public static void main (String[] args)
       {
          int end = 1000000000;
          long time = System.currentTimeMillis ();
          int [] sieve = new int [(end >> 5) + 1];
          int x, y, i;
          int primes = 1;
          int sqrt = (int)Math.sqrt((double)end);
          x = 3;
          while (x <= sqrt)
          {
             if ((sieve[x >> 5] & (0x1 << (x & 0x1f))) == 0)
             {
                y = x * x;
                i = x << 1;
                ++primes;
                while (end > y)
                {
                   sieve[y >> 5] |= (0x1 << (y & 0x1f));
                   y += i;
                }
             }
             x += 2;
          }
          while (x <= end)
          {
             if ((sieve[x >> 5] & (0x1 << (x & 0x1f))) == 0) ++primes;
             x += 2;
          }
          System.out.println ("Zwischen 0 und " + end +
                              " liegen " + primes + " Primzahlen.");
          System.out.println ("GesamtZeit : " +
                              (System.currentTimeMillis () - time) +
                               " Millisekunden");
       }
    }
    
    C/C++ Code:
    #include<iostream>
    #include<time.h>
    #include <cmath>
    
    int main ()
    {
       const int end = 1000000000;
       const long startTime = (long)time(NULL);
       const int arraySize = (end >> 5) + 1;
       int sieve [arraySize];
       for (int i = 0 ; i < arraySize ; ++i)
       {
          sieve[i] = 0;
       }
       int x, y, i;
       int primes = 1;
       const int sqrtEnd = (int)sqrt((double)end);
       x = 3;
       while (x <= sqrtEnd)
       {
          if ((sieve[x >> 5] & (0x1 << (x & 0x1f))) == 0)
          {
             y = x * x;
             i = x << 1;
             ++primes;
             while (end > y)
             {
                sieve[y >> 5] |= (0x1 << (y & 0x1f));
                y += i;
             }
          }
          x += 2;
       }
       while (x <= end)
       {
          if ((sieve[x >> 5] & (0x1 << (x & 0x1f))) == 0) ++primes;
          x += 2;
       }
       std::cout << "Zwischen 0 und " << end << " liegen " << primes << " Primzahlen." << std::endl;
       std::cout << "GesamtZeit : " << ((long)time(NULL) - startTime) << " Sekunden" << std::endl;
    }
    C/C++ Code:
    #include<iostream>
    #include<time.h>
    #include <cmath>
    
    int main ()
    {
    const int end = 1000000000;
    const long startTime = (long)time(NULL);
    const int arraySize = (end >> 5) + 1;
    int sieve [arraySize];
    for (int i = 0 ; i < arraySize ; ++i)
    {
    sieve[i] = 0;
    }
    int x, y, i;
    int primes = 1;
    const int sqrtEnd = (int)sqrt((double)end);
    x = 3;
    while (x <= sqrtEnd)
    {
    if ((sieve[x >> 5] & (0x1 << (x & 0x1f))) == 0)
    {
    y = x * x;
    i = x << 1;
    ++primes;
    while (end > y)
    {
    sieve[y >> 5] |= (0x1 << (y & 0x1f));
    y += i;
    }
    }
    x += 2;
    }
    while (x <= end)
    {
    if ((sieve[x >> 5] & (0x1 << (x & 0x1f))) == 0) ++primes;
    x += 2;
    }
    std::cout << "Zwischen 0 und " << end << " liegen " << primes << " Primzahlen." << std::endl;
    std::cout << "GesamtZeit : " << ((long)time(NULL) - startTime) << " Sekunden" << std::endl;
    }
    C/C++ Code:
    #include<iostream>
    #include<time.h>
    #include <cmath>
    
    int main ()
    {
       const int end = 1000000000;
       const long startTime = (long)time(NULL);
       const int arraySize = (end >> 5) + 1;
       int sieve [arraySize];
       for (int i = 0 ; i < arraySize ; ++i)
       {
          sieve[i] = 0;
       }
       int x, y, i;
       int primes = 1;
       const int sqrtEnd = (int)sqrt((double)end);
       x = 3;
       while (x <= sqrtEnd)
       {
          if ((sieve[x >> 5] & (0x1 << (x & 0x1f))) == 0)
          {
             y = x * x;
             i = x << 1;
             ++primes;
             while (end > y)
             {
                sieve[y >> 5] |= (0x1 << (y & 0x1f));
                y += i;
             }
          }
          x += 2;
       }
       while (x <= end)
       {
          if ((sieve[x >> 5] & (0x1 << (x & 0x1f))) == 0) ++primes;
          x += 2;
       }
       std::cout << "Zwischen 0 und " << end << " liegen " << primes << " Primzahlen." << std::endl;
       std::cout << "GesamtZeit : " << ((long)time(NULL) - startTime) << " Sekunden" << std::endl;
    }
    

    Toll, aber ich hab dass auf eine einfache textausgabe bezogen.
    Ach und unterschätz mich mal lieber nicht sonst mach ich aus deinen 41 zeilen c++ code gleich 31 dan hat c++ wieder gewonnen



  • gamer schrieb:

    Toll, aber ich hab dass auf eine einfache textausgabe bezogen.
    Ach und unterschätz mich mal lieber nicht sonst mach ich aus deinen 41 zeilen c++ code gleich 31 dan hat c++ wieder gewonnen

    Darum geht es doch gar nicht. Eigentlich sollte aus den beiden Vergleichen hervorgehen, dass es auf diesem Level nur geringe strukturelle Unterschiede zwischen den Sprachen gibt. ...bzw., dass man Programme in dieser Art in beiden Sprachen relativ ähnlich schreiben kann (wobei ich nicht bezweifele, dass man die Programme auch völlig anders und sehr sprachspezifisch schreiben kann).

    Auf so einem Level kommt bei einem Vergleich, der irgendwie "Sprachkomplexität" oder so zeigen soll, nicht viel bei raus. ...und viel weiter kommen die in der Schule in einem Halbjahr eh nicht.



  • gamer schrieb:

    Ach und unterschätz mich mal lieber nicht sonst mach ich aus deinen 41 zeilen c++ code gleich 31 dan hat c++ wieder gewonnen

    Das du die "Qualität" einer Programmiersprache in Anzahl der Codezeilen misst
    zeigt das du
    1.) keine Ahnung von Programmierung/Programmiersprachen hast.
    2.) die Frage des Thread-Erstellers, meines Erachtens, überhaupt nicht verstanden
    hast.



  • Delphi ist ein Orakel in Griechenland,
    Java eine Insel,
    bleibt nur noch C++ :p



  • C++ ist eine Programmiersprache von Bjarne Stroustrup.



  • java! schrieb:

    vb wird den programmierstil total versauen, delphi zwar auch aber nicht so extrem.

    falsch. andersrum ist es richtig. vb versaut den stil nicht, aber delphi versaut ihn. und c wäre am schlimmsten.
    das hat nämlich was mit der ähnlichkeit der folgesprache zu tun. die leute, die sich schrecklichkeiten in c angewöhnt haben, machen die in c++ genauso weiter. die leute von delphi haben leider sehr viel dogmatischen und veralteten unfug im nähkästchen. single-entry/single-exit, um mal einen der knaller zu nennen. das legen sie auch nicht so schnell ab. im gegenteil, viele pascaller vertreten den kram selbst in c++ sprachen weiter. und vb hat viel abstand. besser noch man nimmt qbasic. man kann prima schleifen und so üben. und dann geht man irgendwann zu c++ über und kann bereits programmieren, nur lernt man es jetzt richtig. nur noch mickrig kleine funktionen und so. die schüler können vb und c++ sehr fein trennen. auch, was den stil angeht.

    daher ist es kein schlechter trick, im ersten halbjahr mit qb zu üben und danach erst nach c++ umzusteigen (und java zu überspringen). der kurs wäre dann auf 4 semster länge ausgelegt und mit ein paar hausaufgaben sogar. grundsätzlich triviale hausaufgaben, nix schwieriges, muss nur die leute zwingen, auch mal daheim den rechner zu was andeem als gamez zocken zu benutzen. aber ich stelle mir immernoch ein 11. schuljahr vor.



  • volkard schrieb:

    falsch. andersrum ist es richtig. vb versaut den stil nicht, aber delphi versaut ihn. und c wäre am schlimmsten.
    das hat nämlich was mit der ähnlichkeit der folgesprache zu tun. die leute, die sich schrecklichkeiten in c angewöhnt haben, machen die in c++ genauso weiter.

    Auf welche "Schrecklichkeiten von C" beziehst du dich?



  • wahrscheinlich auf alle!



  • bezug schrieb:

    wahrscheinlich auf alle!

    Ich wüßte gerne, was genau er so schrecklich findet.



  • audacia schrieb:

    Auf welche "Schrecklichkeiten von C" beziehst du dich?

    auf riesige funktionen, die mehr als 10 zeilen haben. auf open-close-paare. auf makros, wo konstanten oder inline ginge. auf fehlercodes statt exceptions. auf switch statt virtual. auf wildes gecaste. auf ++ und -- in ausdrücken, die noch was anderes machen. auf riesige parameterlisten. auf riesige dateien mit ganz vielen sachen drin. auf globale variablen.



  • Das du die "Qualität" einer Programmiersprache in Anzahl der Codezeilen misst
    zeigt das du
    1.) keine Ahnung von Programmierung/Programmiersprachen hast.
    2.) die Frage des Thread-Erstellers, meines Erachtens, überhaupt nicht verstanden
    hast.
    

    ??? wir reden aber überhaupt garnicht über die qualität ... Ausserdem: warum meint jeder eigentlich besser prgrammieren zu können als ich (das fängt wirklich an zu nerven, ich fühl mich als wäre ich im kindergarten - kann sich nicht mal ein richtiger (kommerzieller) programmierer melden ??? [ich fühle mich hier nämlich so hilflos])


Anmelden zum Antworten