LukeJL

co do Basica to pamiętam te listingi z Bajtka czy z takiej książki "komputer nie tylko do gier" <3 totalna magia. Byłem wtedy jeszcze na etapie pisania Hello Worldów, ale działało to na wyobraźnię, zobaczyć kod źródłowy większego programu, który coś robił.

LukeJL

Ja zaczynałem od peceta, chociaż też od BASICa. Pamiętam, że robiłem takie animacje typu animowane kółka, kreski, było to inspirowane demosceną (tylko 100 razy gorsze, bo przecież byłem początkujący). Potem był Pascal i nauka obiektowości i jakiejś tam biblioteki do sprajtów. Przy okazji też był tryb 13h i rajcowało mnie, że trzeba było zrobić wstawkę w asemblerze, a potem ręcznie liczyć pozycję bajta (coś jak y * 320 + x) i dopiero ustawiać bajt. Potem było Delphi i znowu kupę zabawy z wizualnym edytorem, z tworzeniem własnych komponentów itp. Pamiętam też, że była taka biblioteka Delphix do obsługi grafiki DirectX. A potem z kolei wszedłem w C++ i bawiłem się w grafikę 3D (jakąś grę, w której się chodzi czajnikiem zacząłem robić). Generalnie jedna wielka zabawa. Potem dopiero poznałem webówkę i programowanie stało się nudne (chociaż też nie zawsze). No i dopiero potem myślałem o tym, żeby szukać zleceń czy pracy, więc pojawiły się pierwsze frustracje ("nie chcą mnie do pracy") itp.

LukeJL

Też zauważyłem, że kiedyś paradoksalnie łatwiej było się nauczyć programować. Człowiek nie kalkulował "co się najlepiej opłaci" tylko po prostu uczył się tego języka, do którego miał dostęp, z tych materiałów do których miał dostęp (nie ważne było, że nie po polsku, bo przecież kiedyś były słowniki języków obcych i się siedziało i tłumaczyło słowo po słowie. Teraz mam wrażenie, że dzisiaj młodzież jest przekonana, że słowniki języków obcych nie istnieją i że jak coś jest "nie po polsku" i "słabo znam angielski" to jest to bariera nie do przekroczenia xD).

stivens

jak ktos w 21 wieku nie zna angielskiego to a. jest za mlody (nie wymagajmy za duzo od 10latkow) b. jest za stary (no kiedys takie byly czasy ze ludzie sie angielskiego nie uczyli) c. jest za glupi

stivens

wiec w wypadku punktu c to jesli nie jezyk to i tak inna bariera nie do przeskoczenia sie znajdzie;)

Burdzi0

Zawsze przy takich opowieściach żałuję, że urodziłem się tak późno - jakoś ten świat, kiedy programowanie stawało się bardziej powszechne zawsze mnie urzeka.

stivens

@Burdzi0: sa zady i walety no. Nie popadaj w melancholie;)

Burdzi0

@stivens: Bardziej uderza mnie to, że kiedyś znało się język programowania i zasadę działania komputera. Teraz trzeba znać bibliotekę i wiedzieć, gdzie znaleźć tutoriale

hurgadion

a ja przygodę z IT zacząłem w SP... chodziłem na kółko, i graliśmy dzielnie w Jednorękiego Bandytę (taka gra) na dwóch Timexach, kolejka była... :) a pierwszy projekcik napisałem już w LO, w LOGO, narysowałem fraktal, płatek śniegu, uuuu, to było coś, chyba szóstkę wtedy dostałem... :)

jarekr000000

@Burdzi0 w tym sęk, że własnie totalnie się nie znało, ale to własnie była zabawa. Obcowanie z magią. Pamiętam jak kiedyś zrozumiałem koncepcję, rastra, pamięci obrazu itp... koniec magii - nawet trochę szkoda.

czysteskarpety

ja dostałem C64 ze starymi numerami bajtka i basic'a, ale potem przeszedłem na hardware i palenie sprzętu OC, zresztą w mojej okolicy nie było za dużo programowania (zasadniczo to w ogóle za dużo nie było czegokolwiek) tak więc hardware to był wtedy najlepszy wybór niestety

scibi92

@jarekr000000: dla mnie dalej programowanie to najlepsza rozrywka na komputerze :)

WeiXiao

IF X<0 THEN GOTO 500 i lecimy gdzie chcemy. Serio, 2-3 lata później jak mi jeden gość powiedział, że GOTO to nie jest najlepsza rzecz w programowaniu to jakby mi ktoś w mordę.... MEMORIES @jarekr000000 może by wypadało puścić w poniedziałek na produkcje jakiegoś sneaky GOTO np. GOTO DROPDATABASE; :\DROPDATABASE System.out.printin("https://youtu.be/dQw4w9WgXcQ");?

Burdzi0

@WeiXiao: Było kiedyś goto w Javie, tylko zostało usunięte, a szkoda :P - source

jarekr000000

@Burdzi0 zawsze kojarzyłem, że goto w javie jest zarezerwowane w ramach trollingu, po to żeby nikt nie dodał :-) (swego czasu był taki urban legend), a tu zupełnie inna historia. Dzięki.

