Lotus Notes / Domino Sonstiges > Projekt Bereich
Suche Java Unfähige für ein gemeinsames Newbie Projekt
Karotte:
Fis: nein, aber irgendwer muss doch die schwierige total langweilige aufgabe haben nebenbei noch brenner und dvdlaufwerke zu testen
Ralf_M_Petter:
Hallo Java Freunde!
Vielleicht kann mal jemand genauer definieren wie wir anfangen sollen. Ich gehe einmal davon aus, dass die Begriffe Klasse, Objekt, Felder und Methoden für jeden von LS ein Begriff sind. Ob Vererbung und Schnittstellen auch jeden ein Begriff sind wage ich einmal zu bewzweifeln. Vielleicht sollten wir hier anfangen. Ist das ok, oder hat jemand anderer einen besseren Vorschlag?
Grüße
Ralf
Rob Green:
jo...zum Start schlage ich folgendes als Inhalt vor, denn es geht im ersten Schritt wirklich erstmal nur um die absoluten Basics (und hierbei würde ich gerne stets wenn es denn geht Bezug auf Notes nehmen, damit es der Hebräischen Volksfront..ähhh...Notesfront einfacher fällt, mittels Assoziationen das neue Thema leichter zu greifen):
a.) was ist Java überhaupt = Generelle Beschreibung mit ganz leichter Einführung in OOP ("was ist zum Teufel OOP?")
b.) wann wird ein Javaprogramm überhaupt zu einem ausführbaren Java (.Java -> Javac ->.Class)..in Notes geh ich in den Designer, mach ne Form mit 1 Feld und ne View dazu und dat wars....in Java eben nicht...was muß ich dazu machen und womit und überhaupt wo denn da ??
c.) wozu habe ich dieses komische JDK und JRE? Was versteckelt sich dahinter?
d.) Wie ist ein JavaProgramm prinzipiell aufgebaut...dann versteht man auch diese explorerartigen Baumansicht in den vielen IDEs besser ("was ist zum Teufel dieses IDE und wozu brauch ich das in Java..geht das nicht mit Word?")
e.) was ist denn eine Klasse im Groben?
f.) was ist denn eine Methode und eine Eigenschaft? Wozu brauch ich den Quatsch in Java...gibbet das auch in Notes eigentlich?
g.) und wenn ich alles weiß, wie war das nochmal, wo entwickel ich Java..NetBeans...JDK...Forte...Visual....Notepad...Websphere...ja wo denn nuuu....sakra...
Im zweiten Part sollte - denke ich - die allgemeine Sprachsyntax wie zB die klassische Erläuterung der Datentypen, Schleifen etc... auftauchen, auch da immer wieder der Bezug zu NOtes - wie man es denn da macht und wie es in Java läuft
Den ersten Abschnitt würde ich versuchen zusammenzustellen.
Dazu mache ich ein längeres Postign auf, worauf wir dann Fragen stellen und Anmerkungen machen können. Wenn es dann keine weiteren Antwortpostings gibt, setze ich den Daumen und man geht zum zweiten Thema.
Einverstanden mit dem ersten Step? Ich hab "wer wil..." geschrien, also muß ich auch mit gutem Beispiel vorangehen und Einsatz zeigen, was aber ganz sicher nicht immer mein Part bleiben wird...nee neee ;D Jeder sollte mal drankommen, damit es fair bleibt.
Cool wäre es, wenn wir dazu ein eigenes Unterforum bekommen könnten, damit die Artikel nicht durch fremde Beiträge zerfleddert werden. Admins und MODs, ne Chance?? So können auch später Leutz dazukommen, die zu einem Kapitel etwas beitragen möchten, weil sie zB die Basics nullinger interessieren.
Gandhi:
Hurrah, ich bin nicht alleine....
Gerne würde auch ich mich der 'Lerngruppe Java' anschließen.
Performance:
- ich mache mal einen kleinen Anfang (bezieht sich aber ein wenig auf die Beans)
a)
Java ist eine von Sun Microsystems entwickelte(1991), vollkommen plattformunabhängige Programmiersprache mit spezieller Ausrichtung auf den Einsatz im World Wide Web. Die Sprache lehnt sich in Aufbau und Syntax an C/C++ an. …………… JAVA zeichnet sich u.a. durch folgende Eigenschaften aus:
- Objekt-Orientierung
- JAVA ist durchgängig objektorientiert und stellt dem Programmierer eine Fülle elementarer und komplexer Objekte bereit
.................
Java ist nicht nur eine Programmiersprache, es ist vielmehr eine Mischung aus Sprache und dazugelieferter Funktionalität in Form von Packages. Diese Funktionalitäts-Pakete haben dazu beigetragen, daß sich diese Entwicklungsumgebung derart schnell verbreiten konnte.
Sun stellt eine Reihe von Bibliotheken zur freien Verfügung, von der Datenbasis (JDBC) über die Anwendungsschicht(JNI,RMI) bis hin zur API-Oberfläche(AWT,JFC,SWING)
.................
Eine sinnvolle Erweiterung von Java sind die JavaBeans, eine Technologie für Java Komponenten. Beim Design modularer Software wird höchste Priorität darauf gelegt, daß der Code wiederverwendbar ist und in Bausteine zerlegbar ist. Durch dieses “populäre“ und mächtige Konzept wird die Entwicklungseffizienz um ein Vielfaches verbessert. Die JavaBeans Technologie basiert auf Java und ermöglicht es, Java Klassen als Softwarekomponenten zu erstellen und zu verwenden. Die Ziele von JavaBeans sind sehr elegant formuliert worden: “ Einmal schreiben, überall laufen, überall wiederverwenden“
.......................
 Ist Java langsam?
