{"id":4167,"date":"2018-05-28T21:57:38","date_gmt":"2018-05-28T19:57:38","guid":{"rendered":"http:\/\/www.tutego.de\/blog\/javainsel\/?p=4167"},"modified":"2018-05-28T21:57:38","modified_gmt":"2018-05-28T19:57:38","slug":"inselupdate-microsoft-und-java","status":"publish","type":"post","link":"https:\/\/www.tutego.de\/blog\/javainsel\/2018\/05\/inselupdate-microsoft-und-java\/","title":{"rendered":"Inselupdate: Microsoft und Java"},"content":{"rendered":"<p>In der Anfangszeit verursachte Microsoft einigen Wirbel um Java. Mit Visual J++ (gesprochen \u00bbJay Plus Plus\u00ab) bot Microsoft schon fr\u00fch einen eigenen Java-Compiler (als Teil des Microsoft Development Kits) und mit der Microsoft Java Virtual Machine (MSJVM) eine eigene schnelle Laufzeitumgebung. Das Problem war nur, dass Dinge wie RMI und JNI absichtlich fehlten<a href=\"#_ftn1\" name=\"_ftnref1\">[1]<\/a> \u2013 JNI wurde 1998 nachgereicht. Entgegen allen Standards f\u00fchrte der J++-Compiler neue Schl\u00fcsselw\u00f6rter wie multicast\u00a0und delegate\u00a0ein. Au\u00dferdem f\u00fcgte Microsoft einige neue Methoden und Eigenschaften hinzu, zum Beispiel J\/Direct, um\u00a0der plattformunabh\u00e4ngigen Programmiersprache den Windows-Stempel zu verpassen. Mit J\/Direct konnten Programmierer aus Java heraus direkt auf Funktionen der Win32-API\u00a0zugreifen und damit reine Windows-Programme in Java programmieren. Durch Integration von DirectX\u00a0sollte die Internet-Programmiersprache Java multimediaf\u00e4hig gemacht werden. Das f\u00fchrte nat\u00fcrlich zu dem Problem, dass Applikationen, die mit J++ erstellt wurden, nicht zwangsl\u00e4ufig auf anderen Plattformen liefen. Sun klagte gegen Microsoft.<\/p>\n<p>Da es Sun in der Vergangenheit finanziell nicht besonders gut ging, pumpte Microsoft im April 2004 satte 1,6 Milliarden US-Dollar in die Firma. Microsoft erkaufte sich damit das Ende der Kartellprobleme und Patentstreitigkeiten. Dass es bis zu dieser Einigung nicht einfach gewesen war, zeigen Aussagen von Microsoft-Projektleiter Ben Slivka\u00a0\u00fcber das JDK bzw. die Java Foundation Classes, man m\u00fcsse sie \u00bbbei jeder sich bietenden Gelegenheit anpissen\u00ab (\u00bbpissing on at every opportunity\u00ab).<a href=\"#_ftn2\" name=\"_ftnref2\">[2]<\/a><\/p>\n<p>Im Januar 2004 beendete Microsoft die Arbeit an J++, denn die Energie floss in das .NET-Framework und die .NET-Sprachen. Am Anfang gab es mit J# eine Java-Version, die Java-Programme auf der Microsoft .NET-Laufzeitumgebung CLR ausf\u00fchrt, doch Anfang 2007 wurde auch J# eingestellt. Das freie IKVM.NET\u00a0(http:\/\/www.ikvm.net) ist eine JVM f\u00fcr .NET und verf\u00fcgt \u00fcber einen \u00dcbersetzer von Java-Bytecode nach .NET-Bytecode, was es m\u00f6glich macht, Java-Programme unter .NET zu nutzen. Das ist praktisch, denn f\u00fcr Java gibt es eine riesige Anzahl von Programmen, die somit auch f\u00fcr .NET-Entwickler zug\u00e4nglich sind. Bedauerlicherweise wird das Projekt nicht weiterentwickelt.<\/p>\n<p>Microsoft hat sich lange Zeit aus der Java-Entwicklung nahezu vollst\u00e4ndig zur\u00fcckgezogen. Es waren eher \u00fcberschaubare Projekte wie der Microsoft JDBC Driver for SQL Server. Das Verh\u00e4ltnis ist heute auch deutlich entspannter, und Microsoft geht wieder einen Schritt auf Java zu. Zu erkennen ist das am Beitritt in die Jakarta EE Working Group und an der Unterst\u00fctzung von Java-Applikationen in der Windows Cloud Azure.<a href=\"#_ftn3\" name=\"_ftnref3\">[3]<\/a> Vielleicht gratuliert Microsoft irgendwann einmal Oracle, wie es auch Linux zum 20. Geburtstag gratuliert hat.<a href=\"#_ftn4\" name=\"_ftnref4\">[4]<\/a><\/p>\n<p><a href=\"#_ftnref1\" name=\"_ftn1\">[1]<\/a> http:\/\/www.microsoft.com\/presspass\/legal\/charles.mspx<\/p>\n<p><a href=\"#_ftnref2\" name=\"_ftn2\">[2]<\/a> W\u00fcrden wir nicht gerade im westlichen Kulturkreis leben, w\u00e4re diese Geste auch nicht zwangsl\u00e4ufig unappetitlich. Im alten Mesopotamien steht \u00bbpissing on\u00ab f\u00fcr \u00bbanbeten\u00ab. Da jedoch die E\u2010Mail nicht aus dem Zweistromland kam, bleibt die wahre Bedeutung wohl unserer Fantasie \u00fcberlassen.<\/p>\n<p><a href=\"#_ftnref3\" name=\"_ftn3\">[3]<\/a> https:\/\/azure.microsoft.com\/de-de\/develop\/java\/<\/p>\n<p><a href=\"#_ftnref4\" name=\"_ftn4\">[4]<\/a> http:\/\/www.youtube.com\/watch?v=ZA2kqAIOoZM<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In der Anfangszeit verursachte Microsoft einigen Wirbel um Java. Mit Visual J++ (gesprochen \u00bbJay Plus Plus\u00ab) bot Microsoft schon fr\u00fch einen eigenen Java-Compiler (als Teil des Microsoft Development Kits) und mit der Microsoft Java Virtual Machine (MSJVM) eine eigene schnelle Laufzeitumgebung. Das Problem war nur, dass Dinge wie RMI und JNI absichtlich fehlten[1] \u2013 JNI [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","_links_to":"","_links_to_target":""},"categories":[11],"tags":[],"class_list":["post-4167","post","type-post","status-publish","format-standard","hentry","category-insel"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/4167","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/comments?post=4167"}],"version-history":[{"count":1,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/4167\/revisions"}],"predecessor-version":[{"id":4168,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/4167\/revisions\/4168"}],"wp:attachment":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/media?parent=4167"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/categories?post=4167"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/tags?post=4167"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}