Programmiersprache: Unterschied zwischen den Versionen

aus ZUM-Wiki, dem Wiki für Lehr- und Lerninhalte auf ZUM.de
Wechseln zu: Navigation, Suche
({{Seite umgezogen}})
 
(52 dazwischenliegende Versionen von 8 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
=== Welche Programmiersprache? ===
+
{{Seite umgezogen}}
Eine Programmiersprache ist eine formale Sprache zur Darstellung (Notation) von Computerprogrammen. Sie vermittelt dem Computersystem (durch von einem Menschen geschriebenen Text) genaue Angaben zu einer Kette von internen Verarbeitungsschritten, beteiligten Daten und deren Struktur, in Abhängigkeit von internen oder externen Ereignissen.
+
 
+
Es gibt viele Programmiersprachen:
+
 
+
vgl. {{wp|wikipedia:de:Liste der Programmiersprachen|Liste der Programmiersprachen}}
+
 
+
vgl. {{wp|wikipedia:de:Hallo-Welt-Programm|Hallo-Welt-Programm}}
+
 
+
nur wenige davon haben sich an Schulen durchgesetzt.
+
 
+
Für Schulen relevant sind folgende Faktoren zu Beurteilung der Schultauglichkeit einer Programmiersprache:
+
* ist die Syntax für einen Anfänger geeignet?
+
* ist die Sprache - zumindest für Schüler - kostenlos?
+
* gibt es für die Schulen geeignete IDEs?
+
* bei Zentralabi: Welche Sprachen werden vorausgesetzt?
+
* existieren andere Schulen, die ebenfalls in dieser Sprache unterrichten.
+
 
+
Programmiersprachen aus schulischer Sicht gegenübergestellt findet man hier:
+
* http://www.bics.be.schule.de/inf2/programmiersprachen/index.html
+
* http://www.bildung.hessen.de/abereich/inform/skii/material/index.htm (Stand 2001)
+
 
+
==Compiler-Sprachen==
+
===C===
+
siehe [[C]],[[C#]],[[C|C++]]
+
 
+
===JAVA===
+
siehe [[Java]]
+
 
+
===Oberon===
+
Oberon ist ein Objekt-Pascal (Alternativen: Freepascal/Lazarus, Borland Delphi/Kylix)
+
 
+
==Interpreter-Sprachen==
+
===Basic===
+
 
+
===JavaScript===
+
siehe [[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.
+
 
+
 
+
===Perl===
+
 
+
Practical Extraction and Reporting Language.
+
 
+
Perl ist eine freie, populäre, leistungsfähige und sehr schnelle höhere Programmiersprache, die überwiegend zur Bearbeitung von Daten, Texten und Dateien eingesetzt wird. Sie eignet sich insbesondere zur plattformübergreifenden Entwicklung portabler Tools und ist somit für viele Systemadministratoren und Webprogrammierer äußerst nützlich. Perl wurde von Larry Wall entwickelt und 1987 erstmals vorgestellt.
+
 
+
* http://www.perl.com
+
* http://www.cpan.org
+
 
+
 
+
===PHP===
+
PHP ist eine Scriptsprache, deren Code von Server ausgeführt wird.Sie wurde entwickelt, um dynamisch HTML-Seiten auf Webservern zu generieren. Im Gegensatz zu clientseitigen Sprachen wie JS, kann der Internet-Surfer den Code nicht lesen; er kann nur das Ergebnis empfangen. Die Abkürzung PHP bedeutet PHP Hypertext Processor. Die Scriptsprache PHP besitzt eine an C angelehnte Syntax, ist in den HTML-Code integrierbar, kann mit Datenbanken umgehen, ist plattformunabhängig und Open-Source. Wenn man mit PHP arbeiten will braucht man Web-Space eines Anbieters, der auch PHP und möglichst die Datenbank MySQL unterstützt. Vor dem Hochladen sollte man die PHP-Scipts auf dem eigenen Rechner testen können. Dazu muss auf dem Rechner den Web-Server (z.B. APACHE), das PHP-Modul und möglichst auch die Datenbank MySQL installieren.
+
PHP 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''').
+
 
+
''Für einen Windows-Rechner gibt es derzeit das Programmpaket EasyPHP (http://www.easyphp.org), welches diese Installation selbständig vornimmt.''
+
 
+
 
+
 
+
* [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.
+
 
+
* [http://phpself.de PHP-Script-Referenz]
+
:"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)
+
 
+
===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)
+
 
+
== 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.
+
 
+
* [http://www.w3.org/XML/ XML-Beschreibung beim W3-Konsortium]
+
* [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://www.visual-paradigm.com/ 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
+
* [http://www.horstmann.com/violet/ Violet] - Ein einfaches UML-Tool für den Schuleinsatz.
+
 
+
==Sonstiges==
+
*'''[http://www.swisseduc.ch/informatik/karatojava/ Kara]''' ... ein programmierbarer Marienkäfer
+
:Ein freies Java-Programm, das die Möglichkeit bietet, den Käfer als endlichen Automaten zu steuern, mit Java zu programmieren oder per Drag and Drop als Turingmaschine arbeiten zu lassen.
+
Siehe auch [[Programmierlernumgebungen (Informatik)|Programmierlernumgebungen]]
+
 
+
[[Kategorie:Informatik]][[Kategorie:Software]]
+
[[Kategorie:Programmiersprache]]
+

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