Pomaganie ludziom na tym forum

6

Nie wiem gdzie to wrzucić, ale ten dział wydaje mi się najbardziej odpowiedni.

Zastanawia mnie jak Wy zapatrujecie się na pomaganie innym na tym forum, gdy widzicie, że gość jest totalnym newbie. Albo, co bardziej prawdopodobne, leniem i nie chce się trochę namęczyć.

Ja jak widzę trywialne pytania, to staram się nigdy nie podawać gotowca, tylko lekko naprowadzić gościa tak, by sam znalazł rozwiązanie. Zresztą, widać to po moich postach (pewnie zauważyliście), że często są dość zdawkowe. Szlag mnie trafia, gdy widzę jak ktoś zakłada temat z problemem, którego rozwiązanie zajęłoby mu 20 sekund, gdyby użył Google. No ale gość woli stracić czas swój i nasz, napisać posta, a potem czekać na gotowe.

Taki przykład z dziś. Gość ma problem z głupim sortowaniem tablicy w PHP. @Desu gościowi odpisał na posta:

Desu napisał(a):

Ogólnie PHP ma całą masę funkcji tablicowych, które robią to za Ciebie, nie musisz sam implementować sortowania, która swoją drogą byłoby turbo wolne w porównaniu z quicksortem, którego używa PHP w większości funkcji sortujących (https://www.php.net/manual/en/function.sort.php#refsect1-function.sort-notes).

A gość chwilę potem odpisuje, że nadal nie wie jak to zrobić i ewidentnie czeka na gotowca...

Jakiś czas temu był gość (nie pamiętam o jaki język chodziło), który nie potrafił zrobić chyba dodawania (mnożenia?) 2 liczb w swoim programie...

Oczywiście sporo userów w takich sytuacjach podaje gotowe rozwiązanie. Dla mnie to bezsensu, bo jeśli "programista" nie potrafi użyć google, to to jest dupa, a nie programista. Jak Wy uważacie? Podawać gotowe rozwiązania, czy jednak lepiej nakierowywać tylko?

9

Czasem rzucę gotowcem bo traktuję takie tematy również jako ćwiczenie dla siebie, owo słynne programistyczne kata. Albo zapiszę sobie jakiś szybki proof of concept by zobaczyć, czy mój tok myślenia jest poprawny, kod się kompiluje i faktycznie robi co należało, a jak już go napiszę, to równie dobrze mogę i wkleić. Czy ktoś potem to wykorzysta by się czegoś nauczyć, czy bezczelnie zeżrnie, skopiuje i wklei, to już jego sprawa i jego problem.

1
serek napisał(a):

Oczywiście sporo userów w takich sytuacjach podaje gotowe rozwiązanie. Dla mnie to bezsensu, bo jeśli "programista" nie potrafi użyć google, to to jest dupa, a nie programista. Jak Wy uważacie? Podawać gotowe rozwiązania, czy jednak lepiej nakierowywać tylko?

Lepiej nakierowywać, ale w ciężkich przypadkach to jest po prostu syzyfowa praca. Nieraz zwyczajnie nic z tego nie wynika.

Także czasem kończy się na podaniu gotowego rozwiązania ze zwykłego lenistwa / zmęczenia ;)

3

Generalnie staram się pomagać, każdy w końcu od czegoś zaczyna i czasem wystarczy jakaś drobna uwaga i można kogoś pokierować na dobre tory. Czasem wystarczy odpowiedni link.

  • Problem mnie zainteresuje -> staram się zrozumieć i pomóc.
  • Problem długo nie ma odpowiedzi -> jak mogę to pomagam.
  • Nie chce mi się -> nie odpowiadam. Może mi się przestać chcieć jak ktoś jest noobem ostatecznym i nie potrafi odpowiadać na pytania mające na celu uszczegółowienie problemu.
  • Nadmiar czasu -> wdaję się w dyskusje, które nie przynoszą nikomu nic dobrego ;p
2

