kostenloser Webspace werbefrei: lima-city


Umstieg von Java

lima-cityForumProgrammiersprachenPython

  1. Autor dieses Themas

    pio24

    pio24 hat kostenlosen Webspace.

    Hey,
    ich habe nur Java gelernt, hab aber gehört Python ist leichter.
    Stimmt das bzw. was ist ähnlich und was ist anders?

    Danke
    LG
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. Hm kommt drauf an wie man es sieht. Java schadet nicht zu lernen, ich weiß nicht auf was genau du abzielst mit deiner Frage aber allgemein ist es so das man eine Sprache kann dann kennt man sich im Bereich Programmierung schon mal echt gut aus und jede weitere sollte auch gut möglich sein zu erlernen. Vieles ist ja ähnlich. Ich meine überall gibts Verzweigungen und Schleifen. Durch Java kennst du auch die ganzen Datentypen.

    Also nehmen wir mal einfach ein Beispiel, du willst ja wissen ob es einfacher ist.
    In Java schreibst du ein "Hello World" Programm wie folgt:
    class HelloWorld {
        public static void main(String[] args) {
            System.out.println("Hello World");
        }
    }


    Dann schreiben wir dasselbe mal in Python:
    print “Hello World”


    Du beendest in Python deine Zeilen ohne Semikolon und wie du siehst es ist nur eine einzige Zeile.
    Außerdem musste nicht den Datentyp angeben, nehmen wir also auch dafür mal ein Beispiel:
    counter = 11 # int
    miles   = 237.42 # float
    name    = "pio24" # string


    # leitet einen einzeiligen Kommentar ein und mehrzeilig würdest mit """ und ebenfalls """ wieder beenden. Naja wie gesagt Python hat sicherlich auch seine Vorzüge aber jeder mag eine Sprache eben lieber als andere... . Das musst du für dich entscheiden in welcher du programmieren möchtest bzw. bevorzugt programmierst. Je nachdem was du machst musst du ja für deinen Job eine bestimmte Sprache können. Aber um auf deine Frage zurück zu kommen, ja Python ist teilweise einfacher oder vll. auch einfach weniger Schreibaufwand.
  4. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    Was eventuell auch noch erwähnenswert ist: Python ist eine Skriptsprache, während Java zu Bytecode compiliert wird. Dadurch hat Python deutlich mehr Flexibilität, und du kannst Dinge auf eine Art erledigen, die in Java gar nicht oder nur schwer möglich ist. So Sachen wie Lambdas usw sind in Python fixer Bestandteil, in Java wurde das alles erst viel später »dazugebastelt«, und genau so fühlt es sich in Java auch an: wie ein Fremdkörper, der da nicht reinpasst.

    Du kannst in Python auch sehr einfach mit Listen/Maps arbeiten, viel einfacher als in Java: du willst einem Array ein Element anhängen? Kein Problem. Die Liste Element für Element durchgehen und dabei eine neue Liste bauen, ganz ohne Streams mit .map usw? Kein Problem. Es geht aber auch noch weiter: beliebige Methoden als Parameter an Funktionen übergeben, dynamisch zur Laufzeit Eigenschaften/Methoden von Objekten vorgaukeln, oder bei »objekt.x = 7« eine Funktion aufrufen, Objekte nach deinen Regeln multiplizieren, …? Kein Problem, denn so ziemlich das gesamte Verhalten von Objekten lässt sich frei bestimmen (per Operator-Overloading). Oder noch interessanter: Funktionen mit benannten Parametern, die in einer beliebigen Reihenfolge beim Aufruf angegeben werden können, oder gar beliebige, dynamische Funktionsparameter. Das sind alles Sachen, die du in Java vergeblich suchen wirst.

    In Java ist halt alles statisch, muss in Objekten verpackt werden, auch wenn Objekte gar nicht nötig sind, und insgesamt wird man zu viel Code für wenig Funktion gezwungen. In Python hast du die Freiheit (fast) tun zu können was du willst, und wenn du z.B. keine Objekte brauchst, musst du nicht zwanghaft welche Anlegen.

    Zu beachten ist noch die Versionssache: es gab einen Versionssprung, der Inkompatibilitäten einführte, und so gibt es heute 2 Python-Versionen: 2 und 3. Wenn du neu etwas zu schreiben beginnst, solltest du Python 3 nutzen, aber da kann es dir passieren, dass genau die Bibliothek, die du unbedingt brauchst, nicht für Python 3 verfügbar ist. Allerdings gibt es in Python 3 einige Dinge, die man gerne nutzen können mag, die es in Python 2 aber noch nicht gibt, also ist »immer Python 2« auch keine sinnvolle Alternative. Teilweise ist es aber auch möglich Code zu schreiben, der sowohl unter Python 2 als auch Python 3 läuft.

    Python ist jedenfalls einen Blick wert, und viele Probleme lassen sich darin viel schneller formulieren als in Java. Java solltest du aber dennoch nicht vergessen, denn abgesehen von der deutlich höheren Geschwindigkeit wirst du im Bereich von Geschäftsanwendungen praktisch nicht viel anderes als Java EE finden, und auch die Unterstützung durch andere Hersteller (z.B. Datenbankhersteller) ist bei Java besser. Es kommt halt (wie so oft) auf den Einsatzzweck an.
  5. Also dem Meisten kann ich hier zustimmen, aber Python ist definitiv keine Skriptsprache. Die Vorteile bei Python sind einfach, dass man nicht kompilieren muss usw. was oben bereits erwähnt wurde. Der Nachteil ist aber die Laufzeit. Python ist wesentlich langsamer als Java (oder C++). Wenn es auf die Laufzeit ankommt dann ist Python auf keinem Fall zu empfehlen. Wenn du eh schon Java kannst wird dir Python keine Probleme bereiten. Es ist dann eher zu "einfach".

    Grüße
  6. j*********r

    Nein, Python ist definitiv eine Skriptsprache. Eine eindeutige Definition gibt es zwar nicht unbedingt, allerdings treffen viele Merkmale darauf zu (s. Wikipedia). Wie master4860 schon geschrieben hat, gibt es dynamische Typisierung, Python wird nicht kompiliert und die Speicherverwaltung erfolgt dynamisch, man muss also keine Destruktoren benutzen um Objekte zu zerstören.

    mfg
    Jonas
  7. Ok dann hat mein Prof wohl unrecht... Is zwar schon ne weile her, dass ich Python an der Uni gelernt habe, aber dass war sogar eine Frage in der Klausur. Python ist definitiv keine Skriptsprache, aber kann als eine benutzt werden.
  8. Pyton ist definitiv die einfachere Sprache von beiden, egal ob script oder nicht ;)

  9. j*********r

    illtill schrieb:
    Ok dann hat mein Prof wohl unrecht... Is zwar schon ne weile her, dass ich Python an der Uni gelernt habe, aber dass war sogar eine Frage in der Klausur. Python ist definitiv keine Skriptsprache, aber kann als eine benutzt werden.


    Ich habe ein bisschen recherchiert und das jetzt auch so herausgefunden. Irreführen war nur der Eintrag von Python im Wikipedia-Artikel "Skriptsprachen" ohne entsprechende Anmerkungen.

    duxaquila schrieb:
    Pyton ist definitiv die einfachere Sprache von beiden, egal ob script oder nicht ;)

    Dem würde ich auch zustimmen. Bspw. Java zuerst zu lernen hat dann aber halt den Vorteil, dass das Umsteigen einfacher ist.

    mfg
    Jonas
  10. jonas-bayer schrieb:

    Dem würde ich auch zustimmen. Bspw. Java zuerst zu lernen hat dann aber halt den Vorteil, dass das Umsteigen einfacher ist.

    mfg
    Jonas


    Das Problem was viele haben ist, wenn es zu einfach ist wird esschnell langweilig und man denkt oft zu komplex
  11. Vor einiger Zeit habe ich mit Java angefangen (vor allem um Andorid-Apps zu programmieren) und kenne daher den Umstieg von Python zu Java.
    Eines der ersten Dinge, welche mir aufgefallen sind, war schlampig formatierter Code (klar, gute Programmierer machen es richtig, aber man findet leider auch anderen).
    Bei Java werden Schleifen, Funktionen... mit den geschweiften Klammern begrenzt, bei Python durch Einrücken.
    Beispiel in Java (ohne Formatierung, aber mit Zeilenumbruch):
    public void Test(){
    Inhalt;
    Inhalt2;
    while (true){
    Schleife;
    Schleife1;
    }
    Inhalt3;
    }

    Beispiel in Python:
    def Test():
        Inhalt
        Inhalt2
        while True:
            Schleife
            Schleife1
        Inhalt3

    Du siehst, der Code wird automatisch lesbarer. Jedoch geht zwangsweise eine Menge Platz auf dem Bildschirm verloren, wenn man stark verschachtelt, aber bei schönem Code in Java passiert es ebenfalls.
    Durch die fehlenden Klammern werden auch ein paar Zeilen Code gespart, wodurch sich (zumindest für mich) die Lesbarkeit erhöht.

    Das Semikolon am Ende der Zeile darf entfallen, muss aber nicht. Dadurch ist es auch in Python möglich, mehrere Befehle in eine Zeile zu schreiben.

    Wirklich große Unterschiede konnte ich bisher noch nicht zwischen verschiedenen Programmiersprachen feststellen.
    Manche Befehle werden anderst benannt und wie im Beispiel bereits ersichtlich unterscheidet sich bei True/False die Groß-/Kleinschreibung. Aber solche Kleinigkeiten lernt man schnell.

    Mit der neusten Pythonversion (3.5.0) wird es sogar möglich Variablen mit einem Type zu deklarieren, was für gewöhnlich nicht nötig ist.

    Für mich spricht für Python das sehr schnelle Programmieren.
    Einfache kleine Tools schreibe ich auch gerne auf meinem programmierbaren Taschenrechner oder auch auf dem Handy. Beim Handy habe ich dabei nur die Wahl, entweder eine App zu programmieren (AIDE, wie jede App sehr zeitaufwendig) oder es in Python umzusetzen (QPython) was sehr schnell geht.
  12. Hängt vielleicht auch ein bisschen davon ab, für was du es einsetzen willst. Das ist so wie ein paar PHP-Scripts gegen C / Java / whatever

    Mir reicht für vieles auch Phyton, aber gerade in Verbindung mit der Netbeans IDE kann Java sehr praktisch sein :)

  13. 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!