python vs java

Alles, was nicht direkt mit Python-Problemen zu tun hat. Dies ist auch der perfekte Platz für Jobangebote.
Costi
User
Beiträge: 545
Registriert: Donnerstag 17. August 2006, 14:21

I am baaaack!!

(zumindestens diese wochenende ueber ; )

also:
ich werd ein referat ueber python in informatik halten.


unserer lehrer hat java wohl noch als revulutionaere innovation mitgekriegt und besteht drauf das es DIE sprache is

deswegen muessen meine arme mitschueler jedes mal bei der deklarierung einer variable einen halben roman schreiben und klassen benutzen ohne ueberhaubt wichtige grundlagen der programmierung verstanden zu haben


deswegen wuerde ich gerne ihnen python vorstellen und mit meinen herausragenden deutsch-kentnissen argumentieren warum python zumindestens fuer anfanger besser geignet ist

darueber hinaus will ich einen python programm vortsellen, dass pythonisch eine real-world aufgabe loest und dabei moeglichst mit instancen, dicts und sowas manobriert


mein lehrer meint, dass typisierung wichtig fuers denken ist und klassen ein programm strukturieren und struktur wir jugendlichen sowieso brauchen (?)

als gegenargument wil ich folgende metapher anwenden:
in meinen zimmer ist auch nicht alles in schubladen organisiert - mein schlafanzug liegt unter mein kissen, stifft und papier sind auf mein tisch bereit gelegt und wenn ich etwas suche will ich auf keinen inhaltsverzeichneiss, meine zimmerDoc oder so nacguken,
ich will einfach nur mein zimmer benutzen koennen!
und nicht schubladen sortieren



was meint ihr?

danke
cp != mv
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

Costi hat geschrieben:mein lehrer meint, dass typisierung wichtig fuers denken ist und klassen ein programm strukturieren und struktur wir jugendlichen sowieso brauchen (?)
Ich kann deinem Lehrer in allen 3 Punkten nur zustimmen :) Dass Java allerdings hilft, Struktur ins Leben von Jugendlichen zu bringen, halte ich für eine etwas gewagte Annahme ;)

Mit deinen Deutschkenntnissen wirst du ihn übrigens nicht wirklich beeindrucken können :) (sorry)
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Meine Meinung: versuch nicht Lehrer zu belehren ;-)

Klassen schaden wirklich nicht aber die nutzt du in Python doch auch ?!?
Costi
User
Beiträge: 545
Registriert: Donnerstag 17. August 2006, 14:21

Klassen schaden wirklich nicht aber die nutzt du in Python doch auch ?!?
klar, aber so wie ich will und und ich muss sie nicht in eine extra datei packen
Mit deinen Deutschkenntnissen wirst du ihn übrigens nicht wirklich beeindrucken können Smile (sorry)
hmmm, ich habe gedacht es waere nicht notwendig zu sagen das diese behauptung ironisch gemeint war :D [/code]
cp != mv
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Costi hat geschrieben:als gegenargument wil ich folgende metapher anwenden: in meinen zimmer ist auch nicht alles in schubladen organisiert
Hallo Costi!

Versuche nicht etwas was deinem Lehrer lieb und teuer ist in den Dreck zu ziehen. Der schaltet sofort auf Stur und denkt sich: "Was weiß dieser Junge denn schon vom Leben!"

Das musst du anders angehen. Zeige die Vorteile und Möglichkeiten von Python auf -- und das ist jetzt ganz wichtig: -- ohne Java überhaupt zu erwähnen.

Zeige einfache Code-Strukturen, zeige mit wie wenig Codezeilen du zu einem Ergebnis kommst. Bleib auf jeden Falls sachlich.

So erreichst du extrem viel mehr als wenn du einen Vergleich machst.

Vielleicht kannst du dir hiervon ein paar Ideen raus suchen:
- http://www.python-forum.de/topic-9839.html
- http://well-adjusted.de/~jrschulz/paper ... bjekte.pdf
- http://well-adjusted.de/~jrschulz/talks ... tation.pdf

Edit:
Und hier noch die nie fertig gestellten Präsentationsunterlagen von mir: http://gerold.bcom.at/bilder/Python%20- ... /file_view


mfg
Gerold
:-)

PS: Und Hände weg von fremden Servern. ;-)
Zuletzt geändert von gerold am Freitag 1. Juni 2007, 21:34, insgesamt 1-mal geändert.
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
BlackJack

Um Typisierung muss man sich auch in Python Gedanken machen, jedes Objekt hat einen Typ, wie man mit `type()` einfach zeigen kann. Python ist stark und dynamisch typisiert.

