Java lernen sinnlos?
-
aXYZn schrieb:
+fricky schrieb:
eher allgemein, also wer überhaupt das erste mal programmiert, ist mit Java gut dran.
Mit C doch au !?
kommt drauf an. ich finde java ist ein klein wenig einfacher zu lernen als C. schon weil diese ganze pointerarithmetik wegfällt. dafür kriegste bei Java OOP zwangsweise serviert, aber so schwierig sind OOP grundlagen ja auch nicht.
aXYZn schrieb:
+fricky schrieb:
man kann mit wenig aufwand dinge tun, die auch sofort klappen und das sorgt gleich für die nötige begeisterung.
Welche Dinge ?
eigentlich alles was anfängern spass macht und sie bei guter laune hält. kleine GUI-anwendungen, mal ein soundfile abspielen, irgenwelche programme, die sich übers netz unterhalten, usw. in C musste dir für sowas alles irgendwelche libraries besorgen. alles selber machen geht zwar auch, aber kann für 'nen einsteiger ganz schön frustrierend werden.
-
ach ja, zum thema 'anfänger und c++': http://www.courageunfettered.com/stuf/cpp/
-
Das sieht ja recht unübersichtlich aus:
aXYZn schrieb:
Das sieht ja recht unübersichtlich aus:
public class HalloWelt { public static void main(String[] args) { System.out.println("Hallo Welt!"); } }
und dat nennt ihr "einfach" ?
Guckt ma hier:#include <stdio.h> int main() { printf("Hallo Welt!"); getchar(); return 0; }
und lasset euch von der Einfachheit dieser Sprache begeistern.
Grüße
agiund lasset euch von der Einfachheit dieser Sprache begeistern.
10 PRINT "Hallo Welt!"
-
u_ser-l schrieb:
Wer schreibt schon die gesamte Programmlogik der Hauptroutine hinter ein "if" -
ich meinte eher so etwas:Mit anderen Worten, du verschweigst, dass das "main()" nur der Aufruf deiner selbst definierten Hauptroutine ist, dass dazu die Definition selbst noch gehört sowie dieses Tänzchen mit dem
if __name__ == "__main__":
. Ganz seltsamer Diskussionsstil, das.
-
@ volkard
Was kann denn BASIC, das nicht C kann ?
-
Mannmannmannmannmann ...
ich verschweige gar nichts. `if __name__ == "__main__"' ist überflüssig, wenn das Skript standalone laufen soll, ich bleibe aber in jedem Fall dabei, daß `def main():' intuitiv verständlicher ist als `public static void main(...){...}', ob mit oder ohne if-Zeile ...
-
prgorammiere lieber in whitespace
fertig!
-
aXYZn schrieb:
@ volkard
Was kann denn BASIC, das nicht C kann ?Auf Datasette speichern, Programmierter Direktmodus, den eigenen Quelltext ausgeben, egal. Kannst alles wegdiskutieren. Und ich sag doch gar nicht, C könne mehr oder weniger.
Nur ist Basic für kleine Programme offenbar viel viel einfacher.
Wer also in seiner Argumentation ums Einfachheitsargument tanzt wie die Juden ums Goldene Kalb, der sollte nicht bei Java und C stehen bleiben, sondern zu wirklich einfachen Sprachen wie Basic und Brainfuck schreiten. Wer dazu nicht bereit ist, muß mit Tanzen aufhören und zugeben, daß es ganz andere Gründe sind, Java oder C zu bevorzugen (normalerweise, weil man den Doppeldenk zustandebringt, zu blöd für C++ zu sein und sich gleichzeitig für den Größten Programmierer Aller Zeiten zu halten).
-
Einfach und effektiv volkard, einfach und effektiv...
Grüße
agi
-
u_ser-l schrieb:
ich bleibe aber in jedem Fall dabei, daß `def main():' intuitiv verständlicher ist als `public static void main(...){...}', ob mit oder ohne if-Zeile ...
Du "bleibst" da bei etwas, was du vorher anders gesagt hast.
-
du weißt schon genau, was ich meine.
Es ist ein Unterschied, ob ein Schüler erst über
1. Rückgabetypen (void),
2. Zugriffsbereiche (public) und
3. Klassenmethoden (static)lernen muß, um main(...) in java zu verstehen, oder eben nicht.
gut geeignete Sprachen für die Lehre sind mMn python, smalltalk oder lisp, notfalls C. Man lernt ja auch in Latein nicht einen weitverbreiteten römischen Dialekt, sondern Schriftlatein, eben weil es methodisch besser ist. Popularität sollte bei der Wahl der Lernmittel nicht erstes Kriterium sein, finde ich.
-
Also langsam komme ich auch zur Einsicht und sehe die Programmiersprachen nun als Mittel zum Zweck. Mal ehrlich es ist doch abhängig von der Vorliebe des Programmierers, ob er nun diese oder diese wählt beide können eventuell das gleiche machen, aber unterscheiden sich wohlmöglich durch ihre Syntax und eventuell durch ihren Aufwand.
Programmieren ist eben die Kunst abstrahiert zu denken und zu handeln.PS: Laut Wiki basiert Java auf C :p
Grüße
agi
-
volkard schrieb:
Wer also in seiner Argumentation ums Einfachheitsargument tanzt wie die Juden ums Goldene Kalb, der sollte nicht bei Java und C stehen bleiben, sondern zu wirklich einfachen Sprachen wie Basic und Brainfuck schreiten.
relative einfachheit und hoher gebrauchswert, das haben C und Java gemeinsam. mir fällt grad nicht ein, welche anderen sprachen 'nen ähnlich guten 'wirkungsgrad' haben wie diese beiden. alle anderen sind entweder für 'n spezielles themengebiet gedacht oder zu kompliziert, zu überladen, zu unhandlich, zu schlicht, usw.
-
u_ser-l schrieb:
Man lernt ja auch in Latein nicht einen weitverbreiteten römischen Dialekt, sondern Schriftlatein, eben weil es methodisch besser ist. Popularität sollte bei der Wahl der Lernmittel nicht erstes Kriterium sein, finde ich.
Denk das weiter und Du bringst deinem Sohn zuerst Latein oder Esperanto bei und wenn er das kann, darf er vielleicht man Deutsch oder Englisch lernen.
-
+fricky schrieb:
volkard schrieb:
Wer also in seiner Argumentation ums Einfachheitsargument tanzt wie die Juden ums Goldene Kalb, der sollte nicht bei Java und C stehen bleiben, sondern zu wirklich einfachen Sprachen wie Basic und Brainfuck schreiten.
relative einfachheit und hoher gebrauchswert, das haben C und Java gemeinsam.
Ähm. Wollen wir wirklich wiedermal vergeblich versuchen, die Programme aufzuzählen, die gut sind aber in Java geschrieben wurden, und dabei nichtmal bis zehn kommen? Damit ist der Gebrauchsbert bei 0. Es gibt angeblich einen hohen Lehrwert, aber der ist nur postuliert und nicht glaubwürdig.
-
@+fricky
Und die "genutzte Energie" von beiden bleibt Gleich, ohne dass die "zugeführte Energie" an Konstanz verliert ?
Grüße
agi
-
volkard schrieb:
Denk das weiter und Du bringst deinem Sohn zuerst Latein oder Esperanto bei und wenn er das kann, darf er vielleicht man Deutsch oder Englisch lernen.
ja und nein, würde ich sagen: Die Muttersprache ist immer leichter zu lernen als Fremdsprachen - von daher hätten Latein oder Esperanto als "first language" zwar einen methodischen Vorteil, nicht aber den der Einfachheit. Der Punkt ist ja gerade, daß smalltalk oder lisp sowohl einfacher als auch methodisch "geschlossener" sind als die meisten "Gebrauchssprachen", die immer Kompromisse aus methodischer Reinheit und Praktikabilität sind, und noch Rücksicht auf Traditionen und Gewohnheiten nehmen (s. java-Syntax).
-
volkard schrieb:
Ähm. Wollen wir wirklich wiedermal vergeblich versuchen, die Programme aufzuzählen, die gut sind aber in Java geschrieben wurden, und dabei nichtmal bis zehn kommen?
Mit Java werden auch hauptsächlich Server programmiert, da kannst du natürlich keine Namen aufzählen. Zähl doch mal 10 Programme auf die in Fortran oder ABAP geschrieben wurden.
-
ach rolf schrieb:
volkard schrieb:
Ähm. Wollen wir wirklich wiedermal vergeblich versuchen, die Programme aufzuzählen, die gut sind aber in Java geschrieben wurden, und dabei nichtmal bis zehn kommen?
Mit Java werden auch hauptsächlich Server programmiert, da kannst du natürlich keine Namen aufzählen. Zähl doch mal 10 Programme auf die in Fortran oder ABAP geschrieben wurden.
also ist sie eine nur-server-sprache.
+fricky schrieb:
relative einfachheit und hoher gebrauchswert, das haben C und Java gemeinsam. mir fällt grad nicht ein, welche anderen sprachen 'nen ähnlich guten 'wirkungsgrad' haben wie diese beiden. alle anderen sind entweder für 'n spezielles themengebiet gedacht oder zu kompliziert, zu überladen, zu unhandlich, zu schlicht, usw.
also fällt sie unter "entweder für 'n spezielles themengebiet". also unter "alle anderen" und gerade NICHT unter die mit "ähnlich guten 'wirkungsgrad'". widerspruch, wie immer.
man kann es drehen und wenden wie man will, es gibt keinen technischen grund, java zu lehren, und nur sehr wenige gründe, java anzufassen. seit 20 jahren rede ich gelegentlich mit java-fans und nie kam was dabei heraus. immer lösen sich deren argumente in widersprüchen auf und werden im verlauf der diskussion
durch glaubenssätze ersetzt.
-
volkard schrieb:
ach rolf schrieb:
volkard schrieb:
Ähm. Wollen wir wirklich wiedermal vergeblich versuchen, die Programme aufzuzählen, die gut sind aber in Java geschrieben wurden, und dabei nichtmal bis zehn kommen?
Mit Java werden auch hauptsächlich Server programmiert, da kannst du natürlich keine Namen aufzählen. Zähl doch mal 10 Programme auf die in Fortran oder ABAP geschrieben wurden.
also ist sie eine nur-server-sprache.
nö