Beschreibung
Programmieren stellt schon seit je her die Königsdisziplin im technisch-praktischen Umgang mit Computern und gleichzeitig die höchste Anforderung an den Benutzer, den Programmierer, dar. Die Programmierer (auch: Softwareentwickler) bilden die Basis einer jeden Computergeneration und sind für den Erfolg einer Plattform mit entscheidend. Gute Software, erfolgreiche Portierungen und eine umfangreiche freie Softwareszene sind Erfolgsfaktoren für oder gegen ein Computersystem.
Diese Übersicht soll helfen, den Einstieg in die Programmierung unter Mac OS X zu finden und einen Überblick der Technologien bieten.
Programmiersprachen
Es gibt eine Vielzahl von Softwarepaketen und Programmiersprachen, mit denen programmiert werden kann. Die Auswahl der Programmiersprache richtet sich – abgesehen von persönlichen Vorlieben – nach Einsatzzweck, Plattformkompatibilität und Leistungsfähigkeit des zukünftigen Softwareprodukts. In der Anfangszeit der digitalen Revolution, kurz nach dem 2.Weltkrieg waren Computer langsam und teuer. Rechenzeit war knapp und die Ausführgeschwindigkeit das wichtigste Kriterium für die Qualität des Programms. Mit zunehmender Leistungsfähigkeit der Rechner stiegen auch die Ansprüche an die Software, aber auch deren Komplexität. Dies war der Beginn einer schweren Krise ("Softwarekrise"), die dazu führte, dass die Programme immer fehlerträchtiger und schlechter wurden. Der zunehmenden Komplexität der Programme wurden unterschiedliche Konzepte entgegengestellt, um ihrer Herr zu werden. Hierzu zählen bestimmte Paradigmen (Herangehensweisen, ein Problem analytisch zu formulieren). Historisch betrachtet sind hier die entscheidenden Paradigmenwechsel zu sehen in Wechsel von nativer Maschinensprache (bzw. Assembler) zu den imperativen Sprachen wie C, mit der man in den 1970ern das erste Unix entwickelte und später der Wechsel zur Objektorientierung mit ihrem (in der Applewelt) populärsten Vertreter Objective-C. Allen Programmiersprachen ist die Abstraktion von der Maschine hin zum menschlich Begriff von Sprache und die Notwendigkeit eines Übersetzers in Maschinensprache (Compiler oder Interpreter) gemein.
Imperative Sprachen
Objekt-Orientierte Sprachen.
Auf der WWDC 2014 hat Apple Swift vorgestellt. Die moderne Sprache wird Objective-C wohl nach und nach ablösen.
Funktionale Sprachen und KI
Verschiedene Implementationen und Klassenbibliotheken
Skriptsprachen
- AppleScript
- F-Script
- JavaScript
- Lua
- MacASP
- Perl
- PHP
- Python
- Ruby
- Regina
- ScriptX
- SK8
- Tcl/Tk
- UserTalk (Frontier / Radio Userland)
Shells
CAS (Computeralgebrasysteme) and friends
- APLX
- Mathematica
- Maple
- MatLab
- MuPAD (obsolete, but now integrated in the Symbolic Math Toolbox from MatLab)
- Octave
- R
- RLab und SciLab
- Yorick
- Maxima
Sonstige Sprachen
Zubehör
Entwicklungsumgebungen
Bibliotheken
Entwicklertools
Lokalisierung
- AppleGlot
- AppleTrans
- iLingual
- iLocalize
- Localization Suite
- LocFactory Editor
- Mushroom
- nibTranslate
- PowerGlot
Portierungstools
Projekte/Tutorials
Verweise
- Entwicklerseite von Apple. ADC-Mitgliedschaft bringt weitere Vorteile. (engl.)
- Mac OS Forge Apples Entwicklerportal für Open Source Projekte. (engl.)
- osxentwicklerforum.de – Das erste deutschsprachige Mac OS X Entwicklerforum
- Java 2 Platform Dokumentation Mac OS. (engl.)
- Stammbaum und Geschichte der Computersprachen. (engl.)
- CocoaBits Tutorials zu iOS- und Mac OS-Entwicklung (deutsch)
- Kategorien
- Software, Softwareentwicklung
<< Packer | Software | Spiele >>