Welche Programmiersprache als naechstes!



  • Also, ich lass mal den n+1ten sinnfreien Flame pro/contra Sprache X außen vor. Ebenso irgendwelche abgedrehten Vergleiche mit Nasen und Ohren, die nichts mit dem Thema zu tun haben.

    Zur Frage des OP:
    Du bist dabei, eine imperative, unter Anderem auch objektorientierte, compilierte Sprache zu lernen. Du könntest jetzt folgende Richtugnen einschlagen:

    a) Eine weitere "höhere" Sprache lernen, primär wären da die C++-Nachkommen Java und C# oder auch die Interpretersprache Ruby zu nennen. Je nach Branche sind alle auch inder Industrie relevant.
    b) Wie von anderen angesprochen Richtung "low level" gehen, um Verständnis für die Vorgänge hinter den Kulissen der höheren Sprachen zu bekommen. Das kann der angesprochene Assembler sein, oder als Kompromiss C, was von vielen als "Quasi-Assembler" benutzt wird.
    c) Eine Scriptsprache, wie z.B. Perl, Bash oder auch Javascript. Vor allem perl wird häufig benutzt, um kleinere automatisch zu erledigende Aufgaben bei der Programmierung zu erledigen
    d) Funktionale Sprachen wie das angesprochene Haskell oder einen der Lisp-Dialekte, z.B. Scheme. Auch wenn die eine oder andere funktionale Sprache durchaus auch im "Real Life" anzutreffen ist (z.B. eLisp im emacs), sind sie in der Industrie nicht so häufig anzutreffen und eher von akademischem Interesse (aber deshalb durchaus nicht uninteressant)

    In welche Richtung du gehen willst, hängt davon ab, was der Grund für deinen Wunsch ist, noch eine Sprache zu lernen. Wenn der Grund allerdings einfach nur ist, dass du gelesen hast, mehr als eine Sprache zu kennen (oder können? Ist ein riesen Unterschied...) sei cool, dann würd ichs an deiner Stelle erstmal lassen. Wenn man keinen wirklichen Grund hat, die zweite Sprache auch anzuwenden, dann lernt man sie auch nicht wirklich gut.



  • Hi,hi, ganz schön lange Online. :xmas1: :xmas2: 😃 😃 😃



  • 1:0 der Punkt geht an dich, s...



  • AsmTuts? schrieb:

    Kurz um : Gibt es gute Bücher oder auch gerne online tutorials zu Assembler, die Ihr empfehlen würdet ?

    Will nicht vom Threadthema abweichen aber trotzdem eine Buchempfehlung an dieser Stelle :

    http://www.amazon.de/Assembler-Maschinennahes-Programmieren-Anfang-Windows-Programmierung/dp/3499612240

    Und da ich direkt mit c++ angefangen hab wollte ich fragen welche Sprache ich als naechstes lernen soll.

    Orientiere dich nach dem was dich interessiert und was du machen willst, informiere dich im Internet oder sonst wo darüber mit welcher Programmiersprache du am besten deine Ideen umsetzen kannst.

    Wenn ich dann mal so frage darf welche Sprache kann man gut mit c++ verknüpfen?
    Also so das man dann gute Vorteile hat?

    In erster Linie wahrscheinlich alle Programmiersprachen die eine ähnliche Syntax aufweisen, z.B. Java



  • 314159265358979 schrieb:

    Dass du C++ beherrscht, bezweifle ich mal. Erkläre mir
    - Type Erasure
    - Reference Collapsing
    - Type Traits

    keine Ahnung und kann trotzdem einen Hauch c++.
    Musst mal bedenken, es ist schon ein unterschied ob man mal in der Fachliteratur technische Begriffe nachgelesen hat, oder das ding einfach mal viele jahre benutzt und weiß was man damit macht.



  • Kontrasubjekt schrieb:

    314159265358979 schrieb:

    Dass du C++ beherrscht, bezweifle ich mal. Erkläre mir
    - Type Erasure
    - Reference Collapsing
    - Type Traits

    keine Ahnung und kann trotzdem einen Hauch c++.
    Musst mal bedenken, es ist schon ein unterschied ob man mal in der Fachliteratur technische Begriffe nachgelesen hat, oder das ding einfach mal viele jahre benutzt und weiß was man damit macht.

    Type Erasure hab ich auch noch nie gehört, stammt wohl eher aus der Java Welt. Reference Collapsing Zeugs aus dem neuen Standard, muss man nicht kennen, um C++ zu können, wird doch immer noch nicht vollständig unterstüzt. Type Traits: is_pointer usw.



  • Kontrasubjekt schrieb:

    Musst mal bedenken, es ist schon ein unterschied ob man mal in der Fachliteratur technische Begriffe nachgelesen hat, oder das ding einfach mal viele jahre benutzt und weiß was man damit macht.

    Beides ist nicht dasselbe wie "beherrschen". Ich kenn Leute, die haben 10 Jahre professionell C++ programmiert und wissen nicht, wann man einen Destruktor braucht und wie man diesen korrekt implementiert.



  • Stimmt, aber nicht wissen wann man einen Destruktor braucht ist schon was anderes als Fachbegriffe nicht kennen. Wenn sich das jetzt echt aus dem c++ Standard und Java-Trendwörtern zusammensetzt, und dann einer hergeht und sagt wer das nicht gehört hat hat keinen plan, dann sitzt der schon auf nem hohen ross. Mit der coolness kann ich nicht mithalten, brb fortran. 🤡



  • 314159265358979 schrieb:

    Dass du C++ beherrscht, bezweifle ich mal. Erkläre mir die folgenden Begriffe, möglichst ohne zu Googeln oder gar zu kopieren:
    - Template Meta-Programmierung
    - Type Erasure
    - Reference Collapsing
    - Allokator
    - Smartpointer
    - RAII
    - Type Traits

    Falls dir kein einziger davon etwas sagen sollte, kannst du nicht einen Hauch C++.

    Wenn er in C++ Programme schreiben kann, die seinen Erwartungen gerecht werden, dann kann er C++.



  • Kann 314159265358979 mal Type Erasure erklären?



  • War so klar, dass ihr wieder alle auf mich geht. Fickt euch doch. Ich brauche euch nicht.



  • Naja, bis auf Reference Collapsing und vielleicht Type Erasure sollte man aber schon die von PI genannten Begriffe kennen und (halbwegs) verstehen.

    Da der OP nach eigener Aussage keinen dieser Begriffe kennt, sind seine C++ Kenntnisse wohl auch nicht sonderlich gut, weswegen es unsinnig ist sich jetzt schon mit einer neuen Sprache zu beschäftigen. Am Ende kann er von allem etwas, aber nichts richtig.

    Wenn er in C++ Programme schreiben kann, die seinen Erwartungen gerecht werden, dann kann er C++.

    Nein, dann kann er C++ Programme schreiben, die seinen Erwartungen gerecht werden. Niemand würde behaupten man könne Englisch sprechen, wenn man gerade mal nach dem Weg fragen kann.

    Was es braucht um C++ zu können ist zwar undefiniert, aber Smartpointer nicht zu kennen schließt (modernes) C++ zu können aus.



  • Z schrieb:

    Wenn er in C++ Programme schreiben kann, die seinen Erwartungen gerecht werden, dann kann er C++.

    Oder hat sehr schlichte Erwartungen.



  • comonad schrieb:

    Nein, dann kann er C++ Programme schreiben, die seinen Erwartungen gerecht werden. Niemand würde behaupten man könne Englisch sprechen, wenn man gerade mal nach dem Weg fragen kann.

    Programmierer (oder Pseudoprogrammierer?) machen das aber gelegentlich.
    http://www.c-plusplus.net/forum/274939-47 (Minispiri beobachten)

    Wie unglaublich wenig muß man können, um in der Schule für seine Programmierkenntnisse eine 1 zu bekommen oder gar besser als der Lehrer zu sein? Da muß man doch größenwahnsinnig werden.



  • Hi,

    Ziel einer Programmiersprache ist es nicht, alle Features dieser Sprache anzuwenden, ja nicht mal sie alle genau zu kennen (einen Überblick sollte man aber schon haben).
    Gerade C++ ist eine sehr umfangreiche Sprache, die wohl die meisten, wenn nicht sogar fast alle C++-Programmierer nicht in allen Einzelheiten vollständig beherrschen. Ist aber auch nicht nötig.
    Die Programmiersprache ist nicht Selbstzweck, sondern nur Mittel zum Zweck (auch wenn das hier einige anders sehen 🙄 ).
    So unterschiedlich wie die Aufgaben sind, so unterschiedlich sind auch die dazu zu verwendenden Mittel. Früher hat man dazu unterschiedliche Programmiersprachen genommen, heute nimmt man dazu unterschiedliche Teilmengen von C++.
    Sowenig wie man früher einem guten Fortran-Programmierer seine Kenntnisse absprechen konnte, nur weil er kein Cobol konnte, so wenig kann man einem C++Programmierer seine Kenntnisse abprechen, nur wei er Teilmengen davon nicht braucht.
    C++ ist in einer ständigen Weiterentwicklung begriffen, aber selbst mit den ersten Versionen die damals noch mit Precompilern liefen haben damalige Programmierer funtkionierende Programme geschrieben, die zum Teil heute ncoh laufen und vieofach auch mit aktuellen Compilern noch übersetzbar wären. Waren das jettz alles Nichtskönner? Wohl kaum!
    Sicher gibt es viele, die auf bestimmte Möglichkeiten der neuesten Versionen händeringend warten, aber den meisten gehen sie sicher am Kreuz vorbei. Einige
    verstehen sie vielleicht gar nicht. Müssen sie auch nicht. Ihr Arbeitgeber bezahlt sie nicht dafür, dass sie die Sprache C++ perfekt komplett beherrschen, sondern dass sie die gestellten Aufgaben erfüllen.
    Viele Sachen sid heute vielleicht eleganter möglich, aber zum Ziel führen immer mehrere Wege. Heute multipliziert man zwei Zahlen und weiß, dass das Programm ne Ausnahme wirft, wenn das Ergebnis zu groß wird. Das gabs vorher nicht. Trotzdem sind die Programme nicht zwangsläufig abgestürzt. Ea hat man eben an kritischen Stellen geguckt ob die Summe der Logarithmen beider Faktoren einen bestimmten Wert nicht überschritt. Und so ist es mit vielem.
    Wirklich darauf ankommen, die gesamte Sprache zu können tut es nur dann, wenn man sie unterrichtet, Lehrbücher schreibt oder Compiler baut.
    Ansonste kommt es darauf an, die Grundzüge für die zu erfüllenden aufgaben zu kennen, das was man kann gut und sicher zu können und bereit und in der Lage zu sein, sich in neue Aufgabengebiete schnell und effizient einzuarbeiten.

    Gruß Mümmel



  • volkard schrieb:

    comonad schrieb:

    Nein, dann kann er C++ Programme schreiben, die seinen Erwartungen gerecht werden. Niemand würde behaupten man könne Englisch sprechen, wenn man gerade mal nach dem Weg fragen kann.

    Programmierer (oder Pseudoprogrammierer?) machen das aber gelegentlich.
    http://www.c-plusplus.net/forum/274939-47 (Minispiri beobachten)

    Da gehts doch um Pizza!?! 😕

    Oder geht es jetzt wieder darum, dass C++ die Englische Küche unter den Programmiersprachen ist?



  • muemmel schrieb:

    Hi,
    Ziel einer Programmiersprache ist es nicht, alle Features dieser Sprache anzuwenden, ja nicht mal sie alle genau zu kennen (einen Überblick sollte man aber schon haben).

    Trotzdem kann man eine Auswahl an Begriffen finden, die der Programmierer kennen sollte, um sagen zu können, er würde C++ beherrschen. Oder sagen wir mal so, wenn er diese Begriffe nicht kennt, kann sein Arbeitszeugnis so gut sein wir es will, es ist dann erschummelt. PIs konkrete Auswahl ist nicht optimal, aber er ist bekanntermaßen neu auf dem Gebiet.

    muemmel schrieb:

    Gerade C++ ist eine sehr umfangreiche Sprache, die wohl die meisten, wenn nicht sogar fast alle C++-Programmierer nicht in allen Einzelheiten vollständig beherrschen.

    Mit diesem Strohmann kannste aber nicht davon ablenken, daß es auch eine realistische Untergrenze gibt und da war PI dicht dran.

    muemmel schrieb:

    Die Programmiersprache ist nicht Selbstzweck, sondern nur Mittel zum Zweck (auch wenn das hier einige anders sehen 🙄 ).

    Aber das erlaubt doch noch lange nicht, daß ein Journalist stammelt wie ein Hauptschüler oder daß ein Kraftfahrer von seinen drei Fußpedalen nur zwei anwenden kann.

    Es stand ja hier nicht im Raum, daß man den ein Auto bauen können muß (oder einen Compiler), um es zu benutzen.

    muemmel schrieb:

    Heute multipliziert man zwei Zahlen und weiß, dass das Programm ne Ausnahme wirft, wenn das Ergebnis zu groß wird. Das gabs vorher nicht. Trotzdem sind die Programme nicht zwangsläufig abgestürzt. Ea hat man eben an kritischen Stellen geguckt ob die Summe der Logarithmen beider Faktoren einen bestimmten Wert nicht überschritt. Und so ist es mit vielem.

    Das klingt aber auch nicht nach C++, was Du da anstellst. Betreibst Du Java/C# und machst falsche Rückschlüsse auf C++?



  • verwirrrrrrt schrieb:

    Da gehts doch um Pizza!?! 😕

    Nein, um Sprachen. Lies einfach weiter.

    verwirrrrrrt schrieb:

    Oder geht es jetzt wieder darum, dass C++ die Englische Küche unter den Programmiersprachen ist?

    War es nie. Das haste auch falsch gelesen.



  • muemmel, du bist glaub ich komplett auf dem Holzweg mit deiner Argumentation, weil du von falschen Voraussetzungen ausgehst. Niemand verlangt, dass man alle Sprachbestandteile von C++ beherrscht. Da gibt es einige, die durchaus verzichtbar sind. Die von PI aufgezählten Begriffe sind Techniken bzw. Idiome, deren Kenntnis (er hat nichtmal Beherrschung gefordert) man durchaus von einem kompetenten C++-Programmierer erwarten kann.



  • Bashar schrieb:

    Kontrasubjekt schrieb:

    Musst mal bedenken, es ist schon ein unterschied ob man mal in der Fachliteratur technische Begriffe nachgelesen hat, oder das ding einfach mal viele jahre benutzt und weiß was man damit macht.

    Beides ist nicht dasselbe wie "beherrschen". Ich kenn Leute, die haben 10 Jahre professionell C++ programmiert und wissen nicht, wann man einen Destruktor braucht und wie man diesen korrekt implementiert.

    Darf ich raten, das sind Absolventen von der Uni, nicht FH.


Anmelden zum Antworten