Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 46 reacties

Ontwikkelaars doen er goed aan zich voor te bereiden op intelligente toepassingen die binnen handbereik komen door de analyse van grote hoeveelheden data. Dat zegt Steve Guggenheimer, Chief Evangelist voor ontwikkelaars bij Microsoft in een interview met Tweakers.

Steve GuggenheimerVolgens Guggenheimer is de intelligente toepassing van data-analyse, zoals machine learning en spraak- en beeldherkenning, nu verspreid over afzonderlijke eilandjes. Dit zal echter snel veranderen: "In de afgelopen twintig jaar waren er veranderingen op het gebied van opslag, bandbreedte en rekenkracht. Als je dan nu kijkt hoe alles met de cloud op de achtergrond verbonden raakt, dan zie je dat data in de toekomst de nieuwe olie wordt die de machine draaiende houdt. Ze hebben het nu al over datameren en het zou me niet verbazen dat ze het straks over dataoceanen hebben."

Het resultaat van het steeds beter kunnen analyseren van de groeiende datasets zie je volgens hem zowel bij vr en ar als bij kunstmatige intelligentie en bots. "Het zijn bouwstenen die voor een digitale transformatie zorgen. Naarmate de gebieden samenkomen, neemt de zichtbaarheid toe." Ontwikkelaars kunnen met verschillende tools inhaken op de intelligente data-analyse, zoals met de open bibliotheken OpenNLP voor tekstanalyse, OpenCV voor computer vision en Mahout voor machine learning. Ook grote bedrijven gaan steeds meer over tot het vrijgeven van hun technologie, zoals de Torch-modules van Facebook en TensorFlow van Google. Microsoft heeft zijn Cognitive Toolkit, bot-platform en de set Cognitive Services-api's.

Niet alleen ontwikkelaars zouden er goed aan doen zich hierop te richten, Microsoft zelf doet dit volgens Guggenheimer ook: "Volgens ons is het belang zo groot dat we er een aparte platformgroep voor opgericht hebben, waarin we allerlei andere groepen zoals die voor bots, kunstmatige intelligentie en Cortana-analytics ondergebracht hebben." Die Artificial Intelligence and Research Group bestaat nu uit de onderdelen Microsoft Research, de Information Platform Group, de Bing- en Cortana-groepen en de teams voor Ambient Computing en Robotics.

Volgens de dev-evangelist is Microsoft in de breedte geëvolueerd in de afgelopen tien tot twintig jaren. "Vroeger was computing voornamelijk client-only en kon je je op een enkel platform richten. Nu ons saas-platform en het cloudplatform Azure naast het Windows-platform zijn komen te staan, is het volstrekt logisch dat we het ontwikkelen voor meerdere platformen stimuleren." Hij wijst daarbij bijvoorbeeld op de overname van Xamarin en de komst van Visual Studio naar de Mac, maar ook op het feit dat Microsoft steeds meer projecten opensource maakt en zelfs als betalend lid is toegetreden tot de Linux Foundation. "We hebben ons in onze hele geschiedenis op zoveel mogelijk ontwikkelaars gericht. We weten dat er veel ontwikkelaars Macs gebruiken, het is niet meer dan vanzelfsprekend dat we daarom Visual Studio voor macOS uitbrengen. Hetzelfde geldt voor ons gebruik van GitHub." Wel denkt Guggenheimer dat er verbetering mogelijk is om ontwikkelaars sneller van nieuwe tools te voorzien en zou Microsoft sneller producten en diensten naar meer landen kunnen brengen.

Moderatie-faq Wijzig weergave

Reacties (46)

