Wiedza czysto użytkowa

2007-11-26 22:11

Spotykam się ostatnio z osobliwym podejściem do przeróżnych wiadomości tyczących się programowania. Mogę je określić dość zaskakująco jako nadmiar “chęci rozumienia” lub ewentualnie “nieuzasadnioną dociekliwość”. Dotyczy to bardzo wielu narzędzi używanych w zasadzie każdej dziedzinie programowania – jak języki, środowiska czy biblioteki – oraz większości jego aspektów.

Czym to się objawia? Otóż symptomem jest pragnienie dogłębnego zrozumienia jakiegoś mechanizmu w sposób jak najszerszy i jak najgłębszy jednocześnie – zanim jeszcze spróbuje się go zastosować. Ten pęd to wiedzy dla samej wiedzy skutkuje najczęściej pozyskaniem dużego zasobu informacji, z których sensownym połączeniem i – przede wszystkim – stosowaniem są później pewne, a często spore, kłopoty.
Czy twierdzę więc, że nadmiar wiedzy szkodzi? Bynajmniej. Chodzi mi raczej o chęć zadawania raczej pytań w rodzaju “jak to działa?” niż “jak tego użyć?”. Sądzę bowiem, że zdecydowana większość programistycznej wiedzy ma charakter czysto użytkowy i jako taka jest na tyle przydatna, na ile daje się użyć w praktyce. Koder powinien być raczej przygotowany na poszukiwanie potrzebnych informacji w trakcie rozwiązywania danego problemu, a nie na kompletne poznanie tematu przez przystąpieniem do pracy.

Jeśli aczkolwiek życzymy sobie poznać głębiej jakieś zagadnienie z racji tego, że jest ono interesujące, wszystko jest w porządku. Jeśli jednak chodzi nam tylko o osiągnięcie zamierzonego celu, nie musimy poznawać rozgałęzień każdej drogi, która do niego prowadzi. Jak zawsze, najważniejsze jest zachowanie odpowiedniej równowagi.

Be Sociable, Share!
Be Sociable, Share!

Author: Xion, posted under Programming, Thoughts »