Tak , najgorsze są te studenty 1 roku informatyki co ewidentnie minęli się z powołaniem , piszą posty żeby im rozwiązać prace domowe polegające na konkatenacji dwóch stringów itp. a niektórzy im podają na tacy jeszcze. W Koszu ich pełno.

3

Oczywiście sporo userów w takich sytuacjach podaje gotowe rozwiązanie. Dla mnie to bezsensu, bo jeśli "programista" nie potrafi użyć google, to to jest dupa, a nie programista. Jak Wy uważacie? Podawać gotowe rozwiązania, czy jednak lepiej nakierowywać tylko?

A jeżeli jest to student/studentka kierunku, który jedyne co ma związanego z infą, to dwa losowe przedmioty?

Ja byłbym skłonny dać gotowca (jeżeli by mi się chciało)

2

jednej rzeczy za cholerę nie rozumiem - dlaczego ci studenci nie proszą o pomoc ludzi z grupy na studiach, czy w zamian za kasę czy inną przysługę?

0
WeiXiao napisał(a):

Oczywiście sporo userów w takich sytuacjach podaje gotowe rozwiązanie. Dla mnie to bezsensu, bo jeśli "programista" nie potrafi użyć google, to to jest dupa, a nie programista. Jak Wy uważacie? Podawać gotowe rozwiązania, czy jednak lepiej nakierowywać tylko?

A jeżeli jest to student/studentka kierunku, który jedyne co ma związanego z infą, to dwa losowe przedmioty?

Ja byłbym skłonny dać gotowca (jeżeli by mi się chciało)

Jeśli jest studentem/uczniem i ma programowanie na zajęciach, to bez względu na to, czy to jest informatyka czy jakiś inny kierunek techniczny, to jednak choć trochę myślenia tam pewnie wymagają. A używanie google to w tych czasach często podstawa istnienia, więc jeśli młoda osoba nie potrafi wyszukać podstawy podstaw, to kiepsko wróżę jej przyszłość.

4

@serek:

Często takie osoby pewnie nie wiedzą nawet czego googlować, a umiejętne tworzenie zapytań to jest jakiś tam skill, zresztą nawet ludzie z it nierzadko nie ogarniają advanced searcha, więc :D

1

Jeśli w ogóle coś piszę (bo rzadko piszę), to to zależy od tematu, sformułowania pytania przez autora wątku, mojego czasu oraz nastawienia (tzw. humoru, ale rozumianego bardziej formalnie). Czasem z tych czterech składowych wypadnie, że chcę nakierować, a czasem, że chcę dać gotowe rozwiązanie.

0
Silv napisał(a):

Jeśli w ogóle coś piszę (bo rzadko piszę), to to zależy od tematu, sformułowania pytania przez autora wątku, mojego czasu oraz nastawienia (tzw. humoru, ale rozumianego bardziej formalnie). Czasem z tych czterech składowych wypadnie, że chcę nakierować, a czasem, że chcę dać gotowe rozwiązanie.

Tak, jeśli widzę, że ktoś ma problem z podstawami, ale jednak stara się, wrzuca jakiś kod, to mogę mu rzucić rozwiązanie. Ale czasem pojawiają się tematy, co zaraz się odechciewa pomagania xD

Zresztą, ja bym najchętniej banował za brak umiejętności obsługi Google... :P To jest forum programistyczne, musi być jakiś porządek.

1

Później będzie że 4p to drugie "elitarne" StackOverflow lub Elektroda :D

6

Najczęściej daje gotowca, głównie udzielam się w bazach danych. Mimo 20 lat w zawodzie pamiętam swoje początki i ile dawało mi wiedzy jak ktoś na moich danych napisał zapytanie... Oczywiście mam wrażenie, że część wynika z lenistwa pytającego, ale zakładam, że mogę mylić się w swojej interpretacji. Jeżeli dalsze pytania utwierdzają mnie w przekonaniu, że pytający liczy na gotowca wtedy zaczynam dawać wskazówki...