Ik denk ook dat Machine-Learning een van de belangrijkste nieuwe technologien van de nabije toekomst zal worden, samen met cryptografie/encryption/security. Je ziet meer en meer bedrijven vacatures openzetten voor data-analyse en gerelateerde functies, en ook in de kleine-middelgrote bedrijven hoor ik steeds vaker dat er in deze richting gedacht moet gaan worden.
Het lijkt me (voor mijzelf als ontwikkelaar zijnde) dan ook het ideale moment om hier tijd in te gaan stoppen. Tezijnertijd zullen de meeste ontwikkelaars-functies op z'n minst gebruik moeten kunnen maken van deze technieken, dus is het belangrijk dat de ontwikkelaar er enige kennis van heeft. Zelfs als het niet nodig is om de systemen zelf te schrijven.

En gelukkig zien mijn collegas dat ook in. Er wordt bij ons inmiddels al volop geexperimenteerd met het MS bot-platform en de grove plannen richting automatische data-analyse worden ook al geschetst.
Staan er vacatures open bij jullie? ;)
Bij welk IT bedrijf niet? :P
Ik heb zelf de afgelopen jaren veel tijd geïnvesteerd in OpenCV en Mahout (al vind ik Apache Spark voor sommige zaken ook een valabel alternatief) en kan die keuze's wel begrijpen.

Echter inzake OpenNLP ben ik minder overtuigd, met NLTK (al is Spacy ook veelbelovend) heb je toch een alternatief die toch veel actiever is dan OpenNLP. Laatste release was in 2015 dacht ik na een stilte van 2 jaar.
Uiteindelijk gaat het niet zozeer om het framework maar meer om wat je ermee doet. Er is enorm veel overlap tussen de verschillende Cloud platformen en/of open source frameworks. Het juist kunnen toepassen daarvan (statistisch correct, geen overfit, geen data-leakage, etc) is een stuk meer dan een lijstje afvinken met technieken (alla wat je ziet/zag in de CS met de talen).
Op wat moeten we ons nu voorbereiden? Stel een klant wil stemherkenning. Dan komt nu de speech recognition API van Microsoft voor in aanmerking. Je leest de documentatie, bekijkt vooral de voorbeelden. Misschien dat we vroeger moesten zeggen dat het niet mogelijk is, terwijl het nu wel allemaal mogelijk is.

[Reactie gewijzigd door biglia op 29 november 2016 13:32]

Ik zou zeggen, bereid je voor op dat klanten het gaan vragen. Dus begin met experimenteren en leren, want een bedrijf die concreet kan aantonen dat ze de techniek onder de knie hebben krijgen opdrachten doorgaans sneller dan bedrijven die alleen maar kunnen aangeven dat het mogelijk is. Tenminste, dat is mijn ervaring met suks.
"data in de toekomst de nieuwe olie wordt"

Dat zal voor de toekomst zeker vast gelden. En dat is ook prima, zolang de eigenaar van die data er 100% achter staat dat die voor zoiets wordt gebruikt.


Bijvoorbeeld, wanneer ik een APP toegang geef tot mijn contactpersoonen, dat dat dan enkel gebruikt wordt waarvoor k die toegang geef, bijvoorbeeld om in de app vrienden te vinden die de app ook hebben. Niet voor een wetenschappelijk onderzoek naar netwerken van contactpersonen gerelateerd aan locatie, leeftijd en opleidingsnivau... Tenzij ik in de app met een opt-in aan geef dat dat mag.
Ze gaan je wel forceren hoor. Kijk maar naar de IKEA. Als ik een hotdog wil, krijg je korting als je je ikea family card laat zien en scannen.

Maar nu wat het daadwerkelijk is: Alles is gewoon duurder zonder IKEA pas, je wordt gewoon geforceerd om zo'n pas te gebruiken anders is het extra duur voor jou. Het is niet extra goedkoop wanneer je de IKEA pas gebruikt. Nee, met IKEA pas is het de normale prijs.

Bedrijven zullen straks gewoon jou forceren door allerlei middelen om jou gegevens afhandig te krijgen.
Zoveel korting geeft zon pas niet. Dat soort rommel gebruik ik dus niet.
Of dat het gewoon in de voorwaarden staat natuurlijk
Grootste probleem wordt dat voor de data in die meren en oceanen de bedrijven als Google en Microsoft geld vragen wat de meesten er op dit moment niet voor over hebben. In ieder geval niet de gewone burger.