8 comments for post “Wiedza czysto użytkowa”.
  1. puchaty/I:
    November 27th, 2007 o 15:43

    To czy duza chec zrozumienia (duze wnikanie) jest uzasadnione (poprawne) zalezy od celu jaki chce sie osiagnac. Rozni ludzie maja rozne podejcie do zycia i rozne cele. Latwo mozna wyroznic 2 mocno kontrastujace. Pierwszy cel to poprawne wykonywanie zadan jakie stawia przed nami zycie, radzenie sobie w szkole i w pracy. Rzeczywiscie jesli taki jest cel czlowieka to duzo prosciej i bezpieczniej (stabilniej) przyjac postawe ktora proponuje Xion, czyli rozszerzenia swojej wiedzy w zaleznosci od potrzeb, bez zbednego zaglebiania sie (pojscie najprostrza droga). Tzn. mozna byc uczniem “kujonem” i koderem “rzemieślnikiem” :) Drugie podejscie jest bardzo odmienne od pierwszego. Polega na duzym zaglebianiu sie w nowa wiedze, rozlozeniu jej na czesci i polaczenie z wiedza nabyta wczesniej w taki sposob, aby powstal czysty, spojny (zamkniety) model logiczny. Dazy sie do tego aby w umysle zbudowac uproszczony model swiata, ktory objawia sie w postaci wyobrazni. Skutkiem jest to, ze widzac jakis problematyczny mechanizm analizujemy go i automatycznie utozsamiamy z tym znajdujacym sie w naszej swiadomosci, dzieki temu mamy poczucie ze doskonale go rozumiemy, widzimy wszystkie zaleznosci i mozemy przewidywac. Dobrze zbudowany model swiata jest “glowka szpilki” w stosunku do morza informacji potrzebnych do opisania jego w taki sposob aby mozliwe bylo zinterpretowanie go przez roznych ludzi. Dlatego tez duzo ciezej zapomniec o czyms co sie rozumie (cos co jest powiazane wieloma zaleznosciami z reszta) niz gole informacje (ktore sa b. slabo powiazane). Nie jest prawda ze zrozumienie wynikajace z zaglebiania sie w istote jakis zagadnien moze byc niepraktyczne, czy tez moze wystepowac problem z wykorzystaniem tej wiedzy – jest calkowicie odwrotnie. Jesli nie umiemy zastosowac czegos to znaczy ze nasze mentalne mechaznizmy sa bledne – niezgodne z rzeczywistymi a nawet sprzecznie wewnetrznie. Kazdy czlowiek dziala po czesci w ten sposob (w przeciwnym razie nie moglby zyc – nie bylby inteligetny), szkoda tylko ze niewiele osob jest tego swiadoma i nie podaza prawidlowa droga ;p

  2. Crane:
    November 27th, 2007 o 16:00

    @puchaty/I zgadzam się. Sam lubię dogłębnie poznać temat przed przystąpieniem do pracy.

  3. Asmodeusz:
    November 27th, 2007 o 20:42

    Każda godzina poświęcona na poznawaniu tematu niepotrzebnie to dla nas godzina stracona, a (jeśli pracujemy) dla pracodawcy dodatkowa godzina do opłacenia, która mogła zostać wykorzystana na wykonanie zadania. Model Xiona (to brzmi jakby Xion był autorem i jakimś psychologiem :D ) jest po prostu modelem ekonomicznie poprawnym, a puchaty to niepoprawny idealista :P

  4. Xion:
    November 27th, 2007 o 20:47

    Zgadzam się, że podejście do tej sprawy jest w dużym stopniu indywidualne.

    I tak dla jednej osoby dobrze poznanie zagadnienia jest niezbędne, aby wykonać jakąś praktyczną pracę z nim związaną. To może być zaleta, bo większe jest prawdopodobieństwo osiągnięcia sukcesu. Ale to może też być wada, jeśli pojawią się nieprzewidziane trudności – ‘sztywna’ wiedza może wtedy utrudnić bycie elastycznym i kreatywne podejście do problemów.
    Inni będą preferowali uczenie się przez praktykę i rzeczywiste zastosowania.

    Naturalnie w obu przypadkach zależałoby nam na osiągnięciu wspomnianego przez puchatego ‘uproszczonego modelu świata’. Znów to, jak do niego dojdziemy jest, jak sądzę, kwestią indywidualną. Zgadzam się jednak z tym, że kluczowe jest wytworzenie jak największej liczby zależności między informacjami, bo wtedy rzeczywiście trudniej jest takie wiadomości zapomnieć. Poznając jakieś zagadnienie od strony teoretycznej musimy zwykle sami sobie takie zależności tworzyć w umyśle. Kiedy zaś dochodzimy do czegoś w praktyce, jest prawdopodobnie większa szansa, że skojarzymy sobie nasze działania z czymś, co robiliśmy już wcześniej, i te zależności powstaną spontanicznie.

    Nie mogę się jednak zgodzić z tym, że każdą wiedzę można od razu zastosować w praktyce i że w przeciwnym przypadku świadczy to o błędnych ‘mechanizmach mentalnych’. Nie trzeba chyba szukać daleko, żeby stwierdzić, że między teoria a praktyką przepaść bywa baaaardzo duża (przykład pierwszy z brzegu: inżynieria oprogramowania).

  5. puchaty/I:
    November 28th, 2007 o 19:07

    Asmodeusz:
    Przeczytaj poczatek mojej wypowiedzi, ten kawalek o celach :)
    Np. nie wyobrazam sobie jak mozna zrobic cos perfekcyjnego bez totalnego zaglebiania sie w dziedzine. Polecam zapoznac sie z takimi ideami jak TQM, etc.

    Xion:
    “Nie mogę się jednak zgodzić z tym, że każdą wiedzę można od razu zastosować w praktyce”
    Nie mówiłem o wiedzy (w znaczniu informacji) tylko o zrozumieniu. Jesli rozumie sie jakies mechnizmy to nie ma problemu z ich wykorzystaniem.

    Poprzednio zapomnialem wspomniec ze warto zaglebiac sie w rzeczy istotne, tzn. podstawowe i uniwersalne (stad tez niechec do rzeczy malo istotnych, przemijajacyh technologi etc.). Takie podejscie moze znacznie przyspieszyc i uproscic przyswajanie nowej wiedzy, a takze daje duze mozliwosci dedukcyjne (na dobrych podstawach mozna budowac).

  6. Reg:
    December 3rd, 2007 o 14:31

    Trafił swój na swego – dwa filozofy :)

    Wg mnie trzeba po prostu znaleźć równowagę między teorią a praktyką.

    Co do używania czegoś zamiast zagłębiania się w “jak to działa”, to jest przecież nic innego jak enkapsulacja – podstawowa zasada programowania obiektowego i programowania w ogóle. Szkoda, że nie da się jej zastosować do matematyki :(

  7. puchaty/I:
    December 4th, 2007 o 16:12

    Bardzo dobry przykład Reg (odnośnie tego co napisałem wyżej) :) Nie warto zagłębiać się w rzeczy duże – nieuniwersalne tzn. takie mocno rozbudowane, oparte na podstawach logiki i matematyki. Trzeba ukryć to co jest niezmienne, a na zewnątrz wyprowadzić tylko to co jest dynamiczne (enkapsulacja). Takie podejście ma bardzo dużo zalet.
    No ale jak ukryć coś co jest niezmienne w czystej(!) logice, czyli w tym za pomocą czego buduje się tą niezmienność? ;p Z oczywistych przyczyn nie da się. Na szczęście (;p) da się wprowadzić w tą czystą logikę pewne zasady (zabrudzając ją) – elementy niezmienne, tym samym ograniczyć jej funkcjonalność, inaczej mówiąc – skonkretyzować ją, po czym wyprowadzić jej interfejs (ukrywając to co wcześniej uznaliśmy za oczywiste – zasady). Tak właśnie powstaje wszystko od … przez wzory użytkowe po klasy w programach etc.
    To że mówisz “Szkoda, że…” nie oznacza ze świat jest niedoskonały i mogłoby być lepiej. IMO problem tkwi w Tobie :) Przejawia sie tutaj podejście podobne do tego które można zaobserwować u Xiona i u wielu innych ludzi, “Nie chce zrozumieć, chce tylko wykorzystać” (sry za porównania) ;p Takie podejście w dużej części przypadków jest skuteczne, ale nie pozwala na wejście na wyższy poziom, ponad “rzemieślnika”/”kujona” ;)

  8. Netrix:
    December 4th, 2007 o 16:15

    // Dorzucę rekordowo duży komentarz

    LOL

Comments are disabled.
 


© 2023 Karol Kuczmarski "Xion". Layout by Urszulka. Powered by WordPress with QuickLaTeX.com.