Klassifikation von Programmiersprachen

Hallo,

gerade wollte ich eine Visitenkarte von mir ins Netz stellen und auch aufführen welche Sprachen ich alle kann. Bei der Fülle müsste ich sie zur Übersicht gruppieren, jedoch sehe ich keine geeignete Gruppierung.

An der Uni wird unterteilt nach Paradigma, jedoch ist das keine echte Abgrenzung für mich, denn allein Python umfasst mehrere Paradigma.

Gibt es das ganze auch monohierarisch?
 

Ultrasick

Grünschnabel
Es ist ein generelles Problem, dass man beim Gruppieren die Elemente nicht immer eindeutig den Gruppen zuweisen kann, solange sich nicht alle Elemente in einer bestimmten Eigenschaft eindeutig unterscheiden.

Es ist auch bis zu einem gewissen Maß üblich, die Sprachen nach ihrer Abstraktion zu gruppieren, da manche maschinennah sind und manche die Handhabung von der Maschine/der Hardware fast vollständig im Hintergrund handhaben. Aber der Übergang zwischen den einzelne Sprachen ist so fließend.

Versuch doch nur mal einen Menschen von einem Tier zu unterscheiden. Was ist der eindeutige Unterschied zwischen den Menschen und den Tieren?

-> Die Intelligenz? - Nein, nicht eindeutig. Es gibt intelligente Tiere und intelligente Menschen und es gibt unintelligente Tiere und unintelligente Menschen. Der Übergang ist fließend.

-> Der aufrechte Gang? - Nein, auch Pinguine laufen aufrecht.

Nun das wohl eindeutigste Unterscheidungskriterium zwischen Mensch und Tier ist, dass die Menschen Ackerbau betreiben. Etwas das kein Tier macht. Aber zum Beispiel Eichhörnchen sammeln immerhin für den Winter.

Wenn du das eindeutigste Unterscheidungskriterium von Programmier- und Skriptsprachen nicht kennst, dann reicht es dir vielleicht, wenn du sie alphabetisch auflistest.

Wenn ich gezwungen wäre, sie zu gruppieren, dann würde ich anhand von dessen gruppieren, ob sie zur Laufzeit erst noch in Maschinensprache übersetzt werden müssen (Skriptsprachen) oder ob sie vor der Laufzeit in Maschinensprache übersetzt werden müssen (Assembler und Programmiersprachen). Aber die ARM-Mikroprozessoren können zum Beispiel Java-Byte-Code zur Laufzeit mit einer Hardwareunterstützung teilweise in ARM-Maschinencode übersetzen und dann ausführen und teilweise direkt ausführen.
 
Zuletzt bearbeitet:

ikosaeder

Teekannen-Agnostiker
Hallo,

gerade wollte ich eine Visitenkarte von mir ins Netz stellen und auch aufführen welche Sprachen ich alle kann. Bei der Fülle müsste ich sie zur Übersicht gruppieren, jedoch sehe ich keine geeignete Gruppierung.

An der Uni wird unterteilt nach Paradigma, jedoch ist das keine echte Abgrenzung für mich, denn allein Python umfasst mehrere Paradigma.

Gibt es das ganze auch monohierarisch?
Bist du dir sicher, dass du so viele Sprachen sicher beherrscht?
Mich würde auch interessieren welche und wie viele das sind. Ich habe auch schon in rund einem Dutzend Sprachen Programme geschrieben, aber ich würde nie behaupten, dass ich sie alle beherrsche.
Ansonsten grob einteilen in Skriptsprachen, Hochsprachen und Assembler, dann alphabetisch. Weitere Kriterien wären vielleicht Objektorientiert oder nicht, PHP, JS und ähnliches könnte man auch untere einem Punkt Webentwicklung auslagern.
Gerade wenn du es für Bewerbungen verwenden willst, konzentriere dich auf die Sprachen, die du wirklich gut kannst, bzw. gibt zusätzlich deine Kenntnissstufen mit an. Niemand wird dir abnehmen, das du mehr als 3 Sprachen aus dem FF beherrscht.
Z.B.
Gut: Fortran, Python, Bash
Fortgeschritten: C, C++, javascript,
Grundkenntnisse: Java, Tcl, perl, basic, pascal, php,
 

Harrier

Erfahrenes Mitglied
Möglich wären unter Anderem auch folgende Kriterien:
Funktional/Imperativ(Sequentiel)/Objektorientiert
Kompiliert/Interpretiert (wie genannt)
Maschinennah vs. Höhere Sprache ist denke ich etwas schwieriger, weil das recht kontinuierlich ist.
Ansonsten würde ich auch vorschlagen, nach Anwendung zu sortieren (z.B. eben "Webentwicklung" oder sowas).

Darüber hinaus würde ich mich auch ikosaeder anschließen. Benenn nur die Sprachen, die du wirklich richtig kannst, und sag lieber noch sowas wie "Darüber hinaus verfüge ich selbstverständlich über Grundkenntnisse in einigen weiteren Sprachen, wie [einige nennen].".
 
Oha, das ist alles schwer :D
Der Beitrag von "Ultrasick" war schön zu lesen, aber bildete noch keine Unterteilung.
Die Meinung von "ikosaeder" traf auch meine Vorstellung einer Dreiteilung mit zusätzlichem Hinweis, wie gut diese beherrscht wird.
Genauer beschrieb es dann "Harrier", wobei das mir ein Schritt zu weit ist.

Also bleibe ich auf der Meso-Ebene und unterteile in Anwendungsgebiete (Web etc.) und anschließend in Kompetenz. Der versierte Informatiker wird wissen was für ein Typ es ist und der Interessierte sieht wofür das gut ist :)

Vielen Dank euch allen!