0
Panczo napisał(a):

Najczęściej daje gotowca, głównie udzielam się w bazach danych. Mimo 20 lat w zawodzie pamiętam swoje początki i ile dawało mi wiedzy jak ktoś na moich danych napisał zapytanie...

Tak, ale teraz są inne czasy. Kiedyś ciężej było znaleźć rozwiązanie w internecie. Nie było SO, czy innych cudów świata :P Więc Ty miałeś zdecydowanie trudniej. Teraz żeby wiedzieć jak zrobić jakiegoś prostego selecta na bazie, to starczy zapytać Wujka Google. I za chwilę masz odpowiedź.

2
serek napisał(a):

Nie było SO, czy innych cudów świata :P

jesteś pewien?

screenshot-20200119002657.png

0

Tak, ale teraz są inne czasy. Kiedyś ciężej było znaleźć rozwiązanie w internecie. Nie było SO, czy innych cudów świata :P Więc Ty miałeś zdecydowanie trudniej. Teraz żeby wiedzieć jak zrobić jakiegoś prostego selecta na bazie, to starczy zapytać Wujka Google. I za chwilę masz odpowiedź.

Nie zgodzę się z tobą, problem z zapytaniami jest taki, że młodzi adepci mają problem z przeniesieniem analogicznych przykładów na swoje dane. Nie wynika to z braku rozumienia SQL, a raczej na zrozumienia jak działać na swoich zbiorach. Zawsze powtarzam, że w bazach danych najważniejsze jest zrozumienie tego jakie się je ma, a nie napisanie poprawnie składniowo zapytania...

Co do tego co było kiedyś i dzisiaj to największa różnica dlanie jest taka, że "młodzi" nie potrafią pytać Google i poprawnie formułować problemów. No ale ja z tych dinozaurów gdzie odpowiedź z akronimem RTFM to był blamaż dla pytającego;)

2
WeiXiao napisał(a):

Później będzie że 4p to drugie "elitarne" StackOverflow lub Elektroda :D

No nam żadna elitarność nie grozi, przecież mamy Ciebie. :P

3

@somekind:

Jakbyś mniej tego tiktoka przeglądał, to może byś doszedł do tego, że elitarny tutaj oznacza przesadnie surowy.

Z jakiegoś powodu ludzie nie potrafią zadawać pytań na SO i narzekają, że SO jest zbyt "opresywne" i zamyka / oznacza ich pytania jako już istniejące - no generalnie mało noob friendly.

Rant na StackOverflow
Elektrodyzacja(1) Stackoverflow

title

src: https://www.reddit.com/r/ProgrammerHumor/comments/d6c0gy/why_i_stopped_posting_to_stackoverflow/

1

Wniosek, że prośbę o pomoc ludzie piszą najczęściej z lenistwa, skądś się wziął. Sami byliśmy studentami i widzieliśmy co się działo... Z drugiej strony byliśmy nimi dawno temu. Dlatego czasem można zapomnieć jak wygląda tok myślenia osoby zaczynającej naukę programowania, więc nakierowanie na rozwiązanie powinno być tu odpowiednie. Niestety nic nie wiemy o autorach takich wątków i ciężko się do nich dostosowywać. I tak często nie podziękują a nawet będą niemili. Tu dobre chęci się kończą...

0

Ja jak zaczynałem naukę programowania, to nawet nie myślałem o tym, żeby spytać się kogoś na forum... Najpierw próbowałem coś wymyślić, potem szukałem w Google. A jak po dłuższym czasie nic mi nie wychodziło, to ewentualnie wtedy się gdzieś pytałem o coś...

A jak patrzę po tych tematach, to często pierwsze co ich autorzy robią, to właśnie zakładają temat, a nie próbują samemu. A zwykle by na tym dużo czasu zaoszczędzili, zamiast czekać aż im ktoś łaskawie odpisze.

5

@serek: ogólna myśl na podstawie tego, co teraz napisałeś:

