Archiv der Kategorie: Entwickler-News

Neugigkeiten und Trends für Developers

Wie kundenfreundlich ist Microsoft – Visual Studio 2017 auf die harte Tour installieren

Kundefreundlichkeit bzw. Kundennähe sollte für große Konzerne eigentlich selbstverständlich sein. Auch bei Microsoft hört man allzu oft ein „We love our customers“ oder „We listen to our customers“. „Customer first“ oder „Developer first“ heißt die Devise sicher nicht, sondern eher „Cloud first“ und wer nicht mitzieht, den lassen wir früher oder später im Regen stehen.

Bei Visual Studio habe ich den Verdacht, dass es wohl etwas früher passieren wird. Kurze Release-Zyklen, Updates mit Fehlern (etwa ein ATL-Assistent, der einfach nicht startet oder gleich nach dem Start abstürzt) und vor allem eine gigantische Installation, da von C++ für Linux, Spielentwicklung für Unity, Android rauf und runter und jede Menge anderer Projekttypen, die 90% aller Entwickler niemals benötigen wird.

Das Ergebnis ist, dass der Installationsumfang von Visual Studio 2017 inzwischen auf gigantische 50 GB anstiegen sind. Da die IDE normalerweise über einen Webinstalliert installiert, der einem suggeriert man hätte einen echten Einfluss auf den tatsächlichen Umfang der Installation (unter 20 GB scheint es nicht zug ehen), fällt dieser Umstand bei einer schnellen Internet-Verbindung im Allgemeinen nicht auf.

Als ich vor ein paar Tagen Visual Studio 2017 in einer VM installieren wollte, da mir das Einrichten des Remote Debuggers zu umständlich war, da die zu debuggende Anwendung durch eine andere Anwendung zuerst gestartet wird und ich den Debugger an diesen Prozess hätte anhängen müssen, kam ich schnell dahinter, dass es eine ISO für VS 2017 nicht mehr gibt. Die offizielle Begründung klingt auch pausibel: Der Installationsumfang wäre einfach zu groß. Eine 50 GB große ISO will man nicht zum Download zur Verfügung stellen.

Auf die Idee, den Installationsumfang zu verkleinern oder ein „Visual Studio Core“ anzubieten, das wirklich nur die erforderlichen Komponenten für die gute, alte Entwicklung von Desktop-Anwendungen in C# enthält, kam man offenbar nicht. Das wäre vermutlich zu viel Kundennähe.

So bleiben nur zwei Optionen:

>Den offziell empfohlenen Weg über den Download aller Dateien in ein Verzeichnis

>Die Verwendung von VS 2015, das nach wie vor als ISO-Datei enthalten ist.

Auch wenn der folgende Befehl nach gefühlt ca. 2 Stunden zum Ergebnis geführt hat:

.\vs_community.exe –layout E:\VS2017\ –add Microsoft.VisualStudio.Workload.ManagedDesktop

habe ich mich doch für Variante 1 entschieden.

Kundenfreundlichkeit heißt für mich, dass der Hersteller auf seine Kunden hört und bei echten Anforderungen eine Lösung anbietet. Wie groß das Interesse an einer ISO-Datei nach wie vor ist, macht die Diskussion im UserVoice-Forum eindrucksvoll deutlich:

https://visualstudio.uservoice.com/forums/121579-visual-studio-ide/suggestions/17541385-please-make-iso-files-for-visual-studio-2017

