2 marca 2011

"Każdy kiedyś zaczynał" - czyli jak nie programować w C++

Nikt nie urodził się programistą. Każdy z nas stawiał kiedyś swoje pierwsze kroki w dziedzinie programowania. Każdy kiedyś zmagał się z dziwaczną wówczas dla niego składnią i jeszcze dziwniejszymi nazwami funkcji. Jednak niektórzy z nas pomimo licznych niepowodzeń przebrnęli przez ten najśmieszniejszy etap swojego programistycznego rozwoju. A komedia to była iście w stylu Monty Pythona... czasami nie wiadomo było czy się śmiać, czy płakać.

Programować chciałem zawsze... lecz ubzdurałem sobie, że to jakaś czarna magia, która jest nie do ogarnięcia. Jestem zawodowym programistą, więc chyba coś tam w końcu opanowałem. Jednak gdy teraz patrzę na to co pisałem 7 lat temu, pewien jestem, że jednak jakaś magia mi wówczas pomagała, bo spoglądam na swój kod i zadaje sobie pytanie: "jak kod wyglądający w ten sposób mógł w ogóle się uruchamiać"?

Wszystkie moje pierwsze programy były dla mnie bardzo cenne. Pamiętam, jak kiedyś w pewnym momencie podjąłem decyzję, by postarać się zachować wszystkie listingi na zawsze, by później móc się z nich śmiać... i oto chciałbym ogłosić, że nadeszły czasy w których chętnie pośmieję się z nich razem z wami :)


Lata 2003 i 2004 były to dla mnie czasy spędzone z kompilatorem firmy Borland w wersji 3.1. Sam kompilator pochodził z 1992 roku, więc z czasów wręcz zamierzchłych, jednak taki kompilator dostałem od swojego nauczyciela, na takim się uczyłem (aż się łezka w oku kręci...).

Kodów źródłowych z tamtych czasów pozostało mi kilkadziesiąt, z czego co najmniej kilkanaście potrafię teraz odczytać i zinterpretować to, co przecież kiedyś wydawało się dla mnie "takie jasne"... :)

W najbliższym czasie, okresowo będę starał się publikować omówienia owych tych "moich starych dziejów", analizując swoje ówczesne programy, zastanawiając się dlaczego wówczas właśnie tak a nie inaczej to napisałem. Sądzę, że z takiego omówienia mogą skorzystać wszystkie osoby, które same mają nadal styczność z początkującymi adeptami sztuki programowania.


Jednocześnie chciałbym was już teraz zachęcić do subskrypcji kanału RSS, gdyż gwarantuje Wam, że wówczas nie minie Was doskonała okazja by podbudować mniemanie o swoich programistycznych zdolnościach patrząc m.in. na taki kod:




Podczas tych nadchodzących omówień wszyscy wspólnie będziemy mogli się też zastanowić jakim to cudem mogły powstać z kolei programy prezentowane poniżej, jeżeli pisząc je nie znałem nawet pojęcia programowania obiektowego, a programowanie proceduralne ograniczało się dla mnie do wypełnienia ciała tylko jednej funkcji, funkcji main.






Przy okazji tego cyklu może uda mi się natchnąć inne osoby do podobnych refleksji i analiz starych kodów źródłowych. Bardzo jestem ciekaw, czy tylko moje początki były tak głupstwami przepełnione. Pamiętacie swoje najgorsze, najśmieszniejsze błędy? :)

więcej szczegółów i pikantnych kodów źródłowych już wkrótce ;)

[EDIT]
dostępne wpisy z serii:

"Kazdy kiedyś zaczynał" - symulator losowania lotto
Related Posts Plugin for WordPress, Blogger...

4 komentarze:

  1. Jakbyś zobaczył moje szachy w DirectX w niskopoziomowym winapi w formie strukturalnej i to jeszcze po sieci, stwierdziłbyś, że twoje kody są naprawde zacne ;)

    OdpowiedzUsuń
  2. Ja się urodziłem programistą, ale cóż... jestem tylko jeden ja.

    OdpowiedzUsuń
  3. Ja co prawda swoich programów już nie znajdę, ale pamiętam do dzisiaj swój pierwszy większy twór. Program miał liczyć odsetki z jakiegoś tam kredytu, przy zmieniającym się w czasie oprocentowaniu. To były moje względne początki, wczesne gimnazjum, Delphi, cały kod w jednej metodzie, ponad 100 linii, program działał... tylko dawał wynik inny o kilkadziesiąt groszy niż program przykładowy ;>

    Cała historia by mnie jednak tak nie bawiła gdybym na drugim roku studiów inf. na PWr nie zobaczył u kilku znajomych podobnego stylu programowania :)

    OdpowiedzUsuń
  4. haha aż się ja przypomniałem kilka lat temu :D

    jednym z moich błędów, które szukałem dość długo było napisanie:
    zmienna = - zmienna2;
    zamiast
    zmienna -= zmienna2;


    :D

    OdpowiedzUsuń