Dziwi Was tytuł artykułu? Zdziwię Was jeszcze bardziej do tego stopnia, że mogę zaburzyć Wasz dotychczasowy punkt widzenia na tablice w języku C. Może nie samą ich strukturę, ale sposób przetwarzania przez komputer. Tak naprawdę to nie są tablice, ale wskaźniki do poszczególnych argumentów! Koniecznie przeczytajcie resztę, a jeszcze sobie za to podziękujecie.

Pora, abym się wypowiedział na temat swojego rapu. Widząc, że nie zdobywa tego rzeszy fanów ani wyrazów aprobaty, nie wiem czy całkowicie nie zrobię sobie przerwy w tym kierunku na cały 2020 rok. Muzyka rap to również moja pasja jednak przy niej muszę się znacznie więcej napracować niż przy grach. Ponadto, zdechły moje słuchawki nauszne, które wiernie mi służyły od 2014 roku (i tak bardzo długo trzymały) i będę musiał kupić sobie nową parę. Nawet jeśli się w nie zaopatrzę, to nie widzę u siebie zapału stałego nagrywania tak jak kiedyś, skoro to nie trafia do nikogo. Niedługo będę miał 23 lata i choćby z tego powodu chciałbym nakręcić jeszcze jeden kawałek. Ale tylko jeden. Potem będzie cisza.

Mały kąsek informacji dotyczący tworzenia tablic w języku C. Mimo tego, że przedstawiona tutaj metoda wprowadzania argumentów może jedynie komplikować, to chcę żebyście i tak byli poinformowani o takiej możliwości. Standard języka wprowadzony w 1999 roku przez ISO udostępnia drugi sposób. Po raz kolejny pokażę dwa sposoby celem porównania: "tradycyjna" inicjalizacja tablicy w C, a potem druga opcjonalna metoda.

Kolejny rozdział poświęcony językowi C. Przyjrzymy się być może dla niektórych z Was nietypowemu zapisowi w kodzie źródłowym. Chodzi o funkcje. Zarówno w tym języku jak i w C++ to nie wygląda tak, że wstawimy sobie funkcję gdzie chcemy i mamy z bani. Języki te są bardzo wyczulone na położenie zarówno deklaracji jak i definicji funkcji. Robi to jakąś różnicę? Jak najbardziej i to DUŻĄ. Bo przy deklaracji wstawiamy prototyp funkcji, a przy definicji "pełną" jej strukturę. Zapraszam po wyjaśnienia.

Mam dla Was następną część z cyklu rekurencji. Wiemy już, że rekurencja oznacza odwoływanie się funkcji do samej siebie. A co w przypadku chęci zrobienia w drugą stronę? Powiedzmy, że ktoś grymasi przy rekurencji i chciałby zaaplikować wersję iteracyjną jakiegoś algorytmu poprzez zwykłą pętlę. Da się tak zrobić, ba, nawet na taki manewr wymyślono hasło. Nie połamcie sobie języka: derekursywacja!

W ten piękny (przynajmniej w moim rejonie) czwartek witam Was z następnym tematem programistycznym dotyczącym pewnej techniki wielokrotnego wykonywania tych samych instrukcji. Zachowanie identyczne jak w pętli, ale samo w sobie to nie jest pętla. To tak zwana "rekurencja", nie mylić z "referencją" (o niej było tu)! Eleganckie tłumaczenie w teorii plus przykład kodu źródłowego w języku C.

Wyobraźcie sobie, że nawet ze zwykłego przekazywania parametrów aktualnych do metod można zrobić temat na artykuł. Ja tak zrobiłem, gdyż i tutaj występuje zróżnicowanie w pisaniu. Większość języków programowania przekazuje zwykle do funkcji kopię wartości, co ma uchronić przed utratą wartości pierwotnej znajdującej się na zewnątrz danej metody. Język C umożliwia jeszcze jeden sposób: przekazywanie przez referencje. Jak to zrobić i jaki to ciągnie za sobą skutek? Czytajcie, a się dowiecie!

Powrócimy znowu do języka C prezentując całkowicie już archaiczną instrukcję skoku, która była wykorzystywana w czasach nałogowego używania języka FORTRAN. "break" i "continue" przyszły później, najpierw było "goto". Tak się składa, że C również jest zaopatrzony w to słowo kluczowe do dnia dzisiejszego. Od razu napiszę, nie przerzucajcie się na to! To już jest mocno przestarzała instrukcja od co najmniej 20 lat. Tak więc potraktujcie ten artykuł jak zapoznanie się z częścią historii programowania w latach .60 i .70.

Po mocnym spóźnieniu zapraszam Was na drugą część poprzedniego artykułu opowiadającego o klauzuli "try-catch" służącej do przechwytywania wyjątków z prostymi przykładami w języku Java. Postanowiłem poświęcić odrębny artykuł na te dodatkowe słowo kluczowe mające związek z wyjątkami, "finally". To jest blok, który wykonuje się zawsze niezależnie od tego, czy pewna ryzykowna operacja zakończyła się porażką lub sukcesem. Sprawdźmy jak to wygląda w praktyce.

Znowu artykuł i znowu Java. Przejdziemy do przechwytywania wyjątków, dowiemy się co to takiego, jak działa i jak się zabezpieczyć przed niepożądanym działaniem w trakcie korzystania z "ryzykownej" metody za pomocą klauzuli "try-catch". Jeśli nałogowo korzystacie z języka Java, opanujcie to jak najprędzej, to jest jeden z tematów podstawowych.

Ten artykuł też będzie prezentował moje kilkuletnie obserwacje. Raz kolejny weźmiemy pod lupę gry online od strony najpopularniejszych i najczęściej spotykanych gatunków. Przynajmniej od strony "indie" deweloperów. Popatrzyło się to tu, to tam i zauważyło się, że teraz niektóre gatunki gier online już wyszły z mody, a część z nich jest na topie. Jakie konkretnie?

Pora podsumować serwis na którym się udzielałem przez okres sześciu miesięcy. To jest ten wcześniej przeze mnie wspomniany o nazwie Quora (link Wikipedii). Do czego on służy? W jaki sposób działa? Czy może pomóc przyciągnąć więcej ludzi do swojego biznesu? Czytajcie dalej, a poznacie odpowiedzi na te pytania.

Powracamy znowu do języka Java. Po raz pierwszy pragnę się wypowiedzieć na temat interfejsów i przykładów ich zastosowania. Aby nikt nie poczuł się zagubiony, artykuł ten będzie podzielony na dwie części: pierwsza będzie służyła wstępnemu tłumaczeniu czym są interfejsy w Javie, a druga będzie obrazować przykład ich sensownego wykorzystywania.

Programowanie obiektowe jest jednym z dostępnych paradygmatów programowania polegających na podzieleniu problemu na obiekty starając się zachować najbardziej zbliżony podział jak w rzeczywistości. Wszystko w informatyce rządzi się własnymi prawami, a programowanie zorientowane obiektowo posiada trzy podstawowe zasady, które muszą być przestrzegane. Opanujcie to jak najprędzej, gdyż znajomość tych zasad jest często weryfikowana na egzaminach. Najpopularniejszym "przedstawicielem" tego paradygmatu jest oczywiście Java, natomiast istnieje o wiele więcej języków wspierających programowanie obiektowe.

Kończąc redagowanie w tę sobotę ponownie skieruję się w stronę tworzenia gier. Następne pytanie, które może budzić duże zastanowienie. Jak trudne jest tworzenie gier dla jednej osoby? Odpowiedź jest prosta: BARDZO. Wystarczy spojrzeć na mnie. Jak zawsze, zapraszam na poszerzenie tej odpowiedzi o niezbędne szczegóły.

Wprowadzam dzisiaj kolejny nowy wątek, który opisuje program "RPG Maker" od mojej strony. Ten program już od dawna jest mi znany i zawsze odbierałem go pozytywnie. Posiada wiele "edycji" i każda z nich ma swoje plusy i minusy. Może ktoś z Was się zastanawiać którą z nich sobie wypróbować czy ewentualnie kupić. Na ten temat będę się rozpisywał w artykule.

Wykorzystując fakt, iż napisałem już jeden artykuł bezpośrednio na temat mojej osoby, to postanowiłem drugi raz z rzędu napisać o swoich planach. Ponieważ widzę ile jeszcze tej pracy mnie czeka, musiałem podjąć decyzję o przełożeniu pisania programów na później. Nie wiem do kiedy dokładnie, podejrzewam, że dopiero od czerwca zacznę programowanie aplikacji w Javie.

Dzisiaj jest szczególny dzień! Nawet jeśli wygląda tak samo jak cała reszta. Dzień, który zmienił moje życie. Dzień w którym poznaliście moją osobę od strony dewelopera gier. Dzień, który umożliwił mi zapoczątkowanie całej mojej działalności. 3 kwietnia, 2016 roku. Gry online i ich publikacja osiągnęła czwarty rok!!!

Jak zapowiedziałem, teraz podam szczegóły na temat inkrementacji i dekrementacji. Jest to proces zwiększania czy też zmniejszania wartości liczbowej dokładnie o jeden przy czym nie będę truł na temat samej definicji. Bardziej chcę przykuć uwagę odnośnie dwóch sposobów zapisu. Wchodząc w szczegóły jest to preinkrementacja i postinkrementacja. Niby nic, a istnieje bardzo istotna różnica między nimi.

W kolejnym artykule mam dla wszystkich chętnych parę wskazówek jak pisać dobry kod. "Dobry" czyli czytelny, efektywny i mniej obciążający dla procesora. Zachęcam wszystkich zainteresowanych do czytania!