hurgadion

jest jeszcze chyba w VBA, i w .NET chyba też bywa... :)

furious programming

@jarekr000000: w ramach trollingu mogliby zrobić tak, że jeśli w kodzie znajduje się co najmniej jedno goto, to przy każdej pętli wywala syntax error – albo używa się pętli, albo goto. :D

WeiXiao

@hurgadion: np. w C# nadal jest GOTO http://rextester.com/JFGK21236 i nie widzę solidnego argumentu za tym, aby go wyrzucić.

LukeJL

goto to ludzie w c używają, bo nie ma wyjątków.

jarekr000000

O ile jest obecnie zgoda, że GOTO to bardzo niebezpieczna konstrukcja, to są ludzie którzy twierdzą, że programowanie strukturale i dalsze jego meandry to ślepa uliczka, Tak naprawde prawidłowym rozwiązaniem problemu GOTO jest wprowadzenie zamiast GOTO instrukcji COME FROM , która działa (po prostu!) w drugą stronę. Jest nawet język, w
którym to zrobiono : https://pl.wikipedia.org/wiki/INTERCAL https://pl.wikipedia.org/wiki/COME_FROM

WeiXiao

@jarekr000000: nvm, nie zauważyłem drugiego "come from" https://pl.wikipedia.org/wiki/COME_FROM chociaż i tak trochę jestem zmieszany :D

Tenonymous

Trochę się czuję jakbym był z tamtych czasów. W gry nie gram, facebook tylko do komunikacji, na jbzd i tego typu rzeczy nie wchodzę bo 99% contentu wywołuje u mnie politowanie, a na forum zadaje pytanie głównie jak mnie najdzie kodowanie na kacu. Obym tylko nie skończył jako javowiec :D

czysteskarpety

@Tenonymous: ale właśnie w latach 80-90 w gry sie cieło, bo było w co i było to świeże, praktycznie co miesiąc wychodziło coś fajnego, co w obecnych czasach jest odgrzewane

Tenonymous

@czysteskarpety: co prawda nie na w latach 80-90, ale na początku XXIw. to i ja grałem w gry, ale bardziej na pegasusie. Ah te czasy kiedy nie było save&load. potem jeszcze chciałem być sportowcem, więc się tyrało PES na stacjonarce z windowsem. A teraz? Xbox leży zakurzony, co pol roku dostaje noweg gry, bo wujek w anglii za funta kupuje, i tak sobie to stoi i czeka aż brat dorośnie :D

Mjuzik

Super historia, brzmi jak poznawanie nowego magicznego świata, w którym szuka się logiki :)

arczinosek

Bardzo ciekawa i wciągająca historia :) Który to był rok?

jarekr000000

Rok to był 1991 - ale czasem mam wątpliwości (technicznie to kojarze jakie to były dni tygodnia, ale zabawne, że na 100% nie jestem tego roku pewny - za dużo się działo i wydaje mi się niemożliwie za długi...)

stivens

kazdy kolejny rok Twojego zycia wydaje sie subiektywnie coraz krotszy. Moze to byc spowodowane tym, ze 1 rok dla 10 latka to 10% jego dotychczasowego zycia (i zgromadzonych doswiadczen) a dla 30 latka to juz tylko 3%

LukeJL

@stivens Myślę, że to raczej dlatego, że z biegiem czasu popadamy w rutynę. Za dzieciaka robi się zwykle masę rzeczy, a jak człowiek jest dorosły to często niestety robi to samo przez lata, co najwyżej zmienia X na Y (gdzie X i Y należą do tej samej kategorii, np. zmiana pracy).

stivens

to tez. W kazdym razie chodzilo mi o ta rozna percepcje czasu bo jarkowi rok wydawal sie za dlugi;)

Hispano-Suiza

@jarekr000000: Ostatnio widziałem tutaj w ogłoszeniach wątek o kupnie PDF do C# w 10 osób :-) Dorzuć kontynuację ile w tamtych czasach kosztowały tego typu pozycje. Bo z opowieści wiem, że po kilka pensji :-)

kodokleta

Ło matko nie mam siły ani czasu tego czytać... ale rzeczywiście były jakieś wielkie różnice między basic'ami? Pisałem jakieś banalne, prawie losowe programy (czasami z poke) na spectrum, ale może lepiej że są takie języki jak PHP, czy python, czy inne

jarekr000000

@Hispano-Suiza: z książkami to róźnie. Podstawowe podreczniki polskich autorów do nauki wystarczały. Ale jakies tam oficjalne guide/reference to były w zasadzie pozycje tylko legendarne. Dużo materiałów miałem na ksero. Np. wydruk całego ROM (16k) C64 deassemblowany z komentarzami.

jarekr000000

W czasach piractwa (półlegalnego) cena nie była problemem. Problemem był dostęp. Dopiero po wyprowdzce z małego miasteczka zdobyłem kontakty. Giełda komputerowa czyli wrzuta/chomik tamtych czasów.

Hispano-Suiza

@jarekr000000: Od ludzi starszych ode mnie, ktorzy zaczynali dosc dawno slyszalem, ze jedna pozycja ksiazkowa potrafila kosztowac nawet kilka owczesnych wyplat. Stad dopytuje wlasnie :-)

kodokleta

@Hispano-Suiza: byli jeszcze znajomi, uczelnie, antykwariaty (ale tam to rzadko)... poza tym to wydaje mi się, że w PRL książki wydawane w Polsce były tanie. Zresztą chyba nie było czegoś takiego jak piractwo, bo nie było prawa anty-pirackiego (chyba umów międzynarodowych z zachodem)

stivens

piraci mieli swoja bandere to tez zadnych umow z ofiarami nie mieli¯_(° ͜ʖ °)_/¯

kodokleta

bardziej korsarze :P Działali pod flagą RWPG ;)

WhiteLightning

@jarekr000000: czy ten podrecznik to bylo to? Commodore 64 Bedienungshandbuch -> http://pepele.pl/commodore-64-bedienungshandbuch/

jarekr000000

@WhiteLightning: raczej tak - w środku było to: http://cbm.6502.org/alternative/c64_de/c64_de.pdf - zobacz stronę 168 - pamiętam jak na podstawie tego listingu próbowałem ogarnąć tryb hi-res (totalna magia na C64 ze względu na organizację pamięci/rastra dla vica).

jarekr000000

Teraz jakcoś robie na c64 (przeważnie na emulacji...) to są dokumentacje takie jak ta: http://www.zimmers.net/cbmpics/cbm/c64/vic-ii.txt - cudo

WhiteLightning

Ja pamietam ten balon (70 - 72). Wtedy to byla zabawa jak malpka -> przepisywalem niewiele rozumiejac z tego co robie (zwlaszcza jak uzywalo sie polecenia DATA). Razem z komputerem dotarla do mnie brutalna prawda ze rodzice wielu rzeczy nie wiedza i nie potrafia wytlumaczyc.

LukeJL

Mnie urzekł jeszcze obrazek w książce do pascala, na którym była pokazana wyrenderowana powierzchnia 3D w pascalu (bez żadnego gotowego silnika, w książce był opisany algorytm, w jaki sposób wyliczyć współrzędne tej powierzchni i wyrenderować). Podobnie w tej książce był opis jak renderować fraktale czy podobne rzeczy. Tylko, że wtedy jak ją czytałem, to byłem za bardzo początkujący, żeby zrozumieć o co tam chodzi. Dalej jestem.

jarekr000000

@LukeJL: jak ogarnąłem jak rysować takie mądre wykresy pseudo 3d jak w tym przykładzie http://retro64.altervista.org[...]mons-basic-and-basic-2-0-c64/ to miałem radość na wiele dni.

LukeJL

o właśnie to wyglądało podobnie do tego co wrzuciłeś. Swoją drogą kiedyś eksperymentując z cosinusami i sinusami całkiem przez przypadek... stworzyłem system cząsteczkowy, na którym animowała się jakaś powierzchnia/bryła w 3D (złożona z cząstek). Do dzisiaj nie wiem jak to zrobiłem. Tzn. cząsteczki zrobiłem świadomie, cosinusów i sinusów używałem wcześniej też świadomie do renderowania okręgów na ekranie - jednak ta animacja 3D, która mi wyszła powstała całkiem przypadkowo na zasadzie tutaj dodam cosinus z kąta alfa mnożony przez x + y i podzielę przez sinus z kąta beta * y, gdzie kąt alfa inkrementuje o tyle, a kąt beta o tyle podczas iteracji (tzn. wymyślam teraz, bo w rzeczywistości nie wiem jak to liczyłem, ale chodzi mi o to, że po prostu eksperymentowałem i dopisywałem rzeczy do równania na zasadzie "ciekawe co się stanie")

hurgadion

a na studiach, z tego co pamiętam, napisałem programik (średniej jakości) do obsługi biblioteki... w Pascalu... :)

jarekr000000

dokładnie tak się bawiłem z wykresami, fraktalami - co z tego, że 90% efektów to jakis nonsens - czasem wychodziło ładnie. Później jeszcze się bawiłem z https://pl.wikipedia.org/wiki/Krzywa_Lissajous (ale to już głównie na amidze ).

LukeJL

swoją drogą do matmy w szkole też miałem takie podejście i np. kiedyś rysując linie w zeszycie w kratkę odkryłem sposób na wizualne liczenie NWW i NWD (dla liczb A i B rysujesz prostokąt o bokach A i B i z rogu prostokątu przeprowadzasz na skos linię, potem jedziesz, i jak natrafisz na ścianę to się odbijasz od niej jak piłeczka, i tak dalej, aż do natrafienia kolejnego rogu. A potem, jeśli dobrze pamiętam, to liczysz ile kratek przejechałeś (NWW) oraz jaki jest odstęp między liniami (NWD).

LukeJL

do dzisiaj nie wiem jak to działa i nie umiałbym tego udowodnić jeśli bym pisał maturę z matmy i byłoby zadanie "udowodnij" (bo tylko na maturze kazali coś udowadniać), ale jakoś to działa :) Matematyka jest zadziwiająca.