Klassen sind nicht das einzige Mittel um ein Programm sinnvoll zu strukturieren. Als `public static` deklarierte Methoden in Java sind letztendlich ja auch Funktionen und ohne käme man nur schwer aus.
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Du machst dir nur Probleme. Vor allem weil man auch in Python Klassen bis zum Umfallen verwendet was auch eine gute Sache ist. Das Java keine Funktionen hat ist auch kein wirkliches Problem, einfach eine statische Methode an eine Klasse binden und gut ist.
TUFKAB – the user formerly known as blackbird
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Costi hat geschrieben:I am baaaack!!

(zumindestens diese wochenende ueber ; )

also:
ich werd ein referat ueber python in informatik halten.


unserer lehrer hat java wohl noch als revulutionaere innovation mitgekriegt und besteht drauf das es DIE sprache is

deswegen muessen meine arme mitschueler jedes mal bei der deklarierung einer variable einen halben roman schreiben und klassen benutzen ohne ueberhaubt wichtige grundlagen der programmierung verstanden zu haben


deswegen wuerde ich gerne ihnen python vorstellen und mit meinen herausragenden deutsch-kentnissen argumentieren warum python zumindestens fuer anfanger besser geignet ist

darueber hinaus will ich einen python programm vortsellen, dass pythonisch eine real-world aufgabe loest und dabei moeglichst mit instancen, dicts und sowas manobriert


mein lehrer meint, dass typisierung wichtig fuers denken ist und klassen ein programm strukturieren und struktur wir jugendlichen sowieso brauchen (?)

als gegenargument wil ich folgende metapher anwenden:
in meinen zimmer ist auch nicht alles in schubl[aden organisiert - mein schlafanzug liegt unter mein kissen, stifft und papier sind auf mein tisch bereit gelegt und wenn ich etwas suche will ich auf keinen inhaltsverzeichneiss, meine zimmerDoc oder so nacguken,
ich will einfach nur mein zimmer benutzen koennen!
und nicht schubladen sortieren
Costi hat geschrieben: deswegen wuerde ich gerne ihnen python vorstellen und mit meinen herausragenden deutsch-kentnissen argumentieren warum python zumindestens fuer anfanger besser geignet ist
Wäre toll wenn du die auch hier Anwenden würdest ;)

Ich würde nicht gegen Java Argumentieren. Zeig einfach was Python kann. Wie leicht es zu lesen ist, wie schnell man damit etwas einfaches erreichen kann, wie einfach Reflection funktioniert. Klassen/Module neuladen gibt je nach dem auch eine Hübsche Demo ;)

Java und Python sind zwei verschiedene Welten, die kannst du höchstens für einen bestimmten Anwendungsfall gegeneinander abwägen. Und selbst das halte ich für gewagt.
Costi
User
Beiträge: 545
Registriert: Donnerstag 17. August 2006, 14:21

genau, nur das man in java halt zu viele umwege gehen muss um alles in einen stricten klassen konzept zu ermoeglichen.
will man in java einfach nur eine funktion definieren, muss man extra sowas wie:

Code: Alles auswählen

static Utils{public Integer gimmi5(){return 5}}
in einer neuen datei packen.
waehrend man in python einfach "def gimmi5(): return 5" irgendwo einfuegt und dann schneller und mit weniger bugs gut ist.


edit:
aehhh,mit mein java snipset ist jetzt irgendetwas falsch oder?
cp != mv
BlackJack

Ja da ist einiges falsch. `Utils` müsste als Klasse deklariert sein. Klassen sind bei Java von Natur aus statisch, also hat das ``static`` davor nichts zu suchen. Die Methode dagegen muss als ``static`` deklariert werden, wenn sie als "Funktion" verwendbar sein soll. Der Rückgabetyp `Integer` in Verbindung mit einem `int`-Literal funktioniert erst ab Java 1.5. Und es fehlt ein Semikolon.

Code: Alles auswählen

public class Test
{
    public static Integer gimmi5()
    {
        return 5;
    }
}
lunar

blackbird hat geschrieben:Das Java keine Funktionen hat ist auch kein wirkliches Problem, einfach eine statische Methode an eine Klasse binden und gut ist.
Erst schafft man einen ausschließlich objektorientierte Sprache und lässt diese ganze altmodische funktionelle Programmierung hinter sich.


Dann bemerkt man, dass "new Sinus(30).doit()" doch keine so tolle Idee ist, um den Sinus eines Winkels zu berechnen...


Dann führt man Funktionen wieder ein, aber man nennt das Ganze "statische Methode", weil "Funktion" irgendwie ja voll altmodisch und überhaupt nicht "objektorientiert" ist...


Dann erfindet man noch das Konzept "statischer Imports", weil die strenge Anwendung der Objektorientierung bei "statischen Methoden" recht schreibintensiv ist...


Und dann tut man noch so, als wäre das die Innovation des Jahrhunderts und voll hip.


Während der ganzen Zeit programmieren tausende Programmierer mit Python, C++ oder C funktionell und fahren gut damit.


Sorry, aber manchmal ist Java einfach schizophren...
BlackJack

