java:start

Diskussionen zu Tutorials, Änderungs- und Erweiterungswünsche
Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: java:start

Beitrag von Xin » Fr Feb 25, 2011 8:45 pm

Mashup hat geschrieben:Ich könnte euch die Folien des Professors zur Verfügung stellen, sofern ihr diese nur als Anregung betrachtet (wobei die Grundlage der Folien das Buch "Java ist auch eine Insel" ist.
Die Folien des Profs müssten er entweder im Netz zur Verfügung stellen oder sein Einverständnis dazu geben.

Ansonsten ist die Java-Insel als OpenBook verfügbar, also als Anregung auch verfügbar)
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
Mashup
Beiträge: 26
Registriert: Do Apr 15, 2010 2:57 pm
Wohnort: $ life >/dev/null 2>&1

Re: java:start

Beitrag von Mashup » Fr Feb 25, 2011 9:04 pm

Ich kann ja mal den Prof fragen. Der hat die Folien in die eCommunity der Fachschaft MNI hochgeladen.
pushing little children,
with their fully automatics,
they like to push the weak around

Benutzeravatar
Dirty Oerti
Beiträge: 2229
Registriert: Di Jul 08, 2008 5:05 pm
Wohnort: Thurndorf / Würzburg

Re: java:start

Beitrag von Dirty Oerti » Sa Feb 26, 2011 9:42 pm

http://proggen.org/doku.php?id=java:tutorial:helloworld

Bitte mal durchlesen, soweit ich bis her gekommen bin, und mir ehrlich sagen, wie gut man das verstehen kann ;)
Dieses .. grundlegende ist wirklich schwer zu erklären.
Bei Fragen einfach an daniel[ät]proggen[Punkt]org
Ich helfe gerne! :)
----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: java:start

Beitrag von Xin » Sa Feb 26, 2011 11:04 pm

Allerdings brauchen wir eine Einschränkung, denn solche Pfadangaben sind nicht relativ. Das bedeutet, unsere Datei liegt auch unter z.B. Java/tutorial/helloworld, und evtl auch unter Desktop/Java/tutorial/helloworld. Außerdem liegt die Datei natürlich auch unter helloworld/.
Ich habe mal als Java-Entwickler gearbeitet... Häh?

Es wird (mir) im zweiten Abschnitt klar. Aber ich versuchte erstmal zu verstehen, was Du da beschreibst (=>Häh?), das kapiere ich nicht, also lese ich es nochmal (=>Häh?), dann ignoriere ich es und lese einfach weiter (Achso...).
Dieser Zeile, die ja eigentlich noch nicht wirklich etwas damit zu tun hat, was unser Programm tut, sondern eher dazu dient, Ordnung in unserem Code zu erhalten, folgt nun der eigentliche Programmcode.
Code => Quelltext?

Ordnet es den Quelltext? Oder ein Projekt? Aber was ist ein Projekt?
Halten wir also fest: Im Quelltext finden wir zusätzlich zu unserem Code auch noch „Anweisungen“, die uns helfen, unseren Code zu verwalten, allerdings ist das nicht zwingend notwendig.
Quelltext, Code(meint Quelltext), Code (meint Projekt?)

Wie genau definierst Du Code?

Ich weiß, dass es schwer ist die Menge der Wörter zu reduzieren und scharfe Definitionen, aber es hilft Anfängern, wenn sie Bedeutungen deutlich unterscheiden können.
Allerdings bedeutet das nicht, dass zwingend etwas vor dem Block stehen muss, denn nichts ist auch eine Charakterisierung.
Wenn man ein solches Step-by-Step-Tutorial schreibt, wirst Du immer wieder Dinge weglassen müssen.
Der Inhalt. Was hier steht, ist sehr unterschiedlich. Wir können hier auch weitere „Unterblöcke“ vorfinden.
Der Inhalt. Punkt oder Erklärung. Entweder (er)klärt der Text etwas, was die Vorstellung des Lesers verbessert oder er ist überflüssig.
(inForm - atik).
In-Formation. -ik => Wissenschaft von... In-Formation. Informatik ist ein Kunstwort, aber eben In-Fomat-ik, nicht In-Form-atik.
Wenn ein Objekt zu einer Klasse gehört, dann nennt man es Instanz der Klasse.
Hmm... grundsätzlich richtig, ich würde es allerdings andersrum formulieren, weil es (mir) suggeriert, dass man sich wie in der mündlichen Sprache aus der Chaos-Grabbelkiste existierender Objekte die Objekte einzeln rausnimmt und sie dann klassifiziert. Beim Programmieren ist es ja umgekehrt: Man schreibt Klassen, und erstellt dann eine Instanz. Einfach nur, um einem Anfänger den Weg in der Programmierung einzuleiten.
Das hier ist ein grundlegender Unterschied beim Erlernen einen einer menschlichen Sprache zum Erlernen einer Programmiersprache: Zu begreifen, dass man erst beschreibt, was man programmieren will und dann eine Instanz davon erzeugt, statt einfach irgendwie ein Stück Software zurechtzuschlagen. (So hat man es früher gemacht, aber das wollen wir ja nicht vermitteln ^^)
Unser Programm, das uns im vorherigen Kapitel den Text ausgegeben hat, ist nichts anderes als eine Instanz dieser Klasse. Es definiert sich selbst dadurch, was es kann, nämlich den Text „Hello World!“ auszugeben.
Folgendes macht die Sache jetzt komplizierter... denn das ist sachlich falsch (static!)
Ich kenne das Problem... ich habe schon einigen Leuten programmieren beigebracht und ich halte OOP möglichst lange raus, (auch) damit die Leute erstmal static ignorieren könne.
Das ist eine Deklaration (also eine Benennung, wir sagen, dass es eine Klasse gibt, die den Namen „HelloWorld“ trägt, dazu reicht die erste Zeile alleine) und auch gleichzeitig eine Definition der Klasse.
Ist eine alleinige Deklaration in Java möglich?
Eigenschaften einer Klasse nennt man Attribute,
...
<EIGENSCHAFTEN> DATENTYP NAME (PARAMETER)
Häh? Eigenschaften => Zugriffsattribut.

Hier sind wir wieder dabei, Begriffe ganz scharf zu unterscheiden und nicht zu vermischen :-)
die Fähigkeiten bezeichnen wir als Methoden. ...

über diesen Namen haben wir auch Zugriff auf die Fähigkeiten, die uns diese Methode bietet.
Fähigkeiten == Methode, aber eine Methode bietet Fähigkeiten?
Konkret bedeutet das, dass nichts den gleichen Namen trägt, was sich im selben Block befindet.
Überladung?
Jede Methode gibt einen Wert, eine Zahl, zurück
Jede Methode gibt eine Zahl zurück?


Ich habe diesmal sehr viel geschrieben. Bitte räche Dich am C-Tutorial ;-)
Grundsätzlich gefällt mir die Seite, besonders der Einstieg in die OOP, der üblicherweise bei Java sehr weit am Anfang kommt. Ich begreife halte OOP für eine Programmiertechnik wie Listen, entsprechend spreche ich OOP etwa auf diesem Wissenstand an. Das würde ich auch bei Java machen, aber hier werden Schüler vorbeischauen, die von Ihren Lehrern oft erst OOP verklickert bekommen, bevor sie programmieren lernen. Von daher halte ich es für richtig - als Reaktion auf die imho falsche Unterrichtsmethode - der Mehrheit der Schüler und Studenten hier entgegen zu kommen und OOP ebenfalls früh zu behandeln.

Aber das macht die Sache natürlich nicht einfacher (static, public, private, protected...)
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Antworten