Begrijp me niet verkeerd ik vind dat Microsoft goed bezig is. Maar er zullen keuzes door Microsoft gemaakt moeten worden. Je geeft zelf aan dat ze framework en productivity tools bieden. En daarmee dekken ze niet de hele "development cycle". Application lifecyclemanagement, code generatie en modellering zijn gebiedenr waarin ze nog heel wat kunnen verbeteren.Alex schreef op maandag 21 december 2009 @ 09:51:
@OMX2000 MS maakt haar software steeds meer via haar eigen dogfood. Voorbeeld hiervan is VS2010 zelf wat geschreven is voor een groot gedeelte in .NET zelf.
Maar er zijn nog steeds pakketten zoals Office die 'gewoon' in C++ worden geschreven. Je gaat immers een dergelijke suite niet zomaar herschrijven. Hoewel in Office 2010 een gedeelte van de front-end al wel .NET is.
Maar veel server-apps zoals IIS, Biztalk, SQL Server en vele andere draaien al tijden of hosten .NET.
Ik vraag me sterk af wat jij bruikbaarheid vind. Microsoft schrijft een framework en productivity tools, je zult toch echt wel zelf e.e.a. moeten gaan definiëren.
Er is een zeer goede DSL Toolkit, zie ook http://msdn.microsoft.com/en-us/library/bb126235.aspx
Maar het ontbreekt developers en architecten aan hoe hiermee te werken. Natuurlijk is dit pas stap 1 van 30, maar als je kijkt naar adoptie, dan zie je toch steeds vaker DSL initiatieven.
Wat betreft Project Oslo en "M", daar weet ik 100% zeker van dat je het zelf niet snapt. Wat Microsoft daar probeerd is het opzetten van een DSL environment met de mogelijkheid tot zelfleerzaamheid, repositories en human intelligence. Talen als "M" zorgen ervoor dat DSL's niet enkel visueel hoeven te zijn, maar ze straks ook dichter bij menselijke talen liggen. Daarbij zorgt de implementatie van "M" juist ervoor dat het beter te visualiseren is. Dit soort projecten zijn ground-breaking, innovatief maar verre van begrijpelijk voor de general purpose.
Ook zie je in Oslo heel duidelijk dat zowel transformatie als generatie mogelijk zijn. De ervaringen met DSLs hebben immers uitgewezen dat enkel transformatie voor problemen zorgt in oa beheersbaarheid.
Ik weet niet wat je exact. Bewoord eens concreet wat je teveel tijd kost. Je geeft aan dat je lang niet intensief geprogrammeerd hebt, dan zal je dus de library community ook neit gevolgd hebben... Daarin zag je juist de afgelopen jaren flinke verschuivingen.
Microsoft levert dus een deel van de tooling die nodig is om het hele ontwikkel/beheer/onderhoud van een toepassing te ondersteunen. Microsoft zal nauwer met partners moeten gaan samenwerken om wel een complete toolset te bieden om alles. Op dit moment worden in de praktijk veel activiteiten gevangen in werkinstructies, die goed zijn te automatiseren.
En bruikbaarheid is niet meer knoppen, maar slimmere knoppen. VS gaat een beetje de Word kant op, waarbij je nog maar 20% van de functionaliteit gebruikt. Laat een paar usabililty specialisten erna kijken, en ik weet zeker dat een hoop functionaliteit "slimmer" gemaakt kan worden.
Dat ik "M" niet snap... tja. Ik ben op dit moment niet heel erg geïnteresseerd in de details van de technologie, maar in de resultaten die er behaald kunnen worden. En in mijn ogen kost het relatief veel tijd om een taal te ontwikkelen. Daarbij geloof ik zeker dat grafische DSL's het meeste opleveren. Een visuele taal, waarbij je met patterns werkt die ook nog eens visueel te onderscheiden zijn werkt enorm gunstig voor de productiviteit. Ik was een stuk gelukkiger geworden als MS de DSL toolkit zou hebben doorontwikkeld.
Mensen zijn juist slecht in niet visuele talen. Laat 10 willekeurige personen iemand een stuk functionaliteit beschrijven en er komen 10 compleet verschillende verhalen in 10 verschillende stijlen uit. Je kunt misschien wel een "human language" ontwikkelen, maar ik geloof niet dat je daar heel veel mee gaat winnen.
En zoieso is het niet ground breaking.. alles uit Project OSLO en "M" is al eerder gedaan tenzij je de samenwerking van alle losse onderdelen als innovatie ziet, dan heb je enigszins gelijk.
Ik zie niet helemaal in waarom transformatie en generatie niet goed gaat middels een DSL? Mijn praktijk ervaring is dat transformatie en generatie juist heel goed gaat. Ook qua beheer
Dit baseer ik trouwens op praktijk ervaring met een product wat een ontwikkelomgeving biedt die voornamelijk met visuele modellen werkt. Daarnaast biedt het application lifecyclemanagement aan die het deployen en stagen van applicaties vereenvoudigd. Wat mij hierbij opviel is dat je heel weinig tijd nodig hebt om andermans code te begrijpen (handig voor onderhoud).
Microsoft is altijd heel goed geweest in talen en tooling die pragmatisch van aard is. Daar zie ik vooral de kracht van VS. Zodra er allerlei "moeilijke" dingen gedaan worden zoals met "M" denk ik dat ze een grote groep ontwikkelaars verliezen. Zeker gezien het feit dat de tegenwoordig makkelijker (bijv Ruby on Rails), geen taboe meer is, maar resultaten belangrijker zijn dan allerlei coole technologieen (lees: the Java way).
Dus ja er is een markt voor "M" maar ik vind dat Microsoft snel met goede overtuigende praktijkvoorbeelden moet komen.
Dè developers podcast in je moerstaal : CodeKlets Podcast