An alle Schüler und Studenten mit Informatikproblemen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
__deets__
User
Beiträge: 3289
Registriert: Mittwoch 14. Oktober 2015, 14:29

Mittwoch 21. Februar 2018, 07:15

wie kommst du denn zu dem Schluss hier würde keinen Anfängern geholfen?!?
RIN67630
User
Beiträge: 26
Registriert: Sonntag 29. April 2018, 08:07

Sonntag 13. Mai 2018, 03:35

mkesper hat geschrieben:
Montag 14. Dezember 2009, 16:44
Bitte an die angegebene Zielgruppe denken. Von beruflichen Softwareentwicklern war nicht die Rede. Es geht darum, Schülern und Studenten grundlegende Konzepte des Programmierens beizubringen.
Dafür ist aber Python denkbar ungeignet!
__deets__
User
Beiträge: 3289
Registriert: Mittwoch 14. Oktober 2015, 14:29

Sonntag 13. Mai 2018, 10:08

RIN67630 hat geschrieben:
Sonntag 13. Mai 2018, 03:35

Dafür ist aber Python denkbar ungeignet!
Bitte nicht fast zehn Jahre alte Posts ausbuddeln.
Benutzeravatar
DeaD_EyE
User
Beiträge: 206
Registriert: Sonntag 19. September 2010, 13:45
Wohnort: Hagen
Kontaktdaten:

Sonntag 13. Mai 2018, 11:17

Dafür ist aber Python denkbar ungeignet!
Experten auf diesem Gebiet haben eine andere Meinung dazu.
Auch die Praxis zeigt, dass sich Python sehr wohl für den Einstieg eignet.
Es wird ja an diversen Universitäten, auch an Deutschen, eingesetzt.

Wenn Python für den Einstieg ungeeignet wäre, würde man die Sprache in Bildungseinrichtungen nicht verwenden.
sourceserver.info - sourceserver.info/wiki/ - Support für HL2-Server
narpfel
User
Beiträge: 225
Registriert: Freitag 20. Oktober 2017, 16:10

Sonntag 13. Mai 2018, 16:05

@RIN67630: Welche grundlegenden Konzepte des Programmierens kann man denn am Beispiel Pythons nicht unterrichten bzw. lernen?

Wenn man seine Meinung begründet, dann macht man übrigens mehr den Eindruck, dass man eine ernsthafte Diskussion führen möchte und nicht nur trollen will.
RIN67630
User
Beiträge: 26
Registriert: Sonntag 29. April 2018, 08:07

Montag 14. Mai 2018, 12:08

narpfel hat geschrieben:
Sonntag 13. Mai 2018, 16:05
@RIN67630: Welche grundlegenden Konzepte des Programmierens kann man denn am Beispiel Pythons nicht unterrichten bzw. lernen?
Wenn man seine Meinung begründet, dann macht man übrigens mehr den Eindruck, dass man eine ernsthafte Diskussion führen möchte und nicht nur trollen will.
Es fängt schon beim sauber deklarieren von Variablen an. Dann ist die Posix-kompatibilität nicht von vorne gegeben.
Ja, man bekommt schnell Ergebnisse, aber auch schlechten Gewohneiten, die einem später im Wege stehen werden.
Selbst der Datentyp einer Variable ist nicht stabil.
Sobald dass man an Schnittstellen kommt, die klar definierte Inhalten verlangen, ist der Spuk vorbei.
Die Rückwärtskompatibilität mit Python 2 ist nicht gewährleistet.
Nebenbei: das Konstrukt select..case fehlt
usw...
Benutzeravatar
DeaD_EyE
User
Beiträge: 206
Registriert: Sonntag 19. September 2010, 13:45
Wohnort: Hagen
Kontaktdaten:

Montag 14. Mai 2018, 12:32

Selbst der Datentyp einer Variable ist nicht stabil.
Das ist das Konzept von dynamischen Sprachen.
Ja, man bekommt schnell Ergebnisse, aber auch schlechten Gewohneiten, die einem später im Wege stehen werden.
Bekommt man auch mit C hin, also die schlechten Gewohnheiten und was die schlechten Gewohnheiten uns bis jetzt gebracht haben, kann man z.B. auf exploit-db.com nachlesen.
Sobald dass man an Schnittstellen kommt, die klar definierte Inhalten verlangen, ist der Spuk vorbei.
Geht auch mit Python. Ich weiß gar nicht was du willst. Ich könnte wenn ich wollte jeden Datentyp checken.
Mache ich das? Nein, weil ich Ducktyping verstanden habe.
Die Rückwärtskompatibilität mit Python 2 ist nicht gewährleistet.
Der Support wird 2020 eingestellt und das ist gut so. Die Inkompatibilitäten kommen dadurch zustande, dass man
die Sünden aus der Vergangenheit beseitigt hat.
Nebenbei: das Konstrukt select..case fehlt
Dieses Konstrukt wird in Python auch nicht benötigt und falls du denkst du bräuchtest das in Python, dann kennst du die Sprache nicht.


