Umgang mit Anfängern

Alles, was nicht direkt mit Python-Problemen zu tun hat. Dies ist auch der perfekte Platz für Jobangebote.
kodela
User
Beiträge: 185
Registriert: Montag 12. Oktober 2015, 21:24
Wohnort: Landsberg am Lech
Kontaktdaten:

cofi hat geschrieben:... Zu guter Letzt: Du *willst* nicht mit Klassen arbeiten. ...
Hallo @cofi:

SphaeroX hat doch geschrieben:
... Ich will mit Klassen arbeiten, ...
Stehe ich da auf dem Schlauch und verstehe etwas nicht?

MfG, kodela
Sirius3
User
Beiträge: 18051
Registriert: Sonntag 21. Oktober 2012, 17:20

@kodela: SphaeroX denkt, dass er mit Klassen arbeiten will. cofi hat das in Frage gestellt, weil das seiner (und auch meiner) Meinung nach bei diesem Problem nicht nötig ist. Das hat ja cofi auch noch begründet.
kodela
User
Beiträge: 185
Registriert: Montag 12. Oktober 2015, 21:24
Wohnort: Landsberg am Lech
Kontaktdaten:

Hallo @Sirius3:

Da magst Du in allem Recht haben. Trotzdem bin ich der Ansicht, dass solch hintersinnige Aussagen nicht unbedingt in einer rein sachlich bezogenen Diskussion zur Klarheit beitragen.

Wenn jemand schreibt, er will etwas, dann kann man doch schlecht argumentieren, er will es nicht, weil das, was er nach eigenem Bekunden will, nicht sehr sinnvoll ist.

MfG, kodela
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

@kodela: Du musst dich hier wirklich nicht zum vermeindlichen Anwalt der Forumsneulinge aufschwingen!

Anfänger sind sprachlich ähnlich kompetent wie Kinder bezüglich des Lebens. Man muss ihre geäußerten Wünsche durchaus hinterfragen und ggf auf das eigentliche Problem zurückführen. Manchmal muss man diese auch kurz und knapp zurück weisen. Das liegt jetzt nicht am bösen Gehabe der Regulars hier, sondern ist ganz im Gegenteil der Hilflosigkeit der Anfänger geschuldet.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
kodela
User
Beiträge: 185
Registriert: Montag 12. Oktober 2015, 21:24
Wohnort: Landsberg am Lech
Kontaktdaten:

Hallo @Hyperion:

Mir ist nicht bewusst, hier in diesem Forum einmal etwas geschrieben zu haben, was man auch nur annähernd im Sinne von "bösen Gehabe der Regulars" hier deuten könnte. Das Gegenteil ist wohl eher der Fall. Insofern verstehe ich auch Deine Zurechtweisung nicht. Aber gut, wenn das Deine Ansicht ist, dann ist es eben so.

MfG, kodela
Benutzeravatar
pillmuncher
User
Beiträge: 1511
Registriert: Samstag 21. März 2009, 22:59
Wohnort: Pfaffenwinkel

Das Problem, das die Regulars hier mit vielen Anfängerfragen haben, ist, dass diese Fragen oft denselben Mustern folgen. Im schlimmsten Fall: Ich will nicht lernen, just gimme da codez!!elf1. Oder: Sagt mir halt wie man das programmiert, nicht dass ich die Grundlagen lernen soll, denn ich lerne am besten durch Praxis, und Programmieren ist ja sowas wir Backen oder Schnitzen, da braucht man keine Theorie. Oder: Ich habe jetzt den Algorithmus fehlerhaft implementiert, den der Prof angeschafft hat, und trotzdem stimmt mein Ergebnis nicht - was kann ich an der Ausgabe ändern, damit es wieder stimmt? Oder: Ja, ich weiß, dass mein Programm wie Kraut und Rüben aussieht, mit Sternchenimporten und Importen, die ich gar nicht benötige, aber trotzdem kenne ich mich in meinem Code nicht mehr aus. Oder einfach: Mein Programm möchte ich nicht zeigen, aber es funktioniert nicht - warum? Und so weiter. Daneben sind die Problembeschreibungen oft unverständlich, was, wie Hyperion schon schrieb, dem Anfängerstatus des Fragenden zuzuschreiben ist. Eine unvollständige Beschreibung des Problems/Programms/Fehlers gibt es auch regelmäßig. Selbst, wenn man nicht Programmieren kann, sollte man in der Lage sein, sich klarzumachen, was jemand, von dem man Hilfe erwartet, benötigt, um die Hilfe auch leisten zu können. Dazu kommen die Raspi-Leute, die glauben, programmieren würde so funktionieren wie Elektronikbastelei. Tut sie leider nicht. Und außerdem, dass man den Anfängern Antworten gibt, die sie komplett zu ignorieren scheinen. Wie oft soll man einem, der einen ignoriert, dieselbe Antwort geben? Und das noch: Englisch ist die Sprache der Informatik. Es führt kein Weg daran vorbei, zumindest Fachenglisch für diesen Bereich zu lernen. Das mag manche ärgern, aber das Leben ist nunmal kein Ponyschlecken.
In specifications, Murphy's Law supersedes Ohm's.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Urspruengliches Thema: http://www.python-forum.de/viewtopic.php?f=1&t=37468

