Welche Programmiersprache ist die richtige für mich?

  • Python für den Einstieg kann ich nur empfehlen!! Ich habe mit Python angefangen zu programmieren (HTML zählt ja nicht), und ich verbitte mir diese Aussage:

    Mit C/C++, C#, Java und anderen habe ich mich als Vollzeitnerd natürlich auch beschäftigt (bzw. C# verwende ich mittlerweile quasi täglich), aber ich behaupte mal, ich habe die Innereien von CPython schon vorher durchschaut.

    Matlab.

    Da hat jeder seine Eigene Meinung!

    Viele sind Verfechter der Meinung das Python ein toller Einstieg ist, jedem seine eigene Meinung gibt bestimmt Gründe die dafür sprechen, aber ich vertrete diese Meinung nicht!

    Ich hab bei Python schon vor der ein oder anderen Fehlermeldung gesessen, sie ich ohne Fundierte C++ Kenntnisse absolut nicht hätte interpretieren können...

    Was bei Python halt absolut fabelhaft ist, ist dass man zu Struktur gezwungen wird! Wenn du es nicht einrückst läuft es nicht und Punkt.
    Aber versuch mal dir anhand von Python Kenntnissen (und nichts sonst) selbst C++ beizubruingen (nicht nur ein bisschen damit spielen)...

    Ich bin auch ein absoluter Python Fan, klar es ist simpel zu Programmieren und extrem umfangreich. Ich mache mittlerweile auch das meiste mit Python aber ich bin dennoch der Meinung, dass es für den Einstieg nichts taugt. Mag ja sein, dass du auch wenn du mit Python anfängst alles bis ins Detail verstehst, aber da bist du wohl eher die Ausnahme.

    Aber wie bereits erwähnt, dass ist meine Meinung, du musst sie ja nicht teilen aber ändern wirst du sie auch nicht!!!!!


    und ja Matlab (ich vergess immer ob das von Mathematik oder Matrix kommt...)


    Zieht man C++ durch und "beherrscht" es dann - Hut ab!

    Normalerweise verliert man aber die Lust - ich würde mal meinen, spätestens bei Pointern...

    Es ist einfach zu viel für Personen, die erst einmal reinschnuppern wollen.

    Also ich habe in C++ mit einfachen Konsolenanwendungen angefangen, nichts als if-else-decisions, while-/for-loops und vielleicht noch dem ein oder anderen swich und nach und nach kam halt mehr dazu erst klassen, dann pointer dann Vererbung, dann Exception Handling und und und aber wenn man das über drei Semester gut Strukturiert eins nach dem anderen beigebracht bekommt, dann ist C++ echt was feines!

    Zum eigenständig lernen ist das natürlich absolut unbrauchbar! Da verliert man wohl wirklich zu schnell die Lust!


    Das Bild trifft es echt gut!!

    aber du kannst das gute alte COBOL doch nciht auf seine Großbuchstaben beschränken das tolle daran ist doch dass man quasi ganze Sätze schreibt :denker:

    Natürlich mache ich Fehler :stumm:

  • aber du kannst das gute alte COBOL doch nciht auf seine Großbuchstaben beschränken das tolle daran ist doch dass man quasi ganze Sätze schreibt :denker:


    Ein Kollege meinte, man müsse wohl nicht mehr ausschließlich mit Großbuchstaben schreiben. Welch ein Fortschritt!


    Da hat jeder seine Eigene Meinung!


    Jeder darf seine eigene Meinung haben, aber nur meine ist wahr und überhaupt von Belang. :P


    Viele sind Verfechter der Meinung das Python ein toller Einstieg ist, jedem seine eigene Meinung gibt bestimmt Gründe die dafür sprechen, aber ich vertrete diese Meinung nicht!


    Hmm ... nun - wenn es darum geht, nur die Logik beim Programmieren, das Gefühl zu bekommen, dann könnte man wohl auch VBA "lernen" ... ._.


    Wenn es aber um das Verständnis aller primär eingesetzter Sprachen geht, dann sollte man sich wohl auch mit diesen beschäftigen, wodurch Python (trotz vieler Einsatzgebiete) entsprechend entfällt, denke ich.


    Aber wie bereits erwähnt, dass ist meine Meinung, du musst sie ja nicht teilen aber ändern wirst du sie auch nicht!!!!!

    Muhahaha ... er vielleicht nicht ... :evil: :angel:

    Mit freundlichsten Grüßen
    Irithyll


    Es war in unseres Lebensweges Mitte,
    Als ich mich fand in einem dunklen Walde;
    Denn abgeirrt war ich vom rechten Wege,

    Die Göttliche Komödie - Erster Gesang

  • Didaktische Prinzipien der Ausbildung: Vom leichten zum schwere

    Da spricht ja nichts dagegen!

    Vom leichten (mal das bilden eines Quadrates oder einer Multiplikation als Funktion nachbilden o.Ä.) bis hin zum Schweren (irgendwelche komplizierten Konzepte wie neuronale Netze oder So) Aber halt in C++

    Es ging ja um "welche" Sprache soll ich lernen und NICHT "in welcher Reihenfolge" soll ich die Sprachen lernen!

    Natürlich mache ich Fehler :stumm:

  • Ein Kollege meinte, man müsse wohl nicht mehr ausschließlich mit Großbuchstaben schreiben. Welch ein Fortschritt!

    Vielleicht versuch ich mein Glück dann doch noch mal mit COBOL... hatte mir eigentlich gefallen aber der Krampf nach 5 Minuten im kleinen Finger ist dann doch nervig gewesen...


    Hmm ... nun - wenn es darum geht, nur die Logik beim Programmieren, das Gefühl zu bekommen, dann könnte man wohl auch VBA "lernen" ... ._.

    VBA ist wie html oder LaTeX: zählt nicht :fies:



    Wenn es aber um das Verständnis aller primär eingesetzter Sprachen geht, dann sollte man sich wohl auch mit diesen beschäftigen, wodurch Python (trotz vieler Einsatzgebiete) entsprechend entfällt, denke ich.

    Ja, das sehe ich auch so!

    Python ist zwar sehr universell, aber es fehlt halt so viel, was man bei anderen Sprachen hat!

    Ich meine du fängst an zu Programmieren und alles läuft aber versteh erst mal, dass jede Variable eigentlich ein Objekt mit verschiedenen Eigenschaften (wert,id, typ, keine Ahnung was noch alles) ist und dass jede Variablenübergabe eigentlich nicht die Variable sondern die Adresse des (Achtung!!) OBJEKTES ist, dessen Eigenschaft (Wert) du brauchst, wenn du nicht mal weißt, was eine Adresse oder ein Objekt ist... klar, schön dass es läuft und so aber verstehen was da eigentlich passiert ist dann doch noch mal ne andere Geschichte und das gehört meiner Meinung nach auch dazu Programmieren zu lernen.

    Natürlich mache ich Fehler :stumm:

  • Was bitte?

    Zum Beispiel die möglichkeit, einen Pointer zu nutzen (also aktiv zu nutzen, bewusst zu nutzen meine ich jetzt)

    Generell die Möglichkeit zwischen

    "call by value" und "call bei reference" (Falls dir als Python Verfechter diese Begriffe überhaupt etwas sagen sollten (; da wir jetzt ja Krieg haben darf ich auch flamen:bravo2:)

    bewusst zu unterscheiden, weil das ein oder andere doch manchmal vorteile hat.

    In C++ übergebe ich den pointer und kann die ursprüngliche Variable verändern, in python muss ich für sowas mit dem absolut verhassten und grauenhaften Begriff "global" arbeiten...

    Btw. du hast jetzt einen Flamewar heraufbeschworen. :evil:

    Nein aber mal Spaß bei Seite: Python funktoniert doch schon ein bisschen anders als andere Sprachen und wenn man es nur benutzen will, um fröhlich vor sich hin zu Programmieren ist es mit Sicherheit keine schlechte Wahl, aber wenn man Programmieren als Programmieren lernen will ganz allgemein und mit allem drum und dran, halte ich es einfach für ungeeignet.
    Aber das ist ja auch nur meine bescheidene Meinung und ich glaube ich habe dazu mittlerweile alles in mehrfacher Ausführung erwähnt.

    Zum selbst beibringen mit Sicherheit ne gute Option, aber wenn man irgendwo einen Kurs macht, um Programmieren professionell zu lernen, dann sollte man das wirklich nicht in Python machen... (meiner Meinung nach)

    Natürlich mache ich Fehler :stumm:

  • Falls dir als Python Verfechter diese Begriffe überhaupt etwas sagen sollten

    Gegenfrage: der Unterschied von mutable und immutable ist bekannt? Wenn ja, wie kommst du dann darauf:


    In C++ übergebe ich den pointer und kann die ursprüngliche Variable verändern, in python muss ich für sowas mit dem absolut verhassten und grauenhaften Begriff "global" arbeiten...


    Als Python-Kenner kannst du sicher folgendes Beispiel nachvollziehen:

    Huch? :fies:


    Natürlich bringen verschiedene Sprachen auch verschiedene Arten zu programmieren mit sich. In Python gibt man dann in der Regel einfach in der Funktion/Methode etwas zurück oder arbeitet mit OOP und damit Instanzvariablen.


    Python funktoniert doch schon ein bisschen anders als andere Sprachen und wenn man es nur benutzen will, um fröhlich vor sich hin zu Programmieren ist es mit Sicherheit keine schlechte Wahl, aber wenn man Programmieren als Programmieren lernen will ganz allgemein und mit allem drum und dran, halte ich es einfach für ungeeignet.

    Deine Meinung. (sagtest du ja bereits ;))


    Ich verwende Python, C# und einen Web-Stack in einem professionellen Umfeld... Und ich gestehe, dass ich dabei immer "fröhlich vor mich hin programmiere". Check :lol:


    Falls du allen ernstes denkst, Python ist nur zum spielen (solltest du IMO nach einem Studium der Informatik nicht): ich hab da mal was aufgezählt... Welche Programmiersprache ist die richtige für mich?



    EDIT:

    https://medium.com/@meghamohan…de-of-python-c2145cf72747

    Generell die Möglichkeit zwischen "call by value" und "call bei reference"

    Wie du dort sehr detailliert nachlesen kannst, gibt es auch in Python call by value UND call by reference, eben durch mutable und immutable Datentypen.

  • Gegenfrage: der Unterschied von mutable und immutable ist bekannt? Wenn ja, wie kommst du dann darauf:



    Als Python-Kenner kannst du sicher folgendes Beispiel nachvollziehen:

    Ach herrje jetzt gehts aber deep...

    bin mir offengestanden nicht mehr zu 100% Sicher aber wenn ich es recht im Kopf habe, habe ich bei Python keinen Einfluss darauf, eijnige Datentypen sind veränderlich und andere nicht (die mutabilität bezieht sich heirbei glaube ich auf die id)

    Glück gehabt, string spielt mit :denker: Das wäre jetzt das Gegenbeispiel für immutabel...

    Aber worauf du hinaus willst, habe ich noch nicht so ganz verstanden... Gäbe es jetzt eine Möglichkeit, eine liste in beiden Versionen zu nutzen (mutabel und imutabel) und einen string ebenso, wäre das schön, gibt es aber nicht :@

    1:0 ??

    Ich meine ne Antwort habe ich nicht bekommen...


    Natürlich bringen verschiedene Sprachen auch verschiedene Arten zu programmieren mit sich. In Python gibt man dann in der Regel einfach in der Funktion/Methode etwas zurück oder arbeitet mit OOP und damit Instanzvariablen.

    Ja und genau deshalb ist Python für mich eine schlechte Einstiegssprache!

    Ich verwende Python, C# und einen Web-Stack in einem professionellen Umfeld... Und ich gestehe, dass ich dabei immer "fröhlich vor mich hin programmiere". Check :lol:


    Falls du allen ernstes denkst, Python ist nur zum spielen (solltest du IMO nach einem Studium der Informatik nicht): ich hab da mal was aufgezählt...

    Habe Mathematik studiert und bin mir durchaus darüber im Klaren, dass es professionelle Anwendung findet, ich programmiere auf der Arbeit fast ausschließlich mit Python (wenn ich die freie Wahl habe), auf Kundenwunsch natürlich auch mal in C++ oder R gelegentlich auch in Minitab (wobei das schon wieder kein Programmieren ist!!!!!!) Aber ja, fast ausschließlich in Python. Ist ne extrem gute Sprache und ich liebe Python! Nur für den Einstieg ist es nichts.

    Natürlich mache ich Fehler :stumm:

  • Ach herrje jetzt gehts aber deep...

    Nö. Mutable und immutable sollten in jedem Python-Buch in Kapitel 1 oder spätestens 2 behandelt werden.


    Ich habe Sekunden vor deiner Antwort noch einen Artikel verlinkt, von dort folgendes Bild:


    [IMG:https://cdn-images-1.medium.com/max/800/1*uFlTNY4W3czywyU18zxl8w.png]



    Aber worauf du hinaus willst, habe ich noch nicht so ganz verstanden...

    Siehe der letzte Satz in meinem späten Edit.

    Natürlich ist es nicht mit Pointern vergleichbar, da das jeweilige Verhalten fest an den Datentyp gebunden ist, eine immutable Liste gibt es nicht (wäre dann ein Tuple), ebenso mutable Strings.

    Aber so allgemein wie du es ausdrückst ist es eben doch nicht...

    Ja und genau deshalb ist Python für mich eine schlechte Einstiegssprache!

    Wieso wird an Schulen und Unis dann so viel Java gelehrt? :conf:

    Wir werden uns da nicht einig, aber ich glaube, an Python werden Anfänger mehr Spaß haben als an C/C++, besonders wenn sie beruflich und ausbildungsmäßig aus einer ganz anderen Richtung kommen (da gibt es im Forum einige!). Und die RPi-Foundation hat sich auch bewusst für Python als "ihre" Sprache entschieden, stell' dir mal ein paar Grundschüler im UK vor, denen man was von Pointern, Speicherverwaltung und Compilern erzählt :denker:

  • Linus Habe jetz keine Lust mehr zeitaufwendig zu zitieren...
    Das mit dem call by value/referenz als Typ gebunden ist genau das was mich so extrem stört!

    Und mir ist schon klar, dass Python einfacher ist schon allein weil es intuitiver ist und einem NICHT (wie C++) wegen nem Fehlenden Punkt ne 300 Zeilen lange Fehlermeldung ausspuckt, die man nicht versteht...
    Und natürlich sollte man nem Grundschüler wenn dann doch eher Python beibringen aber das ist dann auch wieder das oben genannte "Spielen" und kein Programmieren, was in der Schule gemacht wird (Gymnasiale Oberstufe jetzt vielleicht mal ein bisschen ausgeklammert)

    Aber in diesem Post ging es um einen Erwachsenen Mann, der einen Kurs belegen will um Proggrammieren zu lernen, ud das kannst du nun wirklich nicht mit Grundschülern vergleichen!

    Der Arduinon beispielsweise unterstützt primär C++ (was das Argument mit der Pi unterstützt Python wohl ein wenig abschwächt--> man muss eben ne Entscheidung treffen)
    Und warum an Unis Python gelehrt wird, ist und bleibt mir ein Rätsel aber auch da gibt es wuieder verschiedene Vorgehensweisen! Ich habe wie bereits erwähnt im Studium als erstes C++ gelernt, und bin da mit Sicherheit nicht der einzige!


    Aber sei es wie es ist, es gibt verscheidene Meinungen und verschiedene Vorlieben und jede einzelne hat mit Sicherheit eine berechtigte Existenz!!


    Ne Programmiersprache ohne Vorteile (ob für Anfänger oder Profis sei mal dahingestellt) würde sich nicht halten.

    Natürlich mache ich Fehler :stumm:

  • Wenn man Programmieren lernen will geht es erst Mal um allgemeine Sprachkonstrukte(If, for, while), Datentypen (int, float, Strukturen) sowie Algorithmen und später so Dinge wie Vererbung, Klassen usw. Da wählt man am besten eine Sprache wo man nicht mit der Sprache selbst kämpft sondern sich auf das Wesentliche konzentrieren kann. Pointer, Copykonstruktoren, die krude C++ Syntax sind da erwiesene störende Hürden.


    Python und Java sind eine viel bessere Wahl als Einsteigersprache. Später fällt dann C++ auch leichter zu lernen weil man sich dann nur noch auf die Unzulänglichkeiten der Sprache konzentrieren muss.

    "Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect." Linus Torvalds, 28.9.2003

    >>> raspiBackup: Sichere Deine Raspberry regelmäßig im laufenden Betrieb <<<

  • Hallo,


    Zitat

    Ich hab bei Python schon vor der ein oder anderen Fehlermeldung gesessen, sie ich ohne Fundierte C++ Kenntnisse absolut nicht hätte interpretieren können...

    Die würde ich jetzt aber gerne mal sehen, welche Fehlermeldung das sein soll...


    Zitat

    Zum Beispiel die möglichkeit, einen Pointer zu nutzen (also aktiv zu nutzen, bewusst zu nutzen meine ich jetzt)

    Pointer in C / C++ gelten doch heute eher als Schwachpunkt, im Sinne "ist einfach damit, Fehler zu machen". Weshalb "moderne" Sprachen wie Rust und Go ja die Pointer-Nutzung wie bei C / C++ erst gar nicht zulassen, sondern "nur" eine sichere Variante davon implementieren.


    Ich denke / glaube, dass C++ sch... schwer zu lernen ist , WENN man es autodidaktisch als 1. Programmiersprache lerne. Wenn man es an der Uni oder so im Rahmen einer Vorlesung lernt, ist es denke ich einfacher.


    Gruß, noisefloor