Programmiersprache: Unterschied zwischen den Versionen

aus ZUM-Wiki, dem Wiki für Lehr- und Lerninhalte auf ZUM.de
Wechseln zu: Navigation, Suche
(JavaScript: neu angelegt)
(JavaScript)
Zeile 106: Zeile 106:
 
JavaScript ist eine objektbasierte Sprache. Es können auch eigene Objekte angelegt werden. Das Geheimnisprinzip wird nicht unterstützt (Eigenschaften können nicht als private deklariert werden). Grafik ist schwierig umzusetzen (Stichworte zur recherche: Layer, SVG, Idee von Walter Zorn)   
 
JavaScript ist eine objektbasierte Sprache. Es können auch eigene Objekte angelegt werden. Das Geheimnisprinzip wird nicht unterstützt (Eigenschaften können nicht als private deklariert werden). Grafik ist schwierig umzusetzen (Stichworte zur recherche: Layer, SVG, Idee von Walter Zorn)   
 
Fazit: JS eignet sich, um schnell kleine Programme zu schreiben, die plattformunabhängig auch auf leistungsschwachen Rechnern laufen. Es eignet sich um grundlegende Programmiertechniken zu vermitteln, aufgrund der beschreibenen Unsauberkeiten ist JS aber nicht als ausschließliche Sprache zu empfehlen. Aufgrund ihrer Java ähnlichen Syntax ist JS sehr geeignet, um auf Java umzusteigen.
 
Fazit: JS eignet sich, um schnell kleine Programme zu schreiben, die plattformunabhängig auch auf leistungsschwachen Rechnern laufen. Es eignet sich um grundlegende Programmiertechniken zu vermitteln, aufgrund der beschreibenen Unsauberkeiten ist JS aber nicht als ausschließliche Sprache zu empfehlen. Aufgrund ihrer Java ähnlichen Syntax ist JS sehr geeignet, um auf Java umzusteigen.
 +
* Überblick: http://de.wikipedia.org/wiki/Javascript
 
* http://de.selfhtml.org/javascript/
 
* http://de.selfhtml.org/javascript/
 
* http://www.robert-web.de/java.shtml
 
* http://www.robert-web.de/java.shtml

Version vom 9. Mai 2005, 13:58 Uhr

Inhaltsverzeichnis

Compiler-Sprachen

C

C++

C# (C-Sharp)

C# ist eine Programmiersprache für Microsoft .NET, die Java recht ähnlich ist.

Zum Ausführen der C#-Sharp-Programme unter Windows wird .NET-Runtime benötigt. Mit Mono gibt es auch eine freie Implementation von .NET, für die ebenfalls Programme in C# erstellt werden können. Für .NET stehen aber auch andere Programmiersprachen, wie z.B. Visual Basic .NET oder J# zur Verfügung.

Entwicklungs-Umgebungen:

Mit dem .NET SDK (Software Development Kit) können Programme für .NET erstellt werden. Das .NET SDK enthält auch die Kommandozeilenversion des C# Compilers. Der Programmcode kann mit jedem beliebigen Editor erstellt werden.
Momentan noch Beta-Status ... Abgespeckte kostenlose Version der der kommerziellen Entwicklungsumgebung Visual Studio .NET 2005 für C#.
Freie integrierte Entwicklungsumgebung für C# und das .NET Framework. Zusäzlich muss das .NET-SDK installiert werden. SharpDevelop bietet auch einen grafischen Oberflächendesigner.
Mono ist eine freie Implementierung von .NET. Im Gegensatz zu .NET ist Mono auch auf anderen Systemen als Windows, wie z.B. Linux und Mac OS lauffähig. Eine Windows Version gibt es aber natürlich auch. In der derzeit aktuellen Version 1.0.5 unterstützt Mono noch nicht die Windows-Forms Bibliotheken von .NET vollständig, die zur Erstellung grafischer Oberflächen nötig sind. Diese trifft insbesondere auf Nicht-Windows Systeme zu. Um trotzdem grafische Oberflächen erstellen zu könenn bietet Mono mit GTK# eine Anbindung an GTK. Auch eine Anbindung an Qt von Trolltech gibt es mit Qt#.
Mono enthält auch einen C# Compiler. Dazu passend gibt es dann auch mit MonoDevelop eine Portierung der integrierten Entwicklungsumgebung SharpDevelop auf Mono/GTK#.
Programme die mit dem C# Compiler von Mono erstellt werden sind binärkompatibel zu Microsofts .NET und umgekehrt, da die C# Compiler MSIL Code für die {[VM]] von .NET erzeugen.

JAVA

Software