Ik denk dat de prijs voor toegang tot de info gaat bepalen of dit een succes wordt of niet.
Judgement Day komt steeds dichterbij.
"Wel denkt Guggenheimer dat er verbetering mogelijk is om ontwikkelaars sneller van nieuwe tools te voorzien en zou Microsoft sneller producten en diensten naar meer landen kunnen brengen."

Mag ik aannemen dat hier een Benelux&cortanagerelateerde vraag gesteld is?
Ik denk in z'n algemeenheid. Het speelt bijvoorbeeld ook voor server locaties ivm het opslaan van medische data (landen en/of ziekenhuizen hebben vaak restricties omtrent de locatie waar de medische data wordt opgeslagen). Mede omdat het onderwerp Azure vlak daarvoor is aangesneden en het momenteel een van de grotere use cases is van intelligente data toepassingen.

[Reactie gewijzigd door limar op 29 november 2016 13:08]

Het zit er hopelijk aan te komen. Ik zag gisteren toevallig bij het overlopen van de documentatie dat de speech recognition API van de cognitive services ondersteuning biedt voor Nederlands, zie hier: https://www.microsoft.com...pi/documentation/overview

Heb helaas nog geen tijd gehad om e.e.a. uit te proberen.
Nieuwe olie? Uitputtelijk en in handen van dubieuze regimes?
Tja, Google en Microsoft zijn allebei Amerikaans, en na de laatste verkiezing daar kan je inderdaad wel over een dubieus regime spreken :)
Nee, je wilt Hillary die eigenlijk niks anders kan doen dan luisteren naar haar sponsoren en lobbyisten en wallstreet. Je weet wel de president die zich helemaal liet inpakken toch? (Bill Clinton) welke volledig op wallstreet ging vertrouwen en daardoor de derivaten markt helemaal onbeschermd liet en dat daardoor de grote crisis van 2008 is ontstaan.

Nee, Hillary wil je hebben!! NOT. De clintons zijn gewoon poppetjes van wallstreet. Je even verdiepen is denk ik niet erg voordat je onzin gaat roepen. :)

[Reactie gewijzigd door Texamicz op 29 november 2016 19:42]

Trump lijkt me meer een gevolg van voorgaande regeringen. Natuurlijke correctie.
Nieuwe olie? Uitputtelijk en in handen van dubieuze regimes?
Weinig waard in in ongeraffineerde vorm, het is van niemand maar er zijn machtswellustelingen die zich 'eigenaar' noemen, kost energie om te produceren, gecentraliseerde 'points of weakness', doelwit voor kwaadwillenden, de lobby ervan bepaalt de internationale wetgeving en mensen denken dat ze niet zonder kunnen: Een van de weinige geslaagde auto-metaforen op Tweakers ;)
Mja, ik ben nog niet overtuigd. Die hele datatechnologie staat nog in de kinderschoenen. Het gaat nog jaren duren voordat dit over de brede linie echt wat opleverd. Nu kan je je winst echt beter ergens anders pakken
Ik ben het deels met je eens in die zin dat er nog heel veel evolutie en beweging is en weinig stabiliteit. Verder merk ik ook o.a. in mijn eigen bedrijf dat er wel heel veel data wordt opgeslagen (storage kost toch niks meer, krijg ik dan te horen), maar het vaak ontbreekt aan een visie over wat men nu precies wenst te bereiken met die data. De principes die ook bij een klassiek datawarehouse gelden worden in die zin vaak achterwege gelaten en vaak staart men zich blind op de technologie zonder een concreet doel voor ogen. Managers en architecten wanen zich vaak tenonrechte het volgende Google, Netflix, Spotify of Facebook (en maken ook luidop die vergelijking), waarbij ze vaak hun doorgaans compleet verschillende business uit het oog verliezen. Tenslotte merk ik ook dat privacy op het gebied van gegevens vaak verwaardloosd wordt en zelfs vrij elementaire regels m.b.t. beveiliging en afscherming zelden worden nageleefd, dit terwijl de regels hieromtrent net veel strenger geworden zijn. Dit ligt doorgaans niet zozeer aan de technologie op zich die doorgaans wel de mogelijkheid biedt (al helpt het volatiel en dynamisch karakter natuurlijk niet en is het vaak moeilijk om mensen met degelijke kennis te vinden), maar eerder aan de mindset die er dezer dagen lijkt te heersen hieromtrent. Men ligt er blijkbaar allemaal niet wakker van.
Ik kwam vroeger redelijk wat .NET Developers tegen met hun MacBook waarmee ze Visual Studio in een virtuele omgeving hadden draaien.
Check! De MacBook is was de beste development machine. Tenminste de 2011/2012 lichting toen alles nog niet aan elkaar vast gelijmd was. Je kunt zowel Mac OS X als Linux als Windows erop draaien. Parallels om Windows binnen te draaien, 16 GB en een SSD erin en het ding draait nog steeds als een zonnetje. Ik gebruik voor mijn werk al 2 API's van Microsoft: de Cognitive Service om te herkennen wat een plaatje is dat de gebruiker upload en deze woorden vervolgens in het nederlands te vertalen met hun Translation API.