Meine Vermutung ist, dass du nur trollen willst.
Jemand der die Sprache gut kennt, findet andere Punkte die wirklich zu kritisieren sind, von denen du aber wahrscheinlich noch nie etwas gehört hast.
sourceserver.info - sourceserver.info/wiki/ - Support für HL2-Server
__deets__
User
Beiträge: 3289
Registriert: Mittwoch 14. Oktober 2015, 14:29

Montag 14. Mai 2018, 12:39

RIN67630 hat geschrieben:
Montag 14. Mai 2018, 12:08

Es fängt schon beim sauber deklarieren von Variablen an. Dann ist die Posix-kompatibilität nicht von vorne gegeben.
Ja, man bekommt schnell Ergebnisse, aber auch schlechten Gewohneiten, die einem später im Wege stehen werden.
Selbst der Datentyp einer Variable ist nicht stabil.
Sobald dass man an Schnittstellen kommt, die klar definierte Inhalten verlangen, ist der Spuk vorbei.
Die Rückwärtskompatibilität mit Python 2 ist nicht gewährleistet.
Nebenbei: das Konstrukt select..case fehlt
usw...
Ach du liebe Guete. Ahnungslos und meinungstark - das sind ja immer die Besten... was hat denn POSIX-Kompatibilitaet (eine Eigenschaft von BETRIEBSSYSTEMEN) mit einer Programmiersprache zu tun? Und welches grundlegende Konzept stellt den Abwaertskompatibilitaet bitte dar? Wenn ich in C++17 programmiere, geht das auch nicht mehr durch einen Compiler von vor 5 Jahren. Ist laut deiner Logik also auch nicht geeignet zum beibringen von Konzepten des Programmierens. Da wuerde ich mal wissen wollen, welche Sprache du denn dafuer geeignet haelst...

Konzepte der Programmierung sind Datenstrukturen, Algorithmen auf diesen, und gewisse Paradigmen wie OO, logische, meta und funktionale Programmierung. Nicht alle davon lassen sich mit jeder Sprache gleich gut behandeln. Allerdings erstaunlich viele davon in Python, und das besser als zB mit den C-Sprachen.

Alles was du auffuehrst sind bestenfalls Geschmackssachen, die ja durchaus valide sind sich fuer oder gegen eine Sprache zu entscheiden. Aber deine Abqualifikation ist nicht schluessig begruendet. Sagt aber viel ueber dich aus...
Benutzeravatar
kbr
User
Beiträge: 914
Registriert: Mittwoch 15. Oktober 2008, 09:27

Montag 14. Mai 2018, 13:12

@RIN67630: Deine Kritik ist weder korrekt noch neu. Es gibt öfter Leute, die sich in dieser Weise äußern – übrigens zu allem Möglichen, nicht nur Python. Warum sollte man Dich überzeugen, eine Sprache zu nutzen, die Dir missfällt? Warum solltest Du selbst eine Sprache nutzen, die Du kritisierst? Musst Du sie im Studium nutzen? Kein Problem: Du kannst etwas anderes studieren. Musst Du sie auf der Arbeit nutzen? Auch kein Problem: Du kannst den Job wechseln. Du bist frei.
DasIch
User
Beiträge: 2462
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Montag 14. Mai 2018, 13:23

Idealerweise nutzt man ohnehin ausschliesslich Lambda Calculus zum lernen. Alles andere ist entweder Mutable (Turing Maschine) und damit für einen Menschen schwer nachzuvollziehen oder größtenteils nur Syntax Zucker. Lambda Calculus erlaubt einem sich nur aufs wesentliche zu konzentrieren. Diese ganzen Abstraktionen sind ohnehin nur temporärer Hype.
RIN67630
User
Beiträge: 26
Registriert: Sonntag 29. April 2018, 08:07

Montag 14. Mai 2018, 15:37

__deets__ hat geschrieben:
Montag 14. Mai 2018, 12:39
Und welches grundlegende Konzept stellt den Abwaertskompatibilitaet bitte dar? Wenn ich in C++17 programmiere, geht das auch nicht mehr durch einen Compiler von vor 5 Jahren.
Ohne den Flamewar fortsetzen zu wollen: Ich will nur deine Fragen beantworten.
Abwärtskompatibilität geht genau anders herum: Ein Programm, der vor 5 Jahren in C++11 geschrieben wurde, lässt sich akkurat mit C++17 compilieren.

Und POSIX ist nicht nur eine Eigenschaft von Betriebsysteme, sondern eine Ansammlung von Grundkonzepte, die die Portabiltät von Programmierlösungen garantiert.
Benutzeravatar
MagBen
User
Beiträge: 777
Registriert: Freitag 6. Juni 2014, 05:56
Wohnort: Bremen
Kontaktdaten:

Montag 14. Mai 2018, 15:50

