O informatyce, po swojemu, inaczej

Nie lubię Javy, bo nie piję kawy

Kiedy pierwszy raz w szkole coś nie coś (to jeszcze w podstawówce, która to była połączona z gimnazjum #gimby_pamiętają) miałem styczność z samym słowem, jakim jest programista, programowanie i kim chcesz być i dlaczego oraz: „czy aby na pewno dasz radę” był kontakt z językiem C, chociaż ze względu na używanie biblioteki iostream luźno i swobodnie mówiło się C++, bo w zasadzie przez całe gimnazjum nie ujrzałem składni tak mocno sugerującej ANSI C. Potem w liceum, kiedy zobaczyłem na kartce %d i inne takie miałem wrażenie poczucia zagubienia się na tej kartce, nie wspominając już o tym, że mimo iż mało tego kodu było, to jednak przed oczami strasznie mi się zlewał (po dziś dzień mam te kartki schowane w biurku, w teczce, w gotowości, bo nigdy nie wiem, kiedy dany algorytm mi się przyda). Bodajże w wakacje po pierwszej klasie liceum kupiłem książkę „Java-podstawy” zgodność z JDK 7 i wyżej. I wtedy to jak próbowałem pojąć klasy, do których nie dobiegłem jeszcze wtedy w symfonii i pracą z notatnikiem oraz konsolą, bo książka zaproponowała tworzenie wszystkiego w notatniku, chociaż było napisane, że jakieś tam IDE jest-tak to, wtedy kiedy to nie mogłem po prostu używać swobodnie pętli i if’ów tylko musiałem posługiwać się klasami, uznałem, że nie Java to nie jest, to co lubię-to właśnie wstęp (dosyć długi) do tego, o czym będzie dzisiejszy wpis.

Java traktująca wszystko jako obiekt. Teraz mając parę lat więcej, styczność z różnymi osobami i technologiami, a także osobami, które hołdują wręcz Js (chociaż to akurat nie jest teraz istotne) wciąż nie mogę się przełamać do niej, nawet nie potrafię jej zaakceptować. Niedawno znajomy z liceum poprosił mnie o napisanie prostego programu w Javie-zapytałem się go wtedy:

„Czemu akurat java? – w C/C++ już za parę godzin miałbyś do odbioru”
„Tak sobie zażyczył profesor-co zrobisz, nic nie zrobisz”

Kolega jest na ekonomii i zarządzaniu-czy Java, nawet jako w zasadzie dla niego na dłuższą metę temat zbędny i poboczny to dobry język? Można się kłócić, kwestia szkoły-zapewne zwolennicy C powiedzą, że C/C++, a nawet C# powinien być (Politechnika Warszawska miała C# na pierwszym roku), a jeszcze niedawno spotkałem się nawet z Delphi. Inni powiedzą, że powinien być Python, zwłaszcza po tym, że zastąpili nim w tym roku Pascal. Na pewno nie upieram się, że powinien być to C/C++, bo zarządzanie pamięcią, wskaźniki i inne takie niuanse to coś, co spotyka się w Internecie z opiniami, że podbiega pod masochizm, jeżeli ktoś decyduje się na naukę C/C++ jako pierwszy język-jak się tak teraz zastanawiam, to dociera do mnie, że mam coś w sobie z masochisty-zwłaszcza, że teraz na IV semestrze nie mogę się doczekać, aż pokażą nam te wstawki assembler’owe, które to pomagają usprawnić, przyśpieszyć pracę programu i zwiększyć jego wydajność. No ale żeby nie było tak słodko, to w tym semestrze pojawi się Java & J2EE.

Czemu się tak upierasz przy tym C/C++?

Fajnie jest naiwnie myśleć, że jesteś półbogiem i kontrolujesz każdą część zasobu pamięci, jaki zużyje Twój program. To jest te chore, masochistyczne myślenie, bo im bardziej się zagłębiasz w frameworki i czytasz dokumentację, potem piszesz i piszesz, obserwujesz, co wyrzuci kompilator i działa, ale tak naprawdę, kiedy nawet wiesz, o co biega, a ktoś z boku Cię poprosi o wytłumaczenie takie profesjonalne i rzetelne to zaczynasz się drapać po głowie i „no wiesz…” – przynajmniej tak się czuję czasami-właśnie dla tych, co narzekają na studia; ja dzięki nim zrozumiałem wiele rzeczy, o których tylko czytałem i widziałem efekty wprowadzania ich w postaci tekstu i kompilacji wyników (z rzeczy, które zamiast kompilatora mają interpreter, to miałem styczność z HTML i CSS tylko, a no i Bash, więc w tym wywodzie je tu pomijam). Tak że ten…

Source: https://colorblindprogramming.com

Żeby było śmiesznej

SQL uczę się i posługuję się Oracle 11g Express, chociaż podpięcie kompilatora do Oracle w Qt nie wspominam miło (kiedyś dla potomnych napiszę o tym, bo w Internecie jest jedno rozwiązane, chociaż na przykład w przypadku mojej maszyny nie działało do końca, jak powinno. Głównie był problem ze zlokalizowaniem biblioteki oci.dll) to z samą bazą i zapytaniami pracuje mi się całkiem nieźle.

To nie jest tak, że „nie i już!”

„Zacznijmy od tego, że jestem tolerancyjny, jak mogę…” – to nie jest tak, że się zwiesiłem i nie podejmowałem próby nawiązania współpracy z samym środowiskiem i językiem, jakim jest Java. Próbowałem w Eclipse, kiedy byłem nakręcony na pracę z androidem, potem znów zainstalowałem NetBeans, aby zrobić coś okienkowego w Javie, w zasadzie prosty aplet za pomocą klasy Swing-myślę, że to wina lektury mimo wszystko, była za bardzo podstawami podstaw, a zajmuje sporo miejsca na półce. Także szczere chęci były, ale przy słomianym zapale i czekającym całym kombajnem, jakim jest właśnie Qt Creator, którego potencjału nie wykorzystuje jeszcze nawet zapewne w 10-20% przyciągał mnie jak narkoman. Zapewne, gdyby nie biblioteki dedykowane C/C++ do tworzenia ładnych, kolorowych aplikacji okienkowych to przesiadłbym się już dawno na Javę i jej okna, bo WinApi Visual Studio i spółka są dla mnie tak odpychające, że w zasadzie Visual Studio zainstalowałem tylko po to, by zobaczyć, co przyjaciel (Pozdrowienia dla Mateusza z tego miejsca xd) napisał na swoich zajęciach.

Dzisiaj już za mną pierwsze zajęcia z Javy. Atmosfera na zajęciach w zasadzie tylko na hasło „przygotujcie projekt semestralny” sprawiła, że trochę się podłamałem, ale mój brak entuzjazmu profesor przekuł w coś pozytywnego.  Być może przez pryzmat tych zajęć będzie lepiej i wyciągnę rękę na przeprosiny do filiżanki kawy?