@kodela: Dafuer dass du dich einmal lauthals beschwert hast, dass hier so viele Themen Offtopic werden, gibst du dir aber die groesste Muehe das ganze erst entgleisen zu lassen.

Ob du es glaubst oder nicht, das hier ist nicht der erste Thread in dem jemand so etwas vor hat wie Klassen unbedingt einzusetzen und es ist nie eine gute Idee. Davor kann man warnen.
Benutzeravatar
noisefloor
User
Beiträge: 3939
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

pillmuncher +1 - sehr schön zusammengefasst :-)

Gruß, noisefloor
Benutzeravatar
pillmuncher
User
Beiträge: 1511
Registriert: Samstag 21. März 2009, 22:59
Wohnort: Pfaffenwinkel

Einen Punkt habe ich noch vergessen: Wie schwer kann es sein, den Code richtig zu formatieren? Wer das nicht schafft, kann auch nicht Programmieren lernen, denn Programmieren heißt unter anderem, dem Computer zu sagen, was er tun soll, und nicht zu erwarten, dass er das auf magische Weise selbst weiß.
In specifications, Murphy's Law supersedes Ohm's.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

@kodela: Du hast dich wiederholt gegen sinnvolle Anmerkungen und Antworten von Regulars gestellt! Und zwar mit Hinweis auf den eigentlichen Wunsch eines fragenden. Ich finde da kann man mal einen "Anwalt" als Rolle draus machen ;-)

Das Problem ist dabei nur, dass wir ja alle gerne helfen und wir eben nicht die Wünsche der Fragenden ignorieren - wir erfüllen sie eben nur nicht immer direkt und unmittelbar. Insbesondere dann, wenn es sich um XY Probleme handelt. Und das kommt eben oftmals vor, gerade weil Anfänger vieles nicht richtig einschätzen oder überblicken können. Und da brauchen sie echte, nachhaltige Hilfe und keine kurzfristig, unpythonische Hilfe.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

@kodela:
Die Kommunikation ist hier im Forum sehr umgänglich, meist wird auf ALLES (dank BlackJack) geantwortet, und zwar auf ziemlich hohem Niveau. Die Ansprache ist dabei eher formal direkt und nicht gerade blümerant und poetisch ausgeschmückt. Was wiederum dem Grundtopos "Programmierprobleme in Python" gerecht wird. (alles IMHO)
Wenn man sich hier länger herumtreibt, fallen dann bei den Antwortsuchenden Leute auf, welche mit wenig Eigeninitiative häufig Hausaufgaben gemacht haben wollen. Wenn dann noch eine geringe Frustationstoleranz mitkommt, kann so ein Thread schonmal etwas "aus der Bahn geraten". (Das passiert extrem selten, mir selbst ist nur ein Wortwechsel mit einem Benutzer bewusst, wo es auf die persönliche Ebene ging.) Ich glaube, dass die meisten Regulars dafür inzwischen ein Gespür entwickelt haben, was natürlich auch mal falsch liegen kann. Ich persönlich reagiere auf solche Anfragen meist nicht, es sei denn ich glaube, doch noch konstruktiv etwas beitragen zu können.

