Taip jau nutiko, kad laimėjau pixel.lt konkursą. Laimėjau as in laimėjau xbox’ą ir dar visai netikėtai microsoft bevielę klaviatūrą su pele. Mano straipsniai: čia ir čia. Kažkodėl daug kas putojos, kad laimėjo būtent straipsniai apie .NET – duh, o ko jūs tikėjotės ?
Taigi, vakar įvyko apdovanojimų ceremonija: pažaidėm bowlingą, išsidalinom prizus, padiskutavom IT temom. Nu aš gal nediskutavau, bet Žilvinas labai jau bandė Vytą iš microsoft sunepatogint klausimais apie vistą ir linux. Kas įdomiausia, tai ir bowlingo grupės pasidalino pagal religinius įsitikinimus: vienas takelis phpystų, vienas bbž ko, ir vienas microsofto (kur buvau aš + 2 bičai iš ms, vienas kurių greit pasišalino). All in all, buvo visai fun (nu kitaip ir būt negali, kai gauni tiek prizų :)
Anyways, vakar vyko bandymai. Apie xbox’ą:
Nepasakysiu čia nieko naujo, daiktas šaunus, tik kolkas aš juo pilnai enjoyintis negaliu ir man jis vien rūpesčius kelia. Visų pirma, neturiu normalaus TV, žaist ant ~10 metų senumo teliko yra, kaip čia išsireiškus, ne satisfactory:

