Bijna de helft van de ontwikkelaars die nu Visual Basic van Microsoft gebruiken, overweegt over de stappen op meer moderne tools. Dat blijkt uit een onderzoek dat in de Verenigde Staten werd gehouden.
Visual Basic is veruit de meest populaire tool bij professionele ontwikkelaars. Evans Data ondervroeg 600 ontwikkelaars en kwam er achter dat niet minder dan 52% van hen Visual Basic inzette. Volgens Microsoft zijn er in de hele wereld 3 miljoen gebruikers van Visual Basic.
Verontrustend voor Microsoft is dat 42 procent van de ondervraagden aangaf van plan is over te stappen op meer moderne ontwikkeltools. Daarbij dachten we ondermeer aan Java of C#. Het goede nieuws voor Microsoft is dat C# bij zijn Visual Basic klanten stukken populairder is dan Java. Volgens Evans Data is deze beslissing ingegeven doordat nieuwe tools het makkelijker maken om te ontwikkelen voor nieuwe omgevingen of nieuwe toepassingen voor het Internet of voor mobiel gebruik te bouwen.
Een andere opvallende vaststelling uit dit nieuwe onderzoek: de helft van alle ondervraagden zegt dat ze peer-to-peer toepassingen willen gaan ontwikkelen.
‘Verontrustend’ lijkt me niet het juiste woord.
Even de cijfers op een rijtje:
Van de 600 ondervraagde ontwikkelaars gebruiken er 312 Visual Basic. Hiervan geven er 131 aan dat ze meer moderne talen willen gaan gebruiken. Daar zijn er weer 51 van die meer C# willen (en dus microsoft-adept blijven),en 40 die meer Java willen gaan gebruiken.
Er is geen verdere uitspraak over de 288 niet-VB-ers: gaan die misschien juist MEER met microsoft doen? (Het lijkt mij bijvoorbeeld goed mogelijk dat Delphi-gebruikers meer in C# gaan doen)
Er wordt gezegd dat de ondervraagde ontwikkelaars VB ‘reduceren’ of ‘meer gebruik maken van’ java. Wat dus allemaal niet betekent dat men het gebruik van VB afzweert, of dit zelfs maar van plan is.
Developers zijn een zeer belangrijke stuwende groep in ICT-land, maar ik kan me voorstellen dat de CIO’s en architecten ook een beeld hebben van het gebruik van bepaalde tools en omgevingen..en dat de ontwikkelaars daarin volgend zijn binnen een organisatie. (Dit hangt overigens ook af van de breedte van de definitie van ‘developer’)
De conclusie lijkt mij eerder: Microsoft ligt met .net stevig op koers en ontwikkelaars lijken zich te verbreden, wat goed zou kunnen zijn voor de resultaten van ICT.
Wat een onzin! Visual Basic .NET is dus geen moderne tool? Ter informatie, met VB.NET kun je zoveel als met C# alleen sneller. C# geeft je alleen meer mogelijkheden om het naar je eigen smaak te doen. Misschien de volgende keer ff een onderzoek onder echte ontwikkelaars die ook de nieuwe technologieen bijhouden?
Visual Basic is not that a bad or difficult programming language. It’s just got to get more intelligent for a savvy programmer. Languages which will help prograamers(or even penetrators) to develop applications faster will eventually leave the cumbursome languages like visual basics behind.
Rondom VB heeft toch altijd de geur van zolderkamertjesprofessionaliteit (excusez le mot) gehangen. Ik gebruik zelf al jaren Delphi en moe(s)t er niet aan denken om die gestructureerdheid van Pascal (strongly typed) los te laten. Zéker bij database-ontwikkeling.
C-sharp lijkt me aardig als verdere stap in mijn eigen professionaliteit.
Ach als mensen meer ervaring krijgen en complexere zaken willen dan ga je snel low level programeren dat kan zijn C# maar een dyhard kiest dan assembler (ipv de .net runtime).
Hoewel .net wel aardig is opzich platform onafhankelijk, ik gebruik maar 1 platform….
Ik denk dat het normaal is dat er een verloop is in VB gebruikers, zij die vinden dat VB voldoed, en zij die met complexere snellere software formules willen werken. Eerlijkgezegd vanwege de snelheid en compilatie methode kies ik nog steeds voor VB6 met hier en daar assembler, puur C heeft mij nooit aangesproken reden daarvoor is dat ik het een “assembler voor dummies” taal vindt.
Er zijn meestal maar een aantal punten die je snel wildt maken of die specifieke code vereisen de rest alle buttons etc is prima daar voldoet VB goed aan.
Maarja waar zijn de assemblers tegenwoordig?, mensen die nog houden van kleine code?
Een uitstervend ras…
Dat VB aan populariteit verliest heeft niet zo zeer te maken met (het gebrek aan) kracht en precisie van de taal maar met twee grote ontwikkelingen: de verbrowsering van de gebruikersinterface ofwel de opkomst van de webapplicatie en de behoefte aan meer platform-onafhankelijke systeemontwikkeling. VB was ideaal voor client-server achtige toepassingen onder Windows. De toekomst wijst echter naar webapplicaties in een platformonafhankelijke omgeving.
Hadden we iets anders verwacht ?
Waarschijnlijk gebeurt het zelfde over 3 a 4 jaar weer als M$ een nieuwe taal of tool ontwikkeld.
De mainstream programmeertalen (VB, C
, Java, C#?) veranderen waar je bij staat. Je hebt je programma nog niet af, cq opgeleverd of de nieuwe versie staat alweer in de winkel.
Heeft iemand wel eens gedacht aan standaardisatie ? In de professionele, real-time en mission critical wereld wordt Ada gebruikt. Dit is een ISO gestandaardiseerde programmeertaal met vele goede eigenschappen zoals strong-typing, onderhoudbaarheid, leesbaarheid en zelfs een ingebouwd tasking mechanisme (geen interproces communicatie elende meer :-).
Wel fijn als je andermans code kunt lezen ! Ook komen runtime fouten nagenoeg niet voor ! (Geen dangling-else, geen pointer-problematiek, tenzij je dat graag wilt 🙂
Geen wonder dat ze het in vrijwel alle vliegtuigen gebruiken (en ruimtevaart, TGV, etc etc.)
Bovendien bestaan er gratis compilers voor vrijwel alle platforms (Windows, Linux, Solaris .Net etc) en is de compiler ISO gevalideerd en getest !
Heeft iemand ooit de requirements (o.a. taal syntax/semantiek) gelezen voor VB ? Java ? C
(welke? er zijn zo veel versies 🙂
Java
Oracle
Linux Dan heb je een goede huwelijk [er bestaat geen geweldig huwelijk, behalve die van mij ;)]
Dan heb je een platform independent language, platform indepedent database en de goedkoopste maar toch een veiliger OS. (Wij hebben zelf een applicatie ontwikkeld in java die ik samen met mijn partners in oracle gaan loaden en op linux draaien)
Ik denk dat het getuigt van een grote mate van hokjes denken als gesproken wordt over ontwikkelaars die zich zouden binden aan slechts een techniek. Als het gaat om het ontwikkelen van praktische oplossingen in korte tijd is en blijft Visual Basic naar mijn inzicht een uitstekende keuze. Daarbij komt dat met Visual Basic.NET absoluut niet gezegt kan worden dat Visual Basic geen moderne taal is.
Eerlijk gezegd moet ik bekennen dat ik visual basic ook nooit een al te grote rol op de langere termijn heb toebedacht. Visual Basic richt zich hoofdzakelijk op windows clients, dus een grafische user interface.
Het probleem ligt bij het Windows OS. Hoofdzakelijk wordt het ingezet als besturingssysteem voor desktop computers. Als OS voor servers blijkt Windows ver achter te lopen qua izet, zeker als je gaat kijken naar het inzetten als server OS voor gote bedrijfskritische applicaties.
Een ander punt is de benadering in datagericht programmeren en/of procesgericht programmeren. Voor wat betreft het datagericht programmeren kies je nu voornamelijk voor een portable thin client. Gezien de afhankelijkheid van het Windows OS is visual basic hiervoor wel een grafisch gezien mooie optie, maar qua portabiliteit te beperkt. Kijk je naar de mogelijkheden om procesgericht te programmeren, dan moet ik wel bekennen dat het niet onmogelijk is in Visual Basic, doch je mist de lowlevel functionaliteit en de kracht van bijvoorbeeld C
of assembler (de meeste C
compilers kunnen overigens het principe van inline assember code, d.w.z. dat assembler code als code block of als stement kan worden ingevoegd, vergelijkbaar met javascript in HTML). C# is eigenlijk een uitbreiding van C
aan de .net omgeving, met andere woorden met integratie van netservices en XML tools en andere snuiterijen. Afhankelijk van het gebruik van C# ontstaat ook daar de valkuil dat de applicatie niet portable kan worden indien te veel geleund wordt op grafische (windows) functionaliteit.
Er is echetr hoop. Langzamerhand verschijnen er steeds meer code libraries die met de juiste compiler op een ander platform portable kunnen worden ingezet. De sourcecode is dus voor distrubutie portable tussen verschillende OS systemen, en wordt na een compilatie op het doel OS als volwaardige native programmacode gedraaid. Dit is een groot voordeel boven interpreters; zoals bijv. bij HTML gebeurd, alhoewel je HTML echter niet kunt zien als programmeertaal, maar als opmaaktaal.
Mijn verwachting is echter dat er veel meer geprogrammeerd gaat worden op basis van HTML extensies in combinatie met script talen. De business logic zal dan op een application server gedraaid worden met naar believen een database voor dataopslag en benadering. Deze methodiek is ook geschikt voor procesbesturing, alhoewel het daar kan worden teruggebracht tot kleinere of geintegreerde componenten.
Als je heel goed kijt naar de opzet van Windows OS platforms, dan lijkt het alsof Microsoft een soortgelijke strategie volgt voor de opbouw van het OS. De internet browser componenten bijvoorbeeld worden ook gebruikt voor map weergave en visuele effecten. Het is niet voor niets dat Microsoft zich sterk heeft gemaakt voor de IE en dat er bij concurrenten het besef is ontstaan dat een volledige integratie van IE objecten in Windows platforms en een standaardisatie of zeggenschap over alles wat er met het meest gebruikte client OS gebeurd veel spelers buiten spel zou zetten en Microsoft een te grote machtspositie zou geven.
Het is ook afwachten wat de open source gemeenschap gaat doen. Ter illustratie: Ik las laatst een artikel dat een mysql database als enige een acht uur durende extreme duurtest met een zware datagerichte applicatie op vergelijkbare resultaten heeft volbracht als een Oracle 9i omgeving. Beiden waren de absolute uitblinkers. Toch knap van een open source database tegen een commerciële uitgekristalliseerde reus als Oracle 9i ! Het zegt wat over de tendens die we in gaan denk ik. Andere tijden, andere methodieken. Wie zij ook al weer eind jaren zeventig dat client server zijn langste tijd gehad had?