Was hin und wieder wahrscheinlich allen mal passiert, sind Kategorienfehler (Anfänger: "der hat meinen Code kritisiert, also findet er MICH blöd"; Regular: "der geht nicht auf meinen Senf ein - der will kein Python lernen"). Aber nunja, wir sind alle nur Menschen ;)
SphaeroX
User
Beiträge: 4
Registriert: Montag 16. November 2015, 00:13

Ich klinke mich hier mal mit ein und will gleich als ersten Punkt ansprechen von wegen "Viele wollen es nicht lernen die wollen nur wissen was sie tun wollen" bzw. "wenn es zu schwer ist den Code zu formatieren". Solche Aussagen wirken sehr herab lassend, aber nun gut. Ich wollte damit wissen wie ihr es macht, ich kann meinen Code sehr wohl formatieren aber ich gehe nicht davon aus das ich alles besser mache als andere. Deshalb würde ich halt gerne wissen wie ihr das macht und eventuell bessere Methoden zu finden. Und genau deshalb habe ich nicht gefragt wie ich es machen soll, sondern ob es Literatur dazu gibt wo ich vielleicht etwas darüber nach lesen kann.

Und dann zum zweiten: ich fand es nicht schlimm das mir gesagt worden ist das man da eher nicht mit Klassen arbeiten soll. Ich lerne wie gesagt gerne dazu und bin auch bereit andere Wege zu gehen. Also bleibt locker und seht einfach die Grundaussage: seit nett zu neuen Leuten dann baut ihr auch eine noch größere Community auf. 8)
Benutzeravatar
pillmuncher
User
Beiträge: 1511
Registriert: Samstag 21. März 2009, 22:59
Wohnort: Pfaffenwinkel

@SphaeroX: Es geht nicht um die Formatierung des Codes im Sinne von "wie viele Leerzeichen zum Einrücken verwende ich" oder "wo setze ich optionale Klammern" etc., sondern um die Codeformatierungsfunktion beim Artikelschreiben hier im Forum. Die Einrückungstiefe bestimmt in Python welcher Codeteil zu welchen Block gehört, aber ohne die genannte Codeformatierungsfunktion geht diese Information verloren, denn dann werden führende Leerzeichen nicht angezeigt. Hier zweimal derselbe Code, einmal ohne, einmal mit:

def pratt_parse(nodes):

tokens = (make_token(HORNET_FIXITIES, node) for node in nodes)
token_pairs = pairwise(tokens, fillvalue=END)
token = None

def parse(rbp):

nonlocal token

t, token = next(token_pairs)
left = t.nud(parse)

while rbp < token.lbp:
t, token = next(token_pairs)
left = t.led(left, parse)

return left

return parse(0)

Code: Alles auswählen

def pratt_parse(nodes):

    tokens = (make_token(HORNET_FIXITIES, node) for node in nodes)
    token_pairs = pairwise(tokens, fillvalue=END)
    token = None

    def parse(rbp):

        nonlocal token

        t, token = next(token_pairs)
        left = t.nud(parse)

        while rbp < token.lbp:
            t, token = next(token_pairs)
            left = t.led(left, parse)

        return left

    return parse(0)
Wenn ich einen Artikel hier schreibe verwende ich immer die Vorschau bevor ich auf Absenden drücke. Da kann ich sehen, ob der Artikel auch lesbar ist. Wenn jemand von mir Hilfe erwartet und ihm schon das zuviel Arbeit ist, warum sollte ich da helfen wollen?
In specifications, Murphy's Law supersedes Ohm's.
SphaeroX
User
Beiträge: 4
Registriert: Montag 16. November 2015, 00:13

Dann habe ich dich falsch verstanden gehabt.

Klar, da verstehe ich dich schon und zwingen kann dich dazu auch keiner.
kodela
User
Beiträge: 185
Registriert: Montag 12. Oktober 2015, 21:24
Wohnort: Landsberg am Lech
Kontaktdaten:

Ein Hallo an alle,

zunächst ein Danke @Cofi dafür, dass er einiges abgetrennt und in dieses Unterforum verschoben hat, wo es zweifelsfrei besser aufgehoben ist.

Nun aber zum Thema selbst, zum Umgang mit Anfängern. Frage: Will man hier überhaupt Anfänger oder soll dieses Forum den Spezialisten vorbehalten sein, die Fragen zum Thema Python auf hohem Niveau diskutieren?

