Něco takového rozsekávat je z principu nesmysl. Já to vidím tak, že preference programovacího jazyka je dána způsobem myšlení člověka. Je to jako preference politické strany. Z nějakého prostředí vzejdeš a to tě (zde)formuje tak, že už jinak myslet nedokážeš. Změna myšlení je těžká věc, mnozí to nedokážou ani když za to zaplatí životem. Takže tu máme spoustu staticky myslících programátorů, kteří čelí čím dál větší konkurenci ze strany dynamických jazyků, se kterými si nerozumí a rozumět nemohou. Jejich nika aplikačního programování se jim třeba přesouvá na web, kde vládne Javascript. I do dalších oblastí dynamické jazyky pronikají, jim se zmenšuje jejich teritorium, začínají být přežití a je na ně vyvíjen tlak, aby začaly používat ty krásné nové mladé a v ledasčem i blbé dynamické jazyky. To je podobné jako s mnohými frustrovanými důchodci, které nikdo nepotřebuje, protože svět se mění příliš rychle a jejich zkušenosti jsou zbytečné, nikdo o ně nestojí a tomu novému zase nerozumí oni. Takže chápu, že si vylévají svou zlost a nadávají všem okolo, i když se u toho zesměšňují pro vlastní neschopnost.
V branzi se pohybuju dlouha leta.
Borlivy rozvoj Computer Science skonicl nekdy kolem roku 2000, neberte me presne za slovo s tim rokem, hranice neni ostra, tim myslim realne nasazeni, koncepty a akademicke implementace byly mnohem driv, streba Smalltalk.
Branze se stabilizovala, stejne jak uz nikdo nevymysli nic prevratneho v pripade vyroby oceli nebo vyroby aut se spalovacimi motory. A dokud vsichni pojedeme na Von Numannovych pocitacich, bude to tak i nadale, zmeni to az fundamentalni zmena zakladu, v pripade aut je to napr. elektromobil.
Od roku 2000 jsem v branzi zaznamenal tyto dilci zmeny:
1. snizeni tlaku na optimalizaci programu, HW je levny, programator drahy
2. paralelizace, kazdy telefon ma dneska osmijadro
3. cloud a microservices
4. Big data a machine learning - to je ale trochu jiny sport bokem
5. Obrovsky kvantitativni rozmach IT, IT je naprosto vsude, je potreba o rad vice IT pracovniku, a z hlediska IQ bell curve jejich IQ a schopnosti v prumeru silne klesaji.
Posledni paty bod ma IMHO na branzi nejvetsi dopad.
Vznika fenomen, ktery jsem si pojmenoval "milenialni jasavy blb" (dale MJB)
MJB je presvedcen, ze preference jazyka je cosi na zpusob volby politicke strany. Ja si myslim, ze je lepsi vymontovat na aute dekl olejoveho filtru gola orechem 27, nez to ozvykavat instalaterskym hasakem, tedy zvolit vhodny nastroj pro dane pouziti. Osobne pouzivam nejcasteji Javu a Python, Javu pro urdzovatelne veci s delsim zivotnim cyklem, Python pro jednoucelove udelatka.
Dopad fenomenu MJB je celkovy dumbing-down branze.
Treba WSDL web services. WSDL umoznuje elegantne definovat semantickou konzistenci uz na urovni transportu. Dejte definovat WSDL nejakemu MJB, vysledkem je shluk String<0..n>. A cely smysl WSDL jde do zadi, pak je samozrejme lepsi pouzivat REST/JSON, odpada WSDL rezie a vysledek je stejny. WSDL je kvuli celkovemu dumbigu branze mrtva technologie.
Nebo zde probirana dichotomie staticke vs dynamicke typovani. MJB se naucil Python a na zaklade pouceni od panu Dunninga a Krugera timto pozral salamounovo hovno. Me osobne sice neni jasne, jako ma vyhodu v pripade funkce vypoctu obsahu rectangle(a,b) predat "a" jako string a "b" jako byte array a pak to jak u debilu na dvorku uvnitr funkce kontrolovat, kdo a co mi to vlastne poslal, ale budiz. MJB je presvedcen, ze je toto velika vyhoda. Duvodem je to cituji "krásné nové mladé". Nove jako Python, co je starsi nez java a co je funkcni obdobou starickeho Perlu. A proto, ze je to takova obri vyhoda, proto ze do Pythonu dobastuje typinkg module a vznikl Typescript.
MJB je presvedcen, ze odpor proti dumbing-down je cosi ve stylu frustrovanych duchdcu. Ale kdeze, ja milerad svihnu javou o schody, kdyz vznikne _NECO_LEPSIHO_!!! A ze ve vyhledu (mluvim o pragmatickych mainstream jazycich) nic neni, mozna snad nekdy .Net Core. OMG, vydavat nechut psani long-lifecycle propramy v bastlu, kde se privatni metody znackujou prefixem "__", a atributy objektu se generuji v ramci konstruktoru, za zhrzene duchodce, boze rozboze.
MJB ma obecne velice maly rozhled, duvedem je mmj i nynejsi silny tlak na vysledky. Rychle to upras pomoci cut'n'paste ze Stack Overflow, hlavne si o te technologii nic necti, to zdrzuje. Pouzij technoligii, kterou Google vrati jako prvni, tzv. SEO driven development. A protoze se pise rok 2016 a vsude se pise o Elasticsearch, naser to jako DB backend a vymysli si vlastni notaci pro zapis IPv6 adresnich rozsahu (to vsechno jem realne zazil) A ze Postgres ma nativni podporu pro IPv6? Google ho jako prvni nedal.
Dumbing-down branze je vseobecny. Branzi zmitaj poryvy mody.
Treba Elasticsearch, kdosi vzal Apache Lucene, obalil cluster enginem a voila, mame selmostroj na vsechno. Umi to velice dobre fulltext. Tim to hasne, vsechno ostatni (minimalne v opensource variante) stoji za vylizperdel. Granularita opravneni smesna, zabezpeceni nulove, backup a restore komedie, konsistence dat da li vube bozi. Integrace s BI okolim miziva JDBC/ODBC neumime (nebo mozna uz jo, roky jsem ten bastl nevidel)
Ale neni potreba definovat DB strukturu, neni potreba se nic naucit napr. normalni formy, co tam naseru, to se mi mozna vrati. Pro dumbed-down MJB prvni volba. Myslim, ze autor Elasticsearch byl sam fascinovan tim, kam vsude se jeho fulltext search engine (v teto oblasti velice kvalitni nastroj) dostal.
Nebo InfluxDB, obdobny pripad. Luxusni nastroj na time-series, vsechno ostatni z obecneho DB phledu za vylizperdel
A tak treba Zabbix po letech experimentovani s elastic a influx nasadil TimescaleDB, coz je extenze do Postgresu, ktera umi time series sice hur nez Influx, ale ten Postgres okolo resi problemy, na ktee elastic i influx z vysky kali.
Nebo monitorovaci nastroje, vyvoj sel od prosteho logovani se searchem, pres nastroje s deduplikaci typu Micromuse/Omnibus ke statickym modelum sveta typu Zabbix a dale k modelovani ISO/OSI networks vcetne automaticne root cause analyzy ve stylu EMC Smarts. Pak prisly microservices, tam staticky model udelat nejde, proto prisel Prometheus, technologicky je to navrat do roku 1998 na uroven Micromuse/Omnibus, ale to je spravne, v pripade microservices to jinak nejde.
Pak prijdu na meeting, tam nejaky MJB zacne mektat, proc ze maji ve firme na dohled Cisca drahy EMC Smarts (technologickou spicku), proc to nenahradime Prometheem zadara, je to, opet pouziji citaci: "krásné nové mladé ". Triple facepalm je malo.
Nebo golang, jedine, co stoji za zminku je snadne pouziti korutin primo podporovanych jazykem, v jinych jazycich nutno pouzivat externi knihovnu, popr. je to mene vykonne. Zbytek golangu stoji za vylizperdel. Ale je to tak primitivni, ze gibbon (a tedy i MJB) se to nauzi za odpoledne, takze prvni volba. Opet stejna prisnicka jako u elasticu a influxu, jedna se o niche nastroj pro specificke pouziti (konkrekte Google to ma na svoje microservicy v cloudu), v ramci MJB SEO driven developmentu to zacnem srat vsade.
A tak je to se vsim. Pojdme znovu vynalezat kolo, bude "krásné nové mladé".