[Reactie gewijzigd door xamurai op 29 november 2016 16:05]

Ik ben een dev en werk in OS X. Leg eens uit, waarom ben ik op mijn achterhoofd gevallen?

[Reactie gewijzigd door Gamebuster op 29 november 2016 14:38]

Wat is er mis met de hardware in macs? Windows laptops zijn net zo weinig aanpasbaar als macs tegenwoordig (of misschien altijd al geweest), en voor de meeste taken is het snelste van het snelste gewoon overkill. De hardware in macs is juist van goede kwaliteit, waar ze in andere machines nog wel eens goedkope meuk stoppen om het betaalbaar te houden.

Ik werk overigens niet op macs, voordat ik weer fanboy verwijten naar m'n hoofd krijg. Ik draai al meer dan 10 jaar alleen nog maar Linux.
Het gaat mij ook niet om de snelheid zelf, maar dat de hardwarekeuze aan apple's zijde alles behalve gebalanceerd is. Dat komt prijs/prestatie alles-behalve ten goede. Iets wat m.i. zeker bij devs mee mag spelen, dat het mee moet spelen is enkel mijn mening.

Als developer heb je veelal als je het als contrast bekijkt de optie te gaan voor twee gebalanceerde systemen die alles inclusief hackintosh kunnen draaien (meer machines is meer testbaar) ipv een dan relatief over-priced apple machine. de afgelopen 2 generaties mbp (als makkelijkste voorbeeld) is dat erg goed merkbaar.
Alhoewel mij de laatste generatie mbp ook niet aanspreekt (ik zou nooit een laptop zonder ethernetpoort kopen), ben ik het niet met je prijsargument eens. Ik hoef geen 2 machines (je kunt er toch maar 1 tegelijk bedienen, en het is 2 keer zoveel onderhoud). Liever dus 1 goede voor meer geld dan meer nutteloze hardware.

Hackintosh zou ik ook niet aan beginnen. Je weet nooit of het nog werkt na een upgrade. Ik heb vroeger al teveel gelazer gehad met Fedora Rawhide om niet-ondersteunde software te willen draaien.

Verder scheer je devs teveel over 1 kam. Ik zit thuis nog achter een core 2 duo want die voldoet prima (op kantoor wel een i7, want daar hoef ik zelf niet voor te betalen, en thuis een i5 server). Ik gebruik geen gecompileerde talen, dus zolang alles in realtime snel genoeg werkt, waarom geld uitgeven voor een upgrade die je niet nodig hebt? Er zijn al genoeg dingen in het leven die geld kosten.
Ik zou eerder stellen dat teveel mensen zich met de dev-kam strijken, maar snap je insteek compleet.

Als hardware nog voldoet, voldoet het gewoon, daar zou ik dan ook niet tegenin gaan (draai zelf ook nog een q6600 naast mn workstation), daarbovenop is het niet te vroeg vervangen van hardware dé manier om price-performance te versterken.

Mijn starre standpunt is ook vooral ontstaan omdat m.i. een developer zich zeer bewust moet zijn waar deze in investeert vergeleken met de eindgebruiker, op het moment dat je duurdere hardware aanschaft met dezelfde interne technieken (chipset-, gpu-, cpu-type) vraag ik mij gewoon af waar die support "daadwerkelijk" geleverd wordt, er is immers geen daadwerkelijk technisch verschil. Dat is zelfs te merken gebaseerd op hoeveel minder moeite ik de afgelopen jaren heb hoeven verrichten om hackintosh te draaien. Of heb ik daarin absurd veel geluk gehad? Dat laatste lijkt mij oprecht stug.
Bij Apple betaal je dus niet voor duurdere hardware maar voor een totaaloplossing. De software kost namelijk ook geld. En ze vertellen je niet hoeveel de hardware kost en hoeveel de software. En ze verkopen de hardware ook niet zonder OS. Het blijft dus lastig vergelijken.

Natuurlijk ben je goedkoper uit met losse hardware en hackintosh. Maar dan heb je ook geen ondersteuning en eigenlijk is het gewoon illegaal, aangezien OS X helemaal niet gratis is maar verwerkt zit in de prijs. Maar zomaar stellen dat Apple te duur is omdat je het met wat hobbieën goedkoper kunt is een kromme vergelijking.
Ik weet niet wat jij per uur vangt maar even een hackintosh opzetten kost me aardig wat werkuren en dan heb ik geen garantie. Het prijsverschil om maar gewoon de dikste uitvoering te halen heb ik in een dag terugverdiend
Het aantal devs met Macbooks groeit alleen maar, wat wil je daarmee zeggen dan? Je kan de meeste mainstream applicaties erop draaien + je hebt Unix compliant OS.
Ben je zelf een developer? Ga eens naar een conferentie, en je ziet dat de meerderheid met een MacBook Pro rondloopt. (Ik heb er zelf overigens geen, ik heb een laptop met Windows 10 en gebruik op dit moment op het werk een PC met Ubuntu).
Ik vind mensen die alleen maar op Microsoft technologie zitten te leunen zoals het .NET framework ook geen echte developers. Want dan loop je alleen maar achter de belangen van Microsoft aan. En niet die van jouzelf als developer. Waarom niet Rust, Erlang, C++, Python. Welke GEEN grote eigen belangen hebben.
het gaat er natuurlijk om zoveel mogelijk dingen te kunnen doen met jou geschreven programma. Met .NET core kun je tegelijkertijd voor iOS, Mac OS, Tizen, Android Linux en ook Windows programmeren. De meerderheid van de anderhalf miljoen Xamarin develpers schrijven allemaal alleen voor ios en android en hebben nog nooit voor windows geschreven.
.NET is ideaal als je target platform gewoon Windows is hoor. Het biedt een hoop API's en dergelijke om snel en gemakkelijk programma's te schrijven. Uiteraard moet je dat niet (als eerste keuze) gaan gebruiken voor een cross-platform oplossing of een embedded applicatie (Waar je sowieso C wilt gebruiken). Wat je ook ziet is dat er nog maar heel weinig mensen zijn die C of C++ kunnen schrijven en ik zie bij meerdere bedrijven de overstap naar .NET i.c.m. C# omdat hier gewoonweg gemakkelijker mensen voor te vinden zijn. Of dit een goede zaak is weet ik niet hoor, ik geef ook de voorkeur aan C++/(inline)ASM/Python etc. maar .NET bied zeker een hoop handige functionaliteit die je anders zelf moet implementeren of waar je libraries voor moet gebruiken.
Ik zie elke taal als een "tool" en geen enkele taal is het beste. Elke taal heeft zijn sterke en zwakke punten.

Welk "doel" heeft C# als tool in deze wereld. Ik lees het als general purpose language. Dat het een draait in een runtime die allerlei optimalisatie technieken en aan garbage collecting doet kan een voordeel zijn, maar ook een nadeel als je precies wilt weten wat je applicatie doet en dat er geen onbekende factoren meespelen zoals in real-time applicaties.

Is C# eigenlijk gewoon bedoelt voor desktop applicaties, mobile applicaties welke draaien op een OS zonder enige kritische eisen? (Zoals een beademingsapparaat in het ziekenhuis bijvoorbeeld)

Is .NET dan populair omdat het zo gebruiksvriendelijk is en omdat er gewoon heel veel libraries zijn, en dat het vaak als api taal gebruikt wordt voor andere non-kritische applicaties op o.a. desktop en andere applicaties die op een OS draaien waar .NET kan draaien?

Zou je bijvoorbeeld C++ kiezen in de industrie? Denk aan Gas & Oil, Marine, Healthcare, Aerospace, Industrial Control, Robots, transport.
Of C#?
Met de overstap doelde ik meer op niet realtime applicatie :9 er zijn zat bedrijven die desktop applicaties nog in C++ en dergelijke ontwikkelen. (En als diehard C++ fan ben ik het daar soms zelfs niet mee eens)

C# is inderdaad vooral handig voor desktop applicaties (mits je wat maakt voor het Windows platform). Omdat heel veel al geregeld is het .NET framework kan hier heel snel een applicatie in ontwikkeld worden.

Overigens zou ik in de takken van Industrial Control & Robots eerder voor C gaan aangezien men met realtime systemen werkt hier. C++ Maakt gebruikt van classes en op embedded niveau (vooral op kritieke systemen) wil je geen dynamische allocaties gebruiken.

Anderzijds zou ik inderdaad geen C# willen gebruiken voor het programmeren van een beademingsapparaat. Want: .NET en garbage collecting.

Overigens heb ik ook al wel eens de talen gecombineerd hoor. Aangezien je met C# ook gebruik kan maken van WPF (Geweldig dat XAML) en je dus zeer snel een mooie interface kan bouwen. Door deze vervolgens te koppelen aan embedded systemen (voor bijvoorbeeld data verzameling of monitoring voor een eindgebruiker met behulp van een GUI) die met C geprogrammeerd zijn heb je uiteindelijk een combinatie waarbij je de beste middelen kiest voor elk onderdeel van een systeem.

Nogmaals, als het eindplatform met zekerheid Windows is en je er dus gebruik van kan maken: waarom niet? 80% van het werk is voor je gedaan in .NET (denk aan XML Parsing, Seriële communicatie, File I/O met alles erop en eraan) waar je met bijvoorbeeld C++ vaak weer naar libraries aan het zoeken bent. Dus ik denk dat het inderdaad om deze reden populair is.

Uiteindelijk kies je gewoon wat je het fijnste vind werken en wat het beste bij het beoogde resultaat past. Mocht dit toevallig Python zijn dan is het ook helemaal prima. Er is echter geen reden om géén .NET te gebruiken op een Windows systeem. Maar realtime? Nope. C + assembly :)
Met .NET is de TimeToMarket vaak een stuk gunstiger dan met c++ en soortgelijke talen. De vraag is dan wat een ' echte' developer is. Iemand die hardcore alles zelf wil doen, of iemand die het juiste gereedschap pakt om de job zo efficient mogelijk te klaren.
Wat een onzin... Zie mijn i7 quad core 16gb MBP maar eens bij te houden met een netbook. Misschien lukt het je met performance per euro, maar verder niet


Om te kunnen reageren moet je ingelogd zijn



Nintendo Switch Google Pixel Sony PlayStation VR Samsung Galaxy S8 Apple iPhone 7 Dishonored 2 Google Android 7.x Watch_Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True