Ich weiß es nicht. Ich weiß nur so viel, dass sich hier einige Moderatoren und User in bewundernswerter Art bemühen, allen zu helfen. Es gibt aber auch Moderatoren und User, die Hilfesuchende in einer Art ansprechen, die nicht jedem gefallen muss. Ich wurde zum Beispiel in einem Fall darauf aufmerksam gemacht, Hausaufgaben vorkauen, möge man hier nicht. Es kommt natürlich vielfach vor, dass vor allem neue User so etwas erwarten und ich finde es auch absolut richtig, dass man das hier nicht unterstützen will. Muss man das aber insgeheim jedem unterstellen?

Muss ich jemand, der zu unbeholfen ist, für seine Anfrage den geposteten Code richtig zu formatieren, gleich unterstellen, dass er es nur nicht richtig macht, weil es ihm zu viel Arbeit sei? Nein, das muss man alles nicht.

Man kann aber vielleicht dem einen oder anderen Anfänger aufzeigen, was ihn mit Python erwartet und ihm eventuell empfehlen, sich mit einer einfacheren Programmiersprache zu begnügen. Da stellt zum Beispiel jemand in einem OpenOffice-Forum eine Frage zu Makros und bekommt von dort dann die Empfehlung, sein Problem nicht über das OpenOffice-Basic sondern über Python zu lösen, da bräuchte er statt 60 Zeilen nur drei. Ja, dieser Jemand ist begeistert und will diesem Rat folgen. Da aber doch sehr schnell jetzt Fragen zu Python auftauchen, sucht er Hilfe und findet dieses Forum.

Wenn man hier so etwas ahnt, und gibt den Rat, bei Basic zu bleiben, dann kann es hier passieren, dass sich jemand einmischt und meint, diese Empfehlung würde schon an "fahrlässige Körperverletzung" grenzen. Dafür ist natürlich weder das Forum selbst noch irgend einer der anderen User verantwortlich, aber zumindest im konkreten Fall hat auch niemand widersprochen und klargestellt, dass es wirklich nicht für jede simple Aufgabenstellung Python sein muss.

Damit aber kein falscher Eindruck entsteht, ich will hier nun wirklich nicht "herummotzen", wenn auch der eine oder andere das vielleicht so sieht. Ich sage es zum wiederholten Male, dass dies eines der besten Foren ist, die ich kenne und ein Forum ist ja kein abstraktes Gebilde, es ist die Summe der Forenmitglieder, von denen ein großer Teil in bewundernswerter Weise dazu beiträgt, dass dieses Forum so gut ist, wie es ist.

Ich habe es noch nie gemacht, aber ich will aus meinem letzten Berufsschulzeugnis zitieren, das vor 60 Jahren geschrieben wurde: "Er nimmt nichts kritiklos hin. Seine Mitarbeit wirkte befruchtend auf den Unterricht." Ich will hier also nicht den Störenfried spielen, ich will lediglich reflektieren, wie die eine oder andere unbedachte Antwort von Anfängern eventuell aufgenommen wird.

MfG, kodela
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Der Erstkontakt für Anfänger hier im Forum kann nur begrenzt toll sein. Die meisten sind schliesslich nicht in der Lage ihre eigenen Gedanken verständlich in einem Beitrag zu beschreiben geschweige den ihr Problem vollständig zu verstehen, deswegen scheitert es ja auch am programmieren. Das ist zwar kein allzu großes Problem weil man das recht leicht lernen kann, führt aber erstmal dazu dass jeder Anfänger erstmal gestoppt wird und man so ziemlich alles ignoriert oder verwirft und nochmal bei 0 anfängt. Nur so ist es möglich das Problem als Helfender zu verstehen um sinnvolle Hilfestellung zu geben und sicherzugehen dass die Person der man hilft das Problem und die Lösung auch wirklich versteht.
Benutzeravatar
MagBen
User
Beiträge: 799
Registriert: Freitag 6. Juni 2014, 05:56
Wohnort: Bremen
Kontaktdaten:

