C#
| Übersicht Programmierung
Eine kleine Übersicht:
imperativ / objektorientiert | deklarativ |
(C), C++, C#, Java, Java-#, Pascal/Delphi, PHP, Basic/VB(A), ... |
Haskell, LISP, Prolog, SQL, ... hinsichtlich mathematischer Algorithmen auch Computer-Algebra-Systeme (CAS) => blackbox (TI-nspire, TI-89) |
Im Vordergrund steht das WIE. Der Programmierer gibt an, in welcher Reihenfolge der Computer was machen soll. | Im Vordergrund steht das WAS. Der Programmierer übergibt dem Computer meist einen Ausdruck, den er ausgewertet haben möchte und der Computer kümmert sich um die Ausführung. |
Wie funktioniert Programmieren überhaupt?
Am Beispiel eines Frameworks:
Quellcode |
Compiler übersetzt in |
Zwischencode |
Linker (Java: Java-Runtime-Environment (jre), C#: .Net-Framework) übersetzt in |
Maschinencode |
Kann vom Computer ausgeführt werden |
Vorteil der "Zwischencodelösung" ist, dass lediglich die Frameworks/Runtime-Environments an die Prozessorarchitekturen angepasst werden müssen und der vom Programmierer geschriebene Quell-/Zwischencode entsprechend auf jeder unterstützten Architektur meist ohne Anpassungen ausgeführt werden kann.
Nachteile:
-
systemnahe Programmierung meist nicht möglich bzw. nur schwierig umsetzbar
-
meist etwas langsamer als direkt für den Prozessortyp erzeugter Maschinencode