Eclipse ist eine universelle KOSTENLOSE Entwicklungsplattform. Ecplise ist selber ein Java-Programm und bietet für die Java-Programmierung auch die beste Unterstützung. Ein echtes TOP-Programm! Es gibt zahlreiche Plugins, die die Funktionen von Eclipse erweitern können.
BlueJ ist eine kostenlose Entwicklungsumgebung, die auf die Bedürfnisse von Einsteigern im Unterricht Rücksicht nimmt. Zum Überwinden der ersten Hürden sehr sinnvoll.
ist ein UML-Werkzeug mit Code-Generator, mit dem viel Objektorientierung ohne viel Quellcode gelehrt und gelernt werden kann (s.a. Seiten der HU-Berlin)
  • Together

Kurse und Bücher zum Erlernen

Den Kurs gibt es in verschiedenen Varianten (Powerpoint- und PDF-Folien, Filme) zusammen mit Übungen und Beispielprogrammen.
Auch das neuste Buch des Standardwerkes (Nachfolger von "Go To Java 2") von Guido Kröger kann als gepackte Datei in Form von HTML-Seiten heruntergeladen werden. Dazu gibt es auch Beispieldateien.
  • Java ist auch eine Insel
Als HTML-Version bei Galileo-Open-Books oder PDF-Dokument herunterladbar.
  • Java 2
Buch, das als HTML-Version bei Galileo-Open-Books heruntergeladen werden können.
  • Kurztutorial

http://www.ph-ludwigsburg.de/mathematik/lehre/ws0203inf1/Tutorial/

Unterrichtsreihen und -materialien

Oberon

Oberon ist ein Objekt-Pascal (Alternativen: Freepascal/Lazarus, Borland Delphi/Kylix)

Interpreter-Sprachen

Basic

Python

Python wurde ausdrücklich als eine Lern-Sprache entwickelt. Es gibt kaum Unterschiede zu den anderen Programmiersprachen. Python ist OpenSource-Software, d.h. kostenlos erhältlich. Besonderheiten:

  • Keine Klammern, sondern systematisches Einrücken
  • Der Range-Befehl um Zahlen-Sequenzen zu erzeugen, statt einer for-Schleife

Download-Quellen:

  • Orignal-Python Interpreter für Windows und Linux
  • Eric, eine Python-IDE für Linux
  • Boa-Constructor, eine Python-IDE, die in Python programmiert wurde. Um auf verschiedenen Betriebssystemen laufen zu können, benötigt man einige Bibliotheken. Projekt ist noch in Entwicklung.
  • Pynassi, ein Struktogramm-Editor und Debugger von Ingo Linkweiler.
  • DrPython, eine IDE von Daniel Pozmanter.

Material zu Python:

  • Buch: Python4kids von Gregor Lingl. Nutzt zum Einstieg unter anderem die Turtle-Grafik. Gut für Schüler geeignet.
Auf Basis dieses Buches habe ich pdf-Seiten und Tests für den Unterricht erstellt, mit denen meine Schüler Python erlernen. Allerdings sind die Unterlagen noch nicht fertig. Bei Interesse ..--BirgitLachner 15:47, 22. Nov 2004 (CET)

Online Kurse und -Materialien:

JavaScript

JavaScript ist eine Scriptsprache, die in allen gängigen Browsern integriert ist. Um JavaScript zu programmieren, benötigt man minimal einen Browser und einen Texteditor. Die Skripte können in HTML Seiten eingebunden werden. Als Nachteil ist die recht unsaubere Typendeklaration der Variablen zu nennen (Keine Unterscheidung zwischen Zahlen und Strings, das kann zu Problemen führen: 1+1=11 ist je nach Interpretation möglich.(Workaround: 1*1+1*1=2)) JavaScript ist eine objektbasierte Sprache. Es können auch eigene Objekte angelegt werden. Das Geheimnisprinzip wird nicht unterstützt (Eigenschaften können nicht als private deklariert werden). Grafik ist schwierig umzusetzen (Stichworte zur recherche: Layer, SVG, Idee von Walter Zorn) Fazit: JS eignet sich, um schnell kleine Programme zu schreiben, die plattformunabhängig auch auf leistungsschwachen Rechnern laufen. Es eignet sich um grundlegende Programmiertechniken zu vermitteln, aufgrund der beschreibenen Unsauberkeiten ist JS aber nicht als ausschließliche Sprache zu empfehlen. Aufgrund ihrer Java ähnlichen Syntax ist JS sehr geeignet, um auf Java umzusteigen.

LOGO/Turtle

Grundidee ist es hier, eine Schilkröte über das Zeichenblatt zu bewegen. Da die Schildkröte einen Stift mit sich führt, malt sie bei einer Bewegung Linien. Inzwischen gibt es viele verschiedene LOGO/Turtle-Varianten, auch mit anderen Tieren.

NetLOGO stellt eine Weiterentwicklung des Konzepts der Turtle dar. Es ist auf anschauliche Weise möglich, grundlegende Programmierkonzepte einzuführen (Variablen, Kontrollstrukturen, sogar die Rekursion). Viele Turtles werden gleichzeitig über Felder (Patches) gesteuert und interagieren miteinander (von wenigen Regeln gelenkt). Turtles und Patches heißen Agenten, NetLOGO ist also eine agentenbasierte Programmier- bzw. Simulationsumgebung. Da es in Java entwickelt wurde, ist es weitgehend plattformunabhängig. Es stehen eine Reihe von Modellen zur Verfügung, die zu Zwecken der Simulation eingesetzt werden können.

Eine weitere LOGOvariante ist durch Starlogo, auch als "Vorläufer" von NetLOGO zu sehen, gegeben.

PHP

Der Name PHP steht für "PHP - Hypertext Preprocessor". PHP ist eine interpretierte Skriptsprache mit C/Java-ähnlicher Syntax, die v.a. dafür entwickelt wurde, dynamisch HTML-Seiten auf Webservern zu generieren. Sie ist inzwischen so beliebt, dass viele kommerzielle Webseiten PHP einsetzen. Verbreitet ist dabei v.a. die Kombination Linux, Apache, MySQL, PHP (= LAMP).

  • www.php.net - Seite des PHP-Projekts (aktuelle Versionen, Dokus, Tutorials etc.)
  • XAMPP - ein komplettes LAMP-System mit einfachem Installer, sehr gut geeignet für den Unterrichtseinsatz.
"Dieses Dokument beschreibt ca. 560 Funktionen von PHP 3/4/5. Dabei wurden die am häufigsten genutzten Befehle von PHP innerhalb einer vorgegebenen Gruppenstruktur in alphabetischer Reihenfolge geordnet und ausführlich erklärt. Desweiteren wird zu jeden Befehl mindestens ein Beispiel und die dazugehörige Ausgabe im Browser angezeigt. So kann man schon beim Lesen des Dokuments die Befehle nachvollziehen und bei Bedarf ausprobieren. Die Skripte sind aus diesem Grund sehr einfach gehalten, sodass gerade Anfänger einen sehr schnellen Bezug zu dem Befehl finden werden. Fortgeschrittene Programmierer hingegen werden wohl eher nur auf den Syntax schauen um dann diesen Befehl in ihr Programm einbinden zu können." (phpself.de)

XML

XML ist eine Meta-Markup-Sprache (keine Programmiersprache). In XML können Markup-Sprachen formuliert werden, ein Beispiel ist XHTML, eine Formulierung von HTML in XML. Es existieren verschiedenste XML-Sprachen für spezielle Zwecke. XML ist momentan besonders als Datenaustauschformat zwischen verschiedenen Softwaresystemen beliebt, da es sowohl genug Struktur bietet, um automatisiert verarbeitet zu werden, gleichzeitig aber auch für den Programmierer noch lesbar bleibt.

OOP Objektorientierte Programmierung

Funktionale Programmierung

Die Funktionale Programmierung (FP) stellt ein weiteres Programmier-Paradigma neben der imperativen und der logischen Programmierung dar. Im Gegensatz zur imperativen Programmierung bestehen funktionale Programme nur aus hintereinandergeschalteteten oder rekursiven Aufrufen von Funktionen (teils einfach, teils höherer Ordnung). Iteration muss häufig durch Rekursion ersetzt werden. Der Code in funktionalen Sprachen ist sehr mathematisch, d.h. sehr kompakt. Gerade in der Algorithmik ist die FP daher in Universitäten sehr beliebt. Funktionale Sprachen sind bspw.:

UML

UML ist eine "Sprache" zur Darstellung (v.a.) objektorientierter Entwürfe. Sie besteht aus verschiedenen Diagrammtypen, die unterschiedliche grafische Sichten auf die Architektur (bzw. den Entwurf) eines Softwaresystems ermöglichen. Aktuell ist der UML-Standard in der Version 2.

Sonstiges

  • Kara ... ein programmierbarer Käfer
Ein Java-Programm, das die Möglichkeit bietet, mit verschiedenen Programmiersprachen (Java) oder per Drag and Drop Touringmaschinen zu erstellen und diese zu Simulieren. Siehe auch Programmierlernumgebungen