Ludzie są różni. Czasami proces myślowy jednych biegnie nie tak, jak chcą drudzy. Ile to razy ja nie zadałem pytania, choć według niektórych opinii powinienem był. …A odpowiedzi i tak nie uzyskałem, bo sam porzuciłem poszukiwania.

W drugą stronę można: ile to razy inni zadali pytanie, choć według mojej opinii nie powinni byli (tak, ja też tak uważam czasem, choć o tym nie mówię).

Toteż zawsze zakładam, że jeśli ktoś zadał pytanie, to na pewno ma to dla niego sens. I jeśli tylko są spełnione warunki, o których pisałem w tym wątku (moja wiedza, temat, forma pytania, mój czas i "humor"), to odpowiadam.

7
serek napisał(a):

(...)
No ale gość woli stracić czas swój i nasz, napisać posta, a potem czekać na gotowe.
(...)

Oczywiście sporo userów w takich sytuacjach podaje gotowe rozwiązanie. Dla mnie to bezsensu, bo jeśli "programista" nie potrafi użyć google, to to jest dupa, a nie programista. Jak Wy uważacie? Podawać gotowe rozwiązania, czy jednak lepiej nakierowywać tylko?

Kiedyś myślałem w ten sam sposób. Dziś wiem, że to trochę ślepa uliczka. Tak samo jak ciągłe odsyłanie usera do wyszukiwarki.

  • Znalezienie podobnego / tego samego problemu rozwiązanego już na forum często jest problematyczne z powodu złego tytułowania wątku/treści/tagów.
  • Notoryczne odsyłanie usera od wyszukiwarki odrzua go od korzystania z danego miejsca (forum elektroda style)

Odpowiadając po kilka razy na te same pytania generujemy ruch. User dostając odpowiedź nawet najgłupszą/banalną ma w pamięci, że tutaj dostał pomoc i istnieje jakieś prawdopodobieństwo, że powróci na forum - nie wiemy tylko czy ten powrót będzie z kolejnym pytaniem czy z misją odpowiadania innym. Tak czy inaczej to niesie za sobą ruch.

Ruch to świeżość projektu. Ciągle pojawiające się pytania powodują, że społeczność żyje. Znam sporo for z dawnych czasów na których siedziałem z fajną społecznością, niektóre moderowałem, a które zdechły. Z tych bardziej "tech" moderowałem kiedyś na forum.webpl.org, które zmarło wraz z serwisem. Chyba było to forum "infonokia" i pewnie sporo innych, których nie pamiętam.

Wystarczy zerknąć na webhelp, który wyrósł czasowo wraz z 4programmers, a od lat zdycha (ok, zerknąłem i jednak coś tam się dzieje). Może "zdycha" w tym przypadku to kiepskie słowo ale nie ma od dawna tej świetności/aktywności, która była tam 15 lat temu. Webinside też było ciekawym forum, a praktycznie nie istnieje.

Trzeba się cieszyć z tego co jest, bo lepiej nie będzie. Mnóstwo for umarło. Większość przez raka internetu jakim jest facebook i jego grupy. To forum jako jedno z nielicznych się trzyma i na szczęście nie przeniosło się na "grupy".

3

Tak naprawdę dobrze korzystać z wyszukiwarki, z dokumentacji tez trzeba się nauczyć. Pytania które dla programistów z kilkuletnim doświadczeniem są trywialne dla początkujących moga stanowić problem. Sam pamiętam jedno z moich pierwszych pytań do kolegi z pracy "jak wyciągnąć nazwę?" - odpowiedź spróbuj getName().

Najgorzej jednak gdy sam zainteresowany traktuje to sposób "daj mi gotowy kod" i tyle. Bez nauki, analizy kodu itp.

5

