Programmiersprachen
1. Sprechen Sie C ?
Der durchschnittliche Entwickler oder im Volksmund "Programmierer" weist ein umfangreiches Repertoire an Programmiersprachen auf. Programmiersprachen sind keine natürlichen Sprachen, wie Deutsch und Englisch, sondern formale Sprachen und nur ansatzweise miteinander vergleichbar. Das Repertoire eines Programmierers wird stets erweitert. Hunt2003 empfiehlt sogar das freiwillige Lernen von Programmiersprachen als eine Art Fitness für den eigenen Geist. Verzichten Sie auf Sudoku; lernen Sie lieber eine Programmiersprache! ;-)
Warum braucht man so viele Programmiersprachen? Warum entstehen stets neue Programmiersprachen? Warum gibt es nicht eine Programmiersprachen für alles? Der wichtigste Grund dafür sind die stets wachsenden Anforderungen an Systeme mit Software. Programmieren bedeutet heute nicht mehr das Eintippen einer Abfolge von Befehlen, die sequentiell (also hintereinander) ausgeführt werden. Jede Programmiersprache und insbesondere das was sie im wesentlichen kennzeichnet, deren Paradigma
, Framework, Support, Tool-Chain etc.), hat seine ganz spezifischen Vor- und Nachteile je Nach Anwendung. Mit wenigen Befehlen schafft ein Programmierer in Ruby und Python
das, was ein Assembler-Programmierer zur Lösung derselben Aufgabe in seinem gesamten Leben kaum schaffen kann. Auf der anderen Seite ist auf einem Ebedded-System mit gerade einem Kilobyte Speicher nicht viel mit höheren Programmiersprachen und ihren gigantischen Frameworks anzufangen. Deshalb greift der Programmierer zu dem, was ihn am schnellsten ans Ziel bringt. Wir dürfen nicht vergessen, dass es diese vielen Programmiersprachen noch nicht lange gibt. Wir sind ganz am Anfang. Sprachen entstehen, werden verbessert zusammengefasst und teilweise wieder verworfen. Programmierer streiten um Neuerungen je nach Interessenlage mit denselben Intentionen, wie Gegner und Befürworter der Rechtschreibreformen in Deutschland. Aktuell sind Ruby und Python
die feinste Art sich effizient zu artikulieren. Damit sind die Beiden das Ergebnis der gesamten Evolution, seit dem Stanzen von Maschinencode im Dualzahlenszstem auf Lochkarten. Aber bei aller Euphorie und Aufregung um das Thema. Im Vergleich mit der Entwicklung der natürlichen Sprache des Menschen, verständigt sich der Programmierer noch in Grunzlauten mit dem Computer. Solange die Kommunikation mit der Maschine eine Diktatur in Form von fehlerintoleranten formalen Sprachen ist, wird sich daran auch nicht viel ändern. 2. Sprachkenntnisse
In laufe meines Lebens bin ich Mal tiefer, Mal nur oberflächlich mit den folgenden Programmiersprachen in Berührung gekommen. Angefangen hat alles mit BASIC am Amiga 500. Und dann ging alles so schnell. :-)
| Programmiersprache | Verwendung (Empfehlung) |
|---|---|
| Abel | Hardwarebeschreibung für PLDs |
| Assembler | Optimierter, schneller Code |
| AWK | Filterung von Texten |
Axiom![]() | Lösung mathematischer Probleme, symbolisches Rechnen |
| BASH | Kleine Programme für die Automatisierung von lästigen Arbeiten unter Linux (auch für Windows) |
| C | Betriebssysteme, Algorithmen, Echtzeitsysteme |
C++![]() | PC-Anwendungsprogramme, Betriebssysteme, Echtzeitsysteme und Algorithmen |
| HTML | Darstellung von Inhalten im Browser |
| Java | Platformunabhängige PC-Anwendungsprogramme, Java-Applets für das Web |
| Java-Script | Interaktion und Darstellung von Webseiten |
| LATEX | Erstellen von ordentlichen Textdokumenten |
MATLAB![]() | Lösung mathematischer Probleme |
Objective C![]() | z.B für das iPhone |
| Octave | Lösung mathematischer Probleme |
PHP![]() | Kleinere interaktive Webseiten |
Pl/SQL![]() | Seitens der Datenbank Aufgaben erledigen |
| Prolog | Wissensverarbeitung, Lösung mathematischer Probleme |
Python![]() | Mit wenigen Zeilen viel erreichen - ich bin beeindruckt! |
| Quick Basic | Anwendungsprogrammierung unter DOS (inzwischen veraltet) |
R![]() | Lösung mathematischer Probleme, spezialisiert auf Statistik |
| Ruby | Ausgezeichnet für umfangreiche Anwendungen für das Web |
VHDL![]() | Hardwarebeschreibungssprache |
| Visual Basic | Anwendungsprogramme unter Windows |
| Windows Batch | Automatisierung von sequentiellen Abläufen unter Windows |
| XML | Repräsentation von Daten |
3. Theoretische Betrachtungen
Programmierparadigma
Unterschiede in der Grammatik von Programmiersprachen: Syntax differences
Ein Vergleich der Verarbeitunsgeschwindigkeit von Programmiersprachen.
TIOBE Programming Community Index for August 2010
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
Programmieren Lernen

Siehe auch Algorithmen

AufwandSchaetzung

SoftwareEntwicklung
SoftwareTechnik

There are no comments on this page. [Add comment]