Nun es gibt schon ein Paar Ursachen, wo man sagen kann, daß Java langsamer ist als C.
Ein Grund ist, daß Java eine dynamisch gebundene, objektorientierte Sprache ist. Java Programme binden ihre Klassen erst bei der Ausführung. Erst während der Ausführung können sie polymorphe Methodenaufrufe in der Hierarchie der vererbten Objekte auflösen. Überschreibt eine Methode in einer untergeordneten Klasse die Methode einer übergeordneten Klasse, kann ein dynamisch gebundenes Programm erst bei der Ausführung erkennen, welche Methode Vorrang hat. Dieses Prinzip der späten Bindung wird auch in C++ verwendet(über virtuelle Methoden).
C-Compiler binden ein Programm statisch während der Kompilierung, indem sie Zeiger in die Funktionsaufrufe einfügen, so daß das Programm diese Verweise nicht erst bei der Ausführung auflösen muß.
..........................
Die offene Java Architektur wird deutlich auch an der Unterstützung von fünf verschiedenen Compiler-Arten: Quellcode-Compiler, Bytecode-Compiler, Bytecode-Optimierer, JIT-Compiler, dynamisch/adaptive Compiler und statische native Compiler.
...........................
Unter JAVA ist die Arbeitsspeicherverwaltung aus Programmierersicht wesentlich unkritischer als beispielsweise unter C. Es gibt keine durch Zeiger adressierte Speicherbereiche von unbestimmter Größe, sondern nur Speichervektoren von fest definierter Länge. Die Fehlerarme Speicherverwaltung ist besonders wichtig, da JAVA-Programme ohne Portierungsaufwand in verschiedenen CPU-Umgebungen ablaufen sollen.
JAVA-Programme werden wie herkömmliche Programme zu Objektcode compiliert, jedoch nicht in eine bestimmte Prozessor- oder Betriebssystem-Umgebung eingebunden, also nicht „gelinkt“. Java-Programme laufen daher auf allen Plattformen, wenn ein Java-Objektcode-Interpreter installiert ist (bei WWW-Browsern wie Netscape ab V2.0 ist dies die sog. „Java-Schnittstelle“).
.................................
7 Das objektorientierte Paradigma(OOP = objekt orientierte programmierung)
Nach den klassischen Programmiersprachen ist die Essenz eines Programmes, Daten nach Vorschriften/Algorithmen zu verändern, um daraus neue Daten zu gewinnen. Die Hauptidee der objektorientierten Denkweise ist jedoch das Objekt und die Zusammenfassung von Objekten zu Klassen.
7.1 Objekte
Objekte werden häufig, als Einheit von Daten und Prozeduren beschrieben. Im Gegensatz zu den prozeduralen Sprachen, wo der Programmierer dafür verantwortlich ist, daß die geeigneten Prozeduren und Funktionen auf die Daten angewendet werden, konstruiert man in der objektorientierten Programmierung eine Einheit aus Daten und Vorschriften nämlich das Objekt.
..................................
7.2 Botschaften
An ein Objekt werden Anliegen sogenannte Botschaften herangetragen, bestimmte dem Objekt bekannte Operationen auszuführen.
........................
7.3 Klassen
Objekte mit gleicher innerer Struktur und Funktionalität werden zu Klassen zusammengefaßt, die in einer hierarchischen Ordnung zueinander stehen. Klassen sind die zentrale Struktur eines OO-Softwaresystems. Klassen sind die Erweiterung des Konzeptes abstrakte Datentypen aus klassischen Programmiersprachen.
...
Die Klasse ‘java.lang.Object‘ ist die Basis aller Klassen in Java. Jedes beliebige Objekt verfügt durch die direkte oder indirekte Ableitung von ‘Object‘ mindestens über dessen Methoden.
.......................
7.4 Vererbung
Die Vererbung der Eigenschaften einer Klasse auf ihre Unterklassen hat folgende Konsequenzen:
- Der gesamte Datenspeicher, d.h. alle Exemplarvariablen werden übernommen. Eine Unterklasse wird vielleicht noch neue Exemplarvariablen hinzufügen, um das Verhalten ihrer Exemplare zu spezialisieren. Es ist aber in keinem Fall möglich Exemplarvariablen wegzulassen.
- Alle Methoden der Oberklasse können von den Objekten der Unterklasse verwendet werden. Das Methodeninterface einer Klasse beschränkt sich nicht nur auf die in dieser Klasse definierten Methoden, sondern die Exemplare der Unterklasse können auf sämtliche Methoden der Oberklasse zurückgreifen.
................................
Java erlaubt keine Mehrfachvererbung. Es besteht die Schwierigkeit, daß man die Methoden der Klasse Thread, insbesondere die Methode sleep() nicht direkt erben kann. Zur Lösung
dieser Schwierigkeit gibt es in Java das Konzept der Schnittstellen. Die Zeile:
public class UhrApplet extends Applet implements Runnable{}
weist die Klasse UhrApplet an, daß sie die Schnittstelle Runnable implementiert. Die Schnittstelle enthält die Methode run(). Objekte der Klasse UhrApplet dürfen nun, als Objekte
der Schnittstelle Runnable verwendet werden. Mit genau einem solchen Objekt kann ein Thread initialisiert werden.
Clock = new Thread(this);
Das Thread Objekt wird mit dem Uhr Objekt selbst(this) initialisiert. Der Thread läuft dann so, als wäre er selbst die Uhr. Die sleep() Methode unterbricht lediglich den Ablauf des Thread Objekts, nicht jedoch das Applet.
.........................
7.7 Fazit
Die grundlegende Idee der objektorientierten Programmiersprachen ist es, sowohl Daten als auch Funktionen, die auf diese Daten zugreifen, in einer einzigen Einheit zu kombinieren. Der schwierigere Teil Objekte zu erstellen, genauer gesagt zu definieren ist jedem Programmierer bekannt, aber in dieser Phase des Designs greifen immer bessere und leistungsfähigere visuelle Programmiertools den Entwicklern unter die Arme.
….
OO-Programmierung ist allgemein zu einer Schlüsseltechnologie der modernen Software-entwicklung geworden. Hier stellt sich aber die Frage: Ist das alles? Ich meine sollen wir bei der objektorientierten Denkweise aufhören? Gibt es nicht bessere, einfachere und strukturiertere Werkzeuge und Denkweisen, damit wir unseren Traum verwirklichen – den “Computer Butler“, als Teil unseres Lebens akzeptieren und weiterentwickeln.
Vor Jahrhunderten noch, war es ein Privileg der Adligen lesen und schreiben zu lernen. Analog dazu vertrete ich die These das jeder in Zukunft seinen eigenen Maschinen Sklaven halten und programmieren kann. Die Elite der heutigen Programmiergurus wird in Zukunft mit einem müden Lächeln begrüßt, wenn sie von ihren bahnbrechenden OO-Technologien erzählen wird. Der Wandel der Zeit bestimmt die Technologien von morgen.
#####################
ok ich habe das Thema als Teil meiner Diplomarbeit(JDK 1.0) erstellt... wenn ich das jetzt so lese stimmen verschiedene Themen nicht mehr ganz oder sind schon überholt.....
cu
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln