Ono to bude o něčem jiném. Google je sběratel osobních údajů a prodejce reklamy, Apple je výrobce designové elektroniky. MS je tradičně SW firma, a zřejmě se nechce pouštět do vývoje automobilů nebo vojenských robotů. Chce poskytovat SW platformu, na které partneři takové věci postaví. Protože je dnes na trhu víc rozšířených platforem, dává smysl, aby MS byl tam kde jsou zákazníci (proto například podporuje Linux v Azure cloudu). Cílem je podle mě to aby bylo možné ve VS napsat univerzální aplikaci pro Windows desktop, telefony, XBox, Hololens, a k tomu také pro Android a iOS. A migrace by měla fungovat i opačným směrem: už teď MS umí wizardem migrovat aplikace z iOS na Windows. Taková strategie podle mě dává smysl, je v souladu s vizí MS.
Moje hlavička už je moc malá, aby pobrala jazyky prvotně funkcionální, které přebírají vlastnosti imperativních. Může tedy být vyspělý jak chce.
Protože jsem odkojený Basicem, Pascalem a C, tak budu inklinovat k jazykům, které jdou původně od imperativních a přidávají funkcionální prvky.
Možná, kdybych byl odkojený Erlangem a Haskelem, tak bych teď preferoval OCaml před c#
To je ale taky hodně zkreslený pohled, ačkoliv jiným směrem. Neustálé hledání ideálního jazyka je fajn, ale pokud chce člověk něčeho dosáhnout, tak se musí soustředit na to, co mu jde nejlépe. Akademická znalost všech existujících jazyků většinou není optimálním přístupem. Ignorování jiných rodin jazyků je proto poměrně racionální volba.
Java jednak nebyla už od začátku "dokončená" (např. podpora unsigned typů se neudělala, protože na to nebyl čas, a s postupem času by přidání bylo kvůli zpětné kompatibilitě by větší a větší problém). A jednak usnula na vavřínech – její vývojáři sami přiznávají, že se od JDK 1.5 hodně inspirovali v jiných jazycích, především v C#.
A jestli je nebo není pozadu, to vůbec není vůbec podstatné pro management v enterprase prostředí, který o jejím použití rozhoduje. Např. u nás v některých starších projektech stále musíme trpět s JDK 1.4, a to ještě s ohledem na určitou kompatibilitu s JDK 1.3 kvůli proprietárnímu JVM pro embedded zařízení. Že bychom jako vývojáři rádi alespoň generické typy, v tomhle případě rozhodně není argument. V novějších projektech jsme sice před asi třemi čtyřmi lety "už" přešli na JDK 1.6, a také u ní určitě ještě pár let zůstanem.
Na druhou stranu, sám za sebe bych si také vybral Javu, ale ty důvody jsou jiné (respektive stejné jako u toho managementu) – široká komunita, nespočet volně dostupných knihoven i vývojové infrastruktury, standardizovaná řešení, přenositelnost, a také docela dobrá jistota, že se alepoň v nejbližších (10+) letech nestanu osamělým vyvrhelem na okraji společnosti ;-)
Nahradil kde? Java byla vždycky hodně jednoduchý jazyk, jenže jeho hlavní výhoda je v nástrojích a obrovskému množství volně dostupných knihoven. A visual studio je daleko za javovskými IDE a volně dostupné knihovny taky nic moc. C# má víc konstrukcí pro psaní kódu, ale rozhodně nic zásadního. Naopak spousta věcí je striktně vázaná na windows.
Jinak když už chceš komplexní jazyk, tak bych si vybral Scalu, která běží právě na JVM.
A visual studio je daleko za javovskými IDE
Lze si nainstalovat ReSharper.
C# má víc konstrukcí pro psaní kódu, ale rozhodně nic zásadního.
Třeba hodnotové typy, reifikovaná generika, expression trees (kvůli jejich absenci Jinq a jiné nástroje musí pracovat přímo s bajtkódem, což je komplikovanější), reference ukazující do objektů, ukazatele a vícedimenzionální pole jsou poměrně zásadní.
Jinak když už chceš komplexní jazyk, tak bych si vybral Scalu, která běží právě na JVM.
Scala trpí absencí TCO na JVM. Tj. funkcionální techniky (např. continuation passing style, monády), jenž závisí na TCO, tam jsou komplikovanější a pomalejší (než třeba v F#), neboť musíte ručně používat trampolíny.
Ad visual studio je daleko za javovskými IDE - které "javovské IDE" máte na mysli? V Eclipse dost trpím, je to pro mě jako používat lopatu místo pinzety.
Ad Java byla vždycky hodně jednoduchý jazyk - souhlas, Java byla pěkný jazyk. Bohužel je to mizerná platforma, na které se spousta trivialit nedá udělat, protože to celé musí být multiplatformní, což se sice nakonec povede jen částečně, ale zato je výsledná aplikace všude cizí. Pak je tu samozřejmě nevalný výkon Javy, opožděný příchod 64-bitové verze, a v posledních letech stagnace vývoje a obrovská spousta bezpečnostních problémů.
Ad Naopak spousta věcí je striktně vázaná na windows - co konkrétně je v C# striktně vázané na Windows?
A visual studio je daleko za javovskými IDE
BTW JetBrains pracují na IDE pro C# , zatím se jmenuje Project Rider.
Mam Windows Phone a nevsimol som si ze by pren bolo malo aplikacii, mam tam vsetko co ostatni whatsapp, viber, uber, skype, Office, fb, instagram, skydrive, dropbox, total commander, a x milon dalsich, co tam chyba? Mozno nejake hry? Neviem hry som na telefone nikdy nehral, ale co sa tyka beznych aplikacii tak sa prave ludia cuduju ze je tam vela apps ktore na iných platformách okrem desktopu nie su. Ale co sa mi na wp paci je rychlost ziadne sekanie ako v androide a zdielanie dat v cloude, aj na telefone aj na desktope aj na tablete pracujem s rovnakymi datami je to navykove, ked som mal teraz tyzden hnusne BlackBerry skoro ma jeblo.
Ze zkušenosti vím, že Windows Phone jsou velmi dobrý systém. Nedostatkem aplikací také netrpím, a fakt mě netrápí, že místo tisíce kalkulaček nebo převodníků měn jich mám ve storu "jenom" stovky. Ale abychom byli fér, v některých situacích je ta horší SW podpora vidět. Když si například kupujete hodinky, fitness tracker nebo dron s ovládáním přes mobil, tak je potřeba se důkladně ujistit, že je HW podporovaný i v kombinaci s Windows Phone. Ale ta kvalita, rychlost, bezproblémovost a bezpečnost Windows Phone/Mobile je pro mě daleko větší hodnotou.
BTW zajímavé čtení: We find that on average 87.7% of Android devices are exposed to at least one of 11 known critical vulnerabilities...
https://www.cl.cam.ac.uk/~drt24/papers/spsm-scoring.pdf
Bezpecnost? To bude asi nejaky vtip. Platforma, kde vyvojari nemaju vo vychodzom stave k dispozicii HTTP klienta so SSL pinningom, platforma, kde sa dala donedavna vyvolat prakticky lubovolna obrazovka z cudzej aplikacie, iba poslanim umne skonstruovanej IPC spravy, je vsetko ine, len nie bezpecna :) WP je pre vyvojarov totalna spatlanina, ktora sa im pod rukami meni snad kazdy rok. Microsoft ma v podstate jedine stastie v tom, ze sa to nerozsirilo, takze to nikoho ani nezaujima. Do mrtveho kona sa nekope...
Mimochodom, z tych mozno 5 dobrych vyvojarov co su v Prahe a realne pracuju na aplikaciach, tak traja pouzivaju na osobnu potrebu iPhone a zvysok tipujem na Android :)
Aplikace, ktere na WP nejsou a potrebuju je:
Polar Beat, Polar Flow, Mobile-Alerts, Jizdni rady, Student Agency, bankovnictvi pro GE Money, Cardio Trainer, Spotify (ale to mozna je), Alza, Mall, Muj Vodafone, SazkaMobil, CT Sport, iVysilani, Samsung View, Samsung SideSync.
Proto i kdyby telefony s WP davali zadarmo, tak proste ani nahodou.
Jo a to vubec nebudu zminovat, ze u WP nemate vubec zadnou jistotu, ze Microsoft celou mobilni divizi rozpustim. Uz ted se mluvi o konci znacky Lumia a vzniku Surface Phone. To ale nicemu stejne nepomuze. Takze za rok, dva nebo tri udela Microsoft telefonum paaa paaa a bude vymalovano.
Souhlas v tom že situace na trhu smartphonů je napjatá. Naprostou většinu zisku si rozdělují Apple a Samsung (jehož podíl na zisku padá), většina ostatních (včetně MS) je na nule nebo prodělává. Zjevně to směřuje k čistění trhu, spousta výrobců skončí. Pro MS jsou ale mobily strategickou záležitostí, takže bych se o jejich budoucnost neobával. Mobily s WM 10 vyrábějí nebo budou vyrábět Acer, HP, Alcatel, Xiaomi, Archos, Freetel, Geanee a další.
Na vašem místě bych se spíš obával o tu miliardu děravých telefonů s Androidem, pro které už nikdy nikdo nevydá záplaty, zvlášť poté co ti výrobci skončí.
BTW HP Elite X3 stojí za zmínku. Jde o velký odolný telefon pro firemní sektor, který se dá použít jako "srdce" notebooku nebo jako desktop. Uvidíme jestli se to uchytí.
https://youtu.be/gCJ9pYuxDNc
Dost z toho jsou prostě web sites, které si na WP můžete natahat na Start screen (na Androidu to často také bude jen app obalující web page). Věci které se týkají HW mohou být víc problematické; tam si holt musíte dát pozor, aby konkrétní HW byl podporovaný s WP. To ale neznamená, že by podpora byla špatná. V oblasti fitness funguje třeba Microsoft Band (2), Fitbit, Adidas myCoach, Misfit, GoPro, Wellograph a další. Zabezpečení a Home Automation: INSTEON, SmartThings, OpLink, Easydom, Verisure, Switch King a další. V dalších oblastech: iVysilani i Spotify jsou pro WP, ČT Sport funguje z webu, pro ovládání televizí Samsung aplikace je (BTW vy ještě máte doma televizi?), a SideSync se řeší jinak (vestavěný klient ve Windows, RDP, OneDrive, steamování přes MiraCast atd).
Takže jak vidíte, s WP to jde také.
Mimochodem jak se díváte na to, že při zkoumání (jen) 11 zranitelností bylo 87.7% zařízení s Androidem nezabezpečených? Zajímal by mě pohled majitele takových telefonů.
Možná by stálo za to ten Android zase po čase zkusit. Z toho, co jmenujete Androidu, nic nechybí. Ano, WP je na slabších telefonech rychlejší, ale když si člověk pořídí trochu slušný telefon, tak s tím nemá problém ani na Androidu. Mám Z5 Compact, který lze dneska pořídit za desítku, a ani po půl roce používání nemám problém s plynulostí systému. Výhody WP tedy moc nevidím, naopak nevýhod vidím celou řadu. Třeba to, že na něj výrobci aplikací zcela kašlou.
Bohužel telefon s Androidem je sázka do loterie. Možná poběží relativně v pohodě. Možná se bude sekat a restartovat, přehřívat a žrát baterku. Možná si stáhnete ze Storu piškvorky, které vám vybílí bankovní konto nebo pošle během měsíce tisíc placených SMS. A možná vám někdo pošle MMS, díky kritické chybě v Androidu vám vybílí vám konto, a ani si nebudete muset nic instalovat. Nakonec to že operátoři kvůli kritickým chybám Androidu zablokovali MMSky snad hovoří za vše. Bohužel ty kritické bezpečnostní problémy cca miliardy telefonů už nikdo neopraví.
Osobně moc nechápu, jak mohou Android používat mohou zdravě (a někteří až nezdravě) paranoidní jedinci, kteří o kus vedle diskutují o tom že je neskutečné šmírování, když OS posílá hlášení o pádu aplikace. Na jejich místě bych telefonu s Androidem nesvěřil snad ani seznam kontaktů. A oni na něm klidně mají uložená hesla, používají ebanking a ssh klienta kterým se připojují na produktivní stroje? OMG.
Jinak není pravda, že by autoři SW na Windows Phone/Mobile kašlali. Kašlou na Firefox OS, Ubuntu Phone, BlackBerry a další. Na WP je situace relativně slušná. Plus bude ještě lepší. Jednak postupně přicházejí Universal Apps, a pak MS vyvíjí převod aplikací z iOS. Koukněte se, jak už v rané beta verzi můžete převést hru pro iOS na nativní aplikaci pro Windows (včetně Windows Phone/Mobile) během pěti minut:
https://www.youtube.com/watch?v=L7Y6YlWuHQ8