Podchodzę do tego jak do nauki dziecka albo juniora w pracy - jak są chęci z drugiej strony, jest i pomoc z mojej. Jak ktoś chce bezczelnie wydębić rozwiązanie, to niech szuka dalej. Jeżeli ktoś chce zostać programistą i już na początku żeruje na pomocy innych, to nie ma się co oszukiwać tylko trzeba pomyśleć o innej branży, aczkolwiek ... w żadnej branży daleko się nie zajedzie na pasożytnictwie. Podstawowa umiejętność ludzi z IT to wyszukiwanie i selekcjonowanie informacji z sieci.

3

To, że ktoś zadaje pytanie i potrzebuje jasnej, precyzyjnej i odpowiadającej na pytanie odpowiedzi to raczej normalna sytuacja. Jasne, że jest Google, SO itd. ale czasami zwyczajnie nie jest się świadomym co wpisać w wyszukiwarce. Jeżeli chce się np. dowiedzieć co zwrócić jak użytkownik poda złe hasło to nie wiedząc o istnieniu HTTP code może sobie szukać długo. Jedyne pytania, które mnie naprawdę irytują to te gdzie pytający potrzebuje "na jutro" kodu rozwiązującego jakiś typowy problem z pracy domowej. Zawsze można po prostu nie odpowiedzieć.

5

Jeszcze śmieszne jest tłumaczenie, że "przedmiot nie jest dla mnie ważny a muszę go zaliczyć" albo miś cały semestr olewał sobie przedmiot a na sam koniec zdziwił się, że jest zaliczenie a on nie ma kodu. Ja w takiej sytuacji nie mam ochoty pomagać, bo mam przeczucie graniczące z pewnością, że taka osoba nie szanuje czyjegoś czasu i ma roszczeniową postawę. OK, pomaganie to często forma ćwiczenia i przypomnienia sobie czegoś, ale wolę już inne sposoby na rozwój, niż bycie dla kogoś generatorem kodu.

4

