{"id":1058,"date":"2011-07-30T14:53:31","date_gmt":"2011-07-30T12:53:31","guid":{"rendered":"http:\/\/www.tutego.de\/blog\/javainsel\/2011\/07\/inselupdate-ein-wort-zu-microsoft-java-und-zu-j-j\/"},"modified":"2011-07-30T14:53:31","modified_gmt":"2011-07-30T12:53:31","slug":"inselupdate-ein-wort-zu-microsoft-java-und-zu-j-j","status":"publish","type":"post","link":"https:\/\/www.tutego.de\/blog\/javainsel\/2011\/07\/inselupdate-ein-wort-zu-microsoft-java-und-zu-j-j\/","title":{"rendered":"Inselupdate: Ein Wort zu Microsoft, Java und zu J++, J#"},"content":{"rendered":"<p>In der Anfangszeit verursachte Microsoft einigen Wirbel um Java. Mit Visual J++ (gesprochen \u201eJay Plus Plus\u201c) bot Microsoft schon fr\u00fch einen eigenen Java-Compiler (Teil vom <i>Microsoft Development Kit<\/i>) und mit der <i>Microsoft Java Virtual Machine (MSJVM)<\/i> eine eigene schnelle Laufzeitumgebung. Das Problem war nur, dass Dinge wie RMI und JNI am absichtlich fehlten<a href=\"file:\/\/\/C:\/Users\/Christian\/Documents\/My Dropbox\/Insel\/#_ftn1_4266\" name=\"_ftnref1_4266\">[1]<\/a> \u2013 JNI wurde 1998 nachgereicht. Entgegen alle Standards f\u00fchrte der J++-Compiler neue Schl\u00fcsselw\u00f6rter multicast und delegate ein. Weiterhin f\u00fcgte Microsoft einige neue Methoden und Eigenschaften hinzu, zum Beispiel J\/Direct, um der plattformunabh\u00e4ngigen Programmiersprache den Windows-Stempel zu verpassen. Mit J\/Direct konnten Programmierer aus Java heraus direkt auf Funktionen aus dem Win32-API zugreifen und damit reine Windows-Programme in Java programmieren. Durch Integration von DirectX soll 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 lauff\u00e4hig sind waren. 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$ 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 \u00fcber das JDK beziehungsweise die Java Foundation Classes, man m\u00fcsse sie \u00bbbei jeder sich bietenden Gelegenheit anpissen\u00ab (\u00bbpissing on at every opportunity\u00ab).<a href=\"file:\/\/\/C:\/Users\/Christian\/Documents\/My Dropbox\/Insel\/#_ftn2_4266\" name=\"_ftnref2_4266\">[2]<\/a><\/p>\n<p>Im Januar 2004 beendete die Arbeit an Microsoft J++, denn die Energie floss in das .NET-Framework und der .NET-Sprachen. Am Anfang gab es mit J# eine Java-Version, die Java-Programme auf der Microsoft .NET-Laufzeitumgebungen CLR ausf\u00fchrt, doch Anfang 2007 wurde auch J# eingestellt. Das freie <i>IKVM.NET<\/i> (http:\/\/www.ikvm.net\/) ist eine JVM f\u00fcr .NET und kommt mit einem \u00dcbersetzter 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.<\/p>\n<p>Microsoft hat sich aus der Java-Entwicklung nahezu vollst\u00e4ndig zur\u00fcckgezogen. Es gibt zum Beispiel noch den <i>Microsoft JDBC Driver for SQL Server<\/i> und Microsoft unterst\u00fctzt eine API f\u00fcr Office-Dokumente. Das Verh\u00e4ltnis ist heute auch deutlich entspannter und vielleicht gratuliert Microsoft wie es auch Linux zum 20 Geburtstag gratuliert hat<a href=\"file:\/\/\/C:\/Users\/Christian\/Documents\/My Dropbox\/Insel\/#_ftn3_4266\" name=\"_ftnref3_4266\">[3]<\/a> irgendwann einmal Oracle.<\/p>\n<hr align=\"left\" size=\"1\" width=\"33%\" \/>\n<p><a href=\"file:\/\/\/C:\/Users\/Christian\/Documents\/My Dropbox\/Insel\/#_ftnref1_4266\" name=\"_ftn1_4266\">[1]<\/a> http:\/\/www.microsoft.com\/presspass\/legal\/charles.mspx<\/p>\n<p><a href=\"file:\/\/\/C:\/Users\/Christian\/Documents\/My Dropbox\/Insel\/#_ftnref2_4266\" name=\"_ftn2_4266\">[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-Mail nicht aus dem Zweistromland kam, bleibt die wahre Bedeutung wohl unserer Fantasie \u00fcberlassen.<\/p>\n<p><a href=\"file:\/\/\/C:\/Users\/Christian\/Documents\/My Dropbox\/Insel\/#_ftnref3_4266\" name=\"_ftn3_4266\">[3]<\/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 \u201eJay Plus Plus\u201c) bot Microsoft schon fr\u00fch einen eigenen Java-Compiler (Teil vom Microsoft Development Kit) und mit der Microsoft Java Virtual Machine (MSJVM) eine eigene schnelle Laufzeitumgebung. Das Problem war nur, dass Dinge wie RMI und JNI am 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-1058","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\/1058","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=1058"}],"version-history":[{"count":0,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/1058\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/media?parent=1058"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/categories?post=1058"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/tags?post=1058"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}