RIN67630 hat geschrieben:
Montag 14. Mai 2018, 15:37
Ein Programm, der vor 5 Jahren in C++11 geschrieben wurde, lässt sich akkurat mit C++17 compilieren.
Sofern du keine Bibliotheken benutzt oder genau die selben wie vor 5 Jahren noch hast. Aber wenn sich nichts auf deinem System geändert hat, woher kommt dann der neue Kompiler?
Die Probleme fangen in der Regel auch erst nach 10 Jahren an.
a fool with a tool is still a fool, www.magben.de, YouTube
Sirius3
User
Beiträge: 8255
Registriert: Sonntag 21. Oktober 2012, 17:20

Montag 14. Mai 2018, 16:04

@RIN67630: Da Python weitgehend Systemunabhängig ist, wie willst Du das mit POSIX-Kompatibilität vereinbaren? POSIX ist auch zu low-level, als dass das irgendwer direkt benutzen will (wobei man mit Python dort wo sinnvoll möglich, auch direkt POSIX-Funktionalität verwenden kann).

Behauptungen rauszuhauen, ohne eine Referenz anzugeben ist halt ... zumal nicht relevant und auch noch falsch.
RIN67630
User
Beiträge: 26
Registriert: Sonntag 29. April 2018, 08:07

Montag 14. Mai 2018, 16:06

kbr hat geschrieben:
Montag 14. Mai 2018, 13:12
Warum solltest Du selbst eine Sprache nutzen, die Du kritisierst?
Auch diese Frage möchte ich noch beantworten.
Ich muss nichts mehr. Ich bin in Rente. Ich will aber ein Middleware schreiben, von dem eine Seite in Python programmiert ist.
Dass Python die Daten ohne Deklaration nutzt und gar im Programmablauf verändert, macht es unglaublich schwer den Ablauf zu verstehen, da man nicht vom Code aus wissen kann, welche Struktur die Variable gerade vorweist.
__deets__
User
Beiträge: 3289
Registriert: Mittwoch 14. Oktober 2015, 14:29

Montag 14. Mai 2018, 16:41

RIN67630 hat geschrieben:
Montag 14. Mai 2018, 15:37
Und POSIX ist nicht nur eine Eigenschaft von Betriebsysteme, sondern eine Ansammlung von Grundkonzepte, die die Portabiltät von Programmierlösungen garantiert.
Natuerlich geht es dabei um die Portabilitaet von Software auf verschiedene Systeme. Hat aber nichts mit einer Programmiersprache zu tun (jenseits des C FFI). Python laeuft auf diesen System gerade WEIL es gegen POSIX APIs gebaut ist, und offeriert diese explizit oder implizit. Und falls welche fehlen, kann man die sich zur Not mit ctypes dazubasteln, dazu haette ich aber gerne ein Beispiel. Und es bleibt dabei, das diese Aussage im Kontext von Programmierkonzepten die mittels Python vermittelbar sein sollen (oder nicht, laut dir) Unfug ist. Abstraktionen wie Dateien, Sockets, Threads sind verfuegbar, und portabel. Und koennen damit auch gelehrt werden. Das heisst nicht, das ALLES in Python sinnvoll darstellbar ist - eine eigene malloc Implementierung mangels einer Notwendigkeit dank gemanagtem Speicher wuerde ich in Python jetzt nicht schreiben. Aber habe ich auch in meinem gesamten Informatik-Diplom nicht gemacht.
RIN67630 hat geschrieben:
Montag 14. Mai 2018, 15:37
Abwärtskompatibilität geht genau anders herum: Ein Programm, der vor 5 Jahren in C++11 geschrieben wurde, lässt sich akkurat mit C++17 compilieren.
Bitte erzaehl das den Leuten, die diese Liste verantworten:

https://isocpp.org/files/papers/p0636r0.html#removed

Oder diesen Stackoverflow post:

https://stackoverflow.com/questions/239 ... tten-in-c1

Oder Anhang C im C++11-Standard:

http://www.open-std.org/jtc1/sc22/wg21/ ... /n4296.pdf

Und selbst *wenn* es eine Sprache schafft, ewig waehrende Abwaertskompatibilitaet zu leisten und Python dies eben nicht kann/will, beruehrt das nicht die Eignung fuer die Ausbildung in Programmierkonzepten. Ich habe teilweise an Sprachen gelernt, die es nur im Kontext einer einzigen Universitaet gibt. Die ist zu nichts ausser sich selbst und in der gerade releasten Version kompatibel. Und in C++ gibt es wiederum bestimmte Moeglichkeiten gar nicht, oder nur auf so aetzende Weise, dass das auch nicht wirklich empfehlbar ist.

Es ist ja merklich, dass du hautpsaechlich von der dynamischen Typisierung in Python genervt bist. Ist dein gutes Recht. Benutz es halt nicht. Genauso wie ich von der mangelnden Generizitaet von getyptem Code in zB Java oder C genervt bin. Nur wuerde ich keiner dieser Sprachen absprechen, zum programmieren lernen geeignet zu sein. Und ganz ehrlich: die schlechten Angewohnheiten, die man sich in C aneignen kann, und die es dann schwierig machen, mit jemandem, der nur in Pointern von Pointern denken kann, modernen C++-Code abzuverlangen, sind durchaus relevant fuer die Praxis.
Antworten