Programmiersprache: Unterschied zwischen den Versionen

aus ZUM-Wiki, dem Wiki für Lehr- und Lerninhalte auf ZUM.de
Wechseln zu: Navigation, Suche
(Funktionale Programmierung ergänzt.)
({{Seite umgezogen}})
 
(98 dazwischenliegende Versionen von 13 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
==Compiler-Sprachen==
+
{{Seite umgezogen}}
===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 [http://www.microsoft.com/downloads/details.aspx?displaylang=de&FamilyID=262d25e3-f589-4842-8157-034d1e7cf3a3 .NET-Runtime] benötigt. Mit [http://www.mono-project.com/about/index.html Mono] gibt 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:'''
+
* [http://www.microsoft.com/downloads/details.aspx?displaylang=de&FamilyID=9b3a2ca6-3647-4070-9f41-a333c6b9181d Microsoft .NET SDK]
+
: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.
+
* [http://lab.msdn.microsoft.com/express/ Visual Studio 2005 Express C#] für Windows
+
:'''''Momentan noch Beta-Status''''' ... Abgespeckte kostenlose Version der der kommerziellen Entwicklungsumgebung Visual Studio [[.NET]] 2005 für C#.
+
*[http://www.icsharpcode.net/opensource/sd/ Sharp-Develop] für Windows
+
:Freie integrierte Entwicklungsumgebung für C# und das .NET Framework. Zusäzlich muss das [http://www.dotnetgerman.com/links/dl_dotnetsdk.asp .NET-SDK] installiert werden. SharpDevelop bietet auch einen grafischen Oberflächendesigner.
+
*[http://www.mono-project.com/about/index.html Mono-Develop] für Linux, Windows, MacOS X
+
: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 [http://www.monodevelop.com/ 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'''
+
*[http://www.eclipse.org/ Eclipse]
+
: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.
+
* [http://bluej.org BlueJ]
+
: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.
+
* [http://www.fujaba.de Fujaba]
+
:ist ein UML-Werkzeug mit Code-Generator, mit dem viel Objektorientierung ohne viel Quellcode gelehrt und gelernt werden kann (s.a. [http://www.informatik.hu-berlin.de/~reinhold/WEB/Fujaba/fujaba.htm Seiten der HU-Berlin])
+
* Together
+
 
+
'''Kurse und Bücher zum Erlernen'''
+
*[http://www.programmierkurs-java.de/ Programmierkurs der Uni Oldenburg]
+
:Den Kurs gibt es in verschiedenen Varianten (Powerpoint- und PDF-Folien, Filme) zusammen mit Übungen und Beispielprogrammen.
+
 
+
*[http://www.javabuch.de/download.html Handbuch der Java-Programmierung]
+
: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 [http://www.galileopro.de/openbook/javainsel4/galileocomputing_javainsel4.zip HTML-Version]  bei [http://www.galileocomputing.de/katalog/openbook/ Galileo-Open-Books] oder [http://www.java-tutor.com/javabuch/ PDF-Dokument] herunterladbar.
+
 
+
*'''Java 2'''
+
:Buch, das als [http://www.galileocomputing.de/openbook/java2/ HTML-Version] bei [http://www.galileocomputing.de/katalog/openbook/ Galileo-Open-Books] heruntergeladen werden können.
+
 
+
*'''Kurztutorial'''
+
[http://www.ph-ludwigsburg.de/mathematik/lehre/ws0203inf1/Tutorial/ http://www.ph-ludwigsburg.de/mathematik/lehre/ws0203inf1/Tutorial/]
+
 
+
'''Unterrichtsreihen und -materialien'''
+
*[http://www.zitadelle.juel.nw.schule.de/if/java/java.html Materialien] des Gym. Zitadelle, Jülich
+
 
+
*[http://www.gailer-net.de/tutorials/java/java-toc.html Java lernen interaktiv]
+
 
+
*[http://www.gymmelk.ac.at/nus/informatik/wpf/JAVA/index.php Unterrichtsbeispiele zu JAVA]
+
 
+
===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 <code>Range</code>-Befehl um Zahlen-Sequenzen zu erzeugen, statt einer <code>for</code>-Schleife
+
 
+
'''Download-Quellen:'''
+
* Orignal-[http://www.python.org/ Python] Interpreter für [http://www.python.org/ftp/python/2.3.4/Python-2.3.4.exe Windows] und [http://www.python.org/ftp/python/2.3.4/Python-2.3.4.tgz Linux]
+
* [http://www.die-offenbachs.de/detlev/eric3.html Eric], eine Python-IDE für Linux
+
* [http://boa-constructor.sourceforge.net/ 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.
+
* [http://www.icc-computer.de/ingo/diplom/ Pynassi], ein Struktogramm-Editor und Debugger von Ingo Linkweiler.
+
* [http://drpython.sourceforge.net/index.php DrPython], eine IDE von Daniel Pozmanter.
+
 
+
'''Material zu Python:'''
+
* '''''Buch:  [http://python4kids.net/ 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 ..--[[Benutzer:BirgitLachner|BirgitLachner]] 15:47, 22. Nov 2004 (CET)
+
 
+
'''Online Kurse und -Materialien:'''
+
* [http://www.b.shuttle.de/b/humboldt-os/python/ Mit leichten Schritten in die objektorientierte Programmierung] (Bernd Kokavecz)
+
* [http://schule.de/bics/inf2/programmiersprachen/python/oop1/index.html OOP1 mit Python] (K.-D. Bombei)
+
* [http://schule.de/bics/inf2/programmiersprachen/python/oop2/index.html OOP2 mit Python] (K.-D. Bombei)
+
* [http://160.45.133.240/vok/vokabelheft.html Kleines Vokabelheft Python] (Werner Arnhold)
+
* [http://160.45.133.240/pixelgrafik/ Unterrichtsideen für Pixelgrafik mit Python] (Werner Arnhold)
+
* [http://www.icc-computer.de/ingo/diplom/ Von Stiften und Mäusen], Python-Version der bekannten didaktischen Lernsoftware.
+
* [http://hkn.eecs.berkeley.edu/~dyoo/python/idle_intro/index.html One Day of IDLE Toying] (Danny Yoo, deutsch [http://hkn.eecs.berkeley.edu/~dyoo/python/idle_intro/index_ger.html Danny Yoo's: Ein Tag Spielerei mit IDLE] von Gregor Lingl)
+
* [http://www.wspiegel.de/pykurs/pykurs.htm Python-Kurs] (W. Spiegel)
+
* [http://www.ibiblio.org/obp/thinkCSpy/ How to Think Like a Computer Scientist – Python] (Allen B. Downey, Jeffrey Elkner and Chris Meyers), [http://www.rg16.asn-wien.ac.at/~python/how2think/ teilweise deutsch] von Gregor Lingl
+
* [http://eric_rollins.home.mindspring.com/introProgramming/index.html Introduction to Programming] (Eric Rollins, Programmierkurs bezogen auf ''How to think like a Computer Scientist'')
+
* [http://www.freenetpages.co.uk/hp/alan.gauld/ Learning to Program] (Alan Gauld, [http://www.freenetpages.co.uk/hp/alan.gauld/german/index.htm deutsch] von Bruno Schäfer)
+
* [http://www.hetland.org/python/instant-python.php Instant Python] (Magnus Lie Hetland, [http://www-md.e-technik.uni-rostock.de/ma/pfueller/instant-python-ger.html deutsch] von Hartmut Pfüller)
+
* [http://www.schronen.de/python/ Erste Schritte in Python] (Alwin Michael Schronen)
+
* [http://home.foni.net/~heikos/python/index.html Programming Python I: Der Pythonkern] (Heiko Schröder)
+
* [http://home.foni.net/~heikos/tkinter/index.html Programming Python II: Graphisches Programmieren mit Tkinter] (Heiko Schröder)
+
* [http://www.livewires.org.uk/python/ The LiveWires Python Course]
+
* [http://honors.montana.edu/~jjc/easytut/easytut/ Non-Programmers Tutorial for Python] (Josh Cogliati)
+
 
+
* [http://www.ibiblio.org/obp/pyBiblio/ Pythonbibliotheca], Python resources for teachers and students
+
* [http://www.4dsolutions.net/ocn/ A Mathematical Canvas] (Kirby Urner)
+
 
+
===JavaScript===
+
 
+
 
+
===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.
+
*'''[http://www.mathsnet.net/winlogo.html WinLogo]'''
+
*'''[http://klogoturtle.sourceforge.net/ KLogo]''' ... eine Version für Linux
+
*'''[http://www.cs.berkeley.edu/~bh/logo.html UCB-LOGO]''' ... die Ur-Version der Universität in Berkley
+
*'''[http://ccl.northwestern.edu/netlogo/ NetLOGO]'''
+
: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.
+
*'''[http://education.mit.edu/starlogo/ Starlogo]'''
+
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 ''L''inux, ''A''pache, ''M''ySQL, ''P''HP (= '''LAMP''').
+
 
+
* [http://www.php.net www.php.net] - Seite des PHP-Projekts (aktuelle Versionen, Dokus, Tutorials etc.)
+
 
+
* [http://www.gymmelk.ac.at/~nus/informatik/wpf/phpneu/index.php Unterrichtsbeispiele zu PHP und MySQL]
+
 
+
* [http://www.apachefriends.org/en/xampp.html XAMPP] - ein komplettes LAMP-System mit einfachem Installer, sehr gut geeignet für den Unterrichtseinsatz.
+
 
+
== XML ==
+
* [http://www.gymmelk.ac.at/~nus/informatik/xmlneu/index.php Unterrichtsbeispiele zu XML]
+
 
+
== OOP Objektorientierte Programmierung ==
+
 
+
* [http://oszhdl.be.schule.de/gymnasium/faecher/informatik/oop/index.htm  Definitionen und Grundkonzepte] (OSZ Handel I)
+
* [http://oszhdl.be.schule.de/gymnasium/faecher/informatik/ooa-ood/index.htm Unterrichtsmaterialien zu OOA - OOD - OOP] (OSZ Handel I)
+
* [http://www.oszhandel.de/gymnasium/faecher/informatik/delphi/implementation_oo.htm OOP mit DELPHI - Hinweise zur Implementierung] (OSZ Handel I)
+
 
+
== 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.:
+
 
+
* [http://www.haskell.org/ Haskell] mit der IDE [http://www.haskell.org/hugs/ Hugs]
+
* [http://web.dcs.bbk.ac.uk/~andrew/sg/info/miranda.html Miranda]
+
* Scheme
+
* LISP
+
 
+
== 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.
+
 
+
* [http://www.uml.org/ http://www.uml.org/]
+
* [http://life.upb.de/ http://life.upb.de/]
+
* [http://visual-paradigm.com/vpuml.php Visual Paradigm for UML] - UML Tool
+
* [http://visual-paradigm.com/sdeec.php SDE for Eclipse] - UML plugin for Eclipse
+
* [http://www.fujaba.de Fujaba] UML-Tool mit leistungsfähigem Code-Generator, bereits Schul-erprobt
+
 
+
==Sonstiges==
+
*'''[http://www.educeth.ch/informatik/karatojava/ 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 (Informatik)|Programmierlernumgebungen]]
+
 
+
[[Kategorie:Informatik]][[Kategorie:Software]]
+

Aktuelle Version vom 14. August 2019, 09:22 Uhr

Diese Seite wurde in das neue Projekt ZUM Unterrichten umgezogen.

ZUM Unterrichten ist das neue Projekt der ZUM e.V. für die interaktive Erstellung von Lerninhalten.

Diese Seite findet sich ab sofort unter: https://unterrichten.zum.de/Programmiersprache