Citat:
aludanyi: Pazi ja nikad ne pustam iz vida ekonomsku racunicu. Ne postoji nista gore od situacije kada A+ programer vrsi posao necega sto mozemo da automatizujemo ili poluautomatizujemo ili ako mozemo da napravimo alate uz pomoc cega ce B+ i B programeri moci da vrse taj isti posao.
Ali sad sam sebi uskaces u grlo. Vrlo dobro znas na cemu se zasniva ta ekonomska racunica o kojoj pricas, nisu to B i B+ programeri, to su C i nize. Ta usteda je vrlo kratkovida i pre ili kasnije dolazi na naplatu i niko nije imun od toga pa ni MS cija skorasnja istorija je prepuna ovakvih promasaja. Skoro cela moja dosadasnja karijera je bila u tzv aftermath ekipama i firmama gde smo skildali kajmak sa pristupom "sad se te pukli i bacili X dolara a dobili ste nista, ajd sad da budemo pametni i da potrosimo 2X dolara i da napravimo nesto sto valja jer bolje je potrositi 2X dolara nego baciti X". iznenadio bi se koliko ta prica sljaka kod nekoga ko je bacio X dolara. A ajd pogodi koliko smo takvih projekata dobili na inicijalnim bidovima? Celih NULA, i jos nam pametuju kako nam je super ponuda al smo mnogo skupi, ima ko to moze jednako dobro da uradi za manje para. Ali to je nazalost indikacija neukosti kupca vise nego bilo sta drugo.
Citat:
aludanyi: Zahtev za softverom na trzistu je sve veca, treba naci nacina da se obezbedi kapacitet da se taj zahtev podmiri. Kao sto sam rekao vise puta, softver slabijeg kvaliteta je bolji nego nikakav softver.
Jos samo da mi pokazes prodajni prospekt tvoje ili bilo koje druge softverske kompanije u kojoj se ovako racionalno objasnjava stremljenje ka mediokritetu pa da vidimo kako ide prodaja. Problem upravo jeste sto se softver slabijeg kvaliteta nelojalno valja po osnovu nize cene ostvarene losim radom dok marketing sakriva generalne felericnosti istog. I to je specificnost ove industrije u kojoj generalno ne postoji adekvatna post-release metrika koja bi omogucila kupcima da tuze vendore za felerican softver. Pod takvim okolnostima realno je da ce menadzment stremiti ka mediokritetstvu kao poslovnom modelu koji maksimizuje profit i to je normalan smer stvari, ali nemojmo brkati loncice i govoriti kako je to dobro. Cloud za svoj marketinski push ima podosta da zahvali takim shopovima i shady proizvodima koji iz njih izlaze.
Citat:
aludanyi: Softver nije idealno savrseni proizvod, ako ga korisnik zna da mu odredjeni softver stvara dodatnu vrednost a da istovremenu nije u poziciji da sebi obezbedi softver koji ce mu stvarati jos vecu dodatnu vrednost u datom trenutku onda je sve u redu. Alternativa mu je da odustane od posla ili projekta jer ne moze da plati to kvalitetnije resenje.
Opet, to nije prica koju serviras klijentima, zar ne? Jo snisam cuo za pristup "nas softver je felerican al za bolji vi pare nemate) Ako klijent pita a jos nije platio onda je softver do jaja, deflorise device, kuva kafe, vozi mercedes, jase sarca, a kad klijent plati onda smo upoznati sa problemom i pripremamo patch koji ce izaci sa redovnim updatom za sest meseci. Kad vec znamo da nam je proizvod ocajan onda cemo da muzemo musteriju dok sami ne skontaju da su radjeni. I onda se pitamo zasto su business units ljuti i besni i ne veruju ISV vendorima...
Citat:
aludanyi:Sto se tice .NET i IL koda slazem se u potpunosti (nisam nikad ni spomenuo "bytecode") ali moramo da obratimo paznju na cinjenicu da je taj native kod koji izlazi iz JIT-a u principu kod koji se bez CLR-a tesko moze zamisliti, apstrakcija je u tome da CLR stvara sloj uz pomoc cega dobijamo mogucnosti koji su nedostipni bez CLR-a
CLR nije sloj, nista vise nego sto je kernel sloj, ako ces tom logikom i native code nije bare-metal jer mu je neophodan OS da pokrene proces, formira application boudary i pokrene inicijalni thread. Isto tako je windows native code tesko pokretljiv van windowsa jer koristi pozive iz kernel32.dll, user32.dll, etc, etc. JITovan kod radi na metalu i u tom trenutku nije virtuelizovan ni na koji nacin (osim ako sam OS nije virtuelizovan, al to je vec druga vrsta virtuelizacije). Sve apstraktne fore i fazone koji se dodaju u c# i ostale .NET jezike nisu cak uopste ni podrzani direktno u IL-u vec su kompajlerske "prevare" i emulacije. Pogledaj npr bilo koji LINQ query u dekompajliranoj formi pa ces videti kako to u stvari izgleda. Nista od toga nema veze sa CLRom, sve je u bibliotekama.
Citat:
aludanyi:... recimo ako vec spominjes RAD, cinjenica je da je obezbediti recimo IntelliSense za native C++ daleko teze nego za CLR.
Babe i zabe, razlog za to lezi u metadata blokovima u .NET asemblijima i nema veze sa jezikom niti platformom, da se metadata ne pakuje u asemblije bilo bi podjednako tesko napraviti intelisense za oba. Kao dokaz pogledaj intelisense ca C++/CLI koji radi isto tako dobro kao i za C#. Uostalom RAD na koji ja mislim nije to vec je neadekvatna komponentizacija, sklonost da pre iskoristi gotova komponenta koja ne radi adekvatno posao koji ti treba samo zato sto je imas i ne znas da napravis drugu. POgresni i neplanirani rezultati, pa to ce klijent da otkrije pa ce da zove ako ga zulja. Ili ce mozda da digne ruke i da ode na cloud....?
Citat:
aludanyi:Isto tako uvek sam srecniji kad radim sa super kompetentnim programerima ali znam iz iskustva da se to veoma retko desava i zato pozdravljam svaki korak ka tome da se ucinak osrednjih programeri poboljsa ako je to moguce, jer jednostavno kad radis u realnom okruzenju ne mozes da izbegnes realnost. Radio sam sa ljudima na objektnom kodu koji nisu znali sta je "operator overloading" ili sta je static metoda i kako radi

da ne pricam za dalje, i kad moras da radis u takvom okruzenju jednostavno nemas izbora da trazis pomoc alata, platforme i tehnologije. Sve vece softverske firme su prepune takvih ljudi, i oni nisu skroz propala stvar i oni mogu produktivno da doprinesu projektu ali moras da im obezbedis nacin za to ili ti ostaje samo da se zalis i da se nerviras (a to ti opet nece resiti probleme u projektu).
I ti te ljude zoves B i B+ programerima? To je elementarna nekompetentnost za posao koji rade, ekvivalentno tome da automehanicar ne zna sta je moment kljuc i kako da ga koristi. To nije za toleranciju to je ili za obuku ili za otpustanje na osnovu nekompetentnosti. I sad pricas o tome kako je dalja apstrakcija super stvar i da je sasvim OK tim ljudima dati AsParallel na slobodnu upotrebu i da je to pokret u smeru kontrolisanja osrednjih programera? Pre ce biti da je ekvivalentno davanja elektricne busilice trogodisnjem detetu. Sve samo da se ti ljudi ne nauce zanatu jer onda moras vise da ih platis, zar ne
Jedno je biti izlozen i primoran da radis sa nekompetentnim ljudima u realnosti a sasvim druga stvar tvrditi da je to dobro resenje.
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić