Big change to big Chance

Vsechno bylo v pohode nez jsem nainstaloval Update 2 pro Visual Studio 2015. Prvne jsem zjistil ze mi nefunguje uzavirani tagu v *.html souborech, v *.aspx totez fungovalo bez problemu. Dobre, tak nebudu pouzivat pro staticke stranky HTML. Samozrejme jsem hledal na netu ale nenasel nic co by me jakkoliv nasmerovalo dal. Sice jsem videl ze nekdo ma tentyz problem, ale nikdo k tomu nedokazal cokoliv rict. Ted se ale totez, nemoznost zapsani znaku >, zacala projevovat i pri psani C# kodu, v mem pripade u typu genericke tridy. Smazal jsem vsechny soubory *.suo, slozky bin, obj, nekolikrat jsem obnovoval vychozi nastaveni, mazal slozky s nastavenim VS, jenze jako by nic.

Odinstaloval jsem i vsechny pluginy a extension. Jedine co mi zbyvalo bylo preinstalovat cely Win ale dopadlo by to stejne, protoze kvuli tomu samemu mam ted novy. Bude to chyba ktera se projevuje velmi minoritne, bohuzel me postihla a nevim co s ni. To uz me dozralo a rekl jsem si ze musim zacit pouzivat Express edice. U nich je problem ze nepodporuji extensions, cimz bych nemohl pouzivat napriklad napric vsemi programy a je jedno zda webovymi, desktopovymi nebo treba pro mobilni zarizeni – tedy to co jsem si pred nekolika mesici tak pracne delal ( //jepsano.net/2015/12/vytvoreny-nove-sdilene-knihovny-pro-me-aplikace/  ).

Problem je prave krome samotneho MS v Univerzalnich aplikacich, o ktere se MS snazi od zacatku Windows 8. Chapu ze na mobilni zarizeni je potreba co nejvyssi uspora vykonu a prostredku takze tady to dava smysl. Chapu ze nema prilis smysl vyvijet verzi pro desktop a pro mobily/tablety + mnohe dalsi zarizeni typu Raspberry Pi, takze radsi to napsat tak usporne aby to jelo vsude.

Jenze prave tahle multiplatformita(ktera jako by nestacila ze jde napric zarizenimi, ona jde i napris OS, .NET Core a treba VS Code je jiz davno k dispozici i pro Linux a OS X) a dedictvi puvodniho .NETu ktery je jen pro Windows, pro ktery byl jako stvoreny zpusobuje ze je to obrovsky galamatyas. V tom by se uz nevyznalo ani prase. Abych pravdu rekl, velmi se raduji z toho ze ASP.NET 5 (ktere se ted jmenuje ASP.NET 1 Core) bude i na OS X a Linuxu.

OS X mi je ukradeny ale Linux bych chtel jednou vazne vymenit za Windows. Uz jsem pochopil ze MS vzdycky byl a asi vzdycky bude brzda skutecneho IT sveta. Ono to je o zvyku a hlavne zazemi nejake silne korporace. Prave proto se mi docela libi Google Chrome OS. Nektere veci, typicky spravce souboru, jsou v nem jak pro idioty a snazi se byt chytrejsi nez clovek.

Nicmene kdyz bych si tam mohl pustit Linux(coz jde, treba na mem Samsung Chromebooku ne, kvuli podporovanym instrukcim CPU, ale obecne ano) tak mohu na net z Chrome OS a kde webove aplikace nestaci tak spustit Linux.

Ted uz nekolik hodin stahuji VS Express 2015 for Windows 10 pomoci Online instalatoru ktery si asi vsechno(nenabidlo mi to zadne parametry co stahnout a co ne) a ma to 5,4 GB. Nechapu co to stahuje, kdyz jsem tohle delal po vydani VS 2015 RTM tak to melo 2,66 GB( //jepsano.net/2015/11/jakou-maji-velikost-express-edice-visual-studio-2015-a-jak-udelat-instalaci-offline/ ). Vlastne MS chvalim za tento pocin. Tohle je neunosne aby IDE, byt dle meho nejpropracovanejsi na trhu, melo takovou velikost. Takze si to shrneme co mame od MS:

  • Klasicke desktopove aplikace konzolove nebo WPF – Vada na krase je ta ze WPF pro tento typ aplikaci uz nebude moc v kurzu a bude se utlumovat. Prece jen MS nervomoci tlaci do Windows Universal Apps.

  • ASP.NET Web Forms aplikace – to v cem je naprogramovano napriklad cele sunamo.cz nebo webelieve.cz. Tohle nejvice boli, cele to predelat bude trvat velmi dlouho, ale asi je to nevyhnutelne. Tehle technologii taky zvoni umiracek.

  • ASP.NET MVC aplikace – Jedna se jak nazev napovida o rozdeleni na Model-View-Controller architekturu. Jde o zvyk jako u vseho. Nechce se mi je ucit protoze Web Forms umi to same, jen jsou jine. Jenze MS me do toho tlaci.

  • Windows Store Universal Apps – Mobilni Windows stoji za starou belu oproti Androidu ale je tu Xamarin a s nim i Xamarin Studio ktere je zdarma, takze bych teoreticky mohl se preorientovat na Android/iOS coz by byla jedina spravna a racionalni volba.

Takze abychom jsme si to shrnuli. Nevim ani pro co vyvijet ani v jakem IDE nebo jazyce.

Chci zustat u C#, nechci zustat u MS. Musim si vybrat bud jedno a nebo druhe. Jenze kdyz ne C#, tak co jineho? Dle //stackoverflow.com/research/developer-survey-2016#technology (nutno vzit v potaz ze stack overflow navstevuji prevazne home-based developeri, nikoliv ti co pracuji na plny uvazek, i kdyz taky tvori pocetnou skupinu, jen ne majoritni) jsou nejpopularnejsi jazyky dneska tyto:

  1. JavaScript (55%) – Nekteri mu rikaji kralem programovacich jazyku kvuli jeho univerzalnosti a moznosti neresit furt neco. Jenze protoze je netypovy, IDE neposkytuje temer zadnou Intellisense. Jasne, je to muj problem ze v nem nedokazu programovat, ze se spise spoleham na IDE, debugger a podobne vymozenosti nez na vlastni schopnosti. Byla by to rozumna volba pro web – i kvuli JS frameworkum jako serveroveho NodeJS nebo klientskeho AngularJS. Ale kdyz to ma takove zastoupeni, musi to mit nejake kouzlo ktere ja nevidim a neznam.

  2. SQL (49%) – Tohle je pro databaze kde se take da trochu skriptovat ale tohle tu neresim, tohle budu mit vsude.

  3. Java (36%) – Bylo by dobre se ji naucit kvuli Androidu. Je i typova. Jen mi vadi ta pomalost a narocnost na hardware. Dost me ale zarazi ze ma 36%, o 6% vice nez C#, ve kterem se vyviji vse pro Windows.

  4. C# (30%) – To je to oc tu bezi a nebezi.

  5. PHP (25%) – Prvni petku uzavira PHP. Zase netypovy, primarne pro Web, ve spolupraci s JS je perfektni pro webove stranky.

Pak uz tam je zajimavy jen C++ nebo C. S temi mohu vyvijet desktopove aplikace kde zalezi na rychlost. Problem je ze na te rychlosti moc nezalezi, to spise u tech embedded malych zarizeni jenze ty jdou zatim mimo me. Kdyz si to secteme, typove jazyky maji 66% (36+30). Netypove 80% (55+25). Takze zkusim udelat radikalni krok, smazat uplne Windows z disku a zacit pouzivat nejaky Linux, kde je PHP doma a JS (jako) doma. Trapim se tim kde se .NET, C# a vse okolo toho dostalo.

Nechci ztracet cas ucenim se neceho noveho ale presto stale ho ztracim tim ze resim proc to od MS nefunguje. Nedelam si iluze ze tam bude vzdy fungovat vsechno, jenze kdyz to nevyzkousim, tak to jsou jen dedukce. Vim ze s kazdou aktualizaci se neco posere. Uz opravdu nemam silu cele dny resit proc tohle nefunguje, kdyz vsechno to je cista instalace, vsechny aktualizace, zadne nastavovani z me strany, vsechno na vychozich hodnotach. Vim ze tohle uz tu bylo hodnekrat. Nikdy jsem vsak nemel Windows natrvalo. Kdyby tak Google uvolnil Chrome OS jako bezne ISO.

Jsou sice projekty typu CloudReady ktere to delaji, jenze je to treti strana, ktera se netaji ze chce byt ziskova a je jen otazka casu kdy bude omezovat, pripadne si nechavat platit za to co bylo zdarma a nebo prestane existovat, pripadne pujde do utlumu.

Ano, bude to bolet. Bude to stat hodne sil, nervu, probdenych noci, prepisovani, zkouseni a vysledek muze byt take vselijaky.

Dokud se ale nepodivam do jineho sveta, muzu nadavat na tento ale nadavani je jen pro ubozaky. Zdatni se neboji vyzev a miluji prekonavani vlastnich limitu, objevovani neznameho. Vsechno co clovek zna nebo umi ho posune dal.

V mem zivote jsou ted velke zmeny – k lepsimu, nejlepsimu. Je cas skoncovat s MS technologiemi, MS designem, MS politikou. Proc byt na necem od ceho vsichni utikaji, a duvod ze nic jineho se jen tak nenaucim neberu. Jestli chci rust a rozvijet se – chci – musim jit tam kde to ma uroven.

PS: Ted se konecne dostahovalo VS 2015 Express for Windows 10. Nevim zda ho nekdy nainstaluji.
Express 2015 for Windows 10 offline installer