Smalltalk Eine objektorientierte Programmiersprache
|
|
|
- Alwin Neumann
- vor 10 Jahren
- Abrufe
Transkript
1 Arbeitsgruppe Programmiersprachen und Übersetzerkonstruktion Institut für Informatik Christian-Albrechts-Universität zu Kiel Seminararbeit Smalltalk Eine objektorientierte Programmiersprache Phil Stelzer WS 2012/2013 Betreuer: Prof. Dr. Michael Hanus
2 Inhaltsverzeichnis 1 Einordnung Geschichte der Sprache Entwicklung/Vorgängersprachen Paradigma Anwendungsgebiete Wofür ist die Sprache beabsichtigt? Wo wird die Sprache eingesetzt? Konzepte und Struktur Sprachbeschreibung Was ist bei der Benutzung von Smalltalk zu beachten? Konzepte an Beispielen Beispiel Beispiel Vergleich mit verwandten Sprachen Technische Unterstützung Compiler, Interpreter, Entwicklungsumgebung Werkzeuge und Bibliotheken Portabilität Diskussion und Zusammenfassung Vor- und Nachteile Zukunft der Sprache ii
3 Abbildungsverzeichnis 1.1 Alan Kay mit einem Prototyp des Dynabooks Nachrichten an Objekte senden Objektdumper als Beispiel für Reection Pharo als Beispiel einer typischen Smalltalk Umgebung Open Cobalt Projekt zeigt 3D Verlinkungen zu anderen Desktops Open Cobalt Nutzer schauen sich zusammen eine VNC Übertragung an. 14 iii
4 1 Einordnung 1.1 Geschichte der Sprache Smalltalk wurde in den 1970er Jahren von Alan Kay, Dan Ingalls, Adele Goldberg und anderen am Forschungszentrum Xerox PARC in Kalifornien entwickelt. Die erste Version von Smalltalk wurde 1972 veröentlicht. Das Konzept der Sprache entstand in den späten 1960er Jahren in der Ph.D. Dissertation von Alan Kay, der schon damals den Nutzen von Computern für nicht-programmierer voraussah. Seine Doktorarbeit befasste sich mit einem Gerät, dem sogenannten 'Dynabook' (Abbildung 1.1), das mehrere Papierseiten durch Fenster darstellen kann und durch Tastendrücke bzw. Fingergesten direkt auf dem Bildschirm gesteuert werden kann. Diese erstmal nur theoretisch formulierte Idee verschate ihm daraufhin eine Anstellung am Xerox PARC, wo er in der 'Learning Research Group' (1981 umbenannt in 'Software Concepts Group') seine Vision umzusetzen versuchte. Die Arbeitsgruppe konzentrierte sich auf zwei Hauptbereiche bei ihren Forschungen: Eine Programmiersprache, die als Schnittstelle zwischen den Modellen im menschlichen Geist und der in Computer-Hardware dient, und eine Benutzeroberäche die auf die Kommunikation von Menschen mit Computern angepasst ist [GR83]. Einhergehend mit diesen Forschungen wurden verschiedene Experimente durchgeführt, die sich damit beschäftigten Kindern das Programmieren beizubringen. Die Entwicklungen endeten in der 1980 vorgestellten Version Smalltalk-80, die Alan Kay's Vision fast vollständig erfüllte. In den nachfolgenden Jahren bis in die 90er verbreitete sich Smalltalk eher mäÿig. Die Anforderungen an die Hardware durch die graphische Oberäche war anspruchsvoll und für die meisten C-Programmierer war C++ der aussichtsreichere Umstieg. Anfang und Mitte der 90er Jahre gab es jedoch einen kurzen Aufschwung, da unter anderem IBM damit begann, Smalltalk in Groÿkundenprojekten einzusetzen und die Anzahl der verfügbaren Implementierungen stark zunahm. Gebremst wurde dies schon Ende der 90er von Java, welches durch das Internet zu gröÿerer Popularität gelangt war wurde Squeak von den ursprünglichen Smalltalk Entwicklern veröentlicht. Squeak ist eine plattformunabhängige Implementierung inklusive Entwicklungsumgebung für Small- 1
5 1 Einordnung talk und wird in dem Projekt 'One Laptop Per Child' als Lernumgebung eingesetzt. Abbildung 1.1: Alan Kay mit einem Prototyp des Dynabooks Aufbauend auf der Frage nach einer optimalen Mensch-Computer-Schnittstelle - und damit Alan Kays Vision - fand in den letzten Jahren eine Weiterentwicklung und Anpassung der Antwort auf diese Frage statt. Mit dem Croquet-Projekt wurde 2007 eine Plattform verö entlicht, die nicht nur 2D Ober ächen in Smalltalk, sondern 3D Objekte in einer Art 'virtual reality' darstellt. Interessant dabei ist, dass der Nutzer während der Benutzung Objekte der Welt in Echtzeit verändern und anpassen kann. Die Weiterentwicklung wurde 2009 an das Open Cobalt Projekt übergeben und wird aktiv gep egt. 1.2 Entwicklung/Vorgängersprachen Die Entwicklung von Smalltalk wurde in einigen Punkten von den Sprachen Lisp und Simula beein usst. Von Lisp, das 1958 spezi ziert wurde, wurden Konzepte wie das so genannte 'garbage collecting' übernommen. Simula, als Vorgänger der objektorientierten Programmiersprachen, führte die Schlüsselwörter 'class', 'new', 'this' ein, die auch heute noch in modernen Programmiersprachen verwendet werden. Auch das Klassenkonzept, Vererbung, Typen, Methoden und Eigenschaften wurden ähnlich in Smalltalk eingesetzt. Das Konzept, eine Art Schreibtisch als 2D Ober äche darzustellen, hatte groÿen Ein- 2
6 1 Einordnung uss auf die heute verbreiteten Desktopkonzepte von Microsoft Windows und OS X von Apple. Die von Smalltalk verwendete virtuelle Maschine sowie der Garbage Collector sind Grundlage für die Plattformunabhängigkeit in Java. Der letzte ozielle Standard von Smalltalk wurde 1980 mit Smalltalk-80 veröentlicht. Dieser wird am konsequentesten durch die Implementierung Squeak umgesetzt und durch andere Projekte wie 'Pharo' oder 'VisualAge Smalltalk' erweitert und an aktuelle Computerarchitekturen angepasst. 1.3 Paradigma Smalltalk ist eine objektorientierte, reektive, dynamisch typisierte, Abbild-basierende ('image based') Programmiersprache. Eine objektorientierte Programmiersprache verpackt ihre Daten und Methoden, um die Daten zu verändern, in Objekten. Die einzige Möglichkeit die Daten zu modizieren besteht darin, Nachrichten an das entsprechende Objekt zu schicken. Attribute von Objekten können nicht durch direkten Zugri von auÿen geändert werden. Auf diese Weise wird das Konzept der Datenkapselung ('data encapsulation') sichergestellt. Ein weiterer Aspekt der objektorientierten Programmierung ist die Vererbung. Durch Vererbung steigert sich die sogenannte 'code reusability', indem schon geschriebene Methoden an Kindklassen weitergegeben bzw. vererbt werden können. Kritiker der objektorientierten Programmierung bezeichnen das Paradigma als 'Software bloat'. Joe Armstrong, der Ernder von Erlang, bringt diese Kritik mit den Worten "The problem with object-oriented languages is they've got all this implicit environment that they carry around with them. You wanted a banana but what you got was a gorilla holding the banana and the entire jungle."[wik13a] auf den Punkt. Smalltalk jedoch setzt die Eigenschaften der objektorientierten Programmierung konsequent um und hat mit diesem Paradigma viele andere heute noch populäre Sprachen beeinusst. 3
7 2 Anwendungsgebiete 2.1 Wofür ist die Sprache beabsichtigt? Smalltalk und die damit verbundene Desktopumgebung war ursprünglich vor allem für Schüler und Schulen gedacht. Alan Kay's Idee war es eine Umgebung für Schüler zu schaffen, die die Interaktion mit dem Computer selbst für Kinder möglich macht. Im Mittelpunkt dabei standen vor allem das Denken in Objekten, was der natürlichen Denkweise eines Menschen nahe kommt. Das Interface von Smalltalk versucht, eine visuelle Sprache zu Objekten zu schaen und den Computer damit zu einem veränderbaren, interaktiven Medium zu machen. Auch die Verwendung eines Zeigegeräts war schon früh geplant und zeigt, wie nah das Konzept von Smalltalk und der graphischen Darstellung dem heutigen 'personal computer' kommt. 2.2 Wo wird die Sprache eingesetzt? Heutzutage wird Smalltalk in der Wirtschaft nur selten eingesetzt, obwohl es kommerzielle Projekte wie 'VA Smalltalk' gibt. Der eigentliche Zweck jedoch, Smalltalk vor allem für Schüler als Lernmedium einzusetzen, ist mit der auf Squeak basierenden EToys Implementierung weitestgehend geglückt. Die Initiative 'One Laptop Per Child (OLPC)' setzt auf den verwendeten Laptops (die dem Vorbild des Dynabooks sehr nahe kommen) unter anderem EToys ein und wird von Alan Kay aktiv unterstützt [Wik12, Children's Machine]. Das Open Cobalt Projekt, welches die Darstellung des Desktops als 3D Oberäche und das Teilen von Ressourcen durch sogenannte '3D Portale' mit anderen Benutzern ermöglicht, bendet sich in aktiver Entwicklung. Generell ist Smalltalk weiterhin eher eine Nischensprache, die kaum in kommerziellen Projekten eingesetzt wird, dafür jedoch immer noch viele Anhänger als Hobbyprogrammierer hat. 4
8 3 Konzepte und Struktur 3.1 Sprachbeschreibung Das wohl markanteste Merkmal an Smalltalk ist seine konsequent eingesetzte Objektorientierung. Die aus Java bekannten primitiven Typen wie Integer oder Character werden in Smalltalk ebenfalls durch Objekte repräsentiert. Sogar ausführbarer Code, Stackframes und Speicher sind Objekte. Im Allgemeineren basiert Smalltalks Objektmodel auf den folgenden fünf Regeln [BDNP09]: Rule 1. Everything is an object. Rule 2. Every object is an instance of a class. Rule 3. Every class has a superclass. Rule 4. Everything happens by sending messages. Rule 5. Method lookup follows the inheritance chain. Beim genaueren Betrachten der Regeln fällt vor allem auf, dass demnach auch Klassen Objekte sein müssen. Diese Eigenschaft ist fundamental, denn sie macht Smalltalk zu einem reektiven System. Reektivität bzw. 'reection' bedeutet, dass das Verhalten und die Struktur (Eigenschaften und Methoden) eines Objekts zur Laufzeit geändert werden kann. Dies bietet verschiedene Vorteile wie die Überwachung von Klassen und Objekten und das Ändern von Codeblöcken zur Laufzeit des Programmes. Eine weitere Eigenschaft ist das dynamische Binden von Nachrichten an Methoden. Eine gesendete Nachricht an ein Objekt löst eine Suche nach der entsprechenden Methode in der Klasse des Objekts aus. Wenn diese Suche ergebnislos bleibt, wird in der Eltern-Klasse weiter gesucht bis zur Wurzel der Vererbungshierarchie, zur Klasse 'Object'. Sollte bis dahin keine passende Methode gefunden worden sein, wird ein Fehler ausgelöst. In Smalltalk hat, bis auf die Wurzelklasse 'Object', jede Klasse genau eine Oberklasse. Wichtig ist dabei zu erwähnen, dass die Suche erst genau beim Senden der 5
9 3 Konzepte und Struktur Nachricht ausgelöst wird; zu keinem Zeitpunkt werden Methoden statisch an Namen gebunden. Ebenso sind auch Variablen nicht typisiert. Die Bedeutung einer Nachricht an eine Variable wird nur durch die aktuelle Klasse des Objekts festgelegt, an das die Variable gerade gebunden ist. Smalltalk unterstützt des Weiteren genau drei eingebaute Konstrukte: Senden einer Nachricht an ein Objekt. Zuweisen eines Objekts an eine Variable. Ein Objekt als Rückgabewert liefern. Es wird deutlich, dass es nur wenige, dafür konsequent eingesetzte Paradigmen gibt, die Smalltalk zu einer leicht erlernbaren und mächtigen Sprache machen. 3.2 Was ist bei der Benutzung von Smalltalk zu beachten? Auf den ersten Blick ist Smalltalk sehr verschieden zu populären Sprachen. Man vermisst die Möglichkeit, ein geschriebenes Programm als abgeschlossene Einheit zu kompilieren und auszuführen. Wie später noch näher beschrieben, wird Smalltalk zusammen mit seinen Bibliotheken in einer fertigen virtuellen Maschine ausgeliefert. Was zuerst als Nachteil aussieht bietet jedoch beim Entwickeln von Programmen entscheidende Vorteile. So ist der Debugger bzw. die Entwicklungsumgebung auch während der Laufzeit des Programmes noch verfügbar und bietet so vielfältige Möglichkeiten, auf Ausnahmen zu reagieren oder Quelltext zu testen. Gerade geschriebener Code kann direkt in der Produktivumgebung getestet und eingepegt werden und etwaige Umwege wie nochmaliges Kompilieren entfallen. Gewöhnungsbedürftig ist die Umgebung dennoch, da man die aus anderen Sprachen angewohnten Praktiken gröÿtenteils umlernen muss. 3.3 Konzepte an Beispielen In diesem Abschnitt werde ich an Beispielen das Paradigma von Smalltalk erläutern Beispiel 1 Zu Anfang werde ich ein Beispiel zum Senden von Nachrichten an Objekte angeben und demonstrieren, dass wirklich alles in Smalltalk ein Objekt ist. 6
10 3 Konzepte und Struktur 1 array block 2 array := #( ). 3 block := [ : i i +10]. 4 5 block value : 7. "17" 6 block c l a s s. " BlockClosure " 7 8 array s e l e c t : [ : i i >6]. "#(11 12) " 9 array c o l l e c t : block. "#( ) " Abbildung 3.1: Nachrichten an Objekte senden Das Beispiel in Abbildung 3.1 zeigt nun eine Collectionoperation in Smalltalk. Die erste Zeile deniert zwei temporäre Variablen, 'array' und 'block'. Auallend dabei sind die fehlenden Typangaben. Da Smalltalk eine streng dynamisch typisierte Sprache ist, werden ausnahmslos alle Typen erst zur Laufzeit ermittelt. In der nächsten Zeile wird zuerst das Array mit Testdaten gefüllt und anschlieÿend ein Block deniert. Ein Block in Smalltalk ist vergleichbar mit anonymen Funktionen aus anderen Sprachen, allerdings muss beachtet werden, dass auch hier die Variable 'block' ein Objekt ist und somit Nachrichten erhalten und beantworten kann. Hier erwartet die Funktion einen Parameter und addiert auf diesen die Zahl 10. In Zeile 5 wird das erste Mal eine Nachricht versendet. In diesem Fall die Nachricht 'value' mit dem Wert 7. Man unterscheidet in Smalltalk zwischen 'unary messages', 'binary messages' und 'keyword messages'. Als 'unary messages' bezeichnet man Nachrichten ohne Parameter wie 'x sin' oder '5 factorial'. 'binary messages' sind meistens arithmetische, logische oder vergleichende Operationen auf zwei Operanden. Beispiele sind '3 + 5' oder '7 <= 10'. Die letzte und in unserem Fall zutreende Nachricht sind die 'keyword messages'. Diese können beliebig viele Parameter haben und nehmen die Form 'AnObject aname1: parameter1 aname2: parameter2 [...]' an. Das Statement in Zeile 5 liefert als Ergebnis die Zahl 17. Die Nachricht 'value' bewirkt also, dass der Block mit dem Parameter '7' ausgeführt wird. Zum Beweis, dass es sich wirklich um ein Objekt handelt, kann man 'block', wie allen Objekten in Smalltalk, jetzt noch die unäre Nachricht 'class' schicken, welche die Klasse des Objekts zurückgibt. Zeile 8 führt nun eine Operation auf der Collection 'array' aus. 'Collection' ist in Smalltalk eine abstrakte Klasse, die verschiedene Methoden implementiert, die zur Bearbeitung von Listen und Mengen nützlich sind. Hier wird die Nachricht 'select' benutzt 7
11 3 Konzepte und Struktur um 'array' ein Blockobjekt zu übergeben, welches nur Zahlen gröÿer als 6 zulässt. Das Ergebnis ist als Kommentar angegeben. Man erkennt, dass Blöcke auch als Funktionen höherer Ordnung benutzt werden können. Dies wird in der nächsten Zeile genutzt um 'array' die Nachricht 'collect' zu senden und unser am Anfang eingeführtes Blockobjekt als Parameter zu übergeben Beispiel 2 Das zweite Beispiel in Abbildung 3.2 beschäftigt sich mit Reection. Wie schon in vorigen Kapiteln angesprochen, ist Smalltalk ein reektives System; man kann daher während der Laufzeit auf Metainformationen eines Objekts zugreifen. 1 objdumper 2 objdumper := 3 [ : anyobject 4 anyobject c l a s s allinstvarnames 5 dowithindex : [ : name : idx 6 T r a n s c r i p t 7 show : name ; 8 show : ' i s ' ; 9 show : ( anyobject instvarat : idx ) ; 10 cr. 11 ] 12 ]. 13 objdumper value : Rectangle Abbildung 3.2: Objektdumper als Beispiel für Reection Die erste Zeile deniert eine temporäre Variable 'objdumper', die in der zweiten Zeile einen Block zugewiesen bekommt. Dieser Block erwartet ein Argument als Wert bei der Übergabe ('anyobject'). Die vierte Zeile ist interessant, denn hier wird die Nachricht 'class' an das übergebene Objekt gesendet, welches die Klasse des Objekts zurückgibt. Die nächste Nachricht wird daher an die Klasse des übergebenen Objekts geschickt und zwar 'allinstvarnames'. Wie schon zu vermuten ist, gibt eben diese Nachricht eine Collection aller Instanzvariablennamen zurück. Nun kann man dieser Collection die Nachricht 'dowithindex' senden, welche über die Liste iteriert und nacheinander Name sowie Inhalt der aktuellen Variable ausgibt. Die Semikolons trennen dabei aufeinanderfolgende Nachrichten an dasselbe Objekt, hier also 8
12 3 Konzepte und Struktur an 'Transcript'. Dieses Beispiel soll zeigen, dass selbst zur Laufzeit eines Programmes alle Funktionen eines Debuggers zur Verfügung stehen. Man hat nicht nur Zugri auf Variablen von Objekten und deren Werten, sondern sogar auf die Struktur von Klassen. 3.4 Vergleich mit verwandten Sprachen Unter den heute als objektorientiert bezeichneten Sprachen ist Smalltalk wohl die 'reinste'. Das oben beschriebene Objektmodell wird konsequent umgesetzt. Java verletzt dieses Paradigma, indem es primitive Typen einführt, die keine Objekte sind. So würde in Smalltalk das Statement '8 + 2' eine binäre Nachricht '+' an das Objekt '8' mit dem Parameter '2' senden. In Java werden diese arithmetischen Operationen nicht mit Objekten und Nachrichten gelöst, sondern mit primitiven Typen. Allerdings bestehen zu Java auch Parallelen, wie der Garbage Collector und die virtuelle Maschine, die es wie Smalltalk sehr portabel macht. Der Grund, aus dem verwandte Sprachen die Objektorientierung von Smalltalk nur inkonsequent umsetzen, sind wohl die mit der dynamischen Bindung verbundenen Laufzeiteinbuÿen. Methoden können nicht fest vorkompiliert werden, sondern müssen zur Laufzeit gefunden werden. Wie schon im vorigen Abschnitt erklärt, erfolgt dadurch eine Iteration über die Vaterklassen bis die entsprechende Methode gefunden wurde. Java benutzt primitive Typen, um bei arithmetischen Operationen schneller zu sein, und benutzt eine explizite Typangabe, um wenigstens teilweise den Methodenaufruf zu beschleunigen. Java unterstützt zwar auch Reection, jedoch fehlt die Möglichkeit, auch Metadaten wie Methoden oder Klassen zur Laufzeit zu generieren. Objective-C versucht, die Flexibilität von Smalltalk nachzuahmen ohne dabei Laufzeit einzubüÿen und verzichtet deswegen auf Blöcke. Auch die Syntax erinnert an Smalltalk [Wik13b]. Generell gilt Smalltalk als die Sprache, die das Paradigma der objektorientierten Programmierung als erste komplett umgesetzt hat [Seb12, Seite 545] und wurde von vielen nachfolgenden Sprachen zum Teil als Vorbild genutzt. 9
13 4 Technische Unterstützung 4.1 Compiler, Interpreter, Entwicklungsumgebung Abbildung 4.1: Pharo als Beispiel einer typischen Smalltalk Umgebung Smalltalk bezeichnet einerseits die Sprache als solche und andererseits die komplette Entwicklungsumgebung inklusive GUI. In Abbildung 4.1 ist eine solche dargestellt. Gut zu erkennen ist der für die Entwicklung in Smalltalk unerlässliche Klassenbrowser. Dieser stellt alle verfügbaren Klassen inklusive Methoden dar und kann benutzt werden, um diese zu verändern oder neue Klassen hinzuzufügen. Auÿerdem zu sehen ist das sogenannte 'Transcript' Fenster. In diesem können Fehlermeldungen ausgegeben werden oder es kann direkt benutzt werden, um Code auszuführen. Der Entwickler muss nur geschriebenen Quelltext markieren und kann ihn daraufhin per Menuauswahl ausführen. Auch hier ist der Unterschied zu anderen Compilern oensichtlich. Der Code muss nicht in Dateien gespeichert werden, sondern kann direkt Anpassungen an schon bestehenden Klassen vornehmen. Diese Änderungen wiederum sind dementsprechend auch für alle anderen Objekte im System sichtbar und benutzbar. 10
14 4 Technische Unterstützung 4.2 Werkzeuge und Bibliotheken Standardmäÿig wird mit Smalltalk nicht nur ein Compiler ausgeliefert, sondern direkt eine komplette virtuelle Maschine inklusive einem Image, welches Entwicklungsumgebung, Debugger und alle Klassen die für ein lauähiges System benötigt werden, enthält. Das Image repräsentiert dabei den aktuellen Zustand aller Objekte der virtuellen Maschine. Ein weiterer Unterschied zu anderen Sprachen ist, dass in Smalltalk neue Klassen nicht in Dateien gespeichert, sondern direkt in die virtuelle Maschine eingepegt werden können. Diese Änderungen und Ergänzungen an Objekten und Klassen können per Mausklick direkt im aktuell laufendem Image gespeichert werden. Zusätzliche Bibliotheken können mit Tools wie 'SqueakMap' oder Repositories in Pharo von anderen Benutzern geladen werden. 4.3 Portabilität Smalltalk bzw. Squeak ist für alle modernen Betriebssysteme erhältlich. Auch für Android steht eine virtuelle Maschine zur Verfügung. Änderungen am aktuell verwendeten Image (s.o.) können direkt gespeichert werden und sind auch auf anderen Betriebssystemen ausführbar, solange dieselbe virtuelle Maschine verwendet wird. 11
15 5 Diskussion und Zusammenfassung 5.1 Vor- und Nachteile Der wohl signikanteste Nachteil an Smalltalk ist seine vergleichsweise langsame Ausführungsgeschwindigkeit, die gerade in den frühen Jahren eine groÿe Hürde für neue Entwickler und die damalig benutzten Systeme darstellte. Dieser Nachteil hatte starke Auswirkungen auf die Verbreitung von Smalltalk und machte die Alternativen wie C++ und Java zu attraktiveren Konkurrenten. Auch, dass Smalltalk eine 'image-based language' ist, machte es schwer, diese in den Mainstream zu integrieren. Zwar macht diese Eigenschaft es einfach in Smalltalk zu arbeiten und integriert die Entwicklungsumgebung gleich mit in den Desktop, jedoch wird es dadurch schwerer, Programme als Stand-Alone Produkte zu veröentlichen. Neben diesen Nachteilen gibt es jedoch auch Vorteile. Die durchgehende Objektorientierung verschat einem Möglichkeiten, die man in verwandten Sprachen nicht hatte oder durch Workarounds lösen musste. Die Reektivität erlaubt es Programme zu schreiben, die ihren eigenen Sourcecode generieren und ausführen. Vor allem in der künstlichen Intelligenz sind solche Features besonders elegant einzusetzen. 5.2 Zukunft der Sprache Im Allgemeinen ist die Zukunft von Smalltalk schwer vorherzusehen. Einerseits besteht immer noch Interesse an der Sprache und es gibt relativ viele Projekte, die auf Smalltalk basieren und das Sprachkonzept weiter nutzen. Andererseits spielt vor allem der Performance Nachteil eine groÿe Rolle in der Wirtschaft, weswegen dort vor allem Sprachen mit nicht konsequenter Objektorientierung, dafür jedoch schnelleren Laufzeiten eingesetzt werden. Die von Alan Kay formulierte Vision eines Desktops scheint mit Squeak weitgehend erfüllt worden zu sein. Projekte wie Open Cobalt versuchen auch heute noch einen leicht an die persönlichen Bedürfnisse anpassbaren Desktop anzubieten, der jedoch die heutzutage üblichen Grakkarten und die damit zur Verfügung stehenden Ressourcen ausnutzt. 12
16 5 Diskussion und Zusammenfassung Abbildung 5.1: Open Cobalt Projekt zeigt 3D Verlinkungen zu anderen Desktops So kann mit Open Cobalt der Desktop nicht nur in zwei Dimensionen, sondern in 3D benutzt werden und bietet Werkzeuge, die die Verlinkung von Arbeitsächen zwischen Benutzern (Abbildung 5.1) sowie Zusammenarbeit auf diesen ermöglicht (Abbildung 5.2). Das System baut auf Squeak auf und kann so weitgehend die Vorteile einer auf Smalltalk basierenden Umgebung ausnutzen. Dennoch muss man sagen, dass sich die Verbreitung von Smalltalk und die damit verbundene Popularität in Grenzen hält und eher eine Nischenposition in den heute verwendeten Sprachen einnimmt. Gerade jedoch, weil Smalltalk immer noch Anhänger hat, die an der Idee festhalten, wird die Entwicklung der Sprache auch in Zukunft noch weitergehen, denn die eigentliche Idee eines portablen, selbst für Kinder erlernbaren Computers scheint noch nicht ganz verloren gegangen zu sein. 13
17 5 Diskussion und Zusammenfassung Abbildung 5.2: Open Cobalt Nutzer schauen sich zusammen eine VNC Übertragung an 14
18 Literaturverzeichnis [BDNP09] Black, Andrew P. ; Ducasse, Stéphane ; Nierstrasz, Oscar ; Pollet, Damien: Pharo by Example /PBE pdf, [Online; accessed 30-December-2012] [GR83] [Seb12] [Wik12] Goldberg, Adele ; Robson, David: Smalltalk-80: the language and its implementation. Boston, MA, USA : Addison-Wesley Longman Publishing Co., Inc., ISBN Sebesta, Robert W.: Concepts of Programming Languages. 10th. Pearson, ISBN , Wikipedia: Alan Kay Wikipedia, The Free Encyclopedia. \url{http: //en.wikipedia.org/w/index.php?title=alan_kay&oldid= }. Version: [Online; accessed 30-December-2012] [Wik13a] Wikipedia: Object-oriented programming Wikipedia, The Free Encyclopedia. \url{ Object-oriented_programming&oldid= }. Version: [Online; accessed 2-January-2013] [Wik13b] Wikipedia: Objective-C Wikipedia, The Free Encyclopedia. \url{ en.wikipedia.org/w/index.php?title=objective-c&oldid= }. Version: [Online; accessed 31-December-2012] 15
Ein Blick voraus. des Autors von C++: Bjarne Stroustrup. 04.06.2005 Conrad Kobsch
Ein Blick voraus des Autors von C++: Bjarne Stroustrup 04.06.2005 Conrad Kobsch Inhalt Einleitung Rückblick Nur eine Übergangslösung? Was würde C++ effektiver machen? Quelle 2 Einleitung Wo steht C++,
Objektorientierte Programmierung. Kapitel 12: Interfaces
12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/
Urlaubsregel in David
Urlaubsregel in David Inhaltsverzeichnis KlickDown Beitrag von Tobit...3 Präambel...3 Benachrichtigung externer Absender...3 Erstellen oder Anpassen des Anworttextes...3 Erstellen oder Anpassen der Auto-Reply-Regel...5
Objektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC
PARAGON Technologie GmbH, Systemprogrammierung Heinrich-von-Stephan-Str. 5c 79100 Freiburg, Germany Tel. +49 (0) 761 59018201 Fax +49 (0) 761 59018130 Internet www.paragon-software.com Email [email protected]
In 15 einfachen Schritten zum mobilen PC mit Paragon Drive Copy 10 und Microsoft Windows Virtual PC
PARAGON Technologie GmbH, Systemprogrammierung Heinrich-von-Stephan-Str. 5c 79100 Freiburg, Germany Tel. +49 (0) 761 59018201 Fax +49 (0) 761 59018130 Internet www.paragon-software.com Email [email protected]
Java Kurs für Anfänger Einheit 5 Methoden
Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden
Lizenzierung von System Center 2012
Lizenzierung von System Center 2012 Mit den Microsoft System Center-Produkten lassen sich Endgeräte wie Server, Clients und mobile Geräte mit unterschiedlichen Betriebssystemen verwalten. Verwalten im
1 Installation. 1.1 Die Java-Laufzeitumgebung. 1.2 PXLab. Um PXLab benutzen zu können benötigt man die Java Platform, diese kann man unter
1 Installation 1.1 Die Java-Laufzeitumgebung Um PXLab benutzen zu können benötigt man die Java Platform, diese kann man unter http://java.sun.com/javase/downloads/index.jsp herunteladen. Wenn man PXLab
Objektorientierte Programmierung für Anfänger am Beispiel PHP
Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten
Objektorientierte Programmierung OOP
Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel WS2012/13 08. Oktober 2013 Objektorientierte Programmierung OOP Objektorientierte Programmierung Objektorientierte
Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12
Grundlagen: Folge 19 - Bäume 19.1 Binärbäume - Allgemeines Unter Bäumen versteht man in der Informatik Datenstrukturen, bei denen jedes Element mindestens zwei Nachfolger hat. Bereits in der Folge 17 haben
Einführung in Eclipse und Java
Universität Bayreuth Lehrstuhl für Angewandte Informatik IV Datenbanken und Informationssysteme Prof. Dr.-Ing. Jablonski Einführung in Eclipse und Java Dipl.Inf. Manuel Götz Lehrstuhl für Angewandte Informatik
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als
schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv
Roboter programmieren mit NXC für Lego Mindstorms NXT 1. Auflage Roboter programmieren mit NXC für Lego Mindstorms NXT schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Verlag
Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.
Anmeldung http://www.ihredomain.de/wp-admin Dashboard Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Das Dashboard gibt Ihnen eine kurze Übersicht, z.b. Anzahl der Beiträge,
Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster
Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.
TeamSpeak3 Einrichten
TeamSpeak3 Einrichten Version 1.0.3 24. April 2012 StreamPlus UG Es ist untersagt dieses Dokument ohne eine schriftliche Genehmigung der StreamPlus UG vollständig oder auszugsweise zu reproduzieren, vervielfältigen
IBM Software Demos Tivoli Provisioning Manager for OS Deployment
Für viele Unternehmen steht ein Wechsel zu Microsoft Windows Vista an. Doch auch für gut vorbereitete Unternehmen ist der Übergang zu einem neuen Betriebssystem stets ein Wagnis. ist eine benutzerfreundliche,
In 15 Schritten zum mobilen PC mit Paragon Drive Copy 14 und VMware Player
PARAGON Technologie GmbH, Systemprogrammierung Heinrich-von-Stephan-Str. 5c 79100 Freiburg, Germany Tel. +49 (0)761 59018-201 Fax +49 (0)761 59018-130 Internet www.paragon-software.com E-Mail [email protected]
mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank
mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank In den ersten beiden Abschnitten (rbanken1.pdf und rbanken2.pdf) haben wir uns mit am Ende mysql beschäftigt und kennengelernt, wie man
Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER
AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...
Handbuch Fischertechnik-Einzelteiltabelle V3.7.3
Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3
Prinzipien Objektorientierter Programmierung
Prinzipien Objektorientierter Programmierung Valerian Wintner Inhaltsverzeichnis 1 Vorwort 1 2 Kapselung 1 3 Polymorphie 2 3.1 Dynamische Polymorphie...................... 2 3.2 Statische Polymorphie........................
Tevalo Handbuch v 1.1 vom 10.11.2011
Tevalo Handbuch v 1.1 vom 10.11.2011 Inhalt Registrierung... 3 Kennwort vergessen... 3 Startseite nach dem Login... 4 Umfrage erstellen... 4 Fragebogen Vorschau... 7 Umfrage fertigstellen... 7 Öffentliche
L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016
L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016 Referentin: Dr. Kelly Neudorfer Universität Hohenheim Was wir jetzt besprechen werden ist eine Frage, mit denen viele
Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen
Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders
Windows 8 Lizenzierung in Szenarien
Windows 8 Lizenzierung in Szenarien Windows Desktop-Betriebssysteme kommen in unterschiedlichen Szenarien im Unternehmen zum Einsatz. Die Mitarbeiter arbeiten an Unternehmensgeräten oder bringen eigene
Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)
Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0) Peter Koos 03. Dezember 2015 0 Inhaltsverzeichnis 1 Voraussetzung... 3 2 Hintergrundinformationen... 3 2.1 Installationsarten...
ONLINE-AKADEMIE. "Diplomierter NLP Anwender für Schule und Unterricht" Ziele
ONLINE-AKADEMIE Ziele Wenn man von Menschen hört, die etwas Großartiges in ihrem Leben geleistet haben, erfahren wir oft, dass diese ihr Ziel über Jahre verfolgt haben oder diesen Wunsch schon bereits
Professionelle Seminare im Bereich MS-Office
Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion
! " # $ " % & Nicki Wruck worldwidewruck 08.02.2006
!"# $ " %& Nicki Wruck worldwidewruck 08.02.2006 Wer kennt die Problematik nicht? Die.pst Datei von Outlook wird unübersichtlich groß, das Starten und Beenden dauert immer länger. Hat man dann noch die.pst
Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge
Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge Ab der Version forma 5.5 handelt es sich bei den Orientierungshilfen der Architekten-/Objektplanerverträge nicht
Künstliches binäres Neuron
Künstliches binäres Neuron G.Döben-Henisch Fachbereich Informatik und Ingenieurwissenschaften FH Frankfurt am Main University of Applied Sciences D-60318 Frankfurt am Main Germany Email: doeben at fb2.fh-frankfurt.de
SCHRITT FÜR SCHRITT ZU IHRER VERSCHLÜSSELTEN E-MAIL
SCHRITT FÜR SCHRITT ZU IHRER VERSCHLÜSSELTEN E-MAIL www.klinik-schindlbeck.de [email protected] Bitte beachten Sie, dass wir nicht für die Sicherheit auf Ihrem Endgerät verantwortlich sein können.
Task: Nmap Skripte ausführen
Task: Nmap Skripte ausführen Inhalt Einfache Netzwerkscans mit NSE Ausführen des Scans Anpassung der Parameter Einleitung Copyright 2009-2015 Greenbone Networks GmbH Herkunft und aktuellste Version dieses
4D Server v12 64-bit Version BETA VERSION
4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und
Kapitel 4 Die Datenbank Kuchenbestellung Seite 1
Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 4 Die Datenbank Kuchenbestellung In diesem Kapitel werde ich die Theorie aus Kapitel 2 Die Datenbank Buchausleihe an Hand einer weiteren Datenbank Kuchenbestellung
ZfP-Sonderpreis der DGZfP beim Regionalwettbewerb Jugend forscht BREMERHAVEN. Der Zauberwürfel-Roboter. Paul Giese. Schule: Wilhelm-Raabe-Schule
ZfP-Sonderpreis der DGZfP beim Regionalwettbewerb Jugend forscht BREMERHAVEN Der Zauberwürfel-Roboter Paul Giese Schule: Wilhelm-Raabe-Schule Jugend forscht 2013 Kurzfassung Regionalwettbewerb Bremerhaven
Fachbericht zum Thema: Anforderungen an ein Datenbanksystem
Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank
Arbeiten mit UMLed und Delphi
Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf
Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java
Objektorientierte Programmierung mit Java Eine praxisnahe Einführung mit BlueJ Klassenentwurf Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? 1.0 Zentrale Konzepte
Workshop: Eigenes Image ohne VMware-Programme erstellen
Workshop: Eigenes Image ohne VMware-Programme erstellen Normalerweise sind zum Erstellen neuer, kompatibler Images VMware-Programme wie die Workstation, der ESX-Server oder VMware ACE notwendig. Die Community
Bilder zum Upload verkleinern
Seite 1 von 9 Bilder zum Upload verkleinern Teil 1: Maße der Bilder verändern Um Bilder in ihren Abmessungen zu verkleinern benutze ich die Freeware Irfan View. Die Software biete zwar noch einiges mehr
Software Engineering Klassendiagramme Assoziationen
Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen
Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang
sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche
Was meinen die Leute eigentlich mit: Grexit?
Was meinen die Leute eigentlich mit: Grexit? Grexit sind eigentlich 2 Wörter. 1. Griechenland 2. Exit Exit ist ein englisches Wort. Es bedeutet: Ausgang. Aber was haben diese 2 Sachen mit-einander zu tun?
Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.
Seite erstellen Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Es öffnet sich die Eingabe Seite um eine neue Seite zu erstellen. Seiten Titel festlegen Den neuen
Anleitung über den Umgang mit Schildern
Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder
Robot Karol für Delphi
Robot Karol für Delphi Reinhard Nitzsche, OSZ Handel I Version 0.1 vom 24. Januar 2003 Zusammenfassung Nach der Einführung in die (variablenfreie) Programmierung mit Robot Karol von Freiberger und Krško
Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.
1 2 3 4 Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg. Gerade beim Einstig in der Programmierung muss kontinuierlich
Das System sollte den Benutzer immer auf dem Laufenden halten, indem es angemessenes Feedback in einer angemessenen Zeit liefert.
Usability Heuristiken Karima Tefifha Proseminar: "Software Engineering Kernkonzepte: Usability" 28.06.2012 Prof. Dr. Kurt Schneider Leibniz Universität Hannover Die ProSeminar-Ausarbeitung beschäftigt
Datensicherung. Beschreibung der Datensicherung
Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten
SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen
SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen Um die maximale Sicherheit für das Betriebssystem und Ihre persönlichen Daten zu gewährleisten, können Sie Programme von Drittherstellern
Xcode/Cocoa/Objective-C Crashkurs Programmieren unter Mac OS X
Xcode/Cocoa/Objective-C Crashkurs Programmieren unter Mac OS X SwissMacMeeting #1 26. Juni 2004 Messeturm Basel http://mac.naepflin.com Was ist das Ziel dieses Kurses? Starthilfe Einblick in die Möglichkeiten,
Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen
Open Source professionell einsetzen 1 Mein Background Ich bin überzeugt von Open Source. Ich verwende fast nur Open Source privat und beruflich. Ich arbeite seit mehr als 10 Jahren mit Linux und Open Source.
In 15 Schritten zum mobilen PC mit Paragon Drive Copy 11 und VMware Player
PARAGON Technologie GmbH, Systemprogrammierung Heinrich-von-Schritthan-Str. 5c 79100 Freiburg, Germany Tel. +49 (0) 761 59018201 Fax +49 (0) 761 59018130 Internet www.paragon-software.com Email [email protected]
Hinweise zum Ausfüllen der Zeiterfassung
Hinweise zum Ausfüllen der Zeiterfassung Generelle Hinweise zu Excel Ab Version VSA 4.50 wird die dezimale Schreibweise für Zeiteingaben verwendet. Die Zeiterfassung, die Sie erhalten haben wurde für Excel
Informatik I Tutorial
ETH Zürich, D-INFK/D-BAUG Herbstsemester 2015 Dr. Martin Hirt Daniel Jost Informatik I Tutorial Dieses Tutorial hat zum Ziel, die notwendigen Tools auf dem eigenen Computer zu installieren, so dass ihr
Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten
Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten Was sind Berechtigungen? Unter Berechtigungen werden ganz allgemein die Zugriffsrechte auf Dateien und Verzeichnisse (Ordner) verstanden.
Dokumentation zur Versendung der Statistik Daten
Dokumentation zur Versendung der Statistik Daten Achtung: gem. 57a KFG 1967 (i.d.f. der 28. Novelle) ist es seit dem 01. August 2007 verpflichtend, die Statistikdaten zur statistischen Auswertung Quartalsmäßig
Grundlagen der Theoretischen Informatik, SoSe 2008
1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)
disk2vhd Wie sichere ich meine Daten von Windows XP? Vorwort 1 Sichern der Festplatte 2
disk2vhd Wie sichere ich meine Daten von Windows XP? Inhalt Thema Seite Vorwort 1 Sichern der Festplatte 2 Einbinden der Sicherung als Laufwerk für Windows Vista & Windows 7 3 Einbinden der Sicherung als
Programmieren Lernen mit BYOB. Gerald Futschek 5. November 2012
Programmieren Lernen mit BYOB Informatiktag 2012 Gerald Futschek 5. November 2012 Erste Programmier Schritte in der Schule Sehr viele verschiedene Dinge zu lernen: Syntax und Semantik der Befehle, Algorithmen,
Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt
Inhaltsverzeichnis Aufgabe... 1 Allgemein... 1 Active Directory... 1 Konfiguration... 2 Benutzer erstellen... 3 Eigenes Verzeichnis erstellen... 3 Benutzerkonto erstellen... 3 Profil einrichten... 5 Berechtigungen
my.ohm Content Services Autorenansicht Rechte
my.ohm Content Services Autorenansicht Rechte Felizitas Heinebrodt Technische Hochschule Nürnberg Rechenzentrum Kesslerplatz 12, 90489 Nürnberg Version 2 August 2015 DokID: cs-rechte-autor Vers. 2, 18.08.2015,
Die Lernumgebung des Projekts Informationskompetenz
Beitrag für Bibliothek aktuell Die Lernumgebung des Projekts Informationskompetenz Von Sandra Merten Im Rahmen des Projekts Informationskompetenz wurde ein Musterkurs entwickelt, der den Lehrenden als
Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...
PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:
Installationsanleitungen
Installationsanleitungen INPA SGBD-Entwicklungsumgebung (EDIABAS) INPA für Entwickler Bevor Sie EDIABAS / INPA installieren können, müssen Sie sich für den Ordner sgref auf smuc0900 freischalten lassen.
Leichte-Sprache-Bilder
Leichte-Sprache-Bilder Reinhild Kassing Information - So geht es 1. Bilder gucken 2. anmelden für Probe-Bilder 3. Bilder bestellen 4. Rechnung bezahlen 5. Bilder runterladen 6. neue Bilder vorschlagen
Agile Vorgehensmodelle in der Softwareentwicklung: Scrum
C A R L V O N O S S I E T Z K Y Agile Vorgehensmodelle in der Softwareentwicklung: Scrum Johannes Diemke Vortrag im Rahmen der Projektgruppe Oldenburger Robot Soccer Team im Wintersemester 2009/2010 Was
CSS-Grundlagen. Etwas über Browser. Kapitel. Die Vorbereitung
Kapitel 1 Die Vorbereitung Vorgängerversionen. Bald darauf folgte dann schon die Version 4, die mit einer kleinen Bearbeitung bis vor Kurzem 15 Jahre unverändert gültig war. All das, was du die letzten
4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.
Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel
Internet online Update (Internet Explorer)
Um Ihr Consoir Beta immer schnell und umkompliziert auf den aktuellsten Stand zu bringen, bieten wir allen Kunden ein Internet Update an. Öffnen Sie Ihren Internetexplorer und gehen auf unsere Internetseite:
Innere Klassen in Java
Innere Klassen in Java SS 2012 Prof. Dr. Margarita Esponda Innere Klassen Klassen- oder Interfacedefinitionen können zur besseren Strukturierung von Programmen verschachtelt werden Eine "Inner Class" wird
AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b
AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität
Windows 7: Neue Funktionen im praktischen Einsatz - Die neue Taskleiste nutzen
Windows 7: Neue Funktionen im praktischen Einsatz - Die neue Taskleiste nutzen Das können wir Ihnen versprechen: An der neuen Taskleiste in Windows 7 werden Sie sehr viel Freude haben. Denn diese sorgt
CADEMIA: Einrichtung Ihres Computers unter Linux mit Oracle-Java
CADEMIA: Einrichtung Ihres Computers unter Linux mit Oracle-Java Stand: 21.02.2015 Java-Plattform: Auf Ihrem Computer muss die Java-Plattform, Standard-Edition der Version 7 (Java SE 7) oder höher installiert
INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline
Öffentliche Ordner Offline INDEX Öffentliche Ordner erstellen Seite 2 Offline verfügbar einrichten Seite 3 Berechtigungen setzen Seite 7 Erstelldatum 12.08.05 Version 1.1 Öffentliche Ordner Im Microsoft
Kurzfassung der Studienarbeit
Kurzfassung der Studienarbeit Abteilung Informatik Namen der Studenten Roman Widmer Mikkala Pedersen Studienjahr Sommersemester 2004 Titel der Studienarbeit.NET Skript Debugger Examinator Der GUI-Builder
Online Newsletter III
Online Newsletter III Hallo zusammen! Aus aktuellem Anlass wurde ein neuer Newsletter fällig. Die wichtigste Neuerung betrifft unseren Webshop mit dem Namen ehbshop! Am Montag 17.10.11 wurde die Testphase
Programme im Griff Was bringt Ihnen dieses Kapitel?
3-8272-5838-3 Windows Me 2 Programme im Griff Was bringt Ihnen dieses Kapitel? Wenn Sie unter Windows arbeiten (z.b. einen Brief schreiben, etwas ausdrucken oder ein Fenster öffnen), steckt letztendlich
Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista
Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista Allgemeines: Bitte lesen Sie sich diese Anleitung zuerst einmal komplett durch. Am Besten, Sie drucken sich diese Anleitung
13 OOP MIT DELPHI. Records und Klassen Ein Vergleich
13 OOP MIT DELPHI Delphi war früher "Object Pascal". Dieser Name impliziert eine Funktionalität, welche in der Welt der Programmierung nicht mehr wegzudenken ist: die objektorientierte Programmierung,
SMART Newsletter Education Solutions April 2015
SMART Education Newsletter April 2015 SMART Newsletter Education Solutions April 2015 Herzlich Willkommen zur aktuellen Ausgabe des Westcon & SMART Newsletters jeden Monat stellen wir Ihnen die neuesten
Anbinden der Visualisierung GILLES TOUCH (VNC)
Anbinden der Visualisierung GILLES TOUCH (VNC) Seite 1 von 19 Inhalt 1. Ermitteln der internen IP-Adresse... 3 2. Einstellen der IP-Adresse an der Gilles-Touch Regelung... 6 3. Installieren des Fernwartungsprogramms
Informatik 1 Tutorial
ETH Zürich, D-INFK/D-BAUG Herbstsemester 2014 Dr. Martin Hirt Christian Badertscher Informatik 1 Tutorial Dieses Tutorial hat zum Ziel, die notwendigen Tools auf dem eigenen Computer zu installieren, so
Gruppenrichtlinien und Softwareverteilung
Gruppenrichtlinien und Softwareverteilung Ergänzungen zur Musterlösung Bitte lesen Sie zuerst die gesamte Anleitung durch! Vorbemerkung: Die Begriffe OU (Organizational Unit) und Raum werden in der folgenden
Übungen zur Softwaretechnik
Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 9 17. Dezember 2002 www4.in.tum.de/~rumpe/se
SEMINAR Modifikation für die Nutzung des Community Builders
20.04.2010 SEMINAR Modifikation für die Nutzung des Community Builders Step by Step Anleitung ecktion SEMINAR Modifikation für die Nutzung des Community Builders Step by Step Anleitung Bevor Sie loslegen
Professionelle Seminare im Bereich MS-Office
Serienbrief aus Outlook heraus Schritt 1 Zuerst sollten Sie die Kontakte einblenden, damit Ihnen der Seriendruck zur Verfügung steht. Schritt 2 Danach wählen Sie bitte Gerhard Grünholz 1 Schritt 3 Es öffnet
Grundlagen von Python
Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren
Hier ist die Anleitung zum Flashen des MTK GPS auf der APM 2.0. Prinzipiell funktioniert es auch auf der APM 2.5 und APM 1.
Hier ist die Anleitung zum Flashen des MTK GPS auf der APM 2.0. Prinzipiell funktioniert es auch auf der APM 2.5 und APM 1. Vorweg: Die neue MTK Firmware 1.9 (AXN1.51_2776_3329_384.1151100.5_v19.bin) ist
teischl.com Software Design & Services e.u. [email protected] www.teischl.com/booknkeep www.facebook.com/booknkeep
teischl.com Software Design & Services e.u. [email protected] www.teischl.com/booknkeep www.facebook.com/booknkeep 1. Erstellen Sie ein neues Rechnungsformular Mit book n keep können Sie nun Ihre eigenen
Computeria Solothurn
Computeria Solothurn Seniorinnen und Senioren entdecken den Computer und das Internet Sich mit «TeamViewer» von einem Supporter helfen lassen Diese Anleitung und die Illustrationen wurden unter Mac OS
Primzahlen und RSA-Verschlüsselung
Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also
Pfötchenhoffung e.v. Tier Manager
Pfötchenhoffung e.v. Tier Manager A.Ennenbach 01.08.2015 Tier Manager Inhalt Administrationsbereich Tiere auflisten & suchen Tier hinzufügen Tier bearbeiten (Status ändern, etc.) Administrationsbereich
Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert:
Firewall für Lexware professional konfigurieren Inhaltsverzeichnis: 1. Allgemein... 1 2. Einstellungen... 1 3. Windows XP SP2 und Windows 2003 Server SP1 Firewall...1 4. Bitdefender 9... 5 5. Norton Personal
40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.
40-Tage-Wunder- Kurs Umarme, was Du nicht ändern kannst. Das sagt Wikipedia: Als Wunder (griechisch thauma) gilt umgangssprachlich ein Ereignis, dessen Zustandekommen man sich nicht erklären kann, so dass
Die itsystems Publishing-Lösung
Die itsystems Publishing-Lösung www.itsystems.ch 1/6 Inhaltsverzeichnis 1 Publishing-Portal Funktionsübersicht... 3 1.1 Umfang des itsystems Portal... 3 1.2 Portal-Lösungsübersicht... 4 www.itsystems.ch