Das "Problem" bei Java ist nicht, dass es eine ausschliesslich objektorientierte Sprache ist, sondern das es eine ausschliesslich klassenbasierte Sprache ist. Wenn Funktionen auch Objekte wären, gäb's das Problem nicht. Python ist viel objektorientierter. :-)
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

BlackJack hat geschrieben:Python ist viel objektorientierter. :-)
Dafür ist Java viel OOP-Dogmatischer. Manche haben schon versucht mir anzudrehen, dass Java objektorientierter ist als Python, weil Python zum Beispiel keinen Syntaktischen Zucker für Interfaces hat.

So, das war jetzt aus der Meine-Sprache-ist-viel-objektorientierter-als-deine-Abteilung. :D
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Java will zuviel forcieren, was man in Python aus gutem Grund tun oder lassen kann. Das gilt für die genannten Punkte wie Funktionen, mehrere Klassendefinitionen in einer Datei und Interfaces als auch anderes.
rolgal_reloaded
User
Beiträge: 312
Registriert: Dienstag 24. Oktober 2006, 19:31

gerold hat geschrieben:
Versuche nicht etwas was deinem Lehrer lieb und teuer ist in den Dreck zu ziehen. Der schaltet sofort auf Stur und denkt sich: "Was weiß dieser Junge denn schon vom Leben!"

Das gilt natürlich für alle Lehrer und Lehrerinnen :roll:

:evil:
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

rolgal_reloaded hat geschrieben:
gerold hat geschrieben:Versuche nicht etwas was deinem Lehrer lieb und teuer ist in den Dreck zu ziehen. Der schaltet sofort auf Stur und denkt sich: "Was weiß dieser Junge denn schon vom Leben!"
Das gilt natürlich für alle Lehrer und Lehrerinnen :roll:
Hallo rolgal!

Ich habe mich auch schon dabei erwischt, dass ich so gedacht hatte. Bei mir war es ein Lehrling, der nichts von Quellcodeeinrückung hielt.
Und Lehrer sind nicht die besseren Menschen. Das kann mir keiner erzählen.

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
rolgal_reloaded
User
Beiträge: 312
Registriert: Dienstag 24. Oktober 2006, 19:31

gerold hat geschrieben: Hallo rolgal!

Ich habe mich auch schon dabei erwischt, dass ich so gedacht hatte. Bei mir war es ein Lehrling, der nichts von Quellcodeeinrückung hielt.
Und Lehrer sind nicht die besseren Menschen. Das kann mir keiner erzählen.
Es geht nicht darum, ob LehrerInnen die besseren Menschen sind. Sondern einfach um die Tatsache, dass es viele LehrerInnen gibt, die SchülerInnen dahin bringen wollen IHR EIGENES zu machen. Das ist natürlich sehr schwierig, besonders vor dem Hintergrund der Tatsache, dass man SchülerInnen ein Fundament vermitteln muss, von dem man weiss, dass es gut und richtig ist. Es braucht viele Reflektionsprozesse, um zu erkennen, wo man den SchülerInnen Räume für IHR EIGENES eröffnen kann.

Ich rede jetzt natürlich nicht in meiner Funktion als Informatiklehrer - mach den Job so gut es geht mit viel Spaß - sondern als Instrumentalpädagoge, wofür ich auch die entsprechenden Abschlüsse habe.

LG

rolgal_reloaded
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Was macht man als Instrumentalpädagoge und wie wird man das? ;-)
rolgal_reloaded
User
Beiträge: 312
Registriert: Dienstag 24. Oktober 2006, 19:31

Sr4l hat geschrieben:Was macht man als Instrumentalpädagoge und wie wird man das? ;-)
Man unterrichtet ein Instrument. In meinem Fall Gitarre. Die Ausbildung in Österreich befähigt SchülerInnen auf jeder Leistungsstufe jedes Schultyps zu unterrichten, also auch auf Universitätsniveau.

Es gibt grundsätzlich 2 Studienrichtungen.
Die für den dezidierten Instrumentalpädagogen üblichere ist die Studienrichtung Instrumental(gesangs)pädagogik.
Bakk. 8 Semester, Mag. 12 Semester.

Zusätzlich zur Vorbildung, die man mitbringen muss, muss häufig ein "Basisstudium" absolviert werden, das man braucht um überhaupt die Zulassungsprüfung ins oben genannte Studium zu schaffen.
Somit verlängert sich die Ausbildung im Schnitt um 2-4 Semester.

Meine Wenigkeit: Abschluss der 8 Semester am Tiroler Landeskonservatorium, Abschluss mit Mag. an der Universität Mozarteum.

LG

rolgal_reloaded
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

aha danke wieder was gelernt.
Ich dachte bei Pedagage an etwas anderes,
was du da beschreibst hätte ich Musik Professor genannt.
Antworten