DasIch hat geschrieben:Die meisten sind schliesslich nicht in der Lage ihre eigenen Gedanken verständlich in einem Beitrag zu beschreiben geschweige den ihr Problem vollständig zu verstehen, deswegen scheitert es ja auch am programmieren.
Es sind oftmals tatsächlich Programmieranfänger, aber die meisten dürften schon mal einen Gedanken erfolgreich beschrieben haben.
a fool with a tool is still a fool, www.magben.de, YouTube
BlackJack

@MagBen: Es geht um die konkreten Probleme mit dem Programmieren und nicht darum dass die meisten generell schon mal ihre Gedanken(gänge) erfolgreich beschrieben haben. Wenn der jeweilige Anfänger sein Programmierproblem vollständig erfasst hat und eine Lösung dafür formulieren kann die als Handlungsanweisung dienen könnte, dann ist das Programm an sich ja nur noch Schreibarbeit. Unter der Voraussetzung der Anfänger hat ein Tutorial durchgearbeitet und kennt die Python-Grundlagen. Falls etwas nicht klappt, dann kann er ja zumindest die Gedankengänge bis zu dem Punkt wo er nicht weiterkommt beschreiben. Leute die das nicht können müssen sich an der Stelle noch mal hinsetzen und das mindestens mal für sich selbst ausarbeiten. Und da gibt es immer wieder Kandidaten die das entweder nicht können oder keine Lust haben und das lieber vorgesetzt bekommen. Viele hier haben IMHO kein Problem damit Hilfesuchenden davon etwas abzunehmen und zu zeigen wie man etwas angehen oder lösen kann. Allerdings, und das wurde in diesem Thema auch schon von jemandem erwähnt, ein wenig Eigeninitiative möchte man schon sehen. Ich jedenfalls habe wenig Lust anderen Code zu schreiben den sie dann unbesehen übernehmen ohne ihn verstanden zu haben und ihre Programme aus im Internet gefundenen und in Foren ”in Auftrag gegebenen” Quelltextschnippseln wild ratend zusammen stückeln.

@Kodela: Man weiss ja nicht viel von Anfängern ausser den Benutzernamen und das was in den Beiträgen steht. Und wenn das nach Hausaufgabe ”riecht”, unterstelle ich das lieber erst einmal vorsichtshalber weil die wenigsten Benutzer von sich aus das entsprechende angepinnte Thema lesen. Das dient auch beiden Seiten: Ich löse für niemanden die Hausaufgaben, und jemand anders lässt sich nicht von mir die Hausaufgaben lösen was ja auch für ihn Konsequenzen hat. Mindestens mal das er selber den Lösungsweg nicht erarbeitet hat, mit der entsprechenden Lernerfahrung die er ja aus der Aufgabe ziehen sollte. Aber es kann auch als ”schummeln” gewertet werden. Irgendwie vergessen Schüler/Studenten anscheinend manchmal das auch Lehrer/Dozenten/Tutoren Internet haben und Suchmaschinen bedienen können. Mir war zum Beispiel bis vor kurzem nicht klar das bei einigen Unis/Studiengängen die Hausaufgaben als Prüfungsleistung zählen und da dann abschreiben wirklich schwere Konsequenzen haben kann!
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

kodela hat geschrieben:Ich will hier also nicht den Störenfried spielen, ich will lediglich reflektieren, wie die eine oder andere unbedachte Antwort von Anfängern eventuell aufgenommen wird.
That's life - so what? Ich hab' mir tatsächlich die Mühe gemacht, zu verstehen, welche Deiner zitierten Aussagen tatsächlich grenzwertig oder unangemessen wären. Tut mir jetzt wirklich leid, wenn ich das mal so sage: Wer mit sowas nicht umzugehen weiß, sollte sich nicht in einem virtuellen Raum aufhalten.

Der Ton und die Art der Antworten hier im Forum sind mehr als angebracht. Wer Fragen stellt, sich dann aber von vornherein jeglicher Kritik und jedem Ratschlag verweigert, bekommt nun mal, was er nicht möchte. Und fishing for compliments geht hier auch immer wieder gründlich in die Hose. :wink:

Ich weiß nicht: Was soll das hier eigentlich?
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
Benutzeravatar
snafu
User
Beiträge: 6779
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

mutetella hat geschrieben:Ich weiß nicht: Was soll das hier eigentlich?
+1
Antworten