Kitas dalykas – konsolę reiktų nusiflashinti, ko aš pats padaryt negaliu, nes neturiu įrankių išardyt dėžei ir neturiu sata jungties, kur pajungti dvd draivą. Taigis, turbūt reiks kažkur nešt (pasiūlymų anyone ?). Plius, po defaultu xbox’as turi tik vieną kontrolerį – kadangi planuoju daugiausia žaist fifa tipo geimus keliese, tai reiks ir antro.
Kol konsolė neflashinta, žaist galiu tik Gears of War, kurį davė su konsole. Kaip ir tikėjaus, žaist FPS geimus su joysticu yra totali nesąmonė – tas pats, kas iš naujo mokintis vaikščioti. Nu gal pripratimo reikalas, time will tell.
Žaidžiau kolkas dar nedaug (gerai, kad iš vis išėjo pažaist po geniuz’o kontrolerio paėmimo į rankas, kurio metu jis prisiuntė bilekiek updeitų ir bbž kokių settingsų primodifikavo), tikiuos ir ateity netapsiu addicted, bo ir taip to laiko nėra.
Kitas prizas – Microsoft Wireless Desktop 7000 klaviatūra su pele:
Jei xbox’u mažai naudojaus, tai šituo praktiškai iš vis ne :) Kadangi konkurse dalyvavau su mintim, kad gausiu xbox’ą, šitas dalykas gavos kaip bonusas. Iš tikrųjų, kadangi turiu notebook’ą, klaviatūros man nelabai ir reikia. Vat pelę gal ir usinsiu.
Šiaip ką galiu pasakyt, kad klaviatūra stebūklinga nepasirodė: nėra numpad’o, F* knopkės yra ne knopkės o kažkokie liečiami išsikišimai, win mygtukas yra ne standartinėj vietoj, o po spacebar’u ir apskritai per daug ten visokių neesminių knopkių. Nu bet kadangi dovanotai klavai į knopkes nežiūrima – sueis.
Tai vat kiek gėrybių + garbės™ laimėjau už porą straipsnių – dėkui microsoft ir pixel.lt ! :>
Kažkada rašiau apie savo experience’ą susijusį su programavimu fizikos fak’e, labai jau didelės diskusijos kažkodėl tada kilo.
Šiandien kažkas linkomanijoj įmetė paketą su IT konspektais, tai labai įdomu pasidarė apžvelgt programavimo situaciją IT specialybėse, gal sakau reikalai pasitaisė per kelis metus. Radau šių autorių “mokomasias priemones”:
- A. Kynienė
- D. Lukšaitė
- Du nežinomi autoriai
Žodžiu, o aš galvojau, kad Blonskis yra blogai… Vien iš įvadų perliukų pririnkti galima atskirai knygai išleisti. Štai keletas geresnių:
C programavimo kalba, tai galinga programavimo kalba, vis labiau naudojama visame pasaulyje. Dabar ši kalba tai pagrindinė profesionalų programavimo kalba, kuri sėkmingai vartojama tiek sisteminės, tiek taikomosios įrangos kūrimui.
C – galinga programavimo kalba, yeah, right. Vis labiau naudojama, yeah right, dar labiau.
C – šiuolaikinė programavimo kalba.
C – galinga ir lanksti programavimo kalba. Gerai išvystyta aukšto lygio programavimo kalba.
Jei taip būtų rašyta ~1970, visai sutikčiau, ale ant viršelio parašyta 2004.
C kalba – tai aukšto lygio programavimo kalba, kuri leidžia panaudoti visus kompiuterio resursus kaip ir asembleris. Šiuo metu C kalba – yra sisteminių programuotojų kalba.
C – patogi kalba. Tai struktūrinė kalba, tačiau ji nėra labai griežta ir per daug nevaržo programuotojo.
Nu be abejo, juk nerašysi, kad tavo knygos topic’as yra nieko vertas.
Koks skirtumas tarp C ir C++? C++ – tai objektinis procedūrinės programavimo kalbos C poaibis
Toks vaizdas, kad nė vienas iš šių autorių nėra matęs tikro, šiuolaikinio C++.
Programavimas C++ kalba paremtas funkcijų naudojimu.
Čia ne tik kad pasakyta netiksliai, čia pasakyta iš esmės neteisingai.
Gerai, įvadų studentai ir taip dažniausiai neskaito, tai neesmė. Eikim prie esmės. Kai praeitą kartą rašiau šia tema, sulaukiau kritikos, kad esmė išmokyt programavimo logikos ir mano pastabos buvo neesminės, atseit nesvarbu įrankiai, svarbu mąstymas etc etc etc. Įdomu, ar išdrįs kas pasakyt, kad čia neesmė:
Skliausteliai po main ( ) nurodo, kad tai ne kintamasis, o funkcija. Šiuose skliaustuose gali būti nurodoma šios funkcijos grąžinama informacija. Kadangi nurodytoje programoje mūsų funkcija nieko neturi grąžinti, tai jie yra tušti.
Kažkodėl man n metų atrodė, kad tuose skliausteliuose rašomi funkcijos parametrai, o ne grąžinama reikšmė.
int num; – operatorius kintamojo tipui aprašyti arba kitaip, tai paprasčiausias raktinis žodis. printf (“Aš paprasta”); – išvedimo į ekraną operatorius.
Šio operatoriaus pagalba ekrane atspausdinama frazė: Aš paprasta.
Kažkodėl beveik visiems autoriams atrodo, kad viskas C kalboje yra operatoriai. Įdomu, ar jie dasigyveno iki tokio dalyko, kaip operatorių overloadinimas. Tada labai įdomu būtų pažiūrėt, kaip jie overloadina operatorių int arba printf.
Operatoriai C/C++ yra: * / + – ~ ! % () , . :: -> sizeof && || ir t.t. Apskritai, terminus naudot reikia tokius, kokius apibrėžia standartas, o tai bus daug bėdų nagrinėjant kompilerio outputą.
C++ kalboje dažnai tenka naudoti globaliuosius kintamuosius, kuriuos naudos keletas funkcijų.
Po tokio perliuko ieškojau, gal kur parašyta, kad tenka naudoti goto. Nors patys išstenėjo, kad C++ galbūt turi tokį dalyką, kaip klasės, bet po keletos chiapterių tas užsimiršo. Grįžtam prie senų gerų funkcijų ir lyg to dar būtų negana, naudojam globalius kintamuosius.
Apskritai tokių anti-patternų ten nors vežimais vežk, pvz., kalama į galvą, kad konstantas reikia aprašinėt su #define, raginama kuo daugiau naudoti makrosų tokiems sprendimams kaip max(a,b).
Tokius rimtesnius dalykus pastebėjau tik scrollindamas per tuos dokumentus, neabejoju, kad įsigilinus ten dar ne tiek būtų galima rasti. O vat tokių, kaip kiti išsireikštų, neesminių dalykų, kurie man atrodo tikrai neprideda aiškumo mokantis, ten mėtos ant kiekvieno kampo.
Klasikinis pavyzdys, randamas 99% lietuviškos C++ literatūros:
#include <iostream.h>
#include <math.h>
Nuo 1998 metų (beveik 10 metų praėjo), toks kodas oficialiai yra neteisingas ir neturi kompiliuotis. Pamėginau su nemokamu ir populiariu gcc, štai ką gavau:
In file included from D:/Code/Compilers/MingW/bin/../lib/gcc/mingw32/3.4.2/../..
/../../include/c++/3.4.2/backward/iostream.h:31,
from test.cpp:1:
D:/Code/Compilers/MingW/bin/../lib/gcc/mingw32/3.4.2/ ../../../../include/c++/3.4.2/ backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or instead of the deprecated header <iostream.h>. To disable this warning use -Wno-deprecated.
Ir ką galvot vargšui studentui perrašius helloword.cpp ir tokį dalyką pamačius ?
C++ standartiniai headeriai neturi galūnės h, įsikalkit vieną kartą ble. Jau dešimt metų reikia rašyti <iostream>, <cmath>.
Žinoma, visi pagal defaultą naudoja Borland C++ Builder, arba dar geriau, Borland C. Kažkur net buvo pasiūlytų kompilerių sąrašas, kuriam puikavosi netgi toks dalykas kaip Microsoft Visual C. Žinau iš bendro išprusimo, kad toks kažkada buvo, bandžiau pagūglint, tai pavyko sužinoti, kad jis gyveno prieš 1992 metus.
Na o visiškas topas buvo kažkurios tais knygos gale pateiktas Windows programų kūrimo pradžiamokslis. O šiais laikais programos pasirodo kuriamos WinAPI’iu. Taigi, nors viešai skelbiama, kad mokoma esmės, o ne kažko konkretaus, nuklyst į 15 metų senumo API, kurio realiai niekas nebenaudoja ir kuris yra nepaprastai sunkus naudot, vis dėlto prireikė. Way to go.
Tai vat, apibendrinus, galiu tik pasakyt, kad situacija tikrai ne iš geriausių. Man iš vis įdomu, kas leidžia tokiems autoriams knygas rašyt ir kam kyla ranka jas rekomenduot ar tuo labiau iš jų dėstyti. Iš tokios knygos paskaitęs man atrodo ne tik kad nieko neišmoksi, bet ir sau žalos pasidarysi.
Vis dėlto, kadangi informatikos nestudijuoju (dėkui dievui), realios situacijos aišku nežinau. Neabejoju, kad yra iš normalių dėstytojų su normalia literatūra. Bet vien tokių “metodinių priemonių” ir visų Blonskio knygų egzistavimas sako, kad kažkas yra ne taip.