Niestety łatwość dostępu do informacji poprzez internet dramatycznie upośledziła nam społeczeństwo.
Młodzi w większości nie potrafią korzystać z dostępnej wiedzy. Wydaje im się, że na każde pytanie można uzyskać odpowiedź w 2 zdaniach ... Ja uważam, że dobrą praktyką byłoby ponownie odsyłać delikwentów do książek.
Bo ta choć dzisiaj w branży programistycznej mocno straciły na popularności to swoją wartością wciąż przewyższają "wiedzę" z for.
Dla przykładu ... Na większość zadań z 1 roku studiów a związanych z algorytmami odpowiedzi znajdziemy w książce "Algorytmy i struktury danych" Banachowskiego - wystarczy przekartkować żeby znaleźć odpowiedź. Nie wierzę, że wykładowcy o niej nie wspominali ( lub innej analogicznej pozycji np. Wirth`a ).
Gdy ktoś "mało zaangażowany" zadaje pytanie o poruszanie się po liście albo kasowanie elementu z lisy ... Podać tytuł książki, autora i "pa pa".

Ja uczyłem się programować z książek. W podstawówce BASIC na zx spectum z kiepskich kserokopii, w liceum TurboBasic z książki po angielsku choć z angielskim nie było mi po drodze to temat ogarnąłem. Potem 2 cegły Marciniaka do Pascala, na studiach książki, książki i książki, o tworzeniu efektów na karty VGA także wiedzę czerpałem z książki... Do elektroniki, algorytmów itp. itd... Jako dorosły o algorytmach genetycznych uczyłem się z książki Michalewicza, obecnie o sieciach neuronowych czytam książkę Tadeusiewicza. W ramach hobby o akustyce czytałem książki. Tera z trochę życie mnie zmusiło by liznąć SEO więc znalazłem książkę Erica Enge. Do tego wszystkiego dochodzą branżowe gazety, które kupuję od 1 klasy liceum ...

Po co te rozważania o książkach ?
A no po to by wszystkich tych co pragną być "nakierowani" zacząć kierować w dobrą stronę ...

By było ciekawie zaraz po tym jak napisałem tego posta trafił się przykładowy zagubiony:
Jak się dalej rozwijać?

Dla mnie to jest dramat tego człowieka... Ja mając 13 lat wiedziałem gdzie jest biblioteka, księgarnia i mimo, że to był koniec lat 80'tch/początek 90`tych to miałem kolegów, z którymi wymieniałem się wiedzą informatyczną na temat programowania. Nie było internetu i nie było nikogo weryfikującego moje poczynania... Człowiek sam wiedział co chce się nauczyć i gdzie szukać wiedzy. Mimo, że ta była o wiele mniej dostępna.

Tymczasem co mamy? Wiedza dostępna na kliknięcie myszką, statystyki popularności języków z ciągu 20 sekund można znaleźć. Nie wspomnę o statystykach na zapotrzebowanie wg branż w korelacji z zarobkami... A tu dorosły człowiek pyta "Mamusiu co mam robić żeby być mądrzejszym" ...
Toż to jakaś klęska i upadek samodzielności ... Programista mentalnie zaczyna przypominać szeregowego robotnika przy taśmie produkcyjnej, któremu trzeba dać instrukcje gdzie klikać, skąd brać i gdzie kłaść... Do pracy przy tokarce nie porównuję bo tutaj już wymagana jest większa odpowiedzialność i praktyka zanim ktoś pozwoli Ci tokarkę włączyć.

1

Ale to jest specyifka IT, że pisanie książek jest totalnie bezsensowne a nawet patrząc z perspektywy czasu szkodliwe. Oczywiście są takie tematy jak Algorytmy i Struktury Danych czy Wzorce projektowe, które są ponadczasowe. Niemniej jednak większość książek np programistycznych ma odniesienie tylko do czasów w których został wykonane i tylko wtedy był sensowne. W innym przypadku uczą jedynie historii oraz złych praktyk a mimo wszystko i tak juniorzy biorą je do ręki, bo są polecane przez starszych zgredów. Następnie powielają te schematy musząc się później uczyć od nowa.Sam jestem programistą C++ i takich przykładów jest multum:

  • Symfonia c++ - kiedyś dobra, dzisiaj kod przedstawiony w niej jest słaby a uczy się legacy C++
  • Andrescu Modern C++ Design - już nie taki modern, bo sprzed 20 lat. Kod się ofc nie kompiluje, ale robi wrażenie jak sobie kiedyś radzono z problemami i może być źródłem inspiracji, nie zaś wiedzy technologicznej.
    itd
3
Czitels napisał(a):

Ale to jest specyifka IT, że pisanie książek jest totalnie bezsensowne a nawet patrząc z perspektywy czasu szkodliwe.

No nie zgadzam się. Jak porównać tych co korzystają ze szkodliwych książek zamiast czerpać wiedzę ze światłego internetu to mam całkiem odmienne zdanie.
Poza tym informatyka i programowanie wcale nie zmienia się tak bardzo jak to się młodym wydaje. To prawda, że pojawia się masa nowego dziadostwa, które znika równie szybko jak się pojawiło ale i na to radę i odpowiedź znajdziesz w dobrych książkach. Jako przykład podam JavaScript. Po pierwsze nie zaczynać uczyć się programowania od "nakładek na języki" typu jquery, bootstrap, react itp ... Bo to wszystko zdechnie a JavaScript zostanie a ten mimo, że się zmienia to jednak wstecznie z kompatybilnością ma się całkiem dobrze. Dla mnie technologie typu JQuery, Bootstrap, React to jedynie chwilowe łatki na niedoskonałości technologii. Prawdziwe programowanie zaczyna się poziom abstrakcji wyżej.

1

@katakrowa: Dokładnie.
Znając kilka języków można być ponad technologią. Wtedy nawet stara książka nie razi aż tak. Poza tym na początku nauki i tak nie pisze się produkcyjnego kodu tylko uczy się radzić sobie z problemami.

1 użytkowników online, w tym zalogowanych: 0, gości: 1