{"id":18683,"date":"2026-06-01T08:30:47","date_gmt":"2026-06-01T06:30:47","guid":{"rendered":"https:\/\/www.bernd-leitenberger.de\/blog\/?p=18683"},"modified":"2026-06-01T08:31:32","modified_gmt":"2026-06-01T06:31:32","slug":"die-glorreichen-10-programmiersprachen-2","status":"publish","type":"post","link":"https:\/\/www.bernd-leitenberger.de\/blog\/2026\/06\/01\/die-glorreichen-10-programmiersprachen-2\/","title":{"rendered":"Die glorreichen 10 \u2013 Programmiersprachen (2)"},"content":{"rendered":"<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_18683\" class=\"pvc_stats all  \" data-element-id=\"18683\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/www.bernd-leitenberger.de\/blog\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n<p>Der heutige Teil schlie&szlig;t nahtlos an den <a href=\"https:\/\/www.bernd-leitenberger.de\/blog\/2026\/05\/31\/die-glorreichen-10-programmiersprachen\/\">ersten Teil an, der gestern erschien<\/a>. Es geht um 10 Kriterien anhand derer man Programmiersprachen kategorisieren kann.<\/p>\n<h4 class=\"western\">Maschinennah oder universell, aber komplex<\/h4>\n<p>Als eine maschinennahe Sprache bezeichnet man eine Sprache, die nahe den M&ouml;glichkeiten von Prozessoren ist. Das Paradebeispiel ist <a href=\"https:\/\/de.wikipedia.org\/wiki\/C_(Programmiersprache)\">C<\/a>. Alle Prozessoren haben Befehle um ein Register um 1 zu erh&ouml;hen oder zu erniedrigen. Das braucht man f&uuml;r Z&auml;hlschleifen aber auch Arrayindizierungen. In C gibt es daf&uuml;r eigene Hochsprachenbefehle , den Operator ++ oder \u2013. C wird daher auch als Superassembler bezeichnet. Mit C kann man zwar im Prinzip alles programmieren, aber gedacht war sie eigentlich f&uuml;r die Systementwicklung. Die zahlreichen Sicherheitsl&uuml;cken die Betriebssysteme haben beruhen zu einem Teil auf M&auml;ngel von C in der Stringverarbeitung.<!--more--><\/p>\n<p>Das genaue Gegenteil ist eine Sprache, die sich von der Maschine l&ouml;st und dazu geeignet ist unter vielen Computern alle m&ouml;glichen Probleme zu l&ouml;sen, egal ob dies Datenverarbeitung, Berechnungen oder Grafik ist. Dieses Ziel gab es schon fr&uuml;h und IBM schuf 1960 <a href=\"https:\/\/de.wikipedia.org\/wiki\/PL\/I\">PL\/I<\/a> (Programming Langauge 1) als eine Sprache die \u201ealles kann\u201c. PL\/I (oder PL\/1 Im deutschsprachigen Raum) konnte sich jedoch au&szlig;erhalb der IBM Welt nie richtig durchsetzen. Neben den Sprachm&ouml;glichkeiten also den Befehlen und Datentypen geh&ouml;rt zum Universalismus auch das Abstrahieren der Rechnerhardware. Welche M&ouml;glichkeit f&uuml;r die Verarbeitung von Dateien es gibt, h&auml;ngt stark vom Betriebssystem ab, die M&ouml;glichkeiten der Grafik von der verbauten Hardware. Will man auch dies universell machen so wird es aufwendig. Bei den klassischen Programmiersprachen musste man die Grafikroutinen eigentlich immer anpassen. Zu unterschiedlich waren Bildschirmaufl&ouml;sung und Farbzahl. Von Kleinigkeiten das der Ursprung (Koordinate 0,0) mal unten links und mal oben links sein kann mal ganz zu schweigen. <a href=\"https:\/\/de.wikipedia.org\/wiki\/True_BASIC\">True BASIC<\/a> war ein Ansatz das zu l&ouml;sen, daf&uuml;r aber sehr langsam weshalb es sich nicht durchsetzte. Heute hat man das bei Programmiersprachen mit einer virtuellen Maschine gel&ouml;st. Deren M&ouml;glichkeiten sind fest und bei jedem Rechner gleich. Allerdings sehen dann Java-Programme auf grafischen Oberfl&auml;chen zwar immer gleich aus, aber eben ziemlich Altbacken, weil sie nur den kleinsten gemeinsamen Nenner abdecken.<\/p>\n<h4 class=\"western\">Portierbarkeit des erzeugten Codes<\/h4>\n<p>Da komme ich schon zum n&auml;chsten Unterscheidungsmerkmal. Klassischen Maschinencode kann man nicht zwischen Rechnern mit unterschiedlicher Architektur portieren. Schon Updates reichen oft aus, dass ein Programm nicht mehr l&auml;uft. Ich bekam vor einigen Monaten eine Mail von jemand, der ein Programm von mir im Jahr 2026 unter Windows XP einsetzte, das lief gut bis er einen Men&uuml;punkt aufrief und der nutzte den Taskdialog der mit Windows Vista eingef&uuml;hrt wurde und das Programm brach ab.<\/p>\n<p>Die L&ouml;sung ist eine virtuelle Maschine, also ein theoretischer Computer mit eigenem Befehlssatz und eigenen M&ouml;glichkeiten. Man kann dann Code f&uuml;r diese virtuelle Maschine erzeugen, braucht aber noch eine Laufzeitumgebung die diesen dann in echten Maschinencode &uuml;bersetzt. Das bekannteste Beispiel daf&uuml;r ist <a href=\"https:\/\/de.wikipedia.org\/wiki\/Java_(Programmiersprache)\">Java<\/a> (so benannt nach der Lieblingskaffeesorte der Entwickler, Kaffee geh&ouml;rt bei Programmierern einfach zum Alltag, er vertreibt M&uuml;digkeit und h&auml;lt die Konzentration hoch). Java hatte um die Jahrtausendwende einen richtigen Hype, weil man so ein Programm auf unterschiedlichen Rechnern laufen lassen konnte, auf einem PC, Apple Mac oder einem Linux System.<br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/vg09.met.vgwort.de\/na\/7f5d9cf5265047179df05b778bf455b5\" alt=\"\" width=\"1\" height=\"1\" \/><br \/>\nDer Nachteil: Java ist interpretiert und damit langsamer als nativer Maschinencode. Vor allem beim Programmstart merkt man das, sp&auml;ter kaum noch. Java ist auch als Speicherfresser bekannt und wie schon erw&auml;hnt sehen Java Programme dann eben aus wie Windows 95 Programme, denn sie bieten nur die grundlegenden Funktionen f&uuml;r Fenster, die jedes System hat. Das ist zwar durch Bibliotheken ab&auml;nderbar, doch dann geht auch die Portabilit&auml;t verloren. Popul&auml;re PC Programme, die Java nutzen sind der <a href=\"https:\/\/www.tvbrowser.org\/index.php?setlang=de\">TV Browser<\/a> oder <a href=\"https:\/\/mediathekview.de\/\">Mediathek-Viewer<\/a>.<\/p>\n<h4 class=\"western\">L&auml;uft auf einer oder mehreren Computern<\/h4>\n<p>Bisher sprach ich von klassischen Programmen. Sie laufen auf einem Computer, heute vielleicht nur als ein Task von vielen. Aber kann ein Programm auch auf vielen Rechnern gleichzeitig laufen? Ja das kann es und das zwar ein weiterer Grund warum Java so erfolgreich wurde. Man konnte damit verteilte Systeme kreieren in dem ein PC mit einem Gro&szlig;rechner sich unterh&auml;lt ohne das dieser das Quellprogramm zugeschickt bekommt. Es gibt dazu zwei Mechanismen. Das eine sind Remote Procedures, man ruft eine Prozedur auf einem anderen Rechner &uuml;ber das Internet auf, dort wird der Code ausgef&uuml;hrt und man erh&auml;lt die Ausgabe. Daf&uuml;r muss man nat&uuml;rlich wissen, wie dies geschieht. Das hat eine gewisse &Auml;hnlichkeit zu DLL compilierten Bibliotheken, die man auf Windows Rechnern aufrufen kann.<\/p>\n<p>Das zweite ist ein Webservice. Daf&uuml;r stellt der Rechner eine Beschreibungsdatei zur Verf&uuml;gung die beschreibt, wie man mit ihm korrespondiert und man nutzt diese um Anfragen zu stellen. Auf der Weiterentwicklung basieren fast alle Schnittstellen zu Diensten mit einer API (Application Programm Interface). So kann man Orbits von der NASA berechnen lassen, Kurse von Yahoo abfragen oder Google Suchen durchf&uuml;hren lassen.<\/p>\n<h4 class=\"western\">Server- oder Clientseitig<\/h4>\n<p>Wenn ich mehrere Computer habe, die sich unterhalten, dann sind die selten gleichberechntigt. Es hat sich eingeb&uuml;rgert das es einen Server gibt der Daten liefert und einen Client der sie empf&auml;ngt. In der Regel ist ein Server ein gr&ouml;&szlig;erer Rechner, der aber mehrere Benutzer gleichzeitig bedient. Bernd-Leitenberger.de ist nur eine von 50 Domains bei meinem Webhoster pro Server.<\/p>\n<p>Man kann Programme nur f&uuml;r den Server entwickeln oder nur f&uuml;r den Client oder f&uuml;r beide. Seit dem Aufkommen des Internets haben sich Sprachen breit durchgesetzt, die jeweils auf einer Plattform laufen. Der Blog z.b. basiert auf der Programmiersprache <a href=\"https:\/\/de.wikipedia.org\/wiki\/PHP\">PHP<\/a> bei der HTML mit einer Programmiersprache verkn&uuml;pft ist und so dynamisch die Seite erstellt, die ihr seht. PHP l&auml;uft auf dem Server meines Hosters. Die Alternative dazu ist Javascript. Bei <a href=\"https:\/\/de.wikipedia.org\/wiki\/JavaScript\">Javascript<\/a> ist der Code in dem HTML Quelltext eingebettet und wird w&auml;hrend die Seite l&auml;dt, vom Browser ausgef&uuml;hrt. Man kann dies nutzen f&uuml;r Dinge, die HTML als Seitenbeschreibungssprache nicht bietet, wie Pr&uuml;fungen der Eingaben in einem Formular oder eine Diashow. Beides w&auml;re auch serverseitig m&ouml;glich aber z.B. die Pr&uuml;fung der Eingaben durch den Server w&uuml;rde bedeuten, dass man die Seite neu l&auml;dt und alle korrekten Eingaben verlieren w&uuml;rde.<\/p>\n<h4 class=\"western\">Firmendefinition oder Offenes System<\/h4>\n<p>Schon immer wollten Firmen eigene Programmiersprachen schaffen. PL\/I von IBM wurde schon erw&auml;hnt. Jenseits IBM konnte sie sich nie durchsetzen. Der Vorteil ist nat&uuml;rlich das man die Sprache auf das zuschneiden kann, was man selbst einsetzt, man kann von anderen Sprachen Teile &uuml;bernehmen, die sinnvoll sind.<\/p>\n<p>Im Prinzip sind die meisten neu erschienen Sprachen die Bedeutung haben, Firmensprachen. Eine einzelne Person konnte noch ein BASIC f&uuml;r einen 8 Bit Rechner oder die erste Turbo Pascal Version programmieren (stammt von <a href=\"https:\/\/de.wikipedia.org\/wiki\/Anders_Hejlsberg\">Anders Hejlsberg<\/a>), aber eine heutige Sprache ist viel umfangreicher und man erwartet ja auch eine umfangreiche Bibliothek mit Funktionen zu allem. Viele Firmensprachen wurden aber dann von den Firmen abgegeben. So z.B. Java, urspr&uuml;nglich entwickelt von Sun. Sp&auml;ter an eine Foundation abgegeben, die den Sprachstand weiterentwickelt in der Sun (bzw. nach &Uuml;bernahme Oracle) viel Gewicht hat aber eben nicht alleine entscheidet. Unter einer Firmensprache verstehe ich eine, in der die Firma praktisch alleine entscheidet, wie die Weiterentwicklung geht und da dr&auml;ngt sich einem geradezu Microsoft auf.<\/p>\n<p>Als Java Ende der Neunziger Jahre einen Siegeszug hatte, brachte auch Microsoft eine Java-Version namens <a href=\"https:\/\/de.wikipedia.org\/wiki\/J-Sharp\">J#<\/a> heraus. Sehr bald fand Sun heraus das J#-Programme nur unter Windows liefen, also das Grundprinzip der Portabilit&auml;t von Java verletzten und prozessierte gegen Microsoft und gewann. Microsoft schuf dann eine eigene Laufzeitumgebung mit einer virtuellen Maschine (genannt .NET, die meisten haben mehrere Versionen dieser Umgebung auf dem Rechner entweder &uuml;ber Windows Update oder weil Anwendungsprogramme sie mitbringen) und eine neue Sprache C#, der dann noch zahlreiche mit einem # (ausgesprochen: Sharp) folgten. &Uuml;ber den Sprachstandard entscheidet nur Microsoft, auch wenn es Implementierungen f&uuml;r Linux gibt.<\/p>\n<h4 class=\"western\">Ernsthafte Sprache oder Spa&szlig;sprache<\/h4>\n<p>Also bisher habe ich nur von ernsthaften Sprachen gesprochen, mit denen man Probleme l&ouml;sen kann. Selbst mit einem BASIC der Achtziger Jahre mit beschr&auml;nkten F&auml;higkeiten, kann man berechnen, wie viel Geld man seinem Kind am 18. Geburtstag geben kann, wenn man jeden Monat 100 Euro auf ein Konto einzahlt, das monatlich verzinst wird. Aber es gibt auch nicht ernst gemeinte Sprachen, auch <a href=\"https:\/\/de.wikipedia.org\/wiki\/Esoterische_Programmiersprache\">esoterische Programmiersprachen<\/a> genannt, die nicht f&uuml;r den praktischen Einsatz gedacht sind. <a href=\"https:\/\/de.wikipedia.org\/wiki\/Brainfuck\">Brainfuck<\/a> besteht nur aus Symbolen und d&uuml;rfte die kleinste Programmiersprache sein, die es gibt \u2013 der kleinste Compiler ist gerade mal 98 Bytes lang, <a href=\"https:\/\/de.wikipedia.org\/wiki\/Piet_(Programmiersprache)\">Piet<\/a> besteht aus Bildern mit Quadraten und die Quelltexte der <a href=\"https:\/\/de.wikipedia.org\/wiki\/Shakespeare_Programming_Language\">Shakespeare Programming Language<\/a> &auml;hnelt wie der Name sagt mehr einem Werk von Shakespeare als einem Programm.<\/p>\n<p>Mancher bezeichnet aber auch etablierte Programmiersprachen als nicht ernsthaft. APL arbeitet sehr viel mit mathematischen Operatoren, f&uuml;r die man eine eigene Tastatur braucht und hat den Ruf einer \u201eWrite once, Read never\u201c Sprache, wurde aber z.B. in HP-Computern eingesetzt und COBOL hat unter Programmierer durch sie schwafelige Art, den Ruf einer Programmiersprache f&uuml;r Betriebswirte und andere die zu doof f&uuml;r echte Programmiersprachen sind, zu sein.<\/p>\n<h4 class=\"western\">Leicht zu erlernen oder schwer<\/h4>\n<p>Es ist klar, das je umfangreicher eine Sprache ist, man um so mehr Arbeit in das Lernen stecken muss. Man kann es dem werdenden Programmierer aber auch schwer machen oder leicht. Die esoterischen Sprachen im letzten Punkt weichen so sehr von unserem normalen Denken ab, dass man sie nicht praktisch nutzt. Ersetzt man Befehlsworte durch Symbole wie bei <a href=\"https:\/\/de.wikipedia.org\/wiki\/APL_(Programmiersprache)\">APL<\/a> ist die Einstiegsh&uuml;rde auch hoch. Umgekehrt sind wir so an bestimmte Symbole gew&ouml;hnt, dass wir das Ersetzen der Operatoren f&uuml;r die Grundrechenarten + &#8211; * \/ und = durch englische W&ouml;rter in COBOL schwerer verst&auml;ndlich finden.<\/p>\n<p>Viele Sprachen wurden urspr&uuml;nglich als Lehrsprachen geschaffen, also um Programmieranf&auml;nger das Leben leichter zu machen. <a href=\"https:\/\/de.wikipedia.org\/wiki\/Pascal_(Programmiersprache)\">Pascal<\/a> war urspr&uuml;nglich eine Lehrsprache mit einer &Auml;hnlichkeit zu dem damals popul&auml;ren Algol. Sie sollte Studenten mit den Konzepten von Algol vertraut machen in Algol sollten sie dann ernsthaft programmieren. Algol wird heute nicht mehr verwendet, Pascal aber schon. Pascal ist pedantisch, aber dadurch werden Fehler entdeckt. Denn jeder macht Fehler, nur geben das viele Programmierer nicht zu. BASIC war ebenfalls Lehrsprache, es &auml;hnelt mehr FORTRAN, vor allem ist der Sprachumfang recht klein und es gibt eine ganz einfache Programmstruktur \u2013 das Programm wird einfach zeilenweise ausgef&uuml;hrt, wobei jede Zeile eine eigene Nummer hat. Sie ist daher enorm einfach zu lernen.<\/p>\n<p>Als ich f&uuml;r ein Projekt eine Programmiersprache brauchte um Abl&auml;ufe zu automatisieren, habe ich mich daher an BASC orientiert und entsprechend hie&szlig; die Sprache dann auch ATS-BASIC, bzw im Nachfolgeprojekt PATS BASIC.<\/p>\n<p>Erstaunlicherweise k&ouml;nnen Freiheiten die Einstiegsh&uuml;rde erh&ouml;hen. Mein Paradebeispiel ist C. Nicht nur dadurch, dass man exzessiv Symbole verwendet (Blockmarkierungen mit {} sind schwerer zu lesen als \u201ebegin\u201c und \u201eend\u201c) man kann dort viel machen was zu schwer findenden Fehlern f&uuml;hrt, so in einem Vergleich eine Zuweisung machen: if (a=b) \u2026 vergleicht nicht a mit b, sondern weist a den Wert von b zu und vergleicht den Wert mit 0. Warum man f&uuml;r die Zuweisung \u201e=\u201c und den Vergleich \u201e==\u201c nahm und in einem Vergleichsstatement eine Zuweisung erlaubt, hat f&uuml;r mich nur einen Grund: Man wollte bewusst einen Fallstrick einbauen. C kann genauso esoterisch wie Brainfuck sein. Beispiel gef&auml;llig? Der folgende Code ist korrektes C und bekam einen Preis bei einem \u201eobfusticated C\u201c Wettbewerb:<\/p>\n<p><span style=\"font-family: Courier New, monospace;\"><span style=\"font-size: small;\">#include &lt;stdio.h&gt;<\/span><\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-family: Courier New, monospace;\"><span style=\"font-size: small;\">main(t,_,a)<\/span><\/span><\/p>\n<p><span style=\"font-family: Courier New, monospace;\"><span style=\"font-size: small;\">char *a;<\/span><\/span><\/p>\n<p><span style=\"font-family: Courier New, monospace;\"><span style=\"font-size: small;\">{return!0&lt;t?t&lt;3?main(-79,-13,a+main(-87,1-_,<\/span><\/span><\/p>\n<p><span style=\"font-family: Courier New, monospace;\"><span style=\"font-size: small;\">main(-86, 0, a+1 )+a)):1,t&lt;_?main(t+1, _, a ):3,main ( -94, -27+t, a<\/span><\/span><\/p>\n<p><span style=\"font-family: Courier New, monospace;\"><span style=\"font-size: small;\">)&amp;&amp;t == 2 ?_&lt;13 ?main ( 2, _+1, &#8222;%s %d %d\\n&#8220; ):9:16:t&lt;0?t&lt;-72?main(_,<\/span><\/span><\/p>\n<p><span style=\"font-family: Courier New, monospace;\"><span style=\"font-size: small;\">t,&#8220;@n&#8217;+,#&#8217;\/*{}w+\/w#cdnr\/+,{}r\/*de}+,\/*{*+,\/w{%+,\/w#q#n+,\/#{l,+,\/n{n+\\<\/span><\/span><\/p>\n<p><span style=\"font-family: Courier New, monospace;\"><span style=\"font-size: small;\">,\/+#n+,\/#;#q#n+,\/+k#;*+,\/&#8217;r :&#8217;d*&#8217;3,}{w+K w&#8217;K:&#8217;+}e#&#8216;;dq#&#8217;l q#&#8217;+d&#8217;K#!\/\\<\/span><\/span><\/p>\n<p><span style=\"font-family: Courier New, monospace;\"><span style=\"font-size: small;\">+k#;q#&#8217;r}eKK#}w&#8217;r}eKK{nl]&#8217;\/#;#q#n&#8216;){)#}w&#8216;){){nl]&#8217;\/+#n&#8216;;d}rw&#8216; i;# ){n\\<\/span><\/span><\/p>\n<p><span style=\"font-family: Courier New, monospace;\"><span style=\"font-size: small;\">l]!\/n{n#&#8216;; r{#w&#8217;r nc{nl]&#8217;\/#{l,+&#8217;K {rw&#8216; iK{;[{nl]&#8217;\/w#q#\\<\/span><\/span><\/p>\n<p><span style=\"font-family: Courier New, monospace;\"><span style=\"font-size: small;\">n&#8217;wk nw&#8216; iwk{KK{nl]!\/w{%&#8217;l##w#&#8216; i; :{nl]&#8217;\/*{q#&#8217;ld;r&#8216;}{nlwb!\/*de}&#8217;c \\<\/span><\/span><\/p>\n<p><span style=\"font-family: Courier New, monospace;\"><span style=\"font-size: small;\">;;{nl&#8216;-{}rw]&#8217;\/+,}##&#8217;*}#nc,&#8216;,#nw]&#8217;\/+kd&#8217;+e}+;\\<\/span><\/span><\/p>\n<p><span style=\"font-family: Courier New, monospace;\"><span style=\"font-size: small;\">#&#8217;rdq#w! nr&#8217;\/ &#8218;) }+}{rl#'{n&#8216; &#8218;)# }&#8217;+}##(!!\/&#8220;)<\/span><\/span><\/p>\n<p><span style=\"font-family: Courier New, monospace;\"><span style=\"font-size: small;\">:t&lt;-50?_==*a ?putchar(a[31]):main(-65,_,a+1):main((*a == &#8218;\/&#8216;)+t,_,a\\<\/span><\/span><\/p>\n<p><span style=\"font-family: Courier New, monospace;\"><span style=\"font-size: small;\">+1 ):0&lt;t?main ( 2, 2 , &#8222;%s&#8220;):*a==&#8217;\/&#8217;||main(0,main(-61,*a, &#8222;!ek;dc \\<\/span><\/span><\/p>\n<p><span style=\"font-family: Courier New, monospace;\"><span style=\"font-size: small;\">i@bK'(q)-[w]*%n+r3#l,{}:\\nuwloca-O;m .vpbks,fxntdCeghiry&#8220;),a+1);}<\/span><\/span><\/p>\n<p><a href=\"https:\/\/www.bernd-leitenberger.de\/prog\/monster.c\">Hier der Code f&uuml;rs eigene Compilieren<\/a>. Lasst euch &uuml;berraschen&#8230;<\/p>\n<p>Fr&uuml;her kam bei solchen Blogs immer mal die Frage auf welche Programmiersprache man lernen soll, wenn man Anf&auml;nger ist. Ich gebe daf&uuml;r heute keine eigene Empfehlung mehr ab. Ich bin bei Pascal h&auml;ngen geblieben, nachdem ich schon BASIC und Z80 Assembler gelernt habe. Aber das ist 40 Jahre her und viele Programmiersprachen gab es damals noch nicht. Heute sehe ich es pragmatisch: Ich lerne keine neue Programmiersprache, nur um mich weiterzubilden, denn man braucht Jahre bis man richtig effizient in einer Sprache programmieren kann, wenn sie etwas komplexer ist. Zudem muss man oft Projekte in mehreren Sprachen realisieren. F&uuml;r die Einbindung von .COM Objekten in eine Umgebung von Siemens musste ich Pascal-Code mit C mischen und mein <a href=\"https:\/\/www.bernd-leitenberger.de\/Oelstand.html\">&Ouml;lstandmesser<\/a> arbeitet mit Python-Code der die eigentliche Messung durchf&uuml;hrt und Pascalcode f&uuml;r die Auswertung und Generierung der Statusseite. Die Pascal-Entwicklungsumgebung bot f&uuml;r den Raspberry Pi keinen Timer der auf Mikrosekunden genau war und den brauchte ich wegen des Me&szlig;prinzips (Der Sensor sendet ein Schallsignal aus und man misst die Laufzeit bis das Echo ankommt \u2013 bei der Schallgeschwindigkeit von 343 m\/s braucht man eine Genauigkeit von <sup>1<\/sup>\/<sub>343000<\/sub> s um auf Millimeter genaue Werte zu kommen.<\/p>\n<p>Die ct\u2019 empfiehlt <a href=\"https:\/\/www.python.org\/\">Python<\/a> als Einstieg. Sie hat eine rege Community, ist weit verbreitet und der Sprachstandard ist sehr umfangreich und deckt alle wichtigen Konzepte ab. Dazu gibt es viele kostenlose Entwicklungsumgebungen f&uuml;r viele Systeme. Die Langsamkeit wirkt sich bei Anf&auml;ngerprojekten, die ja selten umfangreich sind nicht so aus und man kann sie mit C koppeln um das auszugleichen.<\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_18683\" class=\"pvc_stats all  \" data-element-id=\"18683\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/www.bernd-leitenberger.de\/blog\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n<p>Der heutige Teil schlie&szlig;t nahtlos an den ersten Teil an, der gestern erschien. Es geht um 10 Kriterien anhand derer man Programmiersprachen kategorisieren kann. Maschinennah oder universell, aber komplex Als eine maschinennahe Sprache bezeichnet man eine Sprache, die nahe den M&ouml;glichkeiten von Prozessoren ist. Das Paradebeispiel ist C. Alle Prozessoren haben Befehle um ein Register [&hellip;]<\/p>\n","protected":false},"author":169,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[5296],"tags":[5395,1725,3053,2407,1750,5397,5396],"class_list":["post-18683","post","type-post","status-publish","format-standard","hentry","category-die-glorreichen-10","tag-apl","tag-c","tag-cpython","tag-j","tag-java","tag-javascript","tag-php","entry"],"a3_pvc":{"activated":true,"total_views":62,"today_views":62},"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":18676,"url":"https:\/\/www.bernd-leitenberger.de\/blog\/2026\/05\/31\/die-glorreichen-10-programmiersprachen\/","url_meta":{"origin":18683,"position":0},"title":"Die glorreichen 10 \u2013 Programmiersprachen","author":"Bernd Leitenberger","date":"31. Mai 2026","format":false,"excerpt":"Ich wollte mal eine Reihe in dieser Rubrik \u00fcber Programmiersprachen machen. Zuerst dachte ich daran eine Liste nach meinen pers\u00f6nlichen Favoriten zu erstellen. Anfangs bef\u00fcrchtete ich, dass ich gar nicht auf 10 komme, aber es sind tats\u00e4chlich mehr, wenngleich ich in vielen Sprachen nur kleine Programme verfasst habe oder mich\u2026","rel":"","context":"In &quot;Die Glorreichen 10&quot;","block_context":{"text":"Die Glorreichen 10","link":"https:\/\/www.bernd-leitenberger.de\/blog\/category\/allgemein\/die-glorreichen-10\/"},"img":{"alt_text":"","src":"https:\/\/vg09.met.vgwort.de\/na\/4073c4f9dc6943a08702cdde13605d43","width":350,"height":200},"classes":[]},{"id":18612,"url":"https:\/\/www.bernd-leitenberger.de\/blog\/2026\/03\/28\/galileos-cds-teil-2\/","url_meta":{"origin":18683,"position":1},"title":"Galileos CDS \u2013 Teil 2","author":"Bernd Leitenberger","date":"28. M\u00e4rz 2026","format":false,"excerpt":"So, heute geht es weiter mit Teil 2 \u00fcber Galileos CDS, dieser Beitrag schlie\u00dft nahtlos an den ersten Beitrag von gestern an, wie man schon an der ersten Textzeile sieht. Nach der Einleitung im ersten Teil geht es heute weiter damit warum der RCA 1802 genutzt wurde und was seine\u2026","rel":"","context":"In &quot;Raumfahrt&quot;","block_context":{"text":"Raumfahrt","link":"https:\/\/www.bernd-leitenberger.de\/blog\/category\/raumfahrt\/"},"img":{"alt_text":"","src":"https:\/\/vg07.met.vgwort.de\/na\/191e4b0728de42829cf656027b84dc82","width":350,"height":200},"classes":[]},{"id":18614,"url":"https:\/\/www.bernd-leitenberger.de\/blog\/2026\/03\/29\/galileos-cds-teil-3\/","url_meta":{"origin":18683,"position":2},"title":"Galileos CDS &#8211; Teil 3","author":"Bernd Leitenberger","date":"29. M\u00e4rz 2026","format":false,"excerpt":"So nun zum dritten Teil \u00fcber das prim\u00e4re Computersystem von Galileo, das CDS. Nachdem sich die ersten beiden Teile nur mit dem RCA 1802, warum er gew\u00e4hlt wurde und seiner Architektur befassten geht es heute um das Computersystem selbst. Der Artikel schlie\u00dft so an seine beiden Vorg\u00e4nger gestern und vorgestern\u2026","rel":"","context":"In &quot;Raumfahrt&quot;","block_context":{"text":"Raumfahrt","link":"https:\/\/www.bernd-leitenberger.de\/blog\/category\/raumfahrt\/"},"img":{"alt_text":"","src":"https:\/\/vg07.met.vgwort.de\/na\/6e7f572a246b4ac395de9c260733b707","width":350,"height":200},"classes":[]},{"id":18610,"url":"https:\/\/www.bernd-leitenberger.de\/blog\/2026\/03\/27\/galileos-cds-teil-1\/","url_meta":{"origin":18683,"position":3},"title":"Galileos CDS &#8211; Teil 1","author":"Bernd Leitenberger","date":"27. M\u00e4rz 2026","format":false,"excerpt":"Hall\u00f6chen, es wird Zeit das ich mich mal wieder melde. Es gab zwei Gr\u00fcnde, warum ich mich so rar gemacht habe. Das eine ist das es gerade nicht so viel aktuelles gibt, au\u00dfer einem Update zu Artemis, zu dem ich vielleicht noch etwas schreibe. W\u00e4hrend Trump das ganze Programm nach\u2026","rel":"","context":"In &quot;Raumfahrt&quot;","block_context":{"text":"Raumfahrt","link":"https:\/\/www.bernd-leitenberger.de\/blog\/category\/raumfahrt\/"},"img":{"alt_text":"","src":"https:\/\/vg07.met.vgwort.de\/na\/4fb81c7bafbd4d9d88b5695abdb33d29","width":350,"height":200},"classes":[]},{"id":18380,"url":"https:\/\/www.bernd-leitenberger.de\/blog\/2025\/09\/03\/die-glorreichen-10-das-war-mal-weg-pc-hardware\/","url_meta":{"origin":18683,"position":4},"title":"Die glorreichen 10 &#8211; Das war mal weg: PC Hardware","author":"Bernd Leitenberger","date":"3. September 2025","format":false,"excerpt":"Ich will heute mal zwei ZDF Info \/ Neo Sendungen verbinden. Die glorreichen 10, die bei mir als Vorlage f\u00fcr einige Blogs dienten und die von mir noch mehr gesch\u00e4tzte Sendung \"Das war mal weg\", wo es um Dinge geht, die fr\u00fcher fast jeder hatte und die heute aus unserem\u2026","rel":"","context":"In &quot;Die Glorreichen 10&quot;","block_context":{"text":"Die Glorreichen 10","link":"https:\/\/www.bernd-leitenberger.de\/blog\/category\/allgemein\/die-glorreichen-10\/"},"img":{"alt_text":"","src":"https:\/\/vg02.met.vgwort.de\/na\/876c61d389304d98aa0332fadd769381","width":350,"height":200},"classes":[]},{"id":18458,"url":"https:\/\/www.bernd-leitenberger.de\/blog\/2025\/10\/23\/die-agena-c-2\/","url_meta":{"origin":18683,"position":5},"title":"Die Agena C","author":"Bernd Leitenberger","date":"23. Oktober 2025","format":false,"excerpt":"Wie ihr sicher bemerkt habt, war es etwas ruhig hier im Blog. Der Grund ist ganz einfach, ich habe mich endlich entschlossen, einen Schlussstrich zu ziehen. Nein, nicht unter dem Blog. Seit f\u00fcnf Jahren will ich Band 2 des Apolloprogramms fertigstellen und habe in den letzten Jahren eigentlich immer nur\u2026","rel":"","context":"In &quot;Raumfahrt&quot;","block_context":{"text":"Raumfahrt","link":"https:\/\/www.bernd-leitenberger.de\/blog\/category\/raumfahrt\/"},"img":{"alt_text":"","src":"https:\/\/vg04.met.vgwort.de\/na\/d6474dec02b34cf385a0dfced0cffb64","width":350,"height":200},"classes":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/posts\/18683","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/users\/169"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/comments?post=18683"}],"version-history":[{"count":3,"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/posts\/18683\/revisions"}],"predecessor-version":[{"id":18686,"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/posts\/18683\/revisions\/18686"}],"wp:attachment":[{"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/media?parent=18683"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/categories?post=18683"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bernd-leitenberger.de\/blog\/wp-json\/wp\/v2\/tags?post=18683"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}