Wer der Meinung ist, dass es eine ISO-Datei geben sollte, sollte hier abstimmen. Da das „we are listening“ noch vom März 2017 stammt und in ca. 15 Monaten nichts passiert ist, glaube ich allerdings nicht, dass es eine Einsicht geben wird (die zumal mit erheblichem Aufwand verbunden sein dürfte – wie beschäftigt das Visual Studio-Team mit allen möglichen Erweiterungen ist, macht die offizielle Roadmap eindrucksvoll deutlich: https://docs.microsoft.com/en-us/visualstudio/productinfo/vs2018-roadmap).

Schade, dass die Entwicklung von SharpDevelop eingestellt wurde. Eine schlanke IDE mit integriertem Debugger wäre in einigen Fällen äußerst praktisch (wobei mir gerade einfällt, dass die letzte freigegebene Version 5.0 eventuell mein Problem lösen könnte;)

Dauert ewig, führt aber zum Erfolg – die Offline-Installation von Visual Studio 2017

Es ist Build-Konferenz und keiner geht hin?

Nächste Woche (vom 7. bis 9. Mai 2018) findet die diesjährige Build-Konferenzz in Seattle in den USA statt, in der es wie jedes Jahr um die neuesten Microsoft-Technologien für Entwickler geht. Während die Build 2017 innerhalb weniger Stunden ausverkauft war, sind für die diesjährige Konferenz laut Webseite https://register.build.microsoft.com/register immer noch Karten zu erhalten. Da der Konferenzort mit dem Seattle Convention Center derselbe ist wie letztes Jahr und nicht vergrößert wurde, muss es deutlich weniger Interesse geben.

Folgende Gründe sind für mich dafür verantwortlich:

>Microsoft entfernt sich Jahr zu Jahr mehr von ihrer Kernklientel, deren Treue in den 90er Jahren ein wesentlicher Faktor für den rasanten Aufstieg zum Software-Imperium (und Monopolisten) war.

Die Themen der Build 2018 sind für mich eine Art Gemischtwarenladen. Es gibt ca. 350 Vorträge (also mehr als 80 an einem Tag). Während man die klassischen Entwicklerthemen regelrecht im Konferenzprogramm suchen muss (keine Sorge, „The future of C#“ gibt es auch dieses Jahr), handeln geschätzt 80% alle Vorträge um Azure, Machine Learning, mobile Anwendungen und andere Themen. Teilweise hochinteressant, keine Frage, teilweise auch innovativ und mit Sicherheit relevant für die kommenden Jahre, aber für mich sind es in erster Linie Nischenthemen.

Das Thema Cloud interessiert auch im Jahr 2018 nur eine Minderheit der Entwickler. Microsoft mag mit ihrer Cloud-Plattform Azure Gewinne einfahren (in erster Linie vermutlich durch Office 365 und weil manche aus Bequemlichkeit Dienste nicht kündigen, so dass der Gebührenzähler weiterläuft – mir fällt spontan jemand ein, der schon relativ Geld auf diese Weise verbraten hat), für die Mehrheit der Entwickler ist Azure einfach kein Thema. Visual Studio Online aka VSTS ok, ein paar VMs zum Testen betreiben auch noch, eventuell noch ein paar Dienste ausprobieren, aber ganz auf die Cloud setzen, das eher nicht.

>Microsoft nimmt seine Entwickler immer weniger ernst. Jedes Jahr neue Techniken, Tools und APIs, jedes Jahr Übersichtsvorträge und Vorträge auf 100er und 200er-Level, in denen mit einfachen Beispielen unterlegt ein Einstieg in ein vollkommen neues Thema ermöglicht werden soll.

>Microsoft-Konferenzen wurden über die Jahre immer unattraktiver. Die große Begeisterung für neue Themen lassen sich nicht mehr entfachen. Dazu haben auch gescheiterte Projekte wie Windows 8 (wer erinnert sich noch an den Metro-Hype?), WinRT oder Windows Mobile beigetragen. Von eingestellten Projekten (Silverlight) gar nicht zu reden.
Die Liste der gescheiterten Projekte, die auf einer der PDC-Konferenzen, dem Vorläufer der Build, in den Jahren 2001 bis 2005 groß angekündigt wurden, ist leider lang. Spontan fallen mir Hailstorm, WinFx und M ein.

Wer jahrelang auf die Mix-Konferenzen gegangen ist, auf denen regelmäßig neue Versionen von Silverlight angekündigt wurden, wird sich auch fragen, ob sich der ganze Aufwand gelohnt hat (Las Vegas ist natürlich immer eine Reise wert).

>Mit 2500 USD ist die Teilnahme nicht gerade preiswert. Dafür gibt es nur 3 Tage Konferenz.

>Zeitgleich zur Build findet dieses Jahr die Google-Entwicklerkonferenz IO statt. Ob es Zufall oder Absicht kann ich nicht beurteilen. Klug war diese Entscheidung sicher nicht.

Alles in allem tut Microsoft einiges dafür, dass langjährige Entwickler ganz einfach das Interesse verlieren und eventuell einfach nur noch feststellen „Build? War da was?“

Für mich war die Eröffnungskeynote einer Build in den letzten Jahren immer ein Pflichttermin. Dieses Jahr werde ich einmal reinschauen, allerdings ohne allzu große Erwartungen.

Bye, bye LightSwitch – ein paar Alternativen (to be continued)

LightSwitch war eine gute Idee, die leider nicht gut genug umgesetzt wurde und am Ende aus mehreren Gründen scheiterte. An der Nachfrage kann es nicht gelegen haben. Im Gegenteil. Wenn ein Entwicklerwerkzeug von Microsoft kommt, besitzt es automatisch einen höheren Stellenwert als wenn der Hersteller eine unbekannte Softwarefirma ist. Es wird automatisch darüber auf allen Kanälen berichtet, Buchverlage kündigen Bücher an bevor das Produkt offiziell erhältlich ist, es gibt Schulungen, es gibt die ersten MPVs, es ist ein Thema auf Konferenzen – kurz, es gibt jede Menge kostenloser Werbung.

Eine Erfolgsgarantie geht damit aber nicht automatisch einher (wer erinnert sich noch an Quick Pascal, mit Microsoft Ende der 80er Jahre für eine kurze Zeit versuchte Turbo Pascal ein wenig Konkurrenz zu machen).

LightSwitch war bis VS 2015 noch ein offizieller Bestandteil von Visual Studio. Sogar als Teil der Community Edition. Beim aktuellen VS 2017 ist es leider nicht mehr dabei.

Kurzer Exkurs: Das Attribut „tot“ besitzt in der Softwarebranche bekanntlich eine eigene Bedeutung. Ich habe des Öfteren die Erfahrung gemacht, dass „tot“ gesagte Produkte eine eigene Dynamik entwickeln (der Brotkasten C64 ist das beste Beispiel. Erst nachdem die Produktion offiziell eingestellt wurde, ging es erst richtig los in der Zubehörszene).

LightSwitch kann also nach wie vor für die Entwicklung von Anwendung verwendet werden, man benötigt aber VS 2015. Wie es mit der kostenlosen Community Editon funktioniert beschreibt (Ex-) LightSwitch-Guru Michael Washington auf seiner Webseite:

http://lightswitchhelpwebsite.com/Blog/tabid/61/EntryId/3286/How-To-Get-Visual-Studio-LightSwitch-For-Free.aspx

Ein Heise-News-Beitrag von Alexander Neumann beschreibt zwar, dass Microsoft die Entwicklung von LightSwitch eingestellt hat, ich konnte aber bei Microsoft selber nichts finden:

https://www.heise.de/developer/meldung/Microsoft-beerdigt-Visual-Studio-LightSwitch-3354139.html

Schade, denn LightSwitch hatte Potential. Gerade für Entwickler. Ich habe sogar zwei (?) Schulungen zu LightSwitch durchgeführt und ein kleines Programmierprojekt umgesetzt. Bei diesem Projekt wurden mir aber auch die Grenzen des Tools deutlich vor Augen geführt oder es lag an mir, dass ich mir einiges vielleicht zu einfach vorgestellt hatte (auch wenn es vielleicht so aussah als müssen man sich nur durch einen Assistenten hindurchklicken, die Umsetzung von m:n-Beziehungen sollte man in einer GUI abbilden können).

Da der Bedarf nach einem RAD-Tool unter Windows immer noch groß sein dürfte, werde ich in diesem Blog-Eintrag verschiedene Alternativen vorstellen, auf die ich oft nur durch Zufall stoße, da sie von kleinen Firmen stammen, die man leicht übersehen kann. Der Blog-Eintrag wird über die kommenden Monate immer mal wieder aktualisiert.

Gleich vorweg: Den 1:1 Ersatz für LightSwitch gibt es nicht. Das ist aber auch nicht weiter tragisch, da der von LightSwitch am Anfang verfolge Ansatz ohne eine Zeile Code zu einer fertigen Anwendung zu kommen ohnehin nur für einen kleinen Teil der LightSwitch-Anwender attraktiv war.

Keine der Alternativen ist kostenlos was ebenfalls positiv ist. Kostenlose Community Editions anzubieten, in der alle Features enthalten sind, kann sich nur ein Konzern mit einem üppig gefüllten Bankkonto leisten.

Xojo


Umfangreiches RAD-Tool mit einer an Visual Basic angelehnten Programmiersprache. Das Tool startete eins unter dem Namen RealBasic und wurde im Laufe seiner Geschichte ein paar Mal umbenannt.

https://www.xojo.com/

RadZen


Interessantes Werkzeug, das auf dem JavaScript-Framework Angular basiert. Auch Michael Washington (der erwähnte LightSwitch-Experte) ist von dem Tool sehr angetan, so dass ich es mir in naher Zukunft einmal anschauen werde:

https://www.radzen.com

Mein Besuch beim „Microsoft Cloud Summit 2017“

Vom 9. bis 10. Februar 2017 fand in Frankfurt am Main der Microsoft Cloud Summit 2017 statt. Anders als im letzten Jahr allerdings nicht in der schönen Frankfurter Messe mit ihrer großzügigen und weitläufigen Architektur, angeschmiegt an die Festhalle (in der ich in den letzten 35 Jahren zahlreiche Konzerte erlebt habe [1]), sondern in dem Kongresszentrum des Sheraton Airport-Hotels an Flughafen. Gut zu erreichen (vom ICE-Gleis bis zum Konferenzcenter sind es nur ein paar Minuten), aber leider mit einer etwas verwirrenden Topologie, viel zu engen Räumen mit nur einer einzigen (!) Tür und dem konsequenten Weglassen von Beschriftungen. Aber man kann sich ja durchfragen, um irgendwo hinzu gelangen. Frankfurt a.M. war auch nur ein Stopp von vielen auf einer ausgedehnten Welttournee. Der Eintritt war kostenlos.

Die Themen der Konferenz waren Office 365 in allen Variationen, verschiedene Azure-Angebote (u.a. Cloud Backup mit einem „Schutz“ vor Ransomware, die darin besteht, dass ein mutwillig gelöschtes Backup noch 14 Tage lang wiederhergestellt werden kann – bei Amazon Cloud Drive gibt es das natürlich auch) und Entwicklerthemen. Allerdings durchweg auf 100er-Niveau. Wer auf dem Technical Summit in Damrstadt im Dezember letzten Jahres war und/oder die Entwicklung bei den Microsoft-Themen ein wenig verfolgt hat, wird auf dieser Veranstaltung nicht allzu viel Neues erfahren haben. Die „Hallo, Cloud Summit“-Demo, die aus welchen Gründen auch immer, unbedingt in einem Docker-Container ausgeführt werden muss, gehört einfach dazu.

Interessant war der Vortrag zu .NET Core – anders als beim großen .NET Framework, das nicht mehr weiterentwickelt wird, gibt es hier eine Roadmap. Demnach ist die Version 2.0 für die zweite Hälfte 2017 geplant . Passend dazu gibt es die Standard Library. Eine Klassenbibliothek, die das Attribut portabel verdient, denn sie kann sowohl unter .NET Core als auch unter dem .NET Framework verwendet werden.

Das Beste an solchen Vorträgen sind immer die Fragen und die Antworten des Microsoft-Sprechers. Sie sind auch eine kleine Belohnung dafür, es bis zum Ende ausgehalten zu haben. Die erste von beiden Fragen hatte etwas mit dem Umstand zu tun, dass .NET Core für Linux bislang in erster Linie nur für Ubuntu angeboten wird, nicht aber für andere Linux-Distributionen – vor allem Debian. Die Antwort in Kurzform: Wir arbeiten dran, wir sprechen mit dem Maintainer und versuchen nett zu sein, wir sind zwar Microsoft, können aber niemand zwingen .NET Core in eine Distribution aufzunehmen. Irgendjemand im Saal, er unbedingt .NET Core unter Debian ausführen muss? Kann ich mir im Moment nicht vorstellen, aber ich lasse mich gerne eines Besseren belehren.

Nett sind immer jene Momente, in denen der Sprecher solche Fragen ans Publikum richtet und die Anzahl der Handzeichen < 3 ist. Aber wir Deutschen sind bekanntlich etwas zurückhaltender (vermutlich aus Datenschutzgründen;) und ich saß im Saal ganz vorne links und konnte daher den Saal nur eingeschränkt überblicken. Aber es dürften nur sehr wenige Entwickler geben, die sich für ein .NET Core unter Debian interessieren. Die zweite Frage war interessanter, vor allem die Antwort. Frage: Gibt es irgendwelche Pläne für ein GUI-Paket für .NET Core? Antwort: Eine sehr gute Frage, das hören wir öfter, aber nein, es gibt aktuell keine solchen Pläne. Das einzige Projekt von dem ich (der Sprecher) etwas weiß ist Electron (ein JavaScript-Framework für Desktop-Anwendungen). Mit anderen Worten: Dass es einmal so etwas wie WinForms oder WPF für .NET Core geben wird ist im Moment ähnlich unwahrscheinlich wie Warum? Ganz einfach weil es Microsoft nicht interessiert, sie darin keine Notwendigkeit, keinen strategischen Nutzen sehen. Docker für irgendwelche JavaScript-Anwendungen ja, richtige Anwendungen mit einer GUI leider nein. Liebe Desktop-Entwickler: Ihr wart einmal gern gesehene Kunden, aber das war noch das alte Microsoft. Sorry, aber seht es endlich ein. Desktop-Anwendungen interessieren uns nicht mehr, mobile Anwendungen und Web-Anwendungen interessieren vor allem solange sie Azure verwenden.

Die Zukuft der Anwendungsentwicklung unter Windows beschränkt sich für Microsoft zur Zeit offenbar auf die „Universal Windows Platform“ (UWP), bei der die Benutzeroberfläche in XAML definiert wird. Als Programmiersprache kommen neben C# auch VB, C++ und JavaScript in Frage. Richtige Anwendungen entstehen dabei nicht, sondern lediglich Apps mit begrenzten Möglichkeiten. Man kann solche Apps auch gleich für Android oder iOs schreiben und Microsoft sorgt dafür, dass sie auch unter Windows 10 läuft.

Mit Visual Studio, das in Gestalt der Community Edition inzwischen ja kostenlos ist, erhält man zwar sehr viele Optionen. Was die Entwicklung klassischer Desktop-Anwendungen angeht ist die Unterstützung durch Microsoft aber praktisch eingestellt worden.

Ein paar interessante Links:

>https://blogs.msdn.microsoft.com/dotnet/2016/09/26/introducing-net-standard/
>https://github.com/dotnet/core/blob/master/roadmap.md

[1] falls es jemanden interessieren sollte oder jemand tatsächlich noch bis hier gelesen hat: Die Festhalle ist für mich nach wie vor die schönste Konzerthalle in Deutschland, auch wenn die Akustik nicht ganz so überragend ist und der letzte Konzertbesuch schon wieder ein paar Jahre zurückliegt. Ich habe hier u.a. Hall and Oates, die Stones (1982), Jethro Tull, Neil Young, Eric Clapton, einige Male Peter Gabriel und natürlich den Boss (leider nicht bei seiner ersten Deutschland-Tournee 1981) live erlebt. Alles Besondere Konzerte verbunden mit schönen Erinnerungen.

Mein Besuch auf dem Technical Summit 2016

Vom 12. bis 13. Dezember fand in Darmstadt der Microsoft Technical Summity 2016 statt. Wie im letzten Jahr wurde als Veranstaltungsort das Darmstadtium gewählt, das für die Durchführung einer solchen Konferenz beinahe perfekt geeignet ist, lediglich einige Räume könnten etwas größer sein. Anders als als im letzten Jahr fand der Summit zwei Wochen später im Jahr statt, so dass auch ein Besuch des Darmstädter-Weihnachtsmarktes möglich war. Da die meisten Teilnehmer natürlich weniger an Glühwein und heißen Maronen interessiert waren (wenngleich es beides auch am Abendbuffet gab), hatte sich der Veranstalter (wie immer die bewährte e-Team< GmbH aus Kiel) einiges für das „Brain“ einfallen lassen.

Der Sprecher für die Keynote am ersten der beiden Konferenztage, die bereits um 8 Uhr 30 begann, war kein geringerer als der Vice President der Cloud Division bei Microsoft Scott Guthrie. Er war schon oft zu Vorträgen in Deutschland, so dass er für die meisten Zuhörer ein vetrautges Gesicht gewesen sein dürfte. Natürlich stand er im vertrauten roten Poloshirt auf der Bühne, aber auch wenig unter dem Einfluss des Jetlag (als der Vortrag begann war es in Redmond bereits 1 Uhr Nachts). Das machte sich auch bei einer Demo zum Thema Azure Machine Learning bemerkbar. Die vorgeführte App war mit Hilfe einer WebCam in der Lage, das Alter von Personen zu schätzen, deren Gesicht von der Kamera erfasst wurde – er wurde offenbar ein paar Jahre älter geschätzt als er tatsächlich ist. Das Faszinierende an der App war aber weniger die Altersschätzung (das gibt es bereits seit ein paar Jahren unter https://how-old.net), oder der Umstand, dass das erfasste Bild anschließend für eine Internetsuche verwendet wurde. In Echtzeit, so dass sein wahrer Name fast verzögerungsfrei angezeigt wurde. Das Faszinierende (und für mich persönlich auch etwas Beängstigende) war, dass die Anwendung anhand der Gesichtsmikik die emotionale Verfassung aller (!) auf dem Bild erkannten Personen anhand ihrer Mimik einordnen konnte – in Echtzeit!

Damit liefert die kurze Demo unter dem Stichwort „Crowd Emotions“ einen Vorgeschmack davon, was in einigen Jahren an „neuralgischen Sicherheitspunkten“ zum Standard gehören könnte: Eine kontinuierliche Gesichtserkennung mit Personenprofilierung in Echtzeit und eine Einschätzung des „Gefahrenpotentials“ anhand der Mimik eines Gesichts. „Emotional Profiling“ als Ergänzung zum „Racial Profiling“. Im Rahmen des Vortrags wurde das natürlich nicht thematisiert bzw. die kleine Demo sollte lediglich andeuten was mit Azure Machine Learning bereits alles möglich ist.

Sehr lehrreich und gleichzeitig unterhaltsam war der Vortrag von Seth Suarez (der „Typ“ von Channel 9) am Ende des zweiten Konferenztages mit dem vielversprechenden Titel „Machine Learning for Developers“. Sein Vortrag wurde auf Channel 9 live übetragen und jeder Zuschauer konnte weltweit Fragen stellen. Seth, der nach eigener Aussage früher Lehrer war, gab in knapp 40 Minuten eine Einführung in das faszinierende Thema, an der das kleine 1×1 in Gestalt der grundlegenden Algorithmen an selbst entwickelten Beispielen erklärte – u.a. wie ein Algorithumus eine Gruppe von Werten auf einer Ebene in zwei Gruppen einteilt. Am Ende wurde es zwangsläufig etwas speziell, aber für den ersten Einstieg war sein Vortrag ideal geeignet.

Am zweiten Tag wurde die Keynote von Entwicklerlegende Erich Gamma gehalten, der einen Überblick über das VsCode-Projekt gab, das unter seiner Leitung in Zürich betrieben wird. Sein Vortrag war sehr gut trotz des etwas übertriebenen plakativen Titel „Microsoft loves Open Source“.

Dazu eine persönliche Anmerkung: Ich sehe die ganze Entwicklung „Microsoft goes Open Source“ nach wie vor mit gemischten Gefühlen und verstehe die Motivation nicht ganz. Auf der einen Seite ist Open Source natürlich positiv. Wir allen profitieren davon, wenn die Komponenten eines Technologie-Stacks quelloffen zur Verfügung stehen und der Quellcode von wichtigen Tools verfügbar ist.

Auf der anderen Seite haben die meisten Entwickler, die im Microsoft-Umfeld arbeiten, überhaupt nichts davon. Am Ende des Tages müssen wir Anwendungen entwickeln, möchten dafür angemessen entlohnt werden und benötigen dafür Tools wie Visual Studio und eine API, die nahe am Betriebssystem ist. Und das ist nun einmal Windows und wird es auch auf absehbare Zeit bleiben. Ob die Tools Open Source sind (was weder Visual Studio noch Windows vermutlich jemmals sein werden) spielt dafür keine allzu große Rolle.

In den von Microsoft orcherstrierten Jubelchor „Wir finden Open Source ganz toll“ kann ich daher nur bedingt einstimmen. Ein Visual Studio Code als Alround-Editor ist nett, aber ich werde es für meine Projekte, von PowerShell-Skripten einmal abgesehen, nicht verwenden. Es ist mir daher auch relativ egal, ob es unter Mac OSX oder anderen Plattformen läuft. Das gleiche gilt für Cross Plattform, was für 90% aller Desktop-Anwendungen, die für Windows in den letzten 20 Jahren entwickelt wurden, absolut keinen Mehrwert bietet und daher auch die Entwickler nicht interessiert.

Man nimmt es auf Konferenzen wie dem Technical Summit zur Kenntnis, aber mehr nicht. Ich denke, ich spreche für die Mehrheit der Entwickler im Microsoft-Umfeld, dass es um einiges wichtiger wäre Microsoft würde WPF weiterentwickeln oder einen Migrationspfad zu den neueren Techniken schaffen, als bei jeder Gelegenheit ausführlichst Werbung für Themen zu machen (Open Source, läuft auch auf einem Mac, irgendeine JavaScript-Erweiterung, Container sind die Zukunft usw.), die nur einen Bruchteil der Entwickler interessieren.

Natürlich haben alle diese „Pseudothemen“ einen Hintergrund – Werbung für die Azure-Plattformen zu machen, in die Microsoft in den letzten Jahren viele Milliarden U$S investiert hat, und die in Zukunft ein Vielfaches an Gewinn abwerfen soll bzw. muss. Schade nur, dass die Haupt-Klientel von Microsoft, die seit Jahrzehnten bereits mit Visual Studio, unter Windows und für Windows entwickeln, dafür nahezu komplett ignoriert wird. WPF war auf dem Technical Summit natürlich kein Thema. Und da wir gerade dabei sind: Es nervt mich inzwischen auch regelrecht, wenn bei einem Microsoft-Vortrag auf einer Entwickler-Konferenz (!) mit großem Brimborium auf der Bühne ein JavaScript-Programm (basierend auf Node) auf dem Niveau eines „Hello, World“-Progrämchens zum Laufen gebracht wird und als Beweis für die neue Coolness und Offenheit herhalten soll – ich weiß nicht, ob es nur mir so geht. Viele sind nicht so kritisch gemessen an dem Applaus, den solche Vorführungen am Ende erhalten.

Auf dem Technical Summit 2015 wurde von Microsoft die German Cloud angekündigt mit Rechenzentren in Frankfurt a.M. und Magdeburg, bei der T-Systems die Rolle des Datentreuhänders spielt. Wenn also die NSA sagt, wir wollen Daten, sagt jemand bei T-System „sorry, geht nicht“. Inzwischen ist sie im Betrieb und kann genutzt werden. Dass es zwischen der allgemeinen Microsoft-Cloud und der „German Cloud“ oder auch der „China Cloud“ tatsächlich keinen Durchgang gibt macht der Umstand deutlich, dass man seine Zugänge neu anlegen muss und in der allgemeinen Cloud angelegte Ressourcen nicht in die German Cloud verschoben werden könnte.

Natürlich gab es auf dem Technical Summit, der sich ja nicht nur an Entwickler, sondern allgemein an die „IT-Pros“ richtet, viele gute und auch ein paar sehr gute Vorträge (empfehlenswert ist z. B. der Deep Dive zum Thema „Events Tracing for Windows“ von Alois Kraus und Wolfgang Kroender am ersten Tag). Im Grunde gab es keinen einzigen schlechten Vortrag, sondern höchstens Vorträge, die mich weniger interessiert hatten. Außerdem wird die Mehrheit der Teilnehmer Jahr für Jahr jünger, so dass zielgruppengerechte Vorträge wie HoloLens und Apps einfach dazu gehören muss.

Positiv ist die bunte Themenvielfalt, durch die alle Teilnehmer in zwei Tagen auf den aktuellen Stand gebracht werden was Microsoft-Themen angeht. Und das an einem angenehmen Ort, der leicht erreichbar ist, am Ende des Jahres, was will man mehr?

Einen Überblick über die Vorträge des Technical Summit 2016 gibt es unter https://www.microsoft.com/germany/technical-summit/nachlese-2016.aspx. Dort gibt es auch Links auf die Videos zu den Vorträgen, sofern sie zur Verfügung stehen.

Ein paar persönliche Fotos von mir gibt es hier.

Enorme Projektvielfalt bei Visual Studio 2015

Microsoft wird gerne für dies und jenes kritisiert. Windows 10 ist schlecht weil es sich bei jeder sich bietenden Gelegenheit persönliche Daten abgreift, Apps und andere Funktionalitäten sind nur nach Anmeldung mit einem Microsoft-Konto, ein weiterer potentieller Datensammler, nutzbar, das Startmenü sieht immer noch wirklich nicht gut aus und, da wir gerade dabei sind, Silverlight wurde eingestellt (was ich auch bedauere), wer redet noch von Lightswitch, das ebenfalls sang und klanglos beerdigt wurde, die Entwicklung von Desktop-Anwendungen wurde, wenn man nicht C++ verwendet (das dafür, ganz nebenbei, immer schon die beste Wahl war seit dem es Windows gibt), auf ein Abstellgleis geschoben, auch WPF scheint eines langsamen Todes zu sterben usw. usw.

Es gibt aber auch Bereiche, bei denen man als Entwickler richtig zufrieden, vielleicht sogar regelrecht glücklich sein muss. Dazu gehört sicherlich die Entwicklung im Bereich JavaScript, TypeScript, Angular und Node, mit der ich aber persönlich relativ wenig am Hut habe. Dazu gehört auf alle Fälle die Entwicklung von Visual Studio, das mit VS 2012 aus meiner Sicht mit jeder Version einfach nur besser wird. Vor allem die Umstellung auf Roslyn, offiziell die .NET Compiler Platform, scheint unserer Lieblings-IDE richtig gut getan zu haben – das absolut empfehlenswerte Add-On Supercharger stelle ich in einem weiteren Blog-Eintrag vor.

Als ich vor einiger Zeit endlich Visual Studio 2015 installiert habe, war ich nach dem es endlich vollständig installiert war, überaus beeindruckt von der Projektvielfalt, die Entwicklern heutzutage zur Auswahl steht. Dank Xamarin lassen sich Android und iOS-Apps in Visual Studio und in C# programmieren (die VB-Unterstützung wird mit Sicherheit nicht lange auf sich warten lassen;). Wer hätte sich das noch vor ein paar Jahren vorstellen können. Ein großes Kompliment an die Verantwortlichen bei Microsoft. Hier hatte jemand eine klare Vision für ein universelles Entwicklungswerkzeug, die über die letzten Jahre konsequent umgesetzt wurde.

Erfreuliche Projektvielfalt bei Visual Studio 2015 (zumindest für C#-Entwickler)

Erfreuliche Projektvielfalt bei Visual Studio 2015 (zumindest für C#-Entwickler)

25 Jahre Visual Basic und ein Blick in die Zukunft

Vor 25 Jahren, am 21. Mai 1991, wurde, damals noch von Bill Gates höchstpersönlich, Visual Basic 1.0 vorgestellt (unter dem Codenamen Thunder war es schon seit über einem Jahr für „Beta-Tester“ erhältlich – ich erinnere mich noch gut an meine erste Vorführung durch den damaligen Produktmanager in den Räumen der Microsoft GmbH in Unterschleißheim).

Die damalige Ankündigung von Bill Gates gibt es bei YouTube: https://www.youtube.com/watch?v=bMz2Mgs7UU0&feature=related

In dem Video geht es in erster Linie um Neuerungen von Windows 3.1 – am Anfang stellt Bill Gates „Object Linking and Embedding“ vor – im Rückblick eine der zahlreichen Techniken, die man heute als „epic fail“ bezeichnen würde. Visual Basic gehört zum Glück nicht dazu. Die Faszination von Visual Basic und die Aubruchstimmung, die es bei vielen Entwickler und solchen, die es gerne werden wollten, erzeugt hat, wird durch das kleine Programm, das Bill vorführt (er gibt offen zu, dass er die Befehle nicht selber eintippt, sondern lediglich ein Makro verwendet;), sehr schön deutlich. Kurios ist auch wie Bill Gates am Ende noch einmal das Thema Handschrifterkennung anpreist – ein Thema, das mit dem aktuellen Windows 10 Update („Windows ink“) wieder einmal aufgegriffen wurde.

Seit der Ankündigung der Version 1.0 damals im Mai 1991 ist viel passiert – Visual Basic hat die Welt der Windows-Programmierung so stark verändert wie keine andere Programmiersprache, auch wenn die großen Windows-Anwendungen damals wie heute in C++ programmiert werden. Genauso hat Visual Basic die Entwickler weltweit polarisiert – die einigen lieben die Sprachen und wollen sie gegen keine andere Sprache tauschen, die anderen lassen keine Gelegenheit aus sich nicht gerade positiv über „Vaubeh“ zu äußern. Die größten „Kritiker“ sind oft jene Entwickler, die die Sprache nur vom Hörensagen kennen. Dieses Element dürfte auch bei der aktuellen StackOverflow Survey eine Rolle gespielt haben, bei der VB mit großer Mehrheit zur unbeliebtesten Programmiersprache gekürt wurde (http://stackoverflow.com/research/developer-survey-2016).

Den „Todestoß“ hat dem ursprünglichen Visual Basic aber nicht die Abneigung anderer Entwickler versetzt, sondern leider Microsoft selber, in dem im Jahr 2000 ohne Not die Weiterenntwicklung von Visual Basic mit der Version 6.0 beendet wurde. Auch wenn der Nachfolger VB.NET intern die Versionsnummer 7.0 trug, war das nicht mehr das Visual Basic, das einst soviele Menschen begeistert hatte. Mit VB.NET war nichts mehr so wie es einmal war, sieht man von dem halbherzigen Versuch ab die Sprachsyntax zu erhalten. Im Laufe der Versionen, vor allem mit Visual Studio 2005, wurde es zwar dank My-Objekt, Edit and Continue und einer gut durchdachten Datenbindung bei Windows Forms etwas besser, die ursprüngliche Leichtigkeit bei der Programmierung kehrte nicht mehr zurück.

Eine sehr schöne Zusammenfassung der unterschiedlichen Ansichten zu Visual Basic als Programmiersprache und „Lebensgefühl“ fassen die Kommentare zu einem Blog-Eintrag im Microsoft Dotnet-Blog zusammen:

https://blogs.msdn.microsoft.com/dotnet/2016/05/20/happy-25th-birthday-vb/

Eine „Liebesklärung“ an VB an mir besonders gut gefallen:

Happy birthday VB,
You’re the best at productivity.
We’ll use you forever,
And love you unconditionall

Ich denke, dass es vor allem die Loyalität vieler solcher Entwickler war, die den zahlreichen Versuchen Visual Basic auf ein Abstellgleis zu schieben getrotzt hat. Ungeachtet aller „Kritik“, Visual Basic lebt, die Sprache wird nach wie vor eingesetzt und vor allem aktiv weiterentwickelt.

Einen kurzen Ausblick auf die Neuerungen der nächsten Visual Basic-Version, die Teil von VS 2015 ist, gibt ein relativ kurzes Video auf Channel 9, das während der letzten Ignite-Konferenz entstanden ist:

https://channel9.msdn.com/Events/Ignite/2015/C9-26?ocid=player

Die wichtigste Neuerung ist natürlich, dass win Refactoring endlich auch bei Visual Basic zur Verfügung steht. Der kurze Überblick endet mit einem vielversprechenden Satz „VB in Visual Studio 2015 is super cool“. Na, also,.

Ein exklusiver Blick in mein Buchregal und dem Originalhandbuch zu Visual Basic 1.0

Ein exklusiver Blick in mein Buchregal und dem Originalhandbuch zu Visual Basic 1.0

Damals eine absolute Rarität (heute auch noch) - eine VB 3.0-CD (leider nur auf Englisch)

Damals eine absolute Rarität (heute auch noch) – eine VB 3.0-CD (leider nur auf Englisch)

Die Zukunft von C# – und ein Seitenhieb auf Visual Basic

Ein Highlight einer jeden PDC und inzwischen der Build-Konferenz war die „Future of C#“-Session, in der es, der Titel legt es nahe, um die Zukunft von C# ging. Früher noch von dem Erfinder der Sprache, Anders Hejlsberg, durchgeführt, inzwischen beschäftigt sich Anders lieber mit TypeScript, so dass Mads Togersen diese Rolle übernommen hat. Auf der letzten Build 2016 gab es natürlich wieder einen „Future of C#“-Talk, in dem es bereits um das kommende C# 7.0 ging:

https://channel9.msdn.com/events/build/2016/b889

Bemewerkenswert, wenn auch nicht unbedingt im positiven Sinne, fand ich eine humorvoll gemeinte Einlage der beiden Sprecher, in der sie die jährlich auf Stackoverlow durchgeführte „Developer Survey“ zitierten, in der u.a. nach den beliebsten, aber auch nach den „most dreadful languages“ gefragt wurde. Zur Belustigung aller Anwesenden war ausgerechnet Visual Basic mit knapp 80% klarer Spitzenreiter in der zweiten Kategorie. Die sehr interessante Umfrage gibt es hier:

http://stackoverflow.com/research/developer-survey-2016

Tja, der typische Visual Basic-Entwickler nutzt halt kein StackOverflow, sondern kommt selber auf eine Lösung;)

Interessant fand ich auch, dass erst ab der Gruppe der 50 jährigen StarTrek beliebter als StarWars ist. Damit kann ich wiederum zu 100% identifizieren.

Visual Paradigm Community Edition – ein kostenloses Tool für das Erstellen von UML-Diagrammen

Wer als Entwickler auch konzeptionell tätig ist oder Projektleiter ist bzw. ein einfach nur Angebot erstellen muss, kommt um das Thema UML nicht herum. Sei es, um die Funktionalität einer geplanten Anwendung zumindestens grob als Anwendungsfalldiagramm zu beschreiben oder die Klassen der Anwendung als Klassendiagramm. Es gibt „tausende“ von Anwendungen, kostenlos, als Open Source oder kommerziell, mit deren Hilfe sich komfortabel alle denkbaren Sorten von UML-Diagrammen erstellen lassen – und inzwischen auch sehr gute Angebote im Web wie z.B. http://www.umlet.com/umletino oder http://sequencediagram.org, wenn es nur um Sequenzdiagramme geht, die für mich neben den obligatorischen Use Cases und den Klassendiagrammem am wichtigsten sind.

Meine persönliche Empfehlung ist Visual Paradigm, das es in der Community Edition kostenlos gibt. Ich habe mich mit dem Tool einige Tage beschäftigt und bin inzischen überaus positiv angetan von der Kombination aus Funktionalität und Benutzerfreundlichkeit. Von dem Umstand, dass es kostenlos erhältlich ist einmal abgesehen, wenngleich ich als Software-Entwickler, der (noch) nicht umsonst arbeitet natürlich auch bereit bin ein Produkt zu kaufen.

Weitere Infos gibt es unter https://www.visual-paradigm.com/

Was verdienen Entwickler?

Als freiberuflicher Entwickler denkt man beim Thema Bezahlung in der Regel in Tages- oder Stundensätzen, die meisten Entwickler, vor allem in DACH (Deutschland/Österreich und Schweiz) sind festangestellt. Vor kurzenm veröffentlichte die Bundesanstalt für Arbeit einen umfangreichen „Entgeltatlas“ für alle Berufsgruppen, die von der Anstalt betreut werden:

https://entgeltatlas.arbeitsagentur.de/entgeltatlas

Auch wenn die Zahlen aus dem Jahr 2014 stammen und nicht für jedes Bundesland ausreichende Daten vorliegen ist es doch interessant, einen Überblick über den durchschnittlichen Bruttolohn für Entwickler zu erhalten. Nicht überraschend ist das klare Ost-Süd-Gefälle.