Muss man mehr als eine Programmiersprache beherrschen? (FAQ)

Dieser Beitrag ist Teil 13 von 13 in der Serie FAQ.

In einem interessanten Artikel hat Saeed Gatson vor Kurzem bei Simple Programmer über die Frage geschrieben, ob Programmierer mehr als eine Programmiersprache beherrschen sollten: Do You Need To Know More Than One Language?

Meiner Meinung nach ist das Erlernen einer neuen Programmiersprache recht einfach, wenn man bereits eine andere Programmiersprache des gleichen Paradigmas (objektorientiert, funktional usw.) beherrscht. Daher finde ich es sinnvoll, wenn man mehrere Sprachen kennt. Denn nur, wenn man zwischen verschiedenen Werkzeugen wählen kann, ist man in der Lage, das „right tool for the job“ auszusuchen und so produktiv wie möglich zu arbeiten.

In meiner Ausbildung vermittle ich mindestens zwei Programmiersprachen: eine objektorientierte und eine prozedurale. Meistens kommt im Laufe der drei Jahre allerdings noch mindestens eine weitere objektorientierte Sprache hinzu oder es werden funktionale Aspekte moderner Sprachen (wie Java oder C#) angewendet.

Navigation der Serie<< Mögliche Fragen im Fachgespräch zu einem Projekt im Embedded-Bereich (FAQ)
Polyglot Clean Code Developer
About the Author
Ausbildungsleiter für Fachinformatiker Anwendungsentwicklung und Systemintegration, IHK-Prüfer und Hochschuldozent für Programmierung und Software-Engineering.

6 comments on “Muss man mehr als eine Programmiersprache beherrschen? (FAQ)

  1. Nitzan sagt:

    Bei uns im Betrieb arbeiten wir ausschließlich mit Ruby on Rails. Das ist für die allermeisten unserer Anwendungen praktisch und gut geeignet. Dadurch, dass wir uns auf eine Programmiersprache festgelegt haben garantieren wir, dass Anwendungen auch gewartet und weiterentwickelt werden können, wenn der Entwickler der Anwendung kündigt. Einige alte Anwendungen sind aber noch in Pearl geschrieben. Die versuchen wir jetzt im Rahmen der Vereinheitlichung in Rails neu zu schreiben. Das ist eine Qual, weil niemand hier mehr richtig mit Pearl klar kommt.
    In der Berufsschule lernen wir Java, C++ und C#. Wir können außerdem freiwillig Fortran wählen. Da muss aber der Betrieb zustimmen.

  2. Stefan Macke sagt:

    Hallo Nitzan,

    das machen wir ähnlich: eine Programmiersprache, die alle beherrschen, für zentrale Anwendungen. Und für bestimmte Projekte wird – bei sinnvoller Begründung – ggfs. eine passendere Sprache gewählt.

    Viele Grüße!
    Stefan

  3. Michael sagt:

    Hallo,

    Ich würde mich momentan als Webentwickler bezeichnen. Eine Auszeichnungssprache, eine Stylesheet-Sprache, zwei Skriptsprachen und eine Datenbanksprache, haha.
    Ansonsten bin ich in Java einigermaßen fit und habe mir Pearl, Python und Ruby mal je einen Tag lang angesehen, um die Vorzüge zu kennen. Genauso mit C++, Basic und einigen anderen. In den meisten Fällen würde ich vermutlich trotzdem direkt zu Java greifen, aus Bequemlichkeit, damit ich nichts großartig neu lernen muss.
    AutoHotkey, Batch und VBA sind wiederum so simpel, dass ich sie einfach einsetze, wenn ich etwas in der Richtung brauche.

    Ich glaube auch, viele Stellenausschreibungen fordern ein oder zwei bestimmte Sprachen, weil die Unternehmen ein Team haben wollen, das gut zusammenarbeiten kann. Für die eigene Karriere wäre es also zumindest sinnvoll, verschiedene Sprachen zu beherrschen, auch wenn man nicht alle braucht. Und man hat die Möglichkeit, die schönste Sprache für sich herauszusuchen.

    Mit freundlichen Grüßen
    Michael

  4. Stefan Macke sagt:

    Hallo Michael,

    wie du schon schreibst, kommt man heute gar nicht mehr mit nur einer Programmiersprache aus, wenn man größere Projekte umsetzen will. Allein im Web brauche ich mindestens eine Backend- und eine Frontendsprache. Von den genannten zusätzlichen „Sprachen“ mal abgesehen. Aber als Entwickler sollte man sich eigentlich recht schnell in andere Sprachen einarbeiten können, wenn Bedarf besteht. Dafür wurden wir ja ausgebildet 😉

    Viele Grüße!
    Stefan

  5. BuzzTyca sagt:

    Hallo zusammen,

    während meiner Umschulung habe ich die Grundlagen der Programmierung mittels Java und PHP gelernt. Die OOP haben wir in PHP allerdings nur gestreift.
    Im Praktikum habe ich anfangs mit Delphi gearbeitet. Der Umstieg ist mir erstaunlich leicht gefallen. Ich bin fast geneigt zu sagen „Kennst du eine, kennst du alle“.
    Habe ich eine bestimmte Funktion gebraucht, habe ich die, die ich aus Java kenne bei Google eingegeben und Delphi dahinter geschrieben, und in 99% aller Fälle, habe ich ein brauchbares Resultat gefunden.
    Eine entscheidende Erfahrung die ich dabei gemacht habe, ist, dass man als Programmierer auf jeden Fall neben der Syntax der Sprache auch die Google-SuchSyntax beherrschen sollte.
    Ich habe Leute kennengelernt, die nicht mal in der Lage waren eine SubString-Methode für Delphi zu finden. Das ist eine Katastrophe…
    Etwas später im Praktikum, habe ich mit C# gearbeitet, was mir, als jemand der mit Java gearbeitet hat, natürlich sehr leicht fiel.
    Alles in allem würde ich sagen, dass man immer sicher gehen sollte, dass eine Sprache für das Projekt geeignet ist. Und eine neue Sprache zu erlernen, ist (Ausnahmen gibt es sicher) IMO nicht so schwer, wie es sich anhört.

    LG Buzz

  6. Stefan Macke sagt:

    Hallo Buzz,

    ich würde auch sagen, dass man sich eine neue Programmiersprache recht schnell aneignen kann, wenn man das zugrundeliegende Paradigma kennt. Allerdings gibt es in jeder Sprache auch Feinheiten, die man berücksichtigen sollte. Beispiel: In C# würde ich niemals Getter und Setter schreiben, sondern Properties verwenden. Oder in Ruby würde ich niemals eine for-Schleife schreiben, sondern mit each() und einem Block arbeiten. Diese Kleinigkeiten unterscheiden dann später einen Experten von einem Anfänger in der Sprache.

    Viele Grüße!
    Stefan

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax