Otacza nas nieograniczona, niemierzalna, niepojęta ilość informacji. Zdolność świadomej selekcji tego, na co zwrócimy uwagę, a co zignorujemy, jest niezwykle istotna. Na przykład ja świadomie zignorowałem takie coś jak WPF, Silverlight i baaaardzo wiele innych technologii wywodzących się z Redmond. Ale nie tylko Microsoftowego światka się to tyczy. Probówał ktoś na przykład nadążyć za wszystkimi JavaScriptowymi frameworkami, których cykl życia liczymy w tygodniach bądź miesiącach, bo zaraz wychodzi coś nowego, lepszego?
Bycie “na bieżąco” to jedno. Ale chwytanie i poznawanie WSZYSTKIEGO po prostu… przestało być możliwe.
Poniższy cytat (jak i cały artykuł, który bardzo polecam) traktuje o życiu jako takim, a nie o naszym zawodzie, ale da się nań spojrzeć i pod technologicznym kątem ;).
Developing the ability to control and manage the fucks you give is the essence of strength and integrity. We must craft and hone our lack of fuckery over the course of years and decades. Like a fine wine, our fucks must age into a fine vintage, only uncorked and given on the most special fucking occasions.
Źródło: Mark Manson (“The subtle art of not giving a fuck“)
Zgadzam się!
Sam też olałem cześć technologii z Microsoft (ASP, Silverlight, WPF, VisualBasic) i dodatkowo zastanawiam się, czy nie przejść na Jave/Scale i Pythona,
bo patrząc na poczynania MS nie wiem, czy coś im odbije i nie odpuszczą .net. Wiem, Java drewno, ale konserwatywne, a coś nowego można wyrzeźbić w Scali, a na szybko w Pythonie. Plus to możliwość uniezależnienia się od MS/Windows (licho nie śpi).
Z webowych poznałem jquery, backbone (przy okazji underscore), angular i na razie koniec. Uzależnianie się jest niebezpiecznie, a na młodzików prezentujących ‘rewolucyjne frameworki’ patrzę bardzo podejrzliwie.
Każdy rozbudowany framework to coś, co może wprowadzić zamieszanie i kłopoty (bo nie do końca wiemy jak działa i co nie działa). Dlatego jak mogę to wybieram stare, być może upierdliwe rozwiązania, bo szybciej machnę niż w jakiejś nowej bibliotece, która się później rozjeżdża po aktualizacji (co mnie nauczyło czytać dokumentację towarzyszącą :D)
Do tego niedobry MS nowsze rzeczy wypuszcza w wyższych frameworkach a przecież klienci jeszcze mają WinXP.
A tak to czekam, aż się dogadają i zrobią asembler webowy, może c# i java też na to będzie, to będzie wirtualka do wszystkiego i będzie się pisało w czym się chce…..
Do tego dochodzi kwestia wieku i pewnego poznania, bo programowanie krąży wokół jednego obszaru. Dlatego ważne jest poznawanie nowych innych języków, bo to otwiera skorupę – poszerza horyzonty. Dla mnie czymś takim był javascript, wyglądało na gówno ale jest dość fajne.
Odpuściliście WPF, a zamiast niego korzystacie z? Odpuściliście Silverlight, bo zamiast niego korzystacie z? Tak się składa, że parę lat temu w pracy korzystaliśmy z Silverlight, a że byłem wtedy juniorem, to chętnie się zagłębiłem w ten świat, ponieważ chciałem wreszcie dobrze poznać jakiś UI framework. Muszę przyznać, że nawet mi się podobało. 2 lata temu zmieniliśmy silverlight na html5 (jquery, knockout, durandal, typescript) i chociaż na początku trudno było połapać się w tych różnych frameowrkach, tak teraz wydaje się to całkiem wporzo. Czy lepsze niż Silverlight – chyba ciągle za mało doświadczenia, by zająć twardo stanowisko. Patrząc na ilość technologii, które chciałbym poznać, to moja lista z książkami do przeczytania jedynie się wydłuża, dlatego zastanwiam się, czy to już nie jest moment na fuck :D
NORO,
JA, nie MY, pisałem o rzeczach które ja zignorowałem, a nie firmy w których pracowałem. Musiałem trochę podłubać i w WPF i w Silverlight, ale czułem że to nie do końca to. HTML i JavaScript zamiast Silverlight, tu nie ma żadnych wątpliwości. Zamiast WPF – Windows Forms mi nadal jest bardziej naturalne,a co się da to do web.
W moich desktopowych aplikacjach (niewiele ich było) WPF niewiele by wniósł i jeszcze może się okazać, że skończy jak Silverlight.
Zamiast tego stare WinForms, a przy aplikacjach wielostanowiskowych UI wpycham do webu i nancyfx (za IIS nie przepadam, bo wiąże z windows server, ale swoje plusy ma). Jaja są z przeglądarkami, ale to załatwiam metodą “używajcie jednej” albo (w przypadu smartTV na hali produkcyjnej) kupcie ComputeStick za 600 brutto z windowsem 8.1 :-D
Jeżeli chodzi o js – wydaje Ci się kompletny brak zasad, bo js jest tak inny w stosunku do c#.
Jasne, rozumiem, że post dotyczy tego, kiedy dawać fuck. Nawiązłem do mojej pracy, ponieważ tam głównie zdobyłem doświadczenie w UI, a jest to ta część programowania, która dynamicznie się zmienia (wiele ui frameworków) i trzeba wiedzieć, kiedy fucka dać.
Jeszcze pytanie odnośnie JS. Bardzo podoba mi się funkcjonalność Data Bind w WFP/Silverlight. Aktualnie korzystamy z Knockout js aby mieć podobną funkcjolaność. Jak zapewnić taką funkcjonalność w ‘czystym’ html i js, czy może zawsze trzeba korzystać z jakiegoś framworka, który robi update UI?
Ponieważ w moim przypadku najpierw był Silverlight, a dopiero później przejście na HTML5, dlatego nie jest dla mnie takie oczywiste czemu Siverlight jest gorszy (porównując sposób programowania, gdzie js i ‘komplety’ brak zasad było dla mnie szokiem).
Do data binding potrzebujesz jakiegoś frameworka javascript. Pozostaje kwestia czy wystarczy 1-way data binding (powinno), czy potrzebujesz 2-way (wtedy bym się zastanowił nad zmianą podejścia do modyfikacji danych, been there done that z angularem, nigdy więcej).
Czemu Silverlight jest gorszy niż javascript? Jeden argument wystarczy: bo nie działa wszędzie. Mi osobiście nie działa prawie nigdzie. Ale też na szczęście prawie nikt go już nie używa. Podobnie z Flashem zresztą. Czy jakimiś apletami Javy.
W JS nie ma ‘kompletnego braku zasad’. Jest za to kompletna ignorancja sporej części programistów, którzy z niewiadomych względów nie chcą się JavaScript nauczyć.
Zjadłem zęby na WPF, ogarniam przyzwoicie UI webowe (html, js, Angular, Knockout itd). Fakty są takie: WPF jest trupem, silverlight jest trupem, ale ocalał XAML. Ocalał, ale w perspektywie pięciu/dziesięciu lat również będzie już trupem, ponieważ ECMA6 wyprostuje różne autyzmy i patologie javascriptu do tego stopnia, że to, co robiliśmy do tej pory natywnie, będzie się dało robić tak samo dla klienta webowego i wkońcu słowo “inżynieria” będzie można bez żenady łączyć ze słowem “javascript” ;) Angular2, Polymer, Aurelia