9:46
17/8/2012

Zaczynałeś od książki “Programowanie dla opornych“, mozolnie ucząc się składni języka i kolejnych funkcji, aż w końcu byłeś w stanie napisać swój pierwszy Hallo World? Czy może twoja przygoda z programowaniem rozpoczęła się od modyfikacji lub próby zrozumienia już napisanego przez kogoś kodu?

Od czego zacząłeś programowanie?

Zobacz wyniki ankiety

Nauka pierwszego języka programowania…

Redakcja Niebezpiecznika programowania uczyła się na zasadzie “reverse engineeringu”. Mieliśmy kod programu/skryptu, próbowaliśmy zrozumieć jak on działa. No cóż, 20+ lat temu w Polsce podręczników do programowania było jak na lekarstwo…

Ale skoro nam się udało, to pewnie uda się każdemu ;) Zwłaszcza, że Khan Academy właśnie uruchomiło dział Computer Science, gdzie uczą (za darmo) programowania (na razie w JavaScript) właśnie metodą interakcji z gotowym kodem (efekty widać od razu, co pozwala szybciej zrozumieć co z czym jest powiązane i jak na siebie wpływa).

Khan Academy

Khan Academy

Poniżej filmik objaśniający cały projekt, jego idee oraz stojące za nim cele:

…a tu pierwsze wideo wprowadzające:

Wszystkie lekcje z działu “Computer Science” znajdziecie tutaj — od prostych programów rysujących buźki na ekranie, przez objaśnienie jak działa maszyna Turinga, aż do zaawansowanych symulacji.

Pomóż innym programować

Zachęcamy do przekazania tego linku wszystkim znajomym, którzy jeszcze nie programują, albo nigdy nie mogli się przemóc. Co prawda, jak na razie dostępny jest jedynie JavaScript, ale ma to się z czasem zmienić. Dodatkowo, dziadkowie i rodzice mogą mieć problem z językiem angielskim… — materiały szkoleniowe są tylko w tym języku. Ale z drugiej strony… cała redakcja Niebezpiecznika podstawy angielskiego posiadła właśnie próbując zrozumieć komunikaty i instrukcje wyświetlane przez angielskie gry komputerowe… Ah te czasy spędzone na wertowaniu papierowego (!) słownika PL-ENG.

Przeczytaj także:

80 komentarzy

Dodaj komentarz
  1. W ankiecie brakuje opcji “Od macania po omacku” ;-)
    Nawet jeżeli do Spektrumny dołączona była jakaś instrukcja to jako ‘niespikający’ ośmiolatek miałem z niej niewielki pożytek. Na szczęście na klawiszach były wypisane całe słowa kluczowe, co w połączeniu ze słownikiem pozwalało na różne ćwiczenia ;-)

  2. “Programowanie w JavaScript” – jak to brzmi :-)

    • a co się robi w JS, żeby dobrze brzmiało?

    • Normalnie. JS to nie tylko skrypty na stronach.

    • Dla niektórych programowanie jedynie w C, C++ ma sens. Takie rzeczy jak programista PHP, JS, HTML5 to śmiech na sali i poniżenie :)

    • Let the flame war begin.

    • Wolę dobrego programistę w JavaScripcie niż słabego w Javie/C#/…

    • @hsz uhh mogłem dodać ;] żeby nie było tak poważnie. flameować mi się nie chce, bo to bez sensu ale jestem ciekaw co kolega Mariusz odpowie – naprawdę ciekaw… :]

    • Potem umieszczą linka do “programowania w PHP” i pojawią się żarciki typu “programista PHP”, ach te trolle. ;o)

    • “Programista PHP” to żart? To dawaj, napisz mi coś w Symfony 2 (oczywiście pattern MVC) znając podstawy. Good luck

    • Co wy wiecie o JavaScript,
      wy studenci od javy jesteście…

    • html nie jest kompletny, ale już tex tak, więc można napisać o programistach latecha :)

    • Absolutnie nie poniżam osób pracujących z PHP/HTMLem/JSem. Uważam jednak, że programowanie oznacza pisanie programów. Przez program rozumiem, upraszczając, listę instrukcji do wykonania przez maszynę go wykonującą. Można się tutaj bardzo spierać, co to znaczy program i programowanie. Ja jednakże uważam, że w JavaScript’cie pisze się skrypty, będące listą instrukcji do wykonania przez inny program działający w fizycznej maszynie.

      Tą analogią możecie mi wytknąć, że praca z JAVĄ nie powinna nazywana być programowaniem – choć tutaj, jak niektórzy programiści uważają, jest wyjątek – bo JAVA wykonawana jest również przez maszynę, tyle że wirtualną.

      Innymi słowy, jestem z tej gałęzi programistów, którzy uważają że programowanie to pisanie instrukcji dla maszyny, nie dla interpretera czy parsera (przeglądarka jest niejako parserem dla JavaScripta).

      HTMLa też nikt nie nazwie językiem programowania, jest to język opisu dla przeglądarki. Nie inaczej jest z JSem – język opisu dla interpretera wewnątrz przeglądarki (silnika JS).

      Nie ma sensu toczyć wojen, co informatyk to opinia :-)

    • Nie znam JavaSciptu. Ale nie wydaje mi się, żeby był to jakoś szczególnie zły język. Da się tym nawet robić coś takiego:
      http://www.numericjs.com/

      Poza tym jak mówi stare powiedzenie programistów: “Złemu tancerzowi prącie w tańcu mrowi”.

    • Jeśli wg ciebie interpretacja js’a przez przeglądarkę (inny program) wyłącza go z grona języków programowania. To twój kochany c++ / c itd też nim nie jest, bo przecież sam się nie skompiluje :)

    • @Rzluf: Nie uważam, że JS jest zły/ułomny/niewydajny. Po prostu nie uważam go za język programowania. Tak już jest, jest to język oskryptujący inny program (silnik JS). Nie ma w języku polskim określenia, dla czynności pracy z JavaScriptem – ale to się nie nazywa programowanie, “skrypcenie”/”skryptowanie” źle po prostu brzmi. @drobok: Nie zrozumiałeś mnie. Po pierwsze, nigdzie nie powiedziałem, że jestem zakochany w C/C++, znam trochę języków co pozwala mi stawiać opinie. Po drugie, są to języki kompilowane, czego formą ostateczną jest zbiór rozkazów, ale dla maszyny – nie dla innego programu (interpretera). Nie możesz mówić, że pisanie kodu np. w C/C++, kompilowanego do formy maszynowej, jest tak samo pośrednią formą jak pisanie skryptu (np. PHP) do formy … skryptu. Dla interpretra.

    • @Mariusz
      Istnieją kompilatory dla PHP pozwalające stworzyć binarkę (chociażby phc), ba osoby tworzące KateOS używał PHP do tworzenia aplikacji. Z tego co wiem kiedyś bawiono się w stworzenie czegoś podobnego do JS.
      Język programowania to język programowania – nie ważne czy używany głównie do pisania skryptów czy też natywnych aplikacji. A tym samym w każdym języku programowania jak wskazuję sama nazwa możemy Programować.
      Dawno temu jak zaczynałem przygodę z komputerami to uczyłem się pisać w Basicu na C64 – tam też nie było kompilatora, a jednak nikt nie próbował powiedzieć, że to nie jest programowanie ;)
      Nie chcę się jednak kłócić i niech każdy ma inne zdanie, faktem jednak jest, że niektórzy ludzie wymyślili sobie, że pisanie w językach których nie można stworzyć binarek nie jest programowaniem – nie wiem, czy to ma świadczyć o podziale na lepszych/gorszych czy na czymś zgoła innym – przecież w PHP z zastosowaniem JavaScript można napisać całe aplikacje, ba korzystając z WebGL – nawet gry ;)

    • hs.spoj.pl <liga programistyczna która oferuje cały gamę języków programowania w których można rozwiązywać zadania. Od assemblera po skrypty LUA. To czy ktoś jest programistą C wcale nie znaczy, że będzie lepszy od programisty PHP (i często tak nie jest). Ważne żeby skrypt się szybko wykonał i zwrócił pożądany wynik. Nie język tworzy dobrego programistę, lecz jego znajomość i wyobraźnia. :P

    • Jak Rozumiem Panie Mariuszu programowanie bit po bicie tak żeby maszyna zrozumiała idzie Panu świetnie. Zazdroszczę, ja potrafię tylko pisać po ludzku, nie po “maszyńsku”. Język programowania, jak sama nazwa wskazuje… to jest język. W kontekście, iż on tworzy abstrakcyjną warstwę miedzy maszyną a algorytmem wyższego poziomu. To jest twór wyspecjalizowany, by ułatwić sprawę tym, którzy go używają. A nie na odwrót… tzn. maszynie. Ta ma niezłego tłumacza pośredniego. Kto komu broni pisania stronek w assemblerze, ale poco skoro jest prosty html, php. I nie mylmy języka, z kompilatorem, interpreterem tegoż języka. Są interpretery c, c++, tak jak też są kompilatory php, js. To algorytm się liczy, nie język. Język jest tylko wykładnią, a dodatkowo wspomaga czytelność i dedukcję. I tak język rozproszony (np. erlang) ułatwia pisanie już na poziomie składni i przyspiesza proces wytwórczy. To samo programowanie logiczne, funkcyjne mają swoje plusy i minusy, ale specjalizacja jest celowa. Czasem maszyna wirtualna, tudzież faktyczna, wymusza pewne koncepcje. I tak inne klasy języków są dla komputerów klasy pc, inne są dla komputerów kwantowych QPL, a jeszcze inne dla probabilistycznych. Jak Ktoś chce rozwiązywać problemy logiki rozmytej w czystym assemblerze, albo przeliczać równania symboliczne w HTMLu, to gratuluje samozaparcia do tworzenia koła od nowa za pomocą ciągu zbieżnych kwadratów. Tylko różnica miedzy programowaniem, jako sztuką dla sztuki, a programowaniem efektywnym jest dość widoczna, chociażby w refaktoryzacji kodu.

  3. No i jest jeszcze http://www.codecademy.com/
    Świat stoi otworem :)

    • Dzięki za namiary, właśnie rozpocząłem naukę :-)

  4. Widzę że kogoś nostalgia chwyciła ;-)

    No ale sama idea uczenia programowania na zasadzie kontrolowanego “reverse engineeringu” jest świetna, kiedyś nie było tak łatwo. Wydaje mi się że to najlepsza metoda aby kogoś zaciekawić programowaniem, i pokazać podstawy.

  5. Pierwsza opcja to: zapoznanie się pobieżnie ze składnią i dostępnymi funkcjami. Następnie postawienie przed sobą jakieś problemu do rozwiązania i tak w koło z co raz to ambitniejszymi celami. Analiza cudzego kodu tylko wtedy kiedy brakuje mi pomysłu.
    Druga zaś dotyczy książki, która wprowadza co raz bardziej w głąb danego języka i rozwiązywanie zadań dołączonych na końcu rozdziału.

  6. Hmm brakuje opcji ogarniętego kolegi który wciągał w takie klimaty :)

  7. Ja uczyłem się z chyba najgorszego, możłiwego podręcznika, bo z Jana Bieleckiego. :)

  8. Marciniak :D A Code Academy pojawił się nawet niedawno Python.

  9. Czytałem duużo kodu, a potem napisałem projekt dla szkoły ( i – sic – okazało się, że ja to umiem o_O ). Do teraz samouk, Reverse Engineering pełną gębą. IMO w ten sposób idzie najwięcej zrozumieć ;d

  10. Dobry sposób na naukę programowania to: przeczytać z 1 rozdział książki żeby mieć ogólne pojęcie, a potem wziąć na warsztat kilka kodów źródłowych, pozmieniać coś, dodać, usunąć, skopiować z innego kodu – tak, żeby się “nauczyć”, bo chyba jeszcze nikt nie nauczył się programować wyłącznie czytając książkę, trzeba to jednak przenieść na grunty praktyczne. Jak już się to trochę opanuje to warto poczytać coś o dobrych praktykach programowania w danym języku ;)

  11. Mnie tam osobiście lepiej sie zaczynalo od tutoriali. Poznac skladnie i ogolne zasady, a pozniej dopiero wzbogacac wiedze cudzym kodem. Jak by nie bylo – wystarczy nauczyc sie myslec w odpowiedni sposob

  12. Zaczynałem od żmudnego przepisywania kodu z “Bajtka” i “Moje Atari” ;) Niestety te fajniejsze programy były drukowane w postaci kodu maszynowego, a nie w Basicu. Przepisywało się rzędy cyferek i literek linijka po linijce, a specjalny program sprawdzał na bieżąco sumę kontrolną. A jaka radość była gdy po kilku stronach A4 takiego wklepywania udało się uruchomić program :)

  13. jezyk to sprawa wtorna – dobry programista napisze program w kazdym jezyku. Moze byc to nawert kipu – byle by poznal skladnie i struktury.

  14. “20+ lat temu w Polsce podręczników do programowania było jak na lekarstwo…”
    Zdefiniujcie ten “+” bo 20 lat do tyłu to wychodzi 1992. W 1985 czy 86 w Młodym Techniku 3,6,9,12 był dział informik z podstawami Basica a potem Pascala. We wrześniu 85 pojawił się Bajtek z podstawami Logo, potem Basica. W kwietniu 86 pojawił się Komputer z przykładami w Basicu i Pascalu. 1987=Iks – już nie nauka tylko same listingi, potem Mikroklan, wydania specjalne Informika, 1989=PC Kurier,
    Przykładowe książki
    Jan Bielecki Język C. Interpretacja standardu. 1987
    Jan Bielecki Turbo Pascal wersja 3.0 1987 T
    Kernighan, D. Ritchie, Język C, WNT 1988,
    Niklaus Wirth, Algorytmy + struktury danych = programy, WNT 1989

    • Co do K&R i Wirtha – zgoda, ale to była PRE-historia programowania. Czy w „Bajtku” znalazłeś np. coś o programowaniu obiektowym? Prosz… Cię =) Był za to słynny artykuł Borka „Metody Pana B.”!

      A co do ś.p. Jana Bieleckiego (jak wyżej):
      http://pl.wikipedia.org/wiki/Dyskusja:Jan_Bielecki
      http://www.digipedia.pl/usenet/thread/18/300387/

    • Książek WNT z serii biblioteka inżynierii oprogramowania było jeszcze kilka, Był “Przewodnik po ZX Spectrum” i inne dla ośmiobitowców. Metody Pana B. znam, ale “jak się nie ma co się lubi..” :) Dzisiaj są podręczniki hakera, dla opornych i w 24 godziny.

      O programowaniu obiektowym nie ma co mówić, to nie te czasy. Zaczynało się z Basica, potem przejście na programowanie strukturalne w C lub Pascalu. Obiektowe TP 5.5 i C++ pojawiły się u dobre parę lat później. Obiektowy to wtedy mógł być Smalltalk. To o jakich książkach tu mówić.

    • Programowanie obiektowe? Proszę bardzo: “Simula 67”, PWN 1980.

      K&R i Wirth to podstawy, nie prehistoria.

      Zaprawdę, powiadam wam: komputery nie powstały w latach 90., a Internet nie zaczął się od neostrady, ani nawet od tepsowego 0-20.

    • Można wspomnieć również o całym nurcie związany z “dużymi komputerami” i np. Fortranem 77 i ogólnie numeryką, która to była wtedy jednym z głównych “poważnych” zastosowań komputerów. Jeśli patrzy się tylko przez pryzmat “małych” maszyn to może wydawać się do biedne, ale wierzcie mi informatyka nawet w Polsce nie zaczęła się w 2000 roku. ;)

      A paradygmat obiektowy zwłaszcza w realizacji rodem z lat 90-tych (C++/Java/C#) to naprawdę nie jest apogeum rozwoju tej dziedziny.

    • K&R „The C Programming Language„ I wydanie — 1978, II wydanie — 1988
      od tego czasu były standardy: C89, C90, C99 i C(20)11 — z całym szacunkiem dla klasyków, ale to jest PRE-PRE-historia!
      K&R C != C11 (C standard revision), to dwa ZUPEŁNIE RÓŻNE języki programowania

      Niklaus Wirth „Algorytmy + struktury danych = programy” (wyd. któreś—tam) to nadal tłumaczenie książki „Algorithms + Data Structures = Programs” z — uwaga — 1975 !!!

      Szanuję „dinozaury” informatyki, ale nie dajmy się zwariować — mamy XXI wiek! Pozdrawiam =)

    • No ale w 1990 nie były to “dinozaury”. To jak byś mówił, że Corman wydany z 2001 przez WNT jest dziś przestarzały (piję do Algorytmy + Struktury Danych…). K&R i Wirth w 1990 roku to nie była przestarzała książka. A o tym okresie właśnie rozmawiamy, a nie o dniu dzisiejszym. Bo teza jest taka, że literatura informatyczna wtedy istniała, a co więcej moim zdaniem jej średni poziom był nie mniejszy niż dziś.

    • PanYappa – po pierwsze, odróżnij podręczniki do konkretnego języka od książek o programowaniu. Te pierwsze faktycznie się deaktualizują (komu dziś potrzebne podręczniki do fortrana czy nawet turbo pascala?), ale tu mówimy przede wszystkich o tych drugich.

      Po drugie, te książki się bardzo powoli starzeją. Skoro “Algorytmy…” Wirtha z 1975 są dla ciebie przestarzałe (w XXI wieku quicksort zardzewiał? wyszukiwanie binarne straciło gwarancję? drzewa stały się bardziej ważone?), to co powiesz o “The Art of Computer Programming” Knutha, która była opracowana w latach 60. i nadal jest absolutną podstawą i klasyką?

      Niestety, musisz przyjąć do wiadomości, że większość pojęć i idei w informatyce pochodzi sprzed 30, 40, 50 i więcej lat… Podobnie jak matma na studiach jest z XVII i XVIII wieku, ale całki i rachunek różniczkowy nadal działają, nie zepsuły się jeszcze.

      Przypomina mi to sytuację, gdy media trąbiły o śmierci Jobsa (że taki iGeniusz itd.), zupełnie nie zauważając śmierci Richiego, który był dla informatyki (choć nie popkultury) postacią o dwa rzędy wielkości większą. Co się dziwić – dziennikarze o Postelu, von Neumannie, Stevensie czy Turingu także nie słyszeli. Tylko ajfony, fejsbuki i inne lajki im w głowach :-/

    • @troll Śmierć drugiego pioniera John’a McCarthy’ego również przeszła bez większego rozgłosu. Niestety masz racje i mnie takie podejście mediów smuci.

    • @Rzluf & troll: OK, zwracam honor — chodziło mi głównie o „maszynowe” powielanie książek przez J. Bieleckiego i trochę mnie poniosło, sorry. Niemniej dla mnie jedyną ich zaletą (wtedy) było to, że w ogóle były — i do tego po polsku.

      Wirtha bardzo cenię jako twórcę Pascala (później też mało popularnych Modula-2 czy Oberon), na którym wychowało się całe pokolenie w szkołach średnich i na uczelniach. Niestety, język C był ZTCP ograniczony przez COCOM, czy jakoś tak — w każdym razie w Polsce przełomu lat 80/90 niby istniał, ale tak, jakby go nie było. A przecież bez C nie napisano by Unixa, Linuxa, po prostu nie byłoby niczego! (Kononowicz=)

      Co do śmierci Jobsa i Ritchiego — R.I.P. dla obu, ale bądźmy szczerzy — kto za 50 lat będzie pamiętał o Steve’ie Jobsie? A Dennis Ritchie już wpisał się na stałe do „kroniki” informatyki przede wszystkim jako współtwórca języka C — a nie książki, która mnie osobiście odbija się czkawką.

      Dobra zagalopowałem się — idę szukać tych „Algorytmów…” Wirtha na Allegro albo w bibliotece, gdzie z pewnością natknę się i na jakieś zakurzone „arcydzieło” Bieleckiego =) Podsumowując, Wirth POWINIEN być lekturą obowiązkową, zaś K&R — NIE. Pozdrawiam. Tro-lo-lo-lo!

  15. Od siebie mogę jeszcze polecić http://www.udacity.com/ . Kursy nie tylko z programowania.

  16. Co wy opowiadacie, że 20+ lat temu nie było książek o programowaniu? To z czego ja się uczyłem? “Praktyka programowania” van Tassela, “Algorytmy+struktury…” Wirtha i inne książki wydane przez WNT w serii biblioteka inżynierii oprogramowania (wszystkie miały identyczne białe okładki z poziomymi literami ii) – to wszystko było w latach 80.

    Książki opisujące konkretne języki również były wydawane przez WNT, choćby “Język C” Kernighana i Ritchiego z 87, a książek do BASIC-a było mnóstwo.

    Po roku 89 nastąpił istny wysyp książek różnego rodzaju – lepszych i gorszych (że tak wspomnę niesławnego Bieleckiego), a to wciąż było 20+ lat temu.

    Cholera, coś staro się poczułem i zaczęło mnie strzykać w krzyżu… ;-)

    • @troll – nie piszemy, że nie było, a że było jak na lekarstwo (http://slowniki.gazeta.pl/pl/jak+na+lekarstwo)

    • Ja znalazłem ostatnio w szafkach wujka książki o programowaniu po angielsku (ale też np. “Compiler Writing”), które mają jeszcze dopisek “Gift of the U.S.A. Not For Sale!” z 1985 – w doskonałym stanie i w ogóle ;D

    • Ja ostatnio znalazłam na strychu takie rzeczy jak “informatyka bez tajemnic” czy “Atari logo – komputerowe przygody” ;o) śmiesznotki. I jeszcze pare innych książek typu http://img545.imageshack.us/img545/6633/111ybg.jpg

  17. Szybkie mam myśli
    Równie szybkie dłonie
    Sprawa jest prosta
    Programuję w Pythonie

    XD (obiecuję więcej nie używać tej emotki)

  18. Co do początków programowania i języka Python, polecam kursy Codecademy i Udacity:

    http://pl.python.org/codecademy,i,udacity,%E2%80%93,darmowy,elearning,pythona.html

  19. Kiedy właściwie można uznać, że umie się już programować?
    po hello world?
    po jakimś konsolowym kalkulatorze?
    po po graficznym kalkulatorze macierzowym?
    po pierwszym komunikatorze sieciowym?
    po grze w życie?
    po sterowniku rozmytym?
    po czterordzeniowym programie do pakowania?
    po prostej stronie zakładu pogrzebowego, z palca w php i mysql?
    po prostej stronie w jsf, z hibernate, ajaxem, primefaces i testng uzywając mavena, i jenkinsa?
    po pluginie do libreoffisa?
    Ja chyba jeszcze nie umiem programować.

    • Zasada jest prosta, jeśli opanowanie kolejnego języka zajmuje Ci mniej czasu niż przeczytanie jego dokumentacji od deski do deski. To wynika z tego, że umiejętność analitycznego myślenia wypełniła lukę informacyjną. Aaa, że człowiek zwierze leniwe, algorytmy woli pamiętać, niż tylko zapisywać. Wiec z każdym kolejnym językiem i rozwiązanym w nim problemem rośnie wykładniczo umiejętność poznawania kolejnych i maleje czas poświęcany na ich naukę.

    • Tylko kiedy można uznać, że ma się opanowany język?
      znanie samych instrukcji to chyba mało, czyli ile bibliotek trzeba poznać, albo co trzeba umieć w nim napisać?

    • To pytanie w stylu “kiedy wiemy, że umiemy gotować”.
      Wszystko zależy dla kogo i poco programujemy. Specjalizacja Rulez.
      Jeśli wiemy, że czegoś nie da się napisać, to już umiemy bardzo dużo.
      Ale jeśli w to uwierzymy, to wtedy cofniemy się na początek drogi.
      Niestety programowanie jest jak Króliczek (Playmate?), puki go gonimy…

  20. Wiele osób nauczyło się języka angielskiego z gier komputerowych ze słownikiem w ręku (np. przy Falloucie):)
    Jeśli chodzi o kursy to polecam stronkę: http://www.w3schools.com/
    Można tam nauczyć się tam HTML5, CSS, JavaScript, ASP.Net i wiele innych przydatnych rzeczy.

  21. Hmm… Ja się nauczyłem programować patrząc na gotowe skrypty. Zaczynałem trochę dziwnie (Jak dla kogo..), byłem ciekawy jak działa cURL (Biblioteka do php), dostałem od kolegi jeden z jego skryptów, podpatrywałem jak działa, potem zacząłem pisać własne po drodze poznając z manuala potrzebne mi rzeczy, potem coraz bardziej dochodziły informacje, teraz- Nadal się uczę, jeżeli czegoś potrzebuje (Nie wykuwam z manuala wszystkich funkcji, tylko jeżeli czegoś potrzebuje- Google – Manual i się uczę).

  22. Poradnik początkującego programisty – http://gynvael.coldwind.pl/?id=238

    • Dobre. Z większością mogę się jak najbardziej zgodzić. Co więcej – wiele z dzisiejszych “standardów” to mody. A mody jak wiadomo przemijają. Dlatego warto wiedzieć, że najczęściej istnieje wiele podejść do danego problemu. Nie chodzi mi tylko o narzędzia (języki programowania), ale i ogólnych metod (paradygmatów na przykład).

  23. 8-9 lat – qbasic. Pamiętam jak dziś że nie byłem w stanie rozpracować pętli i chcąc zrobić grafikę wpisywałem wszystko po kolei. Help był pomocny, ale po angielsku nie umiałem, więc się wzięłem i nauczyłem. Z książkami bieda ale gdzieś jakoś na wystawie musiałem zobaczyć książkę o qbasicu się rozpłakać żeby mi kupili.

    13 lat – C++, do 15ego znałem dobrze STL, MFC trochę OpenGL i SDL. Gdzieś tam po drodze napatoczył się turbo pascal na zajęciach informatyki. Jak w wieku 17 dostałem wreszcie internet (a nie miałem nawet modemu, jeno latanie z workiem dyskietek do biblioteki i ściąganie stron 9,4kB/s) wahałem się czy pójść w stronę Actionscript/Flash czy ASM/reverse engineering. Te pierwsze przeważyło.

    Teraz programuję w wielu, wielu językach – C# i warianty, Python i inne Ruby, w PHP też potrafię, jak i w Javie. Programowałem w LUA i innych Angelscriptach ale ostatecznie zostalem przy Flashu i powiązanych technologiach – choć PHPa i Javascripta unikam jak ognia (google dart nie liczę)

  24. Na oficjalnej stronie oracla jest kurs javy dla pięciolatków :)

  25. @Mariusz “Innymi słowy, jestem z tej gałęzi programistów, którzy uważają że programowanie to pisanie instrukcji dla maszyny, nie dla interpretera czy parsera (przeglądarka jest niejako parserem dla JavaScripta).”

    No to za jednym zamachem dowaliłeś prawie wszystkim dynamicznie typowanym językom. Ale to nie koniec “zniszczeń”, bo w zasadzie dzisiejsza architektura x86 to jest nie sprzętowa ISA, a tak naprawdę rdzeń RISC, który wykonuje swoje własne instrukcje po przetłumaczeniu ich z języka “x86”.

    Zasadniczo pozostają Ci tylko mikrokontrolery… ;)

    [Jak falme to flame – a co!]

    • W wykonaniu Mariusza to jest jakaś (niespójna) filozofia. Jeśli by ją stosować co do litery, to w momencie w którym odpalę jego program (napisany w C dla Windows) na moim MacOS na maszynie wirtualnej WMVare, mam magiczną moc kontroli nad Mariuszem. Odpalając program mogę kontrolować, czy jest on programistą czy nie. Co ciekawe zjawisko to nie występuje po uruchomieniu programu pod systemem Windows na procesorze dajmy na to klasy Pentium II. Ale wystarczy przesiąść się na i3/5/7, żeby znowu jak lalkarz ciągnąć za sznurki. Myk, jesteś “programistą”. Myk, jesteś “skryptowcem”. Jeśli piszesz program na jakąkolwiek platformę Turing-complete (a czasem nawet i Turinga nie trzeba, ale nie uwierzę, że łykasz gramatyki bezkontekstowe bez umiejętności programowania), jesteś programistą. Kropka.

  26. męczyłem się z pascalem w studium swego czasu całe 2 lata. Teraz wziołem się za c++ ale łatwo nie jest bo przy problemach ze wzrokiem trochę ciężko ale przy odrobinie uporu możn i motywacji można się zebrać:) Zebrałem się dzięki chłopakom z hackinq.pl:)

  27. Osobiście odważyłbym się powiedzieć “umiem programować”, ale np ze stwierdzeniem “umiem język A czy B” już byłbym bardziej ostrożny. Nauka programowania trwa moim zdaniem całe życie, to nie jest proces który się w którymś momencie kończy. Zazwyczaj w pracy (Systemy ERP i język ABAP) spotykam się stale z nowymi problemami i technologiami. Nie wiem czy są tacy programiści który w kółko piszą to samo. Praca programisty to gryzienie betonu. Jak ktoś nie lubi gryźć betonu to lepiej niech poszuka sobie innego zajęcia :-)

    • Dokładnie. Znać doskonale polski czy angielski nie jest równoznaczne z pisaniem wierszy czy powieści.

  28. Ja od kilku lat tworzę różnego rodzaju aplikacje internetowe głównie w JavaScripcie (www.programistrz.pl).
    Faktem jest, że czasami książka (podręcznik programowania) jest przydatna, ale nic nie zastąpi własnego dążenia do poznania danego języka oraz prób zrobienia czegoś samodzielnie.

  29. A ja zaczynałem od Turbo Pascala i x86 ASM :) A teraz? PHP, C#… Ehh, kiedyś trzeba było optymalizować swój kod pod względem rozmiarów i wykorzystania pamięci, teraz już nikt o to raczej nie dba…

  30. A ja zamiast czytać o tym kto jak zaczynał czy tam chwalić się sobą to pomarudzę, że teraz każdy może programować i ten fach traci na swojej wyjątkowości… Więc co robić drobi niebezpieczniku teraz, aby być znów wyjątkowym jak wiele lat temu? Znajdźcie mi muzę, która będę mógł programować, a do której cała reszta tak łatwo się nie dobierze… ;-) Albo chodźmy wszyscy sprzedawać kajaki.

    • @Dexterxx to proste: opanuj Mechanikę kwantową i zajmij się komputerami kwantowymi, bo chociaż to teraz modne to nadal trudno spotkać od tego specjalistę. Modne jest o tym mówić, a to najczęściej nie idzie w parze z “umieniem”. Myślę, że masz w ten sposób “elitarność” zapewnioną do emerytury w jakimkolwiek teraz wieku nie jesteś (nawet jeśli masz 5 lat ;) ).

  31. Oby więcej takich inicjatyw. Ja gdy zaczynałem przygodę z programowaniem zafascynowany byłem Turbo Pascalem. I nadal mam sentyment do Object Pascala. Teraz sądzę natomiast, że język jest drugorzędny, on tylko ułatwia życie. Jak zauważyli przedmówcy, programista z fantazją (niestety nie ja) sed-em może skompresować plik. Ponadto, stawiam hipotezę, iż to maszyny wirtualne są przyszłością , a tym-bardziej polimorficzne maszyny wirtualne, samo optymalizujące się do danego problemu. A już teraz, jeśli mamy zespół różnych programistów, którzy lubią np. P(j)ythona, Jave, Groviego, czy Skale, to moduły napisane przez nich możemy sprzęgać prosto razem właśnie dzięki, miedzy innymi, wirtualnej maszynie. Łączącej abstrakcję różnych języków poprzez wspólny (pod?)zbioru instrukcji.

  32. Dobre dobre, przemawia też do prawej półkuli mózgowej, umożliwiając efektywniejszą naukę poprzez bardziej rozbudowane doznania wizualne, które chłonie podświadomość i idzie szybciej zapamiętać jak co działa :) Doczekamy się takiego polskiego projektu? :)

    • Ale na co polski? Są takie dinozaury co po angielsku nie szprechają? :)

  33. Spora część powyższego dialogu jest typowa dla naszej nacji. Dla jednych liczy się to by zbudować coś co działa i służy, dla innych ważne jest by “być programistą”. Czy Bill Gates, Stevie Jobs i Mark Zuckerberg są godni miana programistów? Nie są a śpią na kasie.

    • Szczególnie Jobs.

    • Ale kto powiedział, że programista == bogaty facet (lub kobieta :)?
      Dla mnie programista jest bliższy artyście, niż wyrobnikowi. Jak zegarmistrz vs. brukarz.

  34. +1 ;)

Twój komentarz

Zamieszczając komentarz akceptujesz regulamin dodawania komentarzy. Przez moderację nie przejdą: wycieczki osobiste, komentarze nie na temat, wulgaryzmy.

RSS dla komentarzy: