<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" version="2.0">
  <channel>
    <title>Peter Monadjemi's Blog</title>
    <link>http://www.activetraining.de/DasBlog/</link>
    <description>Notizen zu meinen Büchern und anderen Themen</description>
    <language>en-us</language>
    <copyright>Peter Monadjemi</copyright>
    <lastBuildDate>Mon, 26 Jul 2010 16:32:23 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 1.9.7174.0</generator>
    <managingEditor>pm@activetraining.de</managingEditor>
    <webMaster>pm@activetraining.de</webMaster>
    <item>
      <trackback:ping>http://www.activetraining.de/DasBlog/Trackback.aspx?guid=1845f603-31cc-4ba8-b48e-d0723463f2e6</trackback:ping>
      <pingback:server>http://www.activetraining.de/DasBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.activetraining.de/DasBlog/PermaLink,guid,1845f603-31cc-4ba8-b48e-d0723463f2e6.aspx</pingback:target>
      <dc:creator>Peter Monadjemi</dc:creator>
      <wfw:comment>http://www.activetraining.de/DasBlog/CommentView,guid,1845f603-31cc-4ba8-b48e-d0723463f2e6.aspx</wfw:comment>
      <wfw:commentRss>http://www.activetraining.de/DasBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=1845f603-31cc-4ba8-b48e-d0723463f2e6</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <font size="2">
            <a href="http://www.activetraining.de/DasBlog/content/binary/WindowsLiveWriter/WMRckblickundAusblick_EEA6/CSNInEsslingenKlein_2.jpg">
              <img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="CSNInEsslingenKlein" src="http://www.activetraining.de/DasBlog/content/binary/WindowsLiveWriter/WMRckblickundAusblick_EEA6/CSNInEsslingenKlein_thumb.jpg" width="130" height="188" />
            </a>
            <br />
            <em>(CSN - auf Tour und fast vor der Haustür)</em>
          </font>
        </p>
        <p>
          <font size="2">Die WM 2010 ist vorbei, die Vuvuzelas sind verstummt, die Touristen
aus der ganzen Welt und die Spieler (736 an der Zahl ohne Betreuer und Funktionäre,
welche die Zahl der "Offiziellen" vermutlich um den Faktor 20-30  vergrößern
dürfte) sind längst wieder zu Hause. Einige Mannschaften ließen sich nach ihrer Rückkehr
feiern, eine verließ den Flughafen durch die Hintertür in Bussen mit abgedunkelten
Scheiben was ein wenig schade war (dabei hatten sie so schlecht doch gar nicht gespielt).</font>
        </p>
        <p>
          <font size="2">Insgesamt war die WM 2010 ein erfreulich positives Ereignis, für fast
alle Beteiligten. Die ganz großen Spiele, die man später im WM-Buch noch einmal nachlesen
muss, oder die man sich als DVD kauft, um die Spannung noch einmal zu erleben, waren
sicher nicht dabei. Es gab (so glaube ich mich zu erinnern) kaum ein Spiel, das kurz
vor Schluss noch einmal gedreht wurde, lediglich einen dramatisch verschossenen Elfmeter
im Spiel Uruquay gegen Ghana. Unsere Mannschaft hat einen erstaunlich modernen und
temporeichen Fussball gespielt und vor allem Werbung für den deutschen Fussball gemacht.
Die Ära der Rumpel- und Betonfussballer ist erst einmal vorbei. Auch wenn andere Teams
sich ebenfalls weiterentwickeln werden, lässt das  zur EM 2012 einiges erwarten
(ein Halbfinale gegen Spanien ist damit Pflicht). Das Wichtigste war, dass es ein
friedliches Fest war und praktisch alles von dem was im Vorfeld an negativen Szenarien
heraufbeschworen wurde, nicht eintraf.</font>
        </p>
        <p>
          <font size="2">Die WM ist vorbei, Zeit, dass ich mich um mein Visual Basic 2010-Kompendium
kümmere. Es wird erscheinen, wenngleich es bis dahin noch eine Menge Arbeit ist, da
ein reines "Anpassen" an die mit VB 10" eingeführten Spracherweiterungen mir zu wenig
wäre. Im Datenbankteil wird das Entity Framework einen zentralen Platz einnehmen.
Für den XML-Teil wird es eine "WM-Datenbank" mit den Namen aller Teams und Spieler
geben. Und vielleicht lässt sich Christian noch einmal dazu überreden, das WM-Tippspiel
auf ASP.NET 4.0 MVC anzupassen. Das wäre ein weiteres Highlight.</font>
        </p>
        <p>
          <font size="2">
          </font> 
</p>
        <p>
          <font size="2">
          </font> 
</p>
        <p>
          <font size="2">
          </font> 
</p>
        <p>
          <font size="2">
          </font> 
</p>
        <p>
          <font size="2">
          </font>
        </p>
        <img width="0" height="0" src="http://www.activetraining.de/DasBlog/aggbug.ashx?id=1845f603-31cc-4ba8-b48e-d0723463f2e6" />
      </body>
      <title>WM 2010-R&amp;uuml;ckblick und Ausblick auf das VB Kompendium 2010</title>
      <guid isPermaLink="false">http://www.activetraining.de/DasBlog/PermaLink,guid,1845f603-31cc-4ba8-b48e-d0723463f2e6.aspx</guid>
      <link>http://www.activetraining.de/DasBlog/2010/07/26/WM2010RuumlckblickUndAusblickAufDasVBKompendium2010.aspx</link>
      <pubDate>Mon, 26 Jul 2010 16:32:23 GMT</pubDate>
      <description>&lt;p&gt;
&lt;font size="2"&gt;&lt;a href="http://www.activetraining.de/DasBlog/content/binary/WindowsLiveWriter/WMRckblickundAusblick_EEA6/CSNInEsslingenKlein_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="CSNInEsslingenKlein" src="http://www.activetraining.de/DasBlog/content/binary/WindowsLiveWriter/WMRckblickundAusblick_EEA6/CSNInEsslingenKlein_thumb.jpg" width="130" height="188"&gt;&lt;/a&gt; 
&lt;br&gt;
&lt;em&gt;(CSN - auf Tour und fast vor der Haustür)&lt;/em&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="2"&gt;Die WM 2010 ist vorbei, die Vuvuzelas sind verstummt, die Touristen
aus der ganzen Welt und die Spieler (736 an der Zahl ohne Betreuer und Funktionäre,
welche die Zahl der "Offiziellen" vermutlich um den Faktor 20-30&amp;nbsp; vergrößern
dürfte) sind längst wieder zu Hause. Einige Mannschaften ließen sich nach ihrer Rückkehr
feiern, eine verließ den Flughafen durch die Hintertür in Bussen mit abgedunkelten
Scheiben was ein wenig schade war (dabei hatten sie so schlecht doch gar nicht gespielt).&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="2"&gt;Insgesamt war die WM 2010 ein erfreulich positives Ereignis, für fast
alle Beteiligten. Die ganz großen Spiele, die man später im WM-Buch noch einmal nachlesen
muss, oder die man sich als DVD kauft, um die Spannung noch einmal zu erleben, waren
sicher nicht dabei. Es gab (so glaube ich mich zu erinnern) kaum ein Spiel, das kurz
vor Schluss noch einmal gedreht wurde, lediglich einen dramatisch verschossenen Elfmeter
im Spiel Uruquay gegen Ghana. Unsere Mannschaft hat einen erstaunlich modernen und
temporeichen Fussball gespielt und vor allem Werbung für den deutschen Fussball gemacht.
Die Ära der Rumpel- und Betonfussballer ist erst einmal vorbei. Auch wenn andere Teams
sich ebenfalls weiterentwickeln werden, lässt das&amp;nbsp; zur EM 2012 einiges erwarten
(ein Halbfinale gegen Spanien ist damit Pflicht). Das Wichtigste war, dass es ein
friedliches Fest war und praktisch alles von dem was im Vorfeld an negativen Szenarien
heraufbeschworen wurde, nicht eintraf.&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="2"&gt;Die WM ist vorbei, Zeit, dass ich mich um mein Visual Basic 2010-Kompendium
kümmere. Es wird erscheinen, wenngleich es bis dahin noch eine Menge Arbeit ist, da
ein reines "Anpassen" an die mit VB 10" eingeführten Spracherweiterungen mir zu wenig
wäre. Im Datenbankteil wird das Entity Framework einen zentralen Platz einnehmen.
Für den XML-Teil wird es eine "WM-Datenbank" mit den Namen aller Teams und Spieler
geben. Und vielleicht lässt sich Christian noch einmal dazu überreden, das WM-Tippspiel
auf ASP.NET 4.0 MVC anzupassen. Das wäre ein weiteres Highlight.&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="2"&gt;&lt;/font&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="2"&gt;&lt;/font&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="2"&gt;&lt;/font&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="2"&gt;&lt;/font&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="2"&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.activetraining.de/DasBlog/aggbug.ashx?id=1845f603-31cc-4ba8-b48e-d0723463f2e6" /&gt;</description>
      <comments>http://www.activetraining.de/DasBlog/CommentView,guid,1845f603-31cc-4ba8-b48e-d0723463f2e6.aspx</comments>
    </item>
    <item>
      <trackback:ping>http://www.activetraining.de/DasBlog/Trackback.aspx?guid=edaacaf3-b69f-462e-9cf0-ee6c9c468750</trackback:ping>
      <pingback:server>http://www.activetraining.de/DasBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.activetraining.de/DasBlog/PermaLink,guid,edaacaf3-b69f-462e-9cf0-ee6c9c468750.aspx</pingback:target>
      <dc:creator>Peter Monadjemi</dc:creator>
      <wfw:comment>http://www.activetraining.de/DasBlog/CommentView,guid,edaacaf3-b69f-462e-9cf0-ee6c9c468750.aspx</wfw:comment>
      <wfw:commentRss>http://www.activetraining.de/DasBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=edaacaf3-b69f-462e-9cf0-ee6c9c468750</wfw:commentRss>
      <title>Bye, bye Facebook</title>
      <guid isPermaLink="false">http://www.activetraining.de/DasBlog/PermaLink,guid,edaacaf3-b69f-462e-9cf0-ee6c9c468750.aspx</guid>
      <link>http://www.activetraining.de/DasBlog/2010/07/09/ByeByeFacebook.aspx</link>
      <pubDate>Fri, 09 Jul 2010 20:50:02 GMT</pubDate>
      <description>&lt;p&gt;
&lt;font size="2"&gt;Seit gestern bin ich nicht mehr auf Facebook vertreten, was ich ein
wenig schade finde, da ich einige ganz witzige Einträge hatte (das ist aber schon
wieder ein paar Jahre her). Ich bin kein Facebook-User und werde vermutlich auch nie
einer sein (jetzt sowieso erst einmal nicht). Die Sammelwut sozialer Netzwerke ist
mir inzwischen ein wenig "unheimlich" geworden. Und einem Unternehmen, das wie Facebook
offenbar so hemmungslos an der kommerziellen Auswertung dieser Daten interessiert
ist, darf man seine privaten Daten einfach nicht anvertrauen (dann lieber der Suchmaschine,
dem Kreditkartenunternehmen, dem bekannten Online-Versandhaus, das mit dem Versand
von Büchern begann, und bei dem man inzwischen auch veganen Brotaufstrich bestellen
kann, der Telekom, der Bahn AG usw. - Vorsicht, leichte Ironie;)&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="2"&gt;Facebook ist technisch eine faszinierende Angelegenheit, optisch ansprechend
gemacht, ein echtes Phänomen des 21. Jahrhunderts und für viele Menschen vermutlich
schon ein 1:1-Abbild ihres sozialen Lebens. Aber ich bin der Meinung, dass man mit
seinen privaten Daten genauso sparsam umgehen sollte wie die meisten Menschen mit
ihrem Geld. Es stört mich, wie einfach das Abbild des eigenen "sozialen" Lebens für
jeden sofort einsehbar ist. &lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="2"&gt;Vor kurzem haben &lt;em&gt;Cordula Lochmann&lt;/em&gt; und &lt;em&gt;Martin Szugat&lt;/em&gt; ihr &lt;/font&gt;&lt;a title="Buch &amp;uuml;ber soziale Netzwerke" href="http://entwickler-press.de/ep/psecom,id,2,buchid,212,p,0,_language,de.html" target="_blank"&gt;&lt;font size="2"&gt;Buch&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt; über
soziale Netzwerke aktualisiert (ich war überrascht, wie viele Bücher es zu diesem
Thema bei Amazon bereits gibt). Ich habe das Buch noch nicht gelesen, mich würde aber
interessieren, inwieweit das Thema Schutz der Privatsphäre eine Rolle spielt (in der
ersten Auflage, die vor ein paar Jahren erschien und eines der ersten Bücher zu dem
Thema war, kam das Kapitel noch ein wenig zu kurz).&lt;/font&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.activetraining.de/DasBlog/aggbug.ashx?id=edaacaf3-b69f-462e-9cf0-ee6c9c468750" /&gt;</description>
      <comments>http://www.activetraining.de/DasBlog/CommentView,guid,edaacaf3-b69f-462e-9cf0-ee6c9c468750.aspx</comments>
    </item>
    <item>
      <trackback:ping>http://www.activetraining.de/DasBlog/Trackback.aspx?guid=57f10ece-2493-438c-83ae-46c692ecdebb</trackback:ping>
      <pingback:server>http://www.activetraining.de/DasBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.activetraining.de/DasBlog/PermaLink,guid,57f10ece-2493-438c-83ae-46c692ecdebb.aspx</pingback:target>
      <dc:creator>Peter Monadjemi</dc:creator>
      <wfw:comment>http://www.activetraining.de/DasBlog/CommentView,guid,57f10ece-2493-438c-83ae-46c692ecdebb.aspx</wfw:comment>
      <wfw:commentRss>http://www.activetraining.de/DasBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=57f10ece-2493-438c-83ae-46c692ecdebb</wfw:commentRss>
      <title>Google Street View, nein Danke</title>
      <guid isPermaLink="false">http://www.activetraining.de/DasBlog/PermaLink,guid,57f10ece-2493-438c-83ae-46c692ecdebb.aspx</guid>
      <link>http://www.activetraining.de/DasBlog/2010/05/04/GoogleStreetViewNeinDanke.aspx</link>
      <pubDate>Tue, 04 May 2010 16:08:32 GMT</pubDate>
      <description>&lt;p&gt;
Wer, wie ich, dagegen ist, dass Google Street View mit seinen Autos in Deutschland
Häuser, Menschen fotografieren und, angeblich, auch WLANs erfassen darf, sollte dagegen
Einspruch bei Google erheben. Den passenden Vordruck gibt es z.B. hier:
&lt;/p&gt;
&lt;p&gt;
&lt;a title="http://www.bmelv.de/cln_172/sid_ACE8013A48A9458E4CA2F7859CE362D5/SharedDocs/Standardartikel/Verbraucherschutz/Internet-Telekommunikation/GoogleStreetview.html?nn=441968" href="http://www.bmelv.de/cln_172/sid_ACE8013A48A9458E4CA2F7859CE362D5/SharedDocs/Standardartikel/Verbraucherschutz/Internet-Telekommunikation/GoogleStreetview.html?nn=441968"&gt;http://www.bmelv.de/cln_172/sid_ACE8013A48A9458E4CA2F7859CE362D5/SharedDocs/Standardartikel/Verbraucherschutz/Internet-Telekommunikation/GoogleStreetview.html?nn=441968&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Laut Google-Deutschland sind bislang relativ &lt;a title="Bislang relativ wenige Einspr&amp;uuml;che gegen Google Street View" href="http://www.stuttgarter-nachrichten.de/inhalt.google-nur-wenige-einsprueche-gegen-street-view.223fa9a7-958d-4335-8001-3beab79d2a99.html" target="_blank"&gt;wenige
Einsprüche eingegangen&lt;/a&gt;, das wird sich hoffentlich in nächster Zeit noch ändern.
Ich finde es inzwischen beängstigend wie Google dabei ist, bildlich (?) gesprochen
jeden Quadratmeter des öffentlichen Lebens zu erfassen.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.activetraining.de/DasBlog/aggbug.ashx?id=57f10ece-2493-438c-83ae-46c692ecdebb" /&gt;</description>
      <comments>http://www.activetraining.de/DasBlog/CommentView,guid,57f10ece-2493-438c-83ae-46c692ecdebb.aspx</comments>
    </item>
    <item>
      <trackback:ping>http://www.activetraining.de/DasBlog/Trackback.aspx?guid=60326c75-4a7b-48b8-9993-fd66e7de86b3</trackback:ping>
      <pingback:server>http://www.activetraining.de/DasBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.activetraining.de/DasBlog/PermaLink,guid,60326c75-4a7b-48b8-9993-fd66e7de86b3.aspx</pingback:target>
      <dc:creator>Peter Monadjemi</dc:creator>
      <wfw:comment>http://www.activetraining.de/DasBlog/CommentView,guid,60326c75-4a7b-48b8-9993-fd66e7de86b3.aspx</wfw:comment>
      <wfw:commentRss>http://www.activetraining.de/DasBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=60326c75-4a7b-48b8-9993-fd66e7de86b3</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://www.activetraining.de/DasBlog/content/binary/WindowsLiveWriter/VisualBasic2010Express_9CDA/VFBLevZweiNull_2.jpg">
            <img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="VFBLevZweiNull" src="http://www.activetraining.de/DasBlog/content/binary/WindowsLiveWriter/VisualBasic2010Express_9CDA/VFBLevZweiNull_thumb.jpg" width="260" height="147" />
          </a>
          <br />
          <font size="1">(VB2010 Express wird mit Sicherheit ein Treffer;)</font>
        </p>
        <p>
Die neue Version von <strong>Visual Basic 2010 Express</strong>, die es aktuell nur
auf Englisch gibt (Ende April soll die deutschsprachige Version zur Verfügung stehen),
macht einen hervorragenden Eindruck:
</p>
        <p>
&gt;Durch die Umstellung auf WPF wirkt die Schrift in der IDE deutlich konturenschärfer,
was die Lesbarkeit erhöht
</p>
        <p>
&gt;Insgesamt wird die IDE aufgeräumter und einladender
</p>
        <p>
&gt;Der WPF-Editor wurde ein verbessert und bietet endlich Unterstützung für Datenbindung
über das Property-Fenster, Intellisense für XAML-Attribute und die Möglichkeit, Brushes
(also Farben und Muster) endlich komfortabel in einem Farbauswahlfenster einstellen
zu können.
</p>
        <p>
&gt;Der Code-Editor von VS 2010 wurde generell verbessert - ein paar der Neuerungen
gibt es auch in den Express Editionen, wie z.B. der Umstand, dass wenn ein Bezeichner
(Variable) selektiert wird, alle Stellen, an denen der Bezeichner im Quelltext vorkommt,
ebenfalls hervorgehoben werden (sehr praktisch) oder die "Suchfunktion" bei Intellisense,
die z.B. bei Eingabe von "Dim r As Reader" dazu führt, dass in der Auswahlliste alle
Klassen angeboten werden, in denen "Reader" enthalten ist (bei VS 2008 waren es nur
Klassen, die mit Reader begannen, was oft nichts brachte, da man sich bekanntlich
nie merken kann, ob eine Klasse XmlReader oder XmlTextReader heißt - zu mindestens
geht es mir immer so;)).
</p>
        <p>
Toll sind die "Multiline-Lambdas", durch die man z.B. schreiben kann:
</p>
        <p>
          <font color="#0000ff" size="2" face="Courier New">Dim P =  Sub (Start, Ende)<br />
             For n = Start
To Ende<br />
              Console.Writeline(n)<br />
             Next<br />
         End Sub</font>
        </p>
        <p>
          <font color="#0000ff" size="2" face="Courier New">P(1,10)</font>
        </p>
        <p>
Nicht, dass die Welt darauf gewartet hätte, eine Zählschleife so schreiben zu können,
aber das kleine und harmlose Beispielchen zeigt trotzdem sehr schön, wie elegant sich
Lambdas (anonyme Funktionen/Prozeduren) bei VB 10 schreiben lassen, die sich mit einem
angehängten "AsParallel" theoretisch auch parallel ausführen lassen.
</p>
        <p>
Das kann leicht übersehen werden: Die Spracherweiterungen von VB 10 stehen auch dann
zur Verfügung, wenn das "Ziel" z.B. .NET 2.0 ausgewählt wird (per Voreinstellung wird
das neue .NET 4 Client Profile als Ziel ausgewählt). Das bedeutet, dass man sie auch
für Anwendungen verwenden kann, die noch unter .NET 2.0 laufen.
</p>
        <h4>
          <strong>Covarianz und Contravarianz</strong>
        </h4>
        <p>
Covarianz und Contravarianz sind zwei Begriffe, mit denen ich mich nach wie vor etwas
schwer tue (<em>Oliver Sturm</em> kann das sicher wunderbar auf seine unnachahmliche
Weise erklären und <a title="Covariance und Contravariance" href="http://blogs.msdn.com/ericlippert/archive/2009/11/30/what-s-the-difference-between-covariance-and-assignment-compatibility.aspx" target="_blank">Eric
Lippert</a>, der bei Microsoft für die Implementierung in C# 4.0  zuständig war,
erklärt die Begriffe in einem <a title="Covariance und Contravariance" href="http://blogs.msdn.com/ericlippert/archive/2009/11/30/what-s-the-difference-between-covariance-and-assignment-compatibility.aspx" target="_blank">Blog</a> auch
sehr klar und strukturiert). Also, hier ein weiterer Versuch.
</p>
        <p>
Die Begriffe Covarianz und Contravarianz beziehen sich auf den Umstand, wann für einen
Typ <em>T1</em> ein Typ <em>T2</em> eingesetzt werden kann, der zu <em>T1</em> in
einer "ist abgeleitet von" oder "ist ein Basistyp von T1"-Beziehung steht. Wenn ich<em> Eric
Lippert</em> richtig verstanden habe, dann ist nicht der Typ covariant/contravariant,
sondern die Beziehung der Typen <em>T1 </em>und <em>T2 </em>untereinander ist es.
Aus Gründen der sprachlichen Vereinfachung heißt es aber, dass ein Typ T in einer
generischen Schnittstelle oder einem generischen Delegaten covariant/contravariant
ist.
</p>
        <p>
Covarianz liegt vor, wenn für einen Typ <em>T1</em> in einer generischen Schnittstelle
oder bei einem generischen Delegaten ein von <em>T1</em> abgeleiteter Typ eingesetzt
werden kann (also ein speziellerer Typ). Kontravarianz, wenn für <em>T1</em> ein Typ
eingesetzt werden kann, von dem sich <em>T1</em> ableitet (also ein "allgemeinerer"
Typ als <em>T1</em>). Beide haben etwas mit dem Thema Typsicherheit zu tun und sollen
verhindern, dass zur Laufzeit InvalidCastExceptions auftreten, weil die Typen nicht
zueinander passen.
</p>
        <p>
Hier ein sehr einfaches Beispiel:
</p>
        <p>
          <font color="#0000ff" size="2" face="Courier New">Dim Worte As IEnumerable(Of Object)
= New List(Of String) From {"Sonntag", "Montag", "Dienstag"} </font>
        </p>
        <p>
Unter .NET 3.5 führt die Zuweisung zu einer InvalidCastException, auch wenn sie "logisch"
erscheint. Warum soll man einer Variablen vom Typ <em>Object</em> nicht einen String
zuweisen können? Der folgende Befehl funktioniert doch auch: 
</p>
        <p>
          <font color="#0000ff" size="2" face="Courier New">Dim o As Object = "123"</font>
        </p>
        <p>
Der Hintergrund ist, dass diese implizite Typenkonvertierung bei generischen Schnittstellen
bislang nicht erlaubt war, da sie zu einer Typunsicherheit führen könnte. Wenn aber,
wie es bei IEnumerable(Of T) der Fall ist, ohnehin nur Werte gelesen, aber keine hinzugefügt
werden können, kann auch nichts schiefgehen, so dass die Regeln bei .NET 4.0 etwas
gelockert wurden. 
</p>
        <p>
Covarianz und Contravarianz sind Eigenschaften der .NET-Klassenbibliothek und dort
konkret bei generischen Schnittstellen und generischen Delegaten. Mit .NET 4.0 wurden
Schnittstellen wie <em>IEnumerable(Of T)</em> so erweitert, dass für <strong>T</strong> auch
ein von T abgeleiteter Typ (Covarianz) eingesetzt werden kann. Die dafür eingeführten
Schlüsselwörter <em>In</em> und <em>Out</em>, mit denen die Parameter der Schnittstelle
bzw. des Delegaten, die covariant (out) und kontravariant (in) sein sollen, sind neu
bei VB 10 (und C# 4.0).
</p>
        <p>
Hier am besten ein kleines Beispiel.
</p>
        <p>
Gegeben seien zwei Klassen <strong>Person</strong> und <strong>Autor</strong>, wobei
sich <strong>Autor</strong> von <strong>Person</strong> ableitet, damit eine "Grö0er-Kleiner"-Beziehung
besteht. Weiterhin gibt es eine Variable vom Typ <strong>IEnumerable(Of Person)</strong>,
der eine generische <strong>List(Of Autor)-</strong>Collection zugewiesen werden soll.
Unter .NET 3.5 (und damit VB 2008) gibt es bei der Ausführung eine InvalidCastException,
da die <strong>Autor</strong>-Collection nicht einer Variablen vom Typ<strong> IEnumerable(Of
Person)</strong> zugewiesen werden kann.
</p>
        <p>
Unter VB 10 und .NET 4.0 ist die Zuweisung dagegen erlaubt, da der T-Parameter von
IEnumerable(Of T) mit dem neuen Schlüsselwort Out erweitert wurde und damit covariant
ist.
</p>
        <p>
Hier ist das komplette Beispiel, das nebenbei auch von den neuen Collection-Initialisierern
und automatischen Properties Gebrauch macht.
</p>
        <font color="#0000ff" size="2" face="Courier New">' ----------------------------------------------------------------------------<br /></font>
        <font color="#0000ff" size="2" face="Courier New">' Ein Beispiel für Covarianz
bei Visual Basic 10 und .NET 4.0<br />
' ----------------------------------------------------------------------------</font>
        <font color="#0000ff" size="2" face="Courier New">
          <br />
Module Module1<br />
    ' Generische Schnittstelle mit einem allgemeinen Typ<br />
    Dim AutorenTeam As IEnumerable(Of Person) </font>
        <p>
          <font color="#0000ff" size="2" face="Courier New">    Sub Main()<br />
        Console.Title = "Covarianz-Beispiel"<br />
        Console.ForegroundColor = ConsoleColor.Green<br />
        ' Zuweisung einer generischen Collection
eines spezielleren Typs<br />
        AutorenTeam = GetAutoren() </font>
        </p>
        <p>
          <font color="#0000ff" size="2" face="Courier New">       
Console.WriteLine("{0} Autoren im Team.", CType(AutorenTeam, List(Of Autor)).Count)<br />
        Console.ReadLine()<br />
    End Sub </font>
        </p>
        <p>
          <font color="#0000ff" size="2" face="Courier New">    Function GetAutoren()
As IEnumerable(Of Autor)<br />
        Return New List(Of Autor) From {<br />
            New Autor() With
{.Name = "Albert", .GebDatum = "1.5.1955"},<br />
            New Autor() With
{.Name = "Bert", .GebDatum = "2.6.1972"}}<br />
    End Function </font>
        </p>
        <p>
          <font color="#0000ff" size="2" face="Courier New">End Module </font>
        </p>
        <p>
          <font color="#0000ff" size="2" face="Courier New">Class Person<br />
    Property Name As String<br />
    Property GebDatum As DateTime<br />
End Class </font>
        </p>
        <p>
          <font color="#0000ff" size="2" face="Courier New">Class Autor : Inherits Person </font>
        </p>
        <p>
          <font color="#0000ff" size="2" face="Courier New">End Class</font>
        </p>
        <p>
 
</p>
        <p>
Vorläufiges Fazit: Die mit .NET 4.0 für eine Reihe von Schnittstellen eingeführte <em>Covarianz</em> und <em>Contravarianz</em> sind
eine praktische Angelegenheit, da sie zu etwas mehr Flexibilität beim Umgang mit generischen
Schnittstellen (und generischen Delegaten) führen. Die meisten Visual Basic-Programmierer
werden vermutlich gar nicht ahnen, dass bei einer Zuweisung Covarianz bzw. Contravarianz 
im Spiel ist. Die neuen Schlüsselwörter <strong>In</strong> und <strong>Out</strong> spielen
für die Praxis kaum eine Rolle und sind in erster Linie für Entwickler von Klassenbibliotheken
interessant, die auf diese Weise den Einsatz ihrer Schnittstellen und Delegaten etwas
flexibler gestalten können.
</p>
        <p>
Ich hoffe, die Erklärungen war halbwegs verständlich (die MSDN-Doku erklärt die Themen
auch recht ausführlich, wenngleich ich mich mit maschinell erstellten Übersetzungen
wie "Kovarianz erlaubt einer Methode, einen stärker abgeleiteten Rückgabetyp zu verwenden,
als vom generischen Typparameter der Schnittstelle definiert wurde" - was heißt hier
"stärker abgeleitet?" - "etwas" schwer tue. Ich hoffe vor allem, dass die Erläuterungen
sachlich korrekt sind. Ansonsten würde ich mich über einen Hinweis freuen.
</p>
        <img width="0" height="0" src="http://www.activetraining.de/DasBlog/aggbug.ashx?id=60326c75-4a7b-48b8-9993-fd66e7de86b3" />
      </body>
      <title>Visual Basic 2010 Express - der erste Eindruck (und was hinter Covarianz/Contravarianz steckt)</title>
      <guid isPermaLink="false">http://www.activetraining.de/DasBlog/PermaLink,guid,60326c75-4a7b-48b8-9993-fd66e7de86b3.aspx</guid>
      <link>http://www.activetraining.de/DasBlog/2010/04/20/VisualBasic2010ExpressDerErsteEindruckUndWasHinterCovarianzContravarianzSteckt.aspx</link>
      <pubDate>Tue, 20 Apr 2010 12:29:30 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://www.activetraining.de/DasBlog/content/binary/WindowsLiveWriter/VisualBasic2010Express_9CDA/VFBLevZweiNull_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="VFBLevZweiNull" src="http://www.activetraining.de/DasBlog/content/binary/WindowsLiveWriter/VisualBasic2010Express_9CDA/VFBLevZweiNull_thumb.jpg" width="260" height="147"&gt;&lt;/a&gt; 
&lt;br&gt;
&lt;font size="1"&gt;(VB2010 Express wird mit Sicherheit ein Treffer;)&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
Die neue Version von &lt;strong&gt;Visual Basic 2010 Express&lt;/strong&gt;, die es aktuell nur
auf Englisch gibt (Ende April soll die deutschsprachige Version zur Verfügung stehen),
macht einen hervorragenden Eindruck:
&lt;/p&gt;
&lt;p&gt;
&amp;gt;Durch die Umstellung auf WPF wirkt die Schrift in der IDE deutlich konturenschärfer,
was die Lesbarkeit erhöht
&lt;/p&gt;
&lt;p&gt;
&amp;gt;Insgesamt wird die IDE aufgeräumter und einladender
&lt;/p&gt;
&lt;p&gt;
&amp;gt;Der WPF-Editor wurde ein verbessert und bietet endlich Unterstützung für Datenbindung
über das Property-Fenster, Intellisense für XAML-Attribute und die Möglichkeit, Brushes
(also Farben und Muster) endlich komfortabel in einem Farbauswahlfenster einstellen
zu können.
&lt;/p&gt;
&lt;p&gt;
&amp;gt;Der Code-Editor von VS 2010 wurde generell verbessert - ein paar der Neuerungen
gibt es auch in den Express Editionen, wie z.B. der Umstand, dass wenn ein Bezeichner
(Variable) selektiert wird, alle Stellen, an denen der Bezeichner im Quelltext vorkommt,
ebenfalls hervorgehoben werden (sehr praktisch) oder die "Suchfunktion" bei Intellisense,
die z.B. bei Eingabe von "Dim r As Reader" dazu führt, dass in der Auswahlliste alle
Klassen angeboten werden, in denen "Reader" enthalten ist (bei VS 2008 waren es nur
Klassen, die mit Reader begannen, was oft nichts brachte, da man sich bekanntlich
nie merken kann, ob eine Klasse XmlReader oder XmlTextReader heißt - zu mindestens
geht es mir immer so;)).
&lt;/p&gt;
&lt;p&gt;
Toll sind die "Multiline-Lambdas", durch die man z.B. schreiben kann:
&lt;/p&gt;
&lt;p&gt;
&lt;font color="#0000ff" size="2" face="Courier New"&gt;Dim P =&amp;nbsp; Sub (Start, Ende)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For n = Start
To Ende&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.Writeline(n)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font color="#0000ff" size="2" face="Courier New"&gt;P(1,10)&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
Nicht, dass die Welt darauf gewartet hätte, eine Zählschleife so schreiben zu können,
aber das kleine und harmlose Beispielchen zeigt trotzdem sehr schön, wie elegant sich
Lambdas (anonyme Funktionen/Prozeduren) bei VB 10 schreiben lassen, die sich mit einem
angehängten "AsParallel" theoretisch auch parallel ausführen lassen.
&lt;/p&gt;
&lt;p&gt;
Das kann leicht übersehen werden: Die Spracherweiterungen von VB 10 stehen auch dann
zur Verfügung, wenn das "Ziel" z.B. .NET 2.0 ausgewählt wird (per Voreinstellung wird
das neue .NET 4 Client Profile als Ziel ausgewählt). Das bedeutet, dass man sie auch
für Anwendungen verwenden kann, die noch unter .NET 2.0 laufen.
&lt;/p&gt;
&lt;h4&gt;&lt;strong&gt;Covarianz und Contravarianz&lt;/strong&gt;
&lt;/h4&gt;
&lt;p&gt;
Covarianz und Contravarianz sind zwei Begriffe, mit denen ich mich nach wie vor etwas
schwer tue (&lt;em&gt;Oliver Sturm&lt;/em&gt; kann das sicher wunderbar auf seine unnachahmliche
Weise erklären und &lt;a title="Covariance und Contravariance" href="http://blogs.msdn.com/ericlippert/archive/2009/11/30/what-s-the-difference-between-covariance-and-assignment-compatibility.aspx" target="_blank"&gt;Eric
Lippert&lt;/a&gt;, der bei Microsoft für die Implementierung in C# 4.0&amp;nbsp; zuständig war,
erklärt die Begriffe in einem &lt;a title="Covariance und Contravariance" href="http://blogs.msdn.com/ericlippert/archive/2009/11/30/what-s-the-difference-between-covariance-and-assignment-compatibility.aspx" target="_blank"&gt;Blog&lt;/a&gt; auch
sehr klar und strukturiert). Also, hier ein weiterer Versuch.
&lt;/p&gt;
&lt;p&gt;
Die Begriffe Covarianz und Contravarianz beziehen sich auf den Umstand, wann für einen
Typ &lt;em&gt;T1&lt;/em&gt; ein Typ &lt;em&gt;T2&lt;/em&gt; eingesetzt werden kann, der zu &lt;em&gt;T1&lt;/em&gt; in
einer "ist abgeleitet von" oder "ist ein Basistyp von T1"-Beziehung steht. Wenn ich&lt;em&gt; Eric
Lippert&lt;/em&gt; richtig verstanden habe, dann ist nicht der Typ covariant/contravariant,
sondern die Beziehung der Typen &lt;em&gt;T1 &lt;/em&gt;und &lt;em&gt;T2 &lt;/em&gt;untereinander ist es.
Aus Gründen der sprachlichen Vereinfachung heißt es aber, dass ein Typ T in einer
generischen Schnittstelle oder einem generischen Delegaten covariant/contravariant
ist.
&lt;/p&gt;
&lt;p&gt;
Covarianz liegt vor, wenn für einen Typ &lt;em&gt;T1&lt;/em&gt; in einer generischen Schnittstelle
oder bei einem generischen Delegaten ein von &lt;em&gt;T1&lt;/em&gt; abgeleiteter Typ eingesetzt
werden kann (also ein speziellerer Typ). Kontravarianz, wenn für &lt;em&gt;T1&lt;/em&gt; ein Typ
eingesetzt werden kann, von dem sich &lt;em&gt;T1&lt;/em&gt; ableitet (also ein "allgemeinerer"
Typ als &lt;em&gt;T1&lt;/em&gt;). Beide haben etwas mit dem Thema Typsicherheit zu tun und sollen
verhindern, dass zur Laufzeit InvalidCastExceptions auftreten, weil die Typen nicht
zueinander passen.
&lt;/p&gt;
&lt;p&gt;
Hier ein sehr einfaches Beispiel:
&lt;/p&gt;
&lt;p&gt;
&lt;font color="#0000ff" size="2" face="Courier New"&gt;Dim Worte As IEnumerable(Of Object)
= New List(Of String) From {"Sonntag", "Montag", "Dienstag"} &lt;/font&gt; 
&lt;p&gt;
Unter .NET 3.5 führt die Zuweisung zu einer InvalidCastException, auch wenn sie "logisch"
erscheint. Warum soll man einer Variablen vom Typ &lt;em&gt;Object&lt;/em&gt; nicht einen String
zuweisen können? Der folgende Befehl funktioniert doch auch: 
&lt;p&gt;
&lt;font color="#0000ff" size="2" face="Courier New"&gt;Dim o As Object = "123"&lt;/font&gt; 
&lt;p&gt;
Der Hintergrund ist, dass diese implizite Typenkonvertierung bei generischen Schnittstellen
bislang nicht erlaubt war, da sie zu einer Typunsicherheit führen könnte. Wenn aber,
wie es bei IEnumerable(Of T) der Fall ist, ohnehin nur Werte gelesen, aber keine hinzugefügt
werden können, kann auch nichts schiefgehen, so dass die Regeln bei .NET 4.0 etwas
gelockert wurden. 
&lt;p&gt;
Covarianz und Contravarianz sind Eigenschaften der .NET-Klassenbibliothek und dort
konkret bei generischen Schnittstellen und generischen Delegaten. Mit .NET 4.0 wurden
Schnittstellen wie &lt;em&gt;IEnumerable(Of T)&lt;/em&gt; so erweitert, dass für &lt;strong&gt;T&lt;/strong&gt; auch
ein von T abgeleiteter Typ (Covarianz) eingesetzt werden kann. Die dafür eingeführten
Schlüsselwörter &lt;em&gt;In&lt;/em&gt; und &lt;em&gt;Out&lt;/em&gt;, mit denen die Parameter der Schnittstelle
bzw. des Delegaten, die covariant (out) und kontravariant (in) sein sollen, sind neu
bei VB 10 (und C# 4.0).
&lt;/p&gt;
&lt;p&gt;
Hier am besten ein kleines Beispiel.
&lt;/p&gt;
&lt;p&gt;
Gegeben seien zwei Klassen &lt;strong&gt;Person&lt;/strong&gt; und &lt;strong&gt;Autor&lt;/strong&gt;, wobei
sich &lt;strong&gt;Autor&lt;/strong&gt; von &lt;strong&gt;Person&lt;/strong&gt; ableitet, damit eine "Grö0er-Kleiner"-Beziehung
besteht. Weiterhin gibt es eine Variable vom Typ &lt;strong&gt;IEnumerable(Of Person)&lt;/strong&gt;,
der eine generische &lt;strong&gt;List(Of Autor)-&lt;/strong&gt;Collection zugewiesen werden soll.
Unter .NET 3.5 (und damit VB 2008) gibt es bei der Ausführung eine InvalidCastException,
da die &lt;strong&gt;Autor&lt;/strong&gt;-Collection nicht einer Variablen vom Typ&lt;strong&gt; IEnumerable(Of
Person)&lt;/strong&gt; zugewiesen werden kann.
&lt;/p&gt;
&lt;p&gt;
Unter VB 10 und .NET 4.0 ist die Zuweisung dagegen erlaubt, da der T-Parameter von
IEnumerable(Of T) mit dem neuen Schlüsselwort Out erweitert wurde und damit covariant
ist.
&lt;/p&gt;
&lt;p&gt;
Hier ist das komplette Beispiel, das nebenbei auch von den neuen Collection-Initialisierern
und automatischen Properties Gebrauch macht.
&lt;/p&gt;
&lt;font color="#0000ff" size="2" face="Courier New"&gt;' ----------------------------------------------------------------------------&lt;br&gt;
&lt;/font&gt;&lt;font color="#0000ff" size="2" face="Courier New"&gt;' Ein Beispiel für Covarianz
bei Visual Basic 10 und .NET 4.0&lt;br&gt;
' ----------------------------------------------------------------------------&lt;/font&gt;&lt;font color="#0000ff" size="2" face="Courier New"&gt;
&lt;br&gt;
Module Module1&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; ' Generische Schnittstelle mit einem allgemeinen Typ&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim AutorenTeam As IEnumerable(Of Person) &lt;/font&gt; 
&lt;p&gt;
&lt;font color="#0000ff" size="2" face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Sub Main()&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.Title = "Covarianz-Beispiel"&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.ForegroundColor = ConsoleColor.Green&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ' Zuweisung einer generischen Collection
eines spezielleren Typs&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AutorenTeam = GetAutoren() &lt;/font&gt; 
&lt;p&gt;
&lt;font color="#0000ff" size="2" face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
Console.WriteLine("{0} Autoren im Team.", CType(AutorenTeam, List(Of Autor)).Count)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.ReadLine()&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub &lt;/font&gt; 
&lt;p&gt;
&lt;font color="#0000ff" size="2" face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Function GetAutoren()
As IEnumerable(Of Autor)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Return New List(Of Autor) From {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; New Autor() With
{.Name = "Albert", .GebDatum = "1.5.1955"},&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; New Autor() With
{.Name = "Bert", .GebDatum = "2.6.1972"}}&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; End Function &lt;/font&gt; 
&lt;p&gt;
&lt;font color="#0000ff" size="2" face="Courier New"&gt;End Module &lt;/font&gt; 
&lt;p&gt;
&lt;font color="#0000ff" size="2" face="Courier New"&gt;Class Person&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Property Name As String&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Property GebDatum As DateTime&lt;br&gt;
End Class &lt;/font&gt; 
&lt;p&gt;
&lt;font color="#0000ff" size="2" face="Courier New"&gt;Class Autor : Inherits Person &lt;/font&gt; 
&lt;p&gt;
&lt;font color="#0000ff" size="2" face="Courier New"&gt;End Class&lt;/font&gt; 
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Vorläufiges Fazit: Die mit .NET 4.0 für eine Reihe von Schnittstellen eingeführte &lt;em&gt;Covarianz&lt;/em&gt; und &lt;em&gt;Contravarianz&lt;/em&gt; sind
eine praktische Angelegenheit, da sie zu etwas mehr Flexibilität beim Umgang mit generischen
Schnittstellen (und generischen Delegaten) führen. Die meisten Visual Basic-Programmierer
werden vermutlich gar nicht ahnen, dass bei einer Zuweisung Covarianz bzw. Contravarianz&amp;nbsp;
im Spiel ist. Die neuen Schlüsselwörter &lt;strong&gt;In&lt;/strong&gt; und &lt;strong&gt;Out&lt;/strong&gt; spielen
für die Praxis kaum eine Rolle und sind in erster Linie für Entwickler von Klassenbibliotheken
interessant, die auf diese Weise den Einsatz ihrer Schnittstellen und Delegaten etwas
flexibler gestalten können.
&lt;/p&gt;
&lt;p&gt;
Ich hoffe, die Erklärungen war halbwegs verständlich (die MSDN-Doku erklärt die Themen
auch recht ausführlich, wenngleich ich mich mit maschinell erstellten Übersetzungen
wie "Kovarianz erlaubt einer Methode, einen stärker abgeleiteten Rückgabetyp zu verwenden,
als vom generischen Typparameter der Schnittstelle definiert wurde" - was heißt hier
"stärker abgeleitet?" - "etwas" schwer tue. Ich hoffe vor allem, dass die Erläuterungen
sachlich korrekt sind. Ansonsten würde ich mich über einen Hinweis freuen.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.activetraining.de/DasBlog/aggbug.ashx?id=60326c75-4a7b-48b8-9993-fd66e7de86b3" /&gt;</description>
      <comments>http://www.activetraining.de/DasBlog/CommentView,guid,60326c75-4a7b-48b8-9993-fd66e7de86b3.aspx</comments>
    </item>
    <item>
      <trackback:ping>http://www.activetraining.de/DasBlog/Trackback.aspx?guid=80976342-ad80-4876-8a94-e9818a362530</trackback:ping>
      <pingback:server>http://www.activetraining.de/DasBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.activetraining.de/DasBlog/PermaLink,guid,80976342-ad80-4876-8a94-e9818a362530.aspx</pingback:target>
      <dc:creator>Peter Monadjemi</dc:creator>
      <wfw:comment>http://www.activetraining.de/DasBlog/CommentView,guid,80976342-ad80-4876-8a94-e9818a362530.aspx</wfw:comment>
      <wfw:commentRss>http://www.activetraining.de/DasBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=80976342-ad80-4876-8a94-e9818a362530</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://www.activetraining.de/DasBlog/content/binary/WindowsLiveWriter/DasEndevonVB_8449/WeDoNotHaveSamplesForThisLanguage_2.jpg">
            <img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="WeDoNotHaveSamplesForThisLanguage" src="http://www.activetraining.de/DasBlog/content/binary/WindowsLiveWriter/DasEndevonVB_8449/WeDoNotHaveSamplesForThisLanguage_thumb.jpg" width="244" height="53" />
          </a>
          <br />
(wo bleibt VB?)
</p>
        <p>
          <font size="2">Seit Mitte März gibt es bei Microsoft mit <strong>Visual Studio 2010
Express for Windows Phone</strong> die erste Vorabversion des neuen Entwicklungswerkzeugs
für die neue Mobilplattform von Microsoft mit dem Namen <strong>Windows Phone 7 Series</strong>.
Oder ein wenig weniger strategisch und diplomatisch formuliert. Microsoft startet
einen neuen Anlauf den Markt für das mobile Internet (mit Handys, SmartPhones und
dergleichen) und hat sich dabei "ein wenig" von Apple, dem iPhone und dem enormen
Erfolg des App Stores "inspireren" lassen (das war jetzt doch wieder ein wenig zu
diplomatisch).</font>
        </p>
        <p>
          <font size="2">Entwickelt werden Apps für Windows Phone 7 Series-Geräte (die ersten
Mobiltelefone soll es noch im Herbst geben) mit einer speziellen Variante von Visual
Studio 2010 Express, die nur Projektvorlagen für Windows Phone und XNA Game Studio
4.0 anbietet. Diese Edition wird, der Name deutet es an, kostenlos sein. Die Phone-Apps
basieren auf Silverlight 4, getestet werden die Apps mit Hilfe eines kleinen Emulators.
Im Vergleich zum iPhone ist die App-Entwicklung deutlich einfacher. Ein "Hello, World"-App
besteht wirklich nur aus einer Zeile Code und nicht aus etwa 80 wie bei einer iPhone-App
(wobei Einfachheit nicht immer von Vorteil ist weil dann eine Menge schlecht designter
Apps entstehen).</font>
        </p>
        <p>
          <font size="2">So weit, so gut. Weniger gut ist der Umstand, dass es in der ersten
Preview von Visual Studio 2010 Express for Windows Phone nur Vorlagen für C# gibt.
Visual Basic bleibt, genau wie bei XNA Game Studio von Anfang an, außen vor. Sollte
es dabei bleiben, bleibt VB-Entwicklern nichts anderes übrig als C# zu lernen,wenn
sie Apps für das neue Windows-Phone entwickeln möchten. Ich kann im Moment nicht beurteilen,
ob dies lediglich an begrenzten Ressourcen liegt (in der Doku müssten alle Beispiele
auch in VB vorliegen), oder ob dies strategische Gründe hat. Bereits auf der <strong>PDC08</strong> wurde
bekanntgegeben, dass beide Sprachen in Zukunft gemeinsam "weiterentwickelt" werden
und Spracheigenschaften, die in C# eingeführt werden auch in VB kommen werden, was
man auch so verstehen kann, dass C# weiter entwickelt wird und man von Fall zu Fall
entscheidet, welches der neuen Sprachelemente nach VB übernommen wird.</font>
        </p>
        <p>
          <font size="2">Auf der <strong>PDC08</strong> wurde aber auch versprochen, dass jedes
künftige Framework sowohl mit C# als auch VB genutzt werden kann.</font>
        </p>
        <p>
          <font size="2">Grundsätzlich ist die Programmierung von Phone 7-Apps auch mit VB möglich
und natürlich bedeutet der Umstand, dass die erste Vorabversion von Visual studio
2010 Express for Windows Phone keine Vorlagen für VB enthält noch nicht das Ende von
VB. Strategisch ergibt es auch keinen Sinn, eine so große Gruppe von Entwicklern von
dem neuen Markt auszuschließen. Microsoft muss daran interessiert sein, möglichst
viele Entwickler auf die neue Plattform zu holen. Tatsache ist aber auch, dass VB
im aktuellen Phone 7-SDK keine Rolle spielt und wer sofort mit der Entwicklung beginnen
möchte (und wer möchte das nicht?), dies mit C# zu tun muss.</font>
        </p>
        <p>
          <font size="2">Einen netten Vortrag von <em>Lucian Wischik</em>, der bei Microsoft
für die Weiterentwicklung von Visual Basic zuständig ist, von der <strong>PDC09</strong>,
in dem er zeigt wie sich eine einfache Silverlight 4-App (die theoretisch 1:1 auf
einem Phone 7-Gerät laufen sollte) mit VB 2010 entwickeln lässt, gibt es </font>
          <a title="Lucian Wischik zeigt die Entwicklung einer Silverlight 4-App mit VB 2010" href="http://microsoftpdc.com/Sessions/FT32" target="_blank">
            <font size="2">hier</font>
          </a>
          <font size="2">.</font>
        </p>
        <p>
          <font size="2"> </font>
        </p>
        <img width="0" height="0" src="http://www.activetraining.de/DasBlog/aggbug.ashx?id=80976342-ad80-4876-8a94-e9818a362530" />
      </body>
      <title>Das Ende von VB?</title>
      <guid isPermaLink="false">http://www.activetraining.de/DasBlog/PermaLink,guid,80976342-ad80-4876-8a94-e9818a362530.aspx</guid>
      <link>http://www.activetraining.de/DasBlog/2010/03/23/DasEndeVonVB.aspx</link>
      <pubDate>Tue, 23 Mar 2010 08:34:20 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://www.activetraining.de/DasBlog/content/binary/WindowsLiveWriter/DasEndevonVB_8449/WeDoNotHaveSamplesForThisLanguage_2.jpg"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="WeDoNotHaveSamplesForThisLanguage" src="http://www.activetraining.de/DasBlog/content/binary/WindowsLiveWriter/DasEndevonVB_8449/WeDoNotHaveSamplesForThisLanguage_thumb.jpg" width="244" height="53"&gt;&lt;/a&gt; 
&lt;br&gt;
(wo bleibt VB?)
&lt;/p&gt;
&lt;p&gt;
&lt;font size="2"&gt;Seit Mitte März gibt es bei Microsoft mit &lt;strong&gt;Visual Studio 2010
Express for Windows Phone&lt;/strong&gt; die erste Vorabversion des neuen Entwicklungswerkzeugs
für die neue Mobilplattform von Microsoft mit dem Namen &lt;strong&gt;Windows Phone 7 Series&lt;/strong&gt;.
Oder ein wenig weniger strategisch und diplomatisch formuliert. Microsoft startet
einen neuen Anlauf den Markt für das mobile Internet (mit Handys, SmartPhones und
dergleichen) und hat sich dabei "ein wenig" von Apple, dem iPhone und dem enormen
Erfolg des App Stores "inspireren" lassen (das war jetzt doch wieder ein wenig zu
diplomatisch).&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="2"&gt;Entwickelt werden Apps für Windows Phone 7 Series-Geräte (die ersten
Mobiltelefone soll es noch im Herbst geben) mit einer speziellen Variante von Visual
Studio 2010 Express, die nur Projektvorlagen für Windows Phone und XNA Game Studio
4.0 anbietet. Diese Edition wird, der Name deutet es an, kostenlos sein. Die Phone-Apps
basieren auf Silverlight 4, getestet werden die Apps mit Hilfe eines kleinen Emulators.
Im Vergleich zum iPhone ist die App-Entwicklung deutlich einfacher. Ein "Hello, World"-App
besteht wirklich nur aus einer Zeile Code und nicht aus etwa 80 wie bei einer iPhone-App
(wobei Einfachheit nicht immer von Vorteil ist weil dann eine Menge schlecht designter
Apps entstehen).&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="2"&gt;So weit, so gut. Weniger gut ist der Umstand, dass es in der ersten
Preview von Visual Studio 2010 Express for Windows Phone nur Vorlagen für C# gibt.
Visual Basic bleibt, genau wie bei XNA Game Studio von Anfang an, außen vor. Sollte
es dabei bleiben, bleibt VB-Entwicklern nichts anderes übrig als C# zu lernen,wenn
sie Apps für das neue Windows-Phone entwickeln möchten. Ich kann im Moment nicht beurteilen,
ob dies lediglich an begrenzten Ressourcen liegt (in der Doku müssten alle Beispiele
auch in VB vorliegen), oder ob dies strategische Gründe hat. Bereits auf der &lt;strong&gt;PDC08&lt;/strong&gt; wurde
bekanntgegeben, dass beide Sprachen in Zukunft gemeinsam "weiterentwickelt" werden
und Spracheigenschaften, die in C# eingeführt werden auch in VB kommen werden, was
man auch so verstehen kann, dass C# weiter entwickelt wird und man von Fall zu Fall
entscheidet, welches der neuen Sprachelemente nach VB übernommen wird.&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="2"&gt;Auf der &lt;strong&gt;PDC08&lt;/strong&gt; wurde aber auch versprochen, dass jedes
künftige Framework sowohl mit C# als auch VB genutzt werden kann.&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="2"&gt;Grundsätzlich ist die Programmierung von Phone 7-Apps auch mit VB möglich
und natürlich bedeutet der Umstand, dass die erste Vorabversion von Visual studio
2010 Express for Windows Phone keine Vorlagen für VB enthält noch nicht das Ende von
VB. Strategisch ergibt es auch keinen Sinn, eine so große Gruppe von Entwicklern von
dem neuen Markt auszuschließen. Microsoft muss daran interessiert sein, möglichst
viele Entwickler auf die neue Plattform zu holen. Tatsache ist aber auch, dass VB
im aktuellen Phone 7-SDK keine Rolle spielt und wer sofort mit der Entwicklung beginnen
möchte (und wer möchte das nicht?), dies mit C# zu tun muss.&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="2"&gt;Einen netten Vortrag von &lt;em&gt;Lucian Wischik&lt;/em&gt;, der bei Microsoft
für die Weiterentwicklung von Visual Basic zuständig ist, von der &lt;strong&gt;PDC09&lt;/strong&gt;,
in dem er zeigt wie sich eine einfache Silverlight 4-App (die theoretisch 1:1 auf
einem Phone 7-Gerät laufen sollte) mit VB 2010 entwickeln lässt, gibt es &lt;/font&gt;&lt;a title="Lucian Wischik zeigt die Entwicklung einer Silverlight 4-App mit VB 2010" href="http://microsoftpdc.com/Sessions/FT32" target="_blank"&gt;&lt;font size="2"&gt;hier&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;.&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="2"&gt;&amp;nbsp;&lt;/font&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.activetraining.de/DasBlog/aggbug.ashx?id=80976342-ad80-4876-8a94-e9818a362530" /&gt;</description>
      <comments>http://www.activetraining.de/DasBlog/CommentView,guid,80976342-ad80-4876-8a94-e9818a362530.aspx</comments>
    </item>
    <item>
      <trackback:ping>http://www.activetraining.de/DasBlog/Trackback.aspx?guid=0ec53b79-f6cf-4e39-9141-1ab1330117b7</trackback:ping>
      <pingback:server>http://www.activetraining.de/DasBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.activetraining.de/DasBlog/PermaLink,guid,0ec53b79-f6cf-4e39-9141-1ab1330117b7.aspx</pingback:target>
      <dc:creator>Peter Monadjemi</dc:creator>
      <wfw:comment>http://www.activetraining.de/DasBlog/CommentView,guid,0ec53b79-f6cf-4e39-9141-1ab1330117b7.aspx</wfw:comment>
      <wfw:commentRss>http://www.activetraining.de/DasBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=0ec53b79-f6cf-4e39-9141-1ab1330117b7</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <font size="2"> <a href="http://www.activetraining.de/DasBlog/content/binary/WindowsLiveWriter/Piistcool_CEE1/AnzeigenTafelMitPi_2.jpg"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="155" alt="AnzeigenTafelMitPi" src="http://www.activetraining.de/DasBlog/content/binary/WindowsLiveWriter/Piistcool_CEE1/AnzeigenTafelMitPi_thumb.jpg" width="260" border="0" /></a><br />
(Pi ist überall)</font>
        </p>
        <p>
          <font size="2">Über Google erfährt man bekanntlich so manches, was man vorher nicht
wusste. Zum Beispiel, dass der <strong>14.3</strong> der Pi-Tag ist (eigentlich auch
logisch). Kann und sollte man für eine harmlose <a title="Pi bei Wikipedia" href="http://de.wikipedia.org/wiki/Kreiszahl" target="_blank">Zahl</a> einen
Gedenktag einrichten? Ich denke schon, da es kaum etwas gibt (was mir spontan einfallen
würde), das in allen Kulturen gleichermaßen geschätzt wird, das von keiner Ideologie
umklammert ist, und um das noch keine Kriege geführt wurden. Pi ist vor allem ein
besonderer Tag für die sog. Nerds.</font>
        </p>
        <p>
          <font size="2">Wie man als typischer Nerd (oder Geek, wobei ich den Unterschied zwischen
den beiden soziologisch-kulturellen Minderheiten nicht in 1-2 Sätzen beschreiben könnte
- ich vermute, Geeks pflegen häufiger soziale Kontakte) den "Pie-Day" am besten begehen
kann erfährt man hier: </font>
          <a title="http://www.wikihow.com/Celebrate-Pi-Day" href="http://www.wikihow.com/Celebrate-Pi-Day">
            <font size="2">http://www.wikihow.com/Celebrate-Pi-Day</font>
          </a>
        </p>
        <p>
          <font size="2">Da es in diesem Blog hin und wieder auch um <strong>Visual Basic</strong> gehen
soll, im folgenden eine kleine Console-App, die die Kreiszahl über eine einfache Reihenentwicklung
annähert(zur Abwechslung einmal ohne LINQ&amp;Lambdas):</font>
        </p>
        <p>
          <font face="Courier  New" size="2">'<font color="#0000ff"> Berechnet Pi über eine
einfache Annäherung<br />
Module Module1 
<br /><br />
    Private RecurseLimit As Byte = 60<br />
    Private PiOffiziell As String = "3.1415926535897932384626433832795028841971693993751" 
<br /><br />
    Sub Main()<br />
        Console.Title = "Anhäherung an Pi"<br />
        Console.ForegroundColor = ConsoleColor.Green<br />
        Dim PiZahl As Double = 2 * CalculatePI(1) 
<br />
        Console.WriteLine("Die Annährung: {0:N20}",
PiZahl)<br />
        Console.WriteLine("Math.PI:      
{0:N20}", Math.PI)<br />
        Console.WriteLine("Das Original: 
{0:N50}", PiOffiziell) 
<br />
        Console.ReadLine()<br />
    End Sub 
<br /><br />
    Private Function CalculatePI(ByVal i As Integer) As Double<br />
        If i &gt; RecurseLimit Then<br />
            Return i<br />
        Else<br />
            Return 1 + (i /
(1 + (2 * i))) * CalculatePI(i + 1)<br />
        End If<br />
    End Function 
<br /><br />
End Module</font></font>
        </p>
        <p>
          <font size="2">
          </font> 
</p>
        <p>
          <font size="2">Im Rahmen der Double-Genauigkeit ist das Ergebnis nicht schlecht und
entspricht ziemlich genau dem, was auch <strong>Math.Pi</strong> liefert. Natürlich
ist es kein Vergleich zur offiziellen Zahl, die inzwischen auf etwa 2 Trillionen Ziffern
genau berechnet wurde (bekanntlich ist Pi eine unendliche Zahl), oder zu jener Kurzvarianten,
die man (als echter Geek bzw. Nerd) eigentlich auswendig aufsagen können sollte (der
Weltrekord liegt laut Wikipedia bei 100.000 Stellen, aufgestellt von <em>Akira Haraguchi</em>,
der für das Aufzählen einen Tag benötigte):</font>
        </p>
        <p>
3.1415926535897932384626433832795028841971693993751
</p>
        <p>
          <font size="2">Wer viel Zeit hat und gerne einmal eine "State of the Art"-Variante
kennenlernen möchte, sollte sich den folgenden Text zu Gemüte führen, der zeigt, wie
sich Pi mit Hilfe der Grafikkarten-CPU (GPU) und F# berechnen lässt:</font>
        </p>
        <p>
          <a title="http://tomasp.net/articles/accelerator-intro.aspx" href="http://tomasp.net/articles/accelerator-intro.aspx">
            <font size="2">http://tomasp.net/articles/accelerator-intro.aspx</font>
          </a>
        </p>
        <img width="0" height="0" src="http://www.activetraining.de/DasBlog/aggbug.ashx?id=0ec53b79-f6cf-4e39-9141-1ab1330117b7" />
      </body>
      <title>Pi als Mittel der soziokulturellen Verst&amp;auml;ndigung</title>
      <guid isPermaLink="false">http://www.activetraining.de/DasBlog/PermaLink,guid,0ec53b79-f6cf-4e39-9141-1ab1330117b7.aspx</guid>
      <link>http://www.activetraining.de/DasBlog/2010/03/14/PiAlsMittelDerSoziokulturellenVerstaumlndigung.aspx</link>
      <pubDate>Sun, 14 Mar 2010 20:56:56 GMT</pubDate>
      <description>&lt;p&gt;
&lt;font size="2"&gt;&amp;nbsp;&lt;a href="http://www.activetraining.de/DasBlog/content/binary/WindowsLiveWriter/Piistcool_CEE1/AnzeigenTafelMitPi_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="155" alt="AnzeigenTafelMitPi" src="http://www.activetraining.de/DasBlog/content/binary/WindowsLiveWriter/Piistcool_CEE1/AnzeigenTafelMitPi_thumb.jpg" width="260" border="0"&gt;&lt;/a&gt; 
&lt;br&gt;
(Pi ist überall)&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="2"&gt;Über Google erfährt man bekanntlich so manches, was man vorher nicht
wusste. Zum Beispiel, dass der &lt;strong&gt;14.3&lt;/strong&gt; der Pi-Tag ist (eigentlich auch
logisch). Kann und sollte man für eine harmlose &lt;a title="Pi bei Wikipedia" href="http://de.wikipedia.org/wiki/Kreiszahl" target="_blank"&gt;Zahl&lt;/a&gt; einen
Gedenktag einrichten? Ich denke schon, da es kaum etwas gibt (was mir spontan einfallen
würde), das in allen Kulturen gleichermaßen geschätzt wird, das von keiner Ideologie
umklammert ist, und um das noch keine Kriege geführt wurden. Pi ist vor allem ein
besonderer Tag für die sog. Nerds.&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="2"&gt;Wie man als typischer Nerd (oder Geek, wobei ich den Unterschied zwischen
den beiden soziologisch-kulturellen Minderheiten nicht in 1-2 Sätzen beschreiben könnte
- ich vermute, Geeks pflegen häufiger soziale Kontakte) den "Pie-Day" am besten begehen
kann erfährt man hier: &lt;/font&gt;&lt;a title="http://www.wikihow.com/Celebrate-Pi-Day" href="http://www.wikihow.com/Celebrate-Pi-Day"&gt;&lt;font size="2"&gt;http://www.wikihow.com/Celebrate-Pi-Day&lt;/font&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="2"&gt;Da es in diesem Blog hin und wieder auch um &lt;strong&gt;Visual Basic&lt;/strong&gt; gehen
soll, im folgenden eine kleine Console-App, die die Kreiszahl über eine einfache Reihenentwicklung
annähert(zur Abwechslung einmal ohne LINQ&amp;amp;Lambdas):&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier  New" size="2"&gt;'&lt;font color="#0000ff"&gt; Berechnet Pi über eine
einfache Annäherung&lt;br&gt;
Module Module1 
&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Private RecurseLimit As Byte = 60&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Private PiOffiziell As String = "3.1415926535897932384626433832795028841971693993751" 
&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Sub Main()&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.Title = "Anhäherung an Pi"&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.ForegroundColor = ConsoleColor.Green&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim PiZahl As Double = 2 * CalculatePI(1) 
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine("Die Annährung: {0:N20}",
PiZahl)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine("Math.PI:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
{0:N20}", Math.PI)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine("Das Original:&amp;nbsp;
{0:N50}", PiOffiziell) 
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.ReadLine()&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub 
&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Private Function CalculatePI(ByVal i As Integer) As Double&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If i &amp;gt; RecurseLimit Then&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Return i&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Return 1 + (i /
(1 + (2 * i))) * CalculatePI(i + 1)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; End Function 
&lt;br&gt;
&lt;br&gt;
End Module&lt;/font&gt;&lt;/font&gt; 
&lt;p&gt;
&lt;font size="2"&gt;&lt;/font&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="2"&gt;Im Rahmen der Double-Genauigkeit ist das Ergebnis nicht schlecht und
entspricht ziemlich genau dem, was auch &lt;strong&gt;Math.Pi&lt;/strong&gt; liefert. Natürlich
ist es kein Vergleich zur offiziellen Zahl, die inzwischen auf etwa 2 Trillionen Ziffern
genau berechnet wurde (bekanntlich ist Pi eine unendliche Zahl), oder zu jener Kurzvarianten,
die man (als echter Geek bzw. Nerd) eigentlich auswendig aufsagen können sollte (der
Weltrekord liegt laut Wikipedia bei 100.000 Stellen, aufgestellt von &lt;em&gt;Akira Haraguchi&lt;/em&gt;,
der für das Aufzählen einen Tag benötigte):&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
3.1415926535897932384626433832795028841971693993751
&lt;/p&gt;
&lt;p&gt;
&lt;font size="2"&gt;Wer viel Zeit hat und gerne einmal eine "State of the Art"-Variante
kennenlernen möchte, sollte sich den folgenden Text zu Gemüte führen, der zeigt, wie
sich Pi mit Hilfe der Grafikkarten-CPU (GPU) und F# berechnen lässt:&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a title="http://tomasp.net/articles/accelerator-intro.aspx" href="http://tomasp.net/articles/accelerator-intro.aspx"&gt;&lt;font size="2"&gt;http://tomasp.net/articles/accelerator-intro.aspx&lt;/font&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.activetraining.de/DasBlog/aggbug.ashx?id=0ec53b79-f6cf-4e39-9141-1ab1330117b7" /&gt;</description>
      <comments>http://www.activetraining.de/DasBlog/CommentView,guid,0ec53b79-f6cf-4e39-9141-1ab1330117b7.aspx</comments>
    </item>
    <item>
      <trackback:ping>http://www.activetraining.de/DasBlog/Trackback.aspx?guid=29488c63-0731-4524-be10-edd49e3ba627</trackback:ping>
      <pingback:server>http://www.activetraining.de/DasBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.activetraining.de/DasBlog/PermaLink,guid,29488c63-0731-4524-be10-edd49e3ba627.aspx</pingback:target>
      <dc:creator>Peter Monadjemi</dc:creator>
      <wfw:comment>http://www.activetraining.de/DasBlog/CommentView,guid,29488c63-0731-4524-be10-edd49e3ba627.aspx</wfw:comment>
      <wfw:commentRss>http://www.activetraining.de/DasBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=29488c63-0731-4524-be10-edd49e3ba627</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://www.activetraining.de/DasBlog/content/binary/WindowsLiveWriter/Cebit_85DE/Cebit2010_MassnameA_2.jpg">
            <a href="http://www.activetraining.de/DasBlog/content/binary/WindowsLiveWriter/Cebit_85DE/Cebit2010_MassnameA_2.jpg">
              <font color="#000000" size="2">
                <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="152" alt="Cebit2010_MassnameA" src="http://www.activetraining.de/DasBlog/content/binary/WindowsLiveWriter/Cebit_85DE/Cebit2010_MassnameA_thumb.jpg" width="260" border="0" />
              </font>
            </a>
          </a>
          <font size="2">
            <br />
          </font>
          <font size="1">(auf der Gegenfahrbahn den Stau überholen - die Maßnahme 'A'
macht's möglich)</font>
        </p>
        <p>
          <font size="2">Letzte Woche fand in Hannover traditionell wieder einmal die <strong>CeBit</strong> statt,
die "weltgrößte Computermesse" (wie es in den Radionachrichten seit Jahren heißt und
wo das Wort "Computer" mit der Betonung auf dem "u" immer so betont wird als wäre
das noch ein exotisches Thema - dabei verfügt ein modernes Handy vermutlich über mehr
Rechenleistung als die meisten Mainframes der 70er Jahre). Die <strong>Cebit</strong> ist
auch keine Computermesse, sondern eher eine Bühne für die gesamte Palette an IT-Dienstleistungen,
insbesondere deutscher Firmen. Wer die "neusten Modelle" sehen möchte wird vermutlich
genauso enttäuscht sein wie jemand, der von den ganzen Thematik keine Ahnung hat und
endlich einmal aus nächster Nähe erleben möchte, wie Computerfreaks, Programmierer
oder Hacker aussehen. Die <strong>Cebit</strong> ist insgesamt eine relativ unspektakuläre
Angelegenheit und man muss bereits genauer hinschauen und Hunderte von Metern durch
die großen Hallen zurücklegen, um echte Innovationen zu erleben (aber es gibt sie
natürlich). Aber die <strong>CeBit</strong> besitzt nach wie vor ihre speziellen Reize,
für die es sich lohnt am Messebahnhof Laatzen auszusteigen (der Umstand, dass der
ICE während der <strong>CeBit</strong>-Woche kurz vor Hannover einen Zwischenhalt
einlegt macht die Messe gerade für Tagesbesucher leicht erreichbar).</font>
        </p>
        <p>
          <font size="2">Branchengrößen wie <strong>Adobe</strong> oder <strong>Apple</strong> sind
seit Jahre nicht mehr auf der <strong>CeBit</strong> vertreten (dafür war <strong>Dell</strong> nach
Jahren der Abstinenz wieder mit einem eigenen Stand dabei) genauso wenig wie es den
Flair der Anfangsjahre mit Firmen wie Commodore, Schneider, Micrografx oder Borland
noch nicht. Dafür war <strong>Google</strong> erstmals (?) mit einem eigenen Stand
vertreten, der aber lediglich aus einer schlichten Bühne bestand, auf dre drei StreetView-Cars
platziert wurden mit denen Google die flächendeckende Erfassung von Straßen und Häusern
durchführt (theoretisch soll jeder Quadratmeter in Deutschland erfasst werden, was
enorme Eingriffe in die Privatsphäre zur Folge hat - in einer Image-Broschüre, die
am Stand ausgelegt wurde, und in der sich das alles relativ harmlos anhört, findet
man auch eine Hinweis darauf, dass theoretisch jeder Einspruch dagegen erheben kann,
dass z.B. das eigene Haus "identifizierbar" wird (mehr dazu z.B. <a title="Google StreetView Widerspruch" href="http://www.datenschutzbeauftragter-online.de/streetview-widerspruch-google-hat-geantwortet/" target="_blank">hier</a>).
Ein wenig seltsam war, dass sich scheinbar kein Google-Mitarbeiter am Stand aufhielt
(oder ich war einfach am falschen Stand gewesen;).</font>
        </p>
        <p>
          <a href="http://www.activetraining.de/DasBlog/content/binary/WindowsLiveWriter/Cebit_85DE/Cebit2010_StretViewCar_4.jpg">
            <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="201" alt="Cebit2010_StretViewCar" src="http://www.activetraining.de/DasBlog/content/binary/WindowsLiveWriter/Cebit_85DE/Cebit2010_StretViewCar_thumb_1.jpg" width="260" border="0" />
          </a> <br /><font size="1">(demnächst womöglich vor Ihrer Haustür - ein StreetView-Car von Google)</font></p>
        <p>
          <font size="2">Die <strong>CeBit</strong> kommt in der Fachpresse seit Jahren eher
schlecht weg, ganz zu Unrecht wie ich finde. Natürlich sind die Zeiten vorbei, in
denen auf der <strong>CeBit </strong>irgendwelche bedeutenden "Ankündigungen" gemacht
wurden. Auch der Umstand, dass viele wichtige Unternehmen nicht mehr dabei sind kann
man der Firma mit dem wohlklingenden Namen "Deutsche Messe", die die <strong>CeBit</strong> seit
Jahren nicht nur in Deutschland durchführt, nur indirekt vorwerfen. Die Branche, sofern
man sie überhaupt noch als Ganzes erfassen kann, ist dazu einfach zu vielfältig geworden,
als dass sich alles in einer Messe unterbringen ließe. Und: Innovationen, mit denen
sich "Experten" beeindrucken ließen sind seltener geworden, da Quantensprünge nicht
in Intervallen von Jahren, sondern Jahrzehnten stattfinden und es dann noch einmal
ein "paar Jahre" dauert bis sie kommerziell eine Rolle spielen (die CeBit ist zudem
keine Innovationsschau, sondern in erster Linie eine Produkt- und Handelsmesse).</font>
        </p>
        <p>
          <font size="2">Man kann dem CeBit-Veranstalter auch nicht vorwerfen, sich nicht etwas
einfallen lassen zu haben, um dem Besucherschwund entgegenzuwirken. Letztes Jahr erhielten
eine Reihe von Open Source-Projekte (kostenlose) Standflächen, dieses Jahr wurde mit
der CeBit Sounds und der Spielhalle mit den "Intel Extreme Masters" gezielt das jüngere
Publikum angesprochen. Für Innovationen ist traditionell die Halle 9 mit ihrem "Future
Parc" zuständig, in der sich (in Bundesländer unterteilt) Universitäten und Forschungseinrichtungen
präsentieren, aber auch Firmen mit kommerziellen Produkten. Besonders beeindruckt
hat mich der Eye-Tracking-Scanner der Firma <a title="Eye-Scanner von Tobii" href="http://www.tobii.com/" target="_blank">Tobii</a>,
der auf die Pupillen-Bewegung reagiert und dadurch z.B. erkennen kann, wie lange der
Betrachter auf bestimmten Stellen des Bildschirms verweilt. Ich habe es problemlos
geschafft, einen Text mit dem zu scrollen, was ganz neue Möglichkeiten eröffnet wie
sich z.B. eBooks lesen lassen.</font>
        </p>
        <p>
          <font size="2">Natürlich gab es noch eine Reihe weiterer echter Innovationen bzw.
interessanter Produkte - die folgende Aufstellung erhebt natürlich keinen Anspruch
auf Vollständigkeit:</font>
        </p>
        <ul>
          <li>
            <font size="2">Das <a title="LTE-Connected Car" href="http://www.innovations-report.de/html/berichte/cebit_2010/alcatel_lucent_praesentiert_quot_lte_connected_car_149075.html" target="_blank">LTE-Connected
Car</a> bei Alcatel Lucent (LTE ist der "Nachfolger" von UTMS und verspricht DSL-Geschwindigkeit
beim mobilen Internet-Zugang - ich fahre zwar relativ wenig Auto, doch zeigt die Entwicklung
eindrucksvoll, dass Breitband in ein paar Jahren als gegeben vorausgesetzt werden
kann).</font>
          </li>
          <li>
            <font size="2">
              <a title="3D HD Beamer von LG" href="http://www.cnet.de/blogs/alpha/tv/41528326/cebit+2010+lg+projiziert+dreidimensionale+bilder+mit+full_hd+und+300+zoll.htm" target="_blank">3D
HD-Beamer von LG</a> (klingt im Moment noch etwas exotisch, wird in ein paar Jahren
sicher Standard sein).</font>
          </li>
          <li>
            <font size="2">Ein "<a title="Brain Computer-Interface" href="http://www.innovations-report.de/html/berichte/cebit_2010/cebit_live_experimente_berliner_brain_computer_149574.html" target="_blank">Brain
Computer-Interface</a>", mit dem sich ein Computer durch Gehirnaktivitäten steuern
lässt  (so etwas kann natürlich nur aus <a title="Intendix - Das erste Brain Computer-Interface" href="http://www.heise.de/specials/ho_messespecial_artikelunterseite_942706.html" target="_blank">Österreich</a> kommen;)</font>
          </li>
          <li>
            <font size="2">Eine vom Fraunhofer Institut in Erlangen entwickelte Software mit dem
Namen <strong>Shore</strong>, die Mimik und Gemütszustand erkennen kann (und die es
auch zum <a title="Fraunhofer Shore Software zur Mimik-Erkennung" href="http://www.iis.fraunhofer.de/bf/bv/kognitiv/biom/dd.jsp" target="_blank">Download</a> gibt).</font>
          </li>
          <li>
            <font size="2">Ein schicker eBook-Reader von <a title="Asus eBook Reader" href="http://www.netzwelt.de/news/82106-cebit-2010-asus-stellt-e-reader-dr-900.html" target="_blank">Asus</a></font>
          </li>
          <li>
            <font size="2">3D-Fernsehen in verschiedenen Ausprägungen</font>
          </li>
          <li>
            <font size="2">Einige Computerbuchverlage (Pearson, Gallielo) sind wieder zurück (nicht
erst seit diesem Jahr)</font>
          </li>
        </ul>
        <p>
          <font size="2">Einen unterhaltsamen Überblick vermittelt das c't-TV-Magazin mit Georg
Schnurrer's Messerundgang:</font>
        </p>
        <p>
          <a title="http://www.heise.de/ct-tv/artikel/Video-Was-gibt-s-denn-hier-zu-sehen-938339.html" href="http://www.heise.de/ct-tv/artikel/Video-Was-gibt-s-denn-hier-zu-sehen-938339.html">http://www.heise.de/ct-tv/artikel/Video-Was-gibt-s-denn-hier-zu-sehen-938339.html</a>
        </p>
        <p>
          <font size="2">Auch Microsoft war natürlich wieder in Halle 4 mit einem bunten Themenmix
vertreten bestehend aus Themen wie <strong>Cloud Computing</strong> (Frank Fischer
hielt einen guten Vortrag, bei dem er den Übergang von der Anwendung, die auf eigenen
Servern des Unternehmens läuft, auf das Hosting in der Cloud mit einem "jetzt machen
wir das Kabel einfach etwas länger" umschrieb - eindrucksvoll war auch sein Zahlenvergleich
- der größte Hoster in Europa hat nach seinen Worten ca. 25.000 Server "im Keller"
stehen - "soviel bauen wir jeden Monat in unsere DataCenter ein"), <strong>Business
Intelligence,</strong> Windows 7, das neue Arbeiten, <strong>Office 2010</strong> oder
das digitale Klassenzimmer. Entwicklerthemen spielen leider kaum noch eine Rolle und
reduzieren sich im Wesentlichen auf Übersichtsvorträge im <a title="Microsoft Cebit 2010 - MSDN-Kino" href="http://www.microsoft.com/germany/msdn/events/cebit/default.mspx" target="_blank">MSDN-Kino</a> und
einer unscheinbaren Informationstheke, an der man theoretisch Fragen stellen kann
(Tobias Weltner war mit seinem beinahe schon traditionellen PowerShell-Vortrag dieses
Jahr leider nicht dabei).  Es gab genau einen PC, auf dem Visual 2010 Studio
gezeigt wurde, allerdings war das ein Partnerstand. Für mich ganz klar die falsche
Schwerpunktsetzung.</font>
        </p>
        <p>
          <font size="2">Die Hotelpreise lagen auch 2010 deutlich über dem Durchschnitt (die
astronomischen Preise, bei denen ein Hotelzimmer, das außerhalb der CeBit für 90€
zu haben ist, auf einmal 300 bis 400€ kostet, gab es auch dieses Jahr), aber es nicht
mehr so, dass Hannover komplett ausgebucht wäre und es unmöglich wäre, kurzfristig
ein (bezahlbares) Hotelzimmer zu finden (mein Tipp: das B&amp;B-Hotel an der Autobahnraststätte
Garbsen;). Auch die Maßnahme "A" (wie Anfahrt) wurde noch nicht abgeschafft. Sollte
es sie eines Tages nicht mehr geben, würde ich mir über die Zukunft der CeBit ernsthaft
Gedanken machen.</font>
        </p>
        <p>
          <font size="2">
          </font> 
</p>
        <p>
          <font size="2">
          </font> <a href="http://www.activetraining.de/DasBlog/content/binary/WindowsLiveWriter/Cebit_85DE/Cebit2010_Checkin_2.jpg"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="126" alt="Cebit2010_Checkin" src="http://www.activetraining.de/DasBlog/content/binary/WindowsLiveWriter/Cebit_85DE/Cebit2010_Checkin_thumb.jpg" width="148" border="0" /></a><br /><font size="1">(auch wenn es im Pressezentrum deutlich ruhiger zugeht als früher,
die CeBit ist immer noch einen Besuch wert)</font></p>
        <img width="0" height="0" src="http://www.activetraining.de/DasBlog/aggbug.ashx?id=29488c63-0731-4524-be10-edd49e3ba627" />
      </body>
      <title>Cebit</title>
      <guid isPermaLink="false">http://www.activetraining.de/DasBlog/PermaLink,guid,29488c63-0731-4524-be10-edd49e3ba627.aspx</guid>
      <link>http://www.activetraining.de/DasBlog/2010/03/09/Cebit.aspx</link>
      <pubDate>Tue, 09 Mar 2010 11:35:00 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://www.activetraining.de/DasBlog/content/binary/WindowsLiveWriter/Cebit_85DE/Cebit2010_MassnameA_2.jpg"&gt;&lt;a href="http://www.activetraining.de/DasBlog/content/binary/WindowsLiveWriter/Cebit_85DE/Cebit2010_MassnameA_2.jpg"&gt;&lt;font color="#000000" size="2"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="152" alt="Cebit2010_MassnameA" src="http://www.activetraining.de/DasBlog/content/binary/WindowsLiveWriter/Cebit_85DE/Cebit2010_MassnameA_thumb.jpg" width="260" border="0"&gt;&lt;/font&gt;&lt;/a&gt;&lt;/a&gt;&lt;font size="2"&gt; 
&lt;br&gt;
&lt;/font&gt;&lt;font size="1"&gt;(auf der Gegenfahrbahn den Stau überholen - die Maßnahme 'A'
macht's möglich)&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="2"&gt;Letzte Woche fand in Hannover traditionell wieder einmal die &lt;strong&gt;CeBit&lt;/strong&gt; statt,
die "weltgrößte Computermesse" (wie es in den Radionachrichten seit Jahren heißt und
wo das Wort "Computer" mit der Betonung auf dem "u" immer so betont wird als wäre
das noch ein exotisches Thema - dabei verfügt ein modernes Handy vermutlich über mehr
Rechenleistung als die meisten Mainframes der 70er Jahre). Die &lt;strong&gt;Cebit&lt;/strong&gt; ist
auch keine Computermesse, sondern eher eine Bühne für die gesamte Palette an IT-Dienstleistungen,
insbesondere deutscher Firmen. Wer die "neusten Modelle" sehen möchte wird vermutlich
genauso enttäuscht sein wie jemand, der von den ganzen Thematik keine Ahnung hat und
endlich einmal aus nächster Nähe erleben möchte, wie Computerfreaks, Programmierer
oder Hacker aussehen. Die &lt;strong&gt;Cebit&lt;/strong&gt; ist insgesamt eine relativ unspektakuläre
Angelegenheit und man muss bereits genauer hinschauen und Hunderte von Metern durch
die großen Hallen zurücklegen, um echte Innovationen zu erleben (aber es gibt sie
natürlich). Aber die &lt;strong&gt;CeBit&lt;/strong&gt; besitzt nach wie vor ihre speziellen Reize,
für die es sich lohnt am Messebahnhof Laatzen auszusteigen (der Umstand, dass der
ICE während der &lt;strong&gt;CeBit&lt;/strong&gt;-Woche kurz vor Hannover einen Zwischenhalt
einlegt macht die Messe gerade für Tagesbesucher leicht erreichbar).&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="2"&gt;Branchengrößen wie &lt;strong&gt;Adobe&lt;/strong&gt; oder &lt;strong&gt;Apple&lt;/strong&gt; sind
seit Jahre nicht mehr auf der &lt;strong&gt;CeBit&lt;/strong&gt; vertreten (dafür war &lt;strong&gt;Dell&lt;/strong&gt; nach
Jahren der Abstinenz wieder mit einem eigenen Stand dabei) genauso wenig wie es den
Flair der Anfangsjahre mit Firmen wie Commodore, Schneider, Micrografx oder Borland
noch nicht. Dafür war &lt;strong&gt;Google&lt;/strong&gt; erstmals (?) mit einem eigenen Stand
vertreten, der aber lediglich aus einer schlichten Bühne bestand, auf dre drei StreetView-Cars
platziert wurden mit denen Google die flächendeckende Erfassung von Straßen und Häusern
durchführt (theoretisch soll jeder Quadratmeter in Deutschland erfasst werden, was
enorme Eingriffe in die Privatsphäre zur Folge hat - in einer Image-Broschüre, die
am Stand ausgelegt wurde, und in der sich das alles relativ harmlos anhört, findet
man auch eine Hinweis darauf, dass theoretisch jeder Einspruch dagegen erheben kann,
dass z.B. das eigene Haus "identifizierbar" wird (mehr dazu z.B. &lt;a title="Google StreetView Widerspruch" href="http://www.datenschutzbeauftragter-online.de/streetview-widerspruch-google-hat-geantwortet/" target="_blank"&gt;hier&lt;/a&gt;).
Ein wenig seltsam war, dass sich scheinbar kein Google-Mitarbeiter am Stand aufhielt
(oder ich war einfach am falschen Stand gewesen;).&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.activetraining.de/DasBlog/content/binary/WindowsLiveWriter/Cebit_85DE/Cebit2010_StretViewCar_4.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="201" alt="Cebit2010_StretViewCar" src="http://www.activetraining.de/DasBlog/content/binary/WindowsLiveWriter/Cebit_85DE/Cebit2010_StretViewCar_thumb_1.jpg" width="260" border="0"&gt;&lt;/a&gt;&amp;nbsp;&lt;br&gt;
&lt;font size="1"&gt;(demnächst womöglich vor Ihrer Haustür - ein StreetView-Car von Google)&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="2"&gt;Die &lt;strong&gt;CeBit&lt;/strong&gt; kommt in der Fachpresse seit Jahren eher
schlecht weg, ganz zu Unrecht wie ich finde. Natürlich sind die Zeiten vorbei, in
denen auf der &lt;strong&gt;CeBit &lt;/strong&gt;irgendwelche bedeutenden "Ankündigungen" gemacht
wurden. Auch der Umstand, dass viele wichtige Unternehmen nicht mehr dabei sind kann
man der Firma mit dem wohlklingenden Namen "Deutsche Messe", die die &lt;strong&gt;CeBit&lt;/strong&gt; seit
Jahren nicht nur in Deutschland durchführt, nur indirekt vorwerfen. Die Branche, sofern
man sie überhaupt noch als Ganzes erfassen kann, ist dazu einfach zu vielfältig geworden,
als dass sich alles in einer Messe unterbringen ließe. Und: Innovationen, mit denen
sich "Experten" beeindrucken ließen sind seltener geworden, da Quantensprünge nicht
in Intervallen von Jahren, sondern Jahrzehnten stattfinden und es dann noch einmal
ein "paar Jahre" dauert bis sie kommerziell eine Rolle spielen (die CeBit ist zudem
keine Innovationsschau, sondern in erster Linie eine Produkt- und Handelsmesse).&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="2"&gt;Man kann dem CeBit-Veranstalter auch nicht vorwerfen, sich nicht etwas
einfallen lassen zu haben, um dem Besucherschwund entgegenzuwirken. Letztes Jahr erhielten
eine Reihe von Open Source-Projekte (kostenlose) Standflächen, dieses Jahr wurde mit
der CeBit Sounds und der Spielhalle mit den "Intel Extreme Masters" gezielt das jüngere
Publikum angesprochen. Für Innovationen ist traditionell die Halle 9 mit ihrem "Future
Parc" zuständig, in der sich (in Bundesländer unterteilt) Universitäten und Forschungseinrichtungen
präsentieren, aber auch Firmen mit kommerziellen Produkten. Besonders beeindruckt
hat mich der Eye-Tracking-Scanner der Firma &lt;a title="Eye-Scanner von Tobii" href="http://www.tobii.com/" target="_blank"&gt;Tobii&lt;/a&gt;,
der auf die Pupillen-Bewegung reagiert und dadurch z.B. erkennen kann, wie lange der
Betrachter auf bestimmten Stellen des Bildschirms verweilt. Ich habe es problemlos
geschafft, einen Text mit dem zu scrollen, was ganz neue Möglichkeiten eröffnet wie
sich z.B. eBooks lesen lassen.&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="2"&gt;Natürlich gab es noch eine Reihe weiterer echter Innovationen bzw.
interessanter Produkte - die folgende Aufstellung erhebt natürlich keinen Anspruch
auf Vollständigkeit:&lt;/font&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;font size="2"&gt;Das &lt;a title="LTE-Connected Car" href="http://www.innovations-report.de/html/berichte/cebit_2010/alcatel_lucent_praesentiert_quot_lte_connected_car_149075.html" target="_blank"&gt;LTE-Connected
Car&lt;/a&gt; bei Alcatel Lucent (LTE ist der "Nachfolger" von UTMS und verspricht DSL-Geschwindigkeit
beim mobilen Internet-Zugang - ich fahre zwar relativ wenig Auto, doch zeigt die Entwicklung
eindrucksvoll, dass Breitband in ein paar Jahren als gegeben vorausgesetzt werden
kann).&lt;/font&gt; 
&lt;li&gt;
&lt;font size="2"&gt;&lt;a title="3D HD Beamer von LG" href="http://www.cnet.de/blogs/alpha/tv/41528326/cebit+2010+lg+projiziert+dreidimensionale+bilder+mit+full_hd+und+300+zoll.htm" target="_blank"&gt;3D
HD-Beamer von LG&lt;/a&gt; (klingt im Moment noch etwas exotisch, wird in ein paar Jahren
sicher Standard sein).&lt;/font&gt; 
&lt;li&gt;
&lt;font size="2"&gt;Ein "&lt;a title="Brain Computer-Interface" href="http://www.innovations-report.de/html/berichte/cebit_2010/cebit_live_experimente_berliner_brain_computer_149574.html" target="_blank"&gt;Brain
Computer-Interface&lt;/a&gt;", mit dem sich ein Computer durch Gehirnaktivitäten steuern
lässt&amp;nbsp; (so etwas kann natürlich nur aus &lt;a title="Intendix - Das erste Brain Computer-Interface" href="http://www.heise.de/specials/ho_messespecial_artikelunterseite_942706.html" target="_blank"&gt;Österreich&lt;/a&gt; kommen;)&lt;/font&gt; 
&lt;li&gt;
&lt;font size="2"&gt;Eine vom Fraunhofer Institut in Erlangen entwickelte Software mit dem
Namen &lt;strong&gt;Shore&lt;/strong&gt;, die Mimik und Gemütszustand erkennen kann (und die es
auch zum &lt;a title="Fraunhofer Shore Software zur Mimik-Erkennung" href="http://www.iis.fraunhofer.de/bf/bv/kognitiv/biom/dd.jsp" target="_blank"&gt;Download&lt;/a&gt; gibt).&lt;/font&gt; 
&lt;li&gt;
&lt;font size="2"&gt;Ein schicker eBook-Reader von &lt;a title="Asus eBook Reader" href="http://www.netzwelt.de/news/82106-cebit-2010-asus-stellt-e-reader-dr-900.html" target="_blank"&gt;Asus&lt;/a&gt;&lt;/font&gt; 
&lt;li&gt;
&lt;font size="2"&gt;3D-Fernsehen in verschiedenen Ausprägungen&lt;/font&gt; 
&lt;li&gt;
&lt;font size="2"&gt;Einige Computerbuchverlage (Pearson, Gallielo) sind wieder zurück (nicht
erst seit diesem Jahr)&lt;/font&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;font size="2"&gt;Einen unterhaltsamen Überblick vermittelt das c't-TV-Magazin mit Georg
Schnurrer's Messerundgang:&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a title="http://www.heise.de/ct-tv/artikel/Video-Was-gibt-s-denn-hier-zu-sehen-938339.html" href="http://www.heise.de/ct-tv/artikel/Video-Was-gibt-s-denn-hier-zu-sehen-938339.html"&gt;http://www.heise.de/ct-tv/artikel/Video-Was-gibt-s-denn-hier-zu-sehen-938339.html&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="2"&gt;Auch Microsoft war natürlich wieder in Halle 4 mit einem bunten Themenmix
vertreten bestehend aus Themen wie &lt;strong&gt;Cloud Computing&lt;/strong&gt; (Frank Fischer
hielt einen guten Vortrag, bei dem er den Übergang von der Anwendung, die auf eigenen
Servern des Unternehmens läuft, auf das Hosting in der Cloud mit einem "jetzt machen
wir das Kabel einfach etwas länger" umschrieb - eindrucksvoll war auch sein Zahlenvergleich
- der größte Hoster in Europa hat nach seinen Worten ca. 25.000 Server "im Keller"
stehen - "soviel bauen wir jeden Monat in unsere DataCenter ein"), &lt;strong&gt;Business
Intelligence,&lt;/strong&gt; Windows 7, das neue Arbeiten, &lt;strong&gt;Office 2010&lt;/strong&gt; oder
das digitale Klassenzimmer. Entwicklerthemen spielen leider kaum noch eine Rolle und
reduzieren sich im Wesentlichen auf Übersichtsvorträge im &lt;a title="Microsoft Cebit 2010 - MSDN-Kino" href="http://www.microsoft.com/germany/msdn/events/cebit/default.mspx" target="_blank"&gt;MSDN-Kino&lt;/a&gt; und
einer unscheinbaren Informationstheke, an der man theoretisch Fragen stellen kann
(Tobias Weltner war mit seinem beinahe schon traditionellen PowerShell-Vortrag dieses
Jahr leider nicht dabei).&amp;nbsp; Es gab genau einen PC, auf dem Visual 2010 Studio
gezeigt wurde, allerdings war das ein Partnerstand. Für mich ganz klar die falsche
Schwerpunktsetzung.&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="2"&gt;Die Hotelpreise lagen auch 2010 deutlich über dem Durchschnitt (die
astronomischen Preise, bei denen ein Hotelzimmer, das außerhalb der CeBit für 90€
zu haben ist, auf einmal 300 bis 400€ kostet, gab es auch dieses Jahr), aber es nicht
mehr so, dass Hannover komplett ausgebucht wäre und es unmöglich wäre, kurzfristig
ein (bezahlbares) Hotelzimmer zu finden (mein Tipp: das B&amp;amp;B-Hotel an der Autobahnraststätte
Garbsen;). Auch die Maßnahme "A" (wie Anfahrt) wurde noch nicht abgeschafft. Sollte
es sie eines Tages nicht mehr geben, würde ich mir über die Zukunft der CeBit ernsthaft
Gedanken machen.&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="2"&gt;&lt;/font&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="2"&gt;&lt;/font&gt;&amp;nbsp;&lt;a href="http://www.activetraining.de/DasBlog/content/binary/WindowsLiveWriter/Cebit_85DE/Cebit2010_Checkin_2.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="126" alt="Cebit2010_Checkin" src="http://www.activetraining.de/DasBlog/content/binary/WindowsLiveWriter/Cebit_85DE/Cebit2010_Checkin_thumb.jpg" width="148" border="0"&gt;&lt;/a&gt; 
&lt;br&gt;
&lt;font size="1"&gt;(auch wenn es im Pressezentrum deutlich ruhiger zugeht als früher,
die CeBit ist immer noch einen Besuch wert)&lt;/font&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.activetraining.de/DasBlog/aggbug.ashx?id=29488c63-0731-4524-be10-edd49e3ba627" /&gt;</description>
      <comments>http://www.activetraining.de/DasBlog/CommentView,guid,29488c63-0731-4524-be10-edd49e3ba627.aspx</comments>
    </item>
    <item>
      <trackback:ping>http://www.activetraining.de/DasBlog/Trackback.aspx?guid=a1decb1b-3fd8-4eae-b5f4-0ee42724afe3</trackback:ping>
      <pingback:server>http://www.activetraining.de/DasBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.activetraining.de/DasBlog/PermaLink,guid,a1decb1b-3fd8-4eae-b5f4-0ee42724afe3.aspx</pingback:target>
      <dc:creator>Peter Monadjemi</dc:creator>
      <wfw:comment>http://www.activetraining.de/DasBlog/CommentView,guid,a1decb1b-3fd8-4eae-b5f4-0ee42724afe3.aspx</wfw:comment>
      <wfw:commentRss>http://www.activetraining.de/DasBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=a1decb1b-3fd8-4eae-b5f4-0ee42724afe3</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
 <a href="http://www.activetraining.de/DasBlog/content/binary/WindowsLiveWriter/SharePoint2010EinTippzurInstallation_CCED/KonfigurationWarErfolgreich_6.jpg"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="48" alt="KonfigurationWarErfolgreich" src="http://www.activetraining.de/DasBlog/content/binary/WindowsLiveWriter/SharePoint2010EinTippzurInstallation_CCED/KonfigurationWarErfolgreich_thumb_2.jpg" width="244" border="0" /></a><br />
(es geht nichts über ein kleines Erfolgserlebnis)
</p>
        <p>
          <font size="2">SharePoint ist ein interessantes Produkt auch wenn es praktisch ausschließlich
bei größeren Organisationen ein Thema sein dürfte. Seit November gibt es die erste
offizielle Beta von SharePoint 2010. Für Entwickler ist SharePoint insofern interessant,
da das kommende VS 2010 endlich Vorlagen (insgesamt ein Dutzend) für die wichtigsten
"SharePoint-Artefakte" wie WebParts oder Listendefinitionen oder Sitedefinitionen
enthalten wird. Die SharePoint-Entwicklung wird damit auf eine einheitliche Grundlage
gestellt. Interessant ist auch, dass man künftig SharePoint 2010 auch unter Vista
und Windows 7 installieren kann, beide aber nur in der 64-Bit-Version.</font>
        </p>
        <p>
          <font size="2">SharePoint 2010 auszuprobieren setzt daher den Umstieg auf 64-Bit voraus,
was aber grundsätzlich kein Problem sein sollte, da die meisten modernen CPUs inzwischen
64-Bit-CPUs sind (mich wundert allerdings, warum das scheinbar nirgendwo explizit
erwähnt wird).</font>
        </p>
        <p>
          <font size="2">Die Installation von SharePoint 2010 ist relativ einfach - ich habe
es vor kurzem unter Windows Server 2008 R2 probiert und bin, wie anscheinend viele
andere auch, an einem lästigen Installationsbug hängen geblieben, der erst im Anschluss
an die Installation beim Konfigurationsassistenten auftritt. Dort wiederum genau bei
Schritt 5 und dort wiederum genau dann, wenn der Search-Dienst bereitgestellt werden
soll - der Assistent wartet an dieser Stelle eine "halbe Ewigkeit" und bricht irgendwann
die komplette Installation ab, was natürlich etwas frustrierend ist (vor allem, nachdem
alles so verheißungsvoll begonnen hat).</font>
        </p>
        <p>
          <font size="2">Die Lösung, die mir geholfen hat, bestand darin, während der Konfigurationsassistent
auf irgendetwas scheinbar "ewig" wartet, über Start|Ausführen und Eingabe von "Services.msc"
die Dienstekonsole zu starten, dort den "SharePoint Server Search 14"-Dienst zu lokalisieren
und in seinen Eigenschaften im Register <em>Anmelden </em>bei <em>Dieses Konto</em> "Lokaler
Dienst" einzutragen und den Dienst dann neu zu starten. Danach sollte der Konfigurationsassistent
durchlaufen.</font>
        </p>
        <p>
          <font size="2">Das Ganze wird hier beschrieben:</font>
        </p>
        <p>
          <a title="http://social.technet.microsoft.com/Forums/en/sharepoint2010setup/thread/080317ee-c726-4b3a-b208-e7e5121bc395" href="http://social.technet.microsoft.com/Forums/en/sharepoint2010setup/thread/080317ee-c726-4b3a-b208-e7e5121bc395">http://social.technet.microsoft.com/Forums/en/sharepoint2010setup/thread/080317ee-c726-4b3a-b208-e7e5121bc395</a>
        </p>
        <p>
          <font size="2">Ein anderer Tipp besteht darin, einen bestimmten Registry-Key zu löschen,
der ebenfalls etwas mit dem Search-Dienst zu tun hat:</font>
        </p>
        <p>
          <a title="http://blog.davidyack.com/journal/2009/12/6/working-around-a-sharepoint-2010-install-bug.html" href="http://blog.davidyack.com/journal/2009/12/6/working-around-a-sharepoint-2010-install-bug.html">http://blog.davidyack.com/journal/2009/12/6/working-around-a-sharepoint-2010-install-bug.html</a>
        </p>
        <p>
          <font size="2">Ich habe den Key zwar gelöscht, kann mir aber vorstellen, dass das
nicht unbedingt notwendig war.</font>
        </p>
        <p>
          <font size="2">Es werden in verschiedenen Blogs noch eine Reihe weiterer Tipps (wie
die Installation eines Hotfixes für Windows Server 2008 R2 -danach ist ein Neustart
erforderlich) empfohlen, die aber alle recht speziell zu sein scheinen als dass sie
mit dem oben beschriebenen Problem etwas zu tun haben könnte.</font>
        </p>
        <p>
          <font size="2">Am Montag (8.2) soll es übrigens den RC von Visual Studio 2010 geben.</font>
        </p>
        <img width="0" height="0" src="http://www.activetraining.de/DasBlog/aggbug.ashx?id=a1decb1b-3fd8-4eae-b5f4-0ee42724afe3" />
      </body>
      <title>SharePoint 2010 Beta 2 - ein Tipp zur Installation</title>
      <guid isPermaLink="false">http://www.activetraining.de/DasBlog/PermaLink,guid,a1decb1b-3fd8-4eae-b5f4-0ee42724afe3.aspx</guid>
      <link>http://www.activetraining.de/DasBlog/2010/02/06/SharePoint2010Beta2EinTippZurInstallation.aspx</link>
      <pubDate>Sat, 06 Feb 2010 14:57:41 GMT</pubDate>
      <description>&lt;p&gt;
&amp;nbsp;&lt;a href="http://www.activetraining.de/DasBlog/content/binary/WindowsLiveWriter/SharePoint2010EinTippzurInstallation_CCED/KonfigurationWarErfolgreich_6.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="48" alt="KonfigurationWarErfolgreich" src="http://www.activetraining.de/DasBlog/content/binary/WindowsLiveWriter/SharePoint2010EinTippzurInstallation_CCED/KonfigurationWarErfolgreich_thumb_2.jpg" width="244" border="0"&gt;&lt;/a&gt; 
&lt;br&gt;
(es geht nichts über ein kleines Erfolgserlebnis)
&lt;/p&gt;
&lt;p&gt;
&lt;font size="2"&gt;SharePoint ist ein interessantes Produkt auch wenn es praktisch ausschließlich
bei größeren Organisationen ein Thema sein dürfte. Seit November gibt es die erste
offizielle Beta von SharePoint 2010. Für Entwickler ist SharePoint insofern interessant,
da das kommende VS 2010 endlich Vorlagen (insgesamt ein Dutzend) für die wichtigsten
"SharePoint-Artefakte" wie WebParts oder Listendefinitionen oder Sitedefinitionen
enthalten wird. Die SharePoint-Entwicklung wird damit auf eine einheitliche Grundlage
gestellt. Interessant ist auch, dass man künftig SharePoint 2010 auch unter Vista
und Windows 7 installieren kann, beide aber nur in der 64-Bit-Version.&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="2"&gt;SharePoint 2010 auszuprobieren setzt daher den Umstieg auf 64-Bit voraus,
was aber grundsätzlich kein Problem sein sollte, da die meisten modernen CPUs inzwischen
64-Bit-CPUs sind (mich wundert allerdings, warum das scheinbar nirgendwo explizit
erwähnt wird).&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="2"&gt;Die Installation von SharePoint 2010 ist relativ einfach - ich habe
es vor kurzem unter Windows Server 2008 R2 probiert und bin, wie anscheinend viele
andere auch, an einem lästigen Installationsbug hängen geblieben, der erst im Anschluss
an die Installation beim Konfigurationsassistenten auftritt. Dort wiederum genau bei
Schritt 5 und dort wiederum genau dann, wenn der Search-Dienst bereitgestellt werden
soll - der Assistent wartet an dieser Stelle eine "halbe Ewigkeit" und bricht irgendwann
die komplette Installation ab, was natürlich etwas frustrierend ist (vor allem, nachdem
alles so verheißungsvoll begonnen hat).&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="2"&gt;Die Lösung, die mir geholfen hat, bestand darin, während der Konfigurationsassistent
auf irgendetwas scheinbar "ewig" wartet, über Start|Ausführen und Eingabe von "Services.msc"
die Dienstekonsole zu starten, dort den "SharePoint Server Search 14"-Dienst zu lokalisieren
und in seinen Eigenschaften im Register &lt;em&gt;Anmelden &lt;/em&gt;bei &lt;em&gt;Dieses Konto&lt;/em&gt; "Lokaler
Dienst" einzutragen und den Dienst dann neu zu starten. Danach sollte der Konfigurationsassistent
durchlaufen.&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="2"&gt;Das Ganze wird hier beschrieben:&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a title="http://social.technet.microsoft.com/Forums/en/sharepoint2010setup/thread/080317ee-c726-4b3a-b208-e7e5121bc395" href="http://social.technet.microsoft.com/Forums/en/sharepoint2010setup/thread/080317ee-c726-4b3a-b208-e7e5121bc395"&gt;http://social.technet.microsoft.com/Forums/en/sharepoint2010setup/thread/080317ee-c726-4b3a-b208-e7e5121bc395&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="2"&gt;Ein anderer Tipp besteht darin, einen bestimmten Registry-Key zu löschen,
der ebenfalls etwas mit dem Search-Dienst zu tun hat:&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a title="http://blog.davidyack.com/journal/2009/12/6/working-around-a-sharepoint-2010-install-bug.html" href="http://blog.davidyack.com/journal/2009/12/6/working-around-a-sharepoint-2010-install-bug.html"&gt;http://blog.davidyack.com/journal/2009/12/6/working-around-a-sharepoint-2010-install-bug.html&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="2"&gt;Ich habe den Key zwar gelöscht, kann mir aber vorstellen, dass das
nicht unbedingt notwendig war.&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="2"&gt;Es werden in verschiedenen Blogs noch eine Reihe weiterer Tipps (wie
die Installation eines Hotfixes für Windows Server 2008 R2 -danach ist ein Neustart
erforderlich) empfohlen, die aber alle recht speziell zu sein scheinen als dass sie
mit dem oben beschriebenen Problem etwas zu tun haben könnte.&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="2"&gt;Am Montag (8.2) soll es übrigens den RC von Visual Studio 2010 geben.&lt;/font&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.activetraining.de/DasBlog/aggbug.ashx?id=a1decb1b-3fd8-4eae-b5f4-0ee42724afe3" /&gt;</description>
      <comments>http://www.activetraining.de/DasBlog/CommentView,guid,a1decb1b-3fd8-4eae-b5f4-0ee42724afe3.aspx</comments>
    </item>
    <item>
      <trackback:ping>http://www.activetraining.de/DasBlog/Trackback.aspx?guid=ed33d12f-745e-4cd9-bacd-6fed1cc1352a</trackback:ping>
      <pingback:server>http://www.activetraining.de/DasBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.activetraining.de/DasBlog/PermaLink,guid,ed33d12f-745e-4cd9-bacd-6fed1cc1352a.aspx</pingback:target>
      <dc:creator>Peter Monadjemi</dc:creator>
      <wfw:comment>http://www.activetraining.de/DasBlog/CommentView,guid,ed33d12f-745e-4cd9-bacd-6fed1cc1352a.aspx</wfw:comment>
      <wfw:commentRss>http://www.activetraining.de/DasBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=ed33d12f-745e-4cd9-bacd-6fed1cc1352a</wfw:commentRss>
      <title>In Zukunft nur noch parallel?</title>
      <guid isPermaLink="false">http://www.activetraining.de/DasBlog/PermaLink,guid,ed33d12f-745e-4cd9-bacd-6fed1cc1352a.aspx</guid>
      <link>http://www.activetraining.de/DasBlog/2010/02/05/InZukunftNurNochParallel.aspx</link>
      <pubDate>Fri, 05 Feb 2010 18:27:57 GMT</pubDate>
      <description>&lt;p&gt;
&lt;font size="2"&gt;&lt;a href="http://www.activetraining.de/DasBlog/content/binary/WindowsLiveWriter/InZukunftnurnochparallel_1104F/LINQRayTracer_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="185" alt="LINQRayTracer" src="http://www.activetraining.de/DasBlog/content/binary/WindowsLiveWriter/InZukunftnurnochparallel_1104F/LINQRayTracer_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; 
&lt;br&gt;
&lt;strong&gt;(auch 2010 noch faszinierend - ein RayTracer, insbesondere, wenn er Parallel
LINQ verwendet)&lt;/strong&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="2"&gt;Der parallelen Programmierung gehört die Zukunft. Wenn immer mehr PCs
zwei oder mehr Kerne besitzen, kann man das Software-Entwickler nur schwerlich ignorieren
(ein wenig erinnert mich das an die Zeit, wo PCs bereits 4 MByte Arbeitsspeicher besassen,
DOS aber nur 640 KByte ansprechen konnte). Doch paralleler Programmierung haftet nicht
zu unrecht der Ruf an, kompliziert zu sein. Als großer Anhänger der bewährten "Lernen
an Beispielen"-Methode freut es mich daher, dass Microsoft schon vor einiger Zeit
eine Sammlung von "Parallel Samples" für .NET und Visual Studio 2010 zusammengestellt.
Einige der knapp über 20 Beispiele sind wirklich faszinierend, wie z.B. ein &lt;strong&gt;Ray
Tracer&lt;/strong&gt; oder ein paralleles &lt;strong&gt;Game of Life&lt;/strong&gt;, das mit einem extrem
großen Populationsfeld arbeitet. Die Beispiele laufen natürlich auch auf einem PC,
dessen CPU nur einen Kern besitzt;)&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="2"&gt;Die meisten Beispiele liegen zweisprachig vor, einige wenige gibt es
nur in einer C#-Fassung und für ein Beispiel gibt es auch eine F#-Variante. Auch wer
sich im Moment vielleicht noch nicht so sehr für parallele Programmierung interessiert,
sollte sich die Beispiele herunterladen und sich mit ihnen eine Weile beschäftigen,
da man nebenbei einiges über die moderne Programmierung mit C# und Visual Basic lernt.&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="2"&gt;Die Beispiele gibt es &lt;/font&gt;&lt;a title="Beispiele f&amp;uuml;r die parallele Programmierung mit .NET 4" href="http://code.msdn.microsoft.com/ParExtSamples" target="_blank"&gt;&lt;font size="2"&gt;hier&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;.&lt;/font&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.activetraining.de/DasBlog/aggbug.ashx?id=ed33d12f-745e-4cd9-bacd-6fed1cc1352a" /&gt;</description>
      <comments>http://www.activetraining.de/DasBlog/CommentView,guid,ed33d12f-745e-4cd9-bacd-6fed1cc1352a.aspx</comments>
    </item>
    <item>
      <trackback:ping>http://www.activetraining.de/DasBlog/Trackback.aspx?guid=6de922bb-ced8-4d4a-a432-c6963d2f1071</trackback:ping>
      <pingback:server>http://www.activetraining.de/DasBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.activetraining.de/DasBlog/PermaLink,guid,6de922bb-ced8-4d4a-a432-c6963d2f1071.aspx</pingback:target>
      <dc:creator>Peter Monadjemi</dc:creator>
      <wfw:comment>http://www.activetraining.de/DasBlog/CommentView,guid,6de922bb-ced8-4d4a-a432-c6963d2f1071.aspx</wfw:comment>
      <wfw:commentRss>http://www.activetraining.de/DasBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=6de922bb-ced8-4d4a-a432-c6963d2f1071</wfw:commentRss>
      <title>Meine Voraussagen f&amp;uuml;r 2010</title>
      <guid isPermaLink="false">http://www.activetraining.de/DasBlog/PermaLink,guid,6de922bb-ced8-4d4a-a432-c6963d2f1071.aspx</guid>
      <link>http://www.activetraining.de/DasBlog/2010/01/16/MeineVoraussagenFuumlr2010.aspx</link>
      <pubDate>Sat, 16 Jan 2010 13:13:14 GMT</pubDate>
      <description>&lt;p&gt;
&lt;font size="3"&gt;&lt;a href="http://www.activetraining.de/DasBlog/content/binary/WindowsLiveWriter/Voraussagenfr2010_139F9/FutureExitSmall_2.jpg"&gt;&lt;font color="#000000"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="144" alt="FutureExitSmall" src="http://www.activetraining.de/DasBlog/content/binary/WindowsLiveWriter/Voraussagenfr2010_139F9/FutureExitSmall_thumb.jpg" width="175" border="0"&gt;&lt;/font&gt;&lt;/a&gt;&amp;nbsp;&lt;br&gt;
&lt;/font&gt;&lt;font size="2"&gt;(wieder einmal die Zukunft)&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="3"&gt;Der guten Tradition halber an dieser Stelle ein paar (eher harmlose)
Prognosen für das aktuelle Jahr, das immerhin den Beginn des zweiten Jahrzehnts des
21. Jahrhundert markiert (in diesem Jahr spielt bekanntlich der 2. Teil von &lt;a title="Arthur Clarke - Odysses im Weltraum Teil 2" href="http://en.wikipedia.org/wiki/2010_Odyssey_Two" target="_blank"&gt;Arthur
C. Clarke's Odyssey im Weltraum &lt;/a&gt;- die Gegenwart hat die Zukunft wieder einmal
überholt). 2010 wird, zu mindestens was das Thema Microsoft angeht, wieder einmal
ein Jahr der großen Releases sein. In diesem Jahr kommen unter anderem:&lt;/font&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;font size="3"&gt;Visual Studio 2010&lt;/font&gt; 
&lt;li&gt;
&lt;font size="3"&gt;F# 1.0&lt;/font&gt; 
&lt;li&gt;
&lt;font size="3"&gt;.NET Framework 4.0&lt;/font&gt; 
&lt;li&gt;
&lt;font size="3"&gt;SharePoint 2010&lt;/font&gt; 
&lt;li&gt;
&lt;font size="3"&gt;Office 2010&lt;/font&gt; 
&lt;li&gt;
&lt;font size="3"&gt;Die Office WebApps&lt;/font&gt; 
&lt;li&gt;
&lt;font size="3"&gt;Silverlight 4&lt;/font&gt; 
&lt;li&gt;
&lt;font size="3"&gt;Windows Mobile 7.0&lt;/font&gt; 
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;font size="3"&gt;Eine beeindruckende Liste. Dennoch wird sich keines dieser Releases
sehr stark auf aktuelle Projekte auswirken oder gar zu einem der vielzierten "Paradigmenwechsel"
führen, da nüchtern betrachtet einige Neuerungen lediglich Antworten auf Fragen sind,
die bislang nur wenige Entwickler gestellt haben. Das beste Beispiel ist für mich
die Möglichkeit Programmcode parallel auszuführen zu können, die mit .NET 4.0 Realität
werden wird. Diese Herausforderung existiert nicht erst seit dem es Multicore-CPUs
bei Aldi&amp;amp;Co gibt, sondern (mindestens) bereits seit Mitte der Achtziger Jahre
(Stichwort: &lt;a title="Transputer" href="http://de.wikipedia.org/wiki/Transputer" target="_blank"&gt;Transputer&lt;/a&gt; und &lt;a title="Occam" href="http://de.wikipedia.org/wiki/Occam" target="_blank"&gt;Occam&lt;/a&gt;).
Theoretisch ist die parallele Ausführung aus Performance-Gründen eine wünschenswerte
Verbesserung, für die Mehrheit der Anwendungen, die heutzutage unter .NET umgesetzt
werden, dürfte dieser Aspekt aber noch keine Rolle spielen. Aus diesem Grund ist es
zwar wichtig, dass es (endlich) eine entsprechende Unterstützung gibt, Code parallel
auszuführen zu können, es wird aber Jahre dauern bis die Mehrheit der .NET-Entwickler
das für ihre eigene Anwendungen nutzt (von der Möglichkeit, LINQ-Abfragen parallel
auszuführen zu können einmal abgesehen).&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="3"&gt;&lt;strong&gt;Cloud-Computing?&lt;/strong&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="3"&gt;Die Branche braucht bekanntlich ihre Buzz-Wörter. Aktuell ist Cloud-Computing
Buzz-Wort Nr. 1. Am 1.1.2010 ging Microsoft Azure offiziell an den Start - die ersten
4 Wochen sind kostenlos, danach wird jeder CPU-Takt und jede Speicherzelle, die die
eigene Anwendung in der Wolke verbrät, abgerechnet. Aber, Azure ist Realität und jeder
kann seine Anwendung in der Wolke hosten. Wie es Don Box und Chris Anderson auf der
PDC 09 in einer netten &lt;a title="PDC 09 Don Box und Chris Anderson f&amp;uuml;hren Azure und C++ vor" href="http://microsoftpdc.com/Sessions/KEY01" target="_blank"&gt;Demo&lt;/a&gt; (etwa
ab 1:05:30 - ansonsten wird man noch mit Bob Muglia konfrontiert;) während der Keynote
des 1. Tages gezeigt haben, kann dies sogar ein C++-Programm sein. PHP ist ebenfalls
Willkommen. "Love all, serve all" ist das neue Motto bei Microsoft. Auch wenn Microsoft
irrsinnige Summen in die Infrastruktur investiert (alleine das erste &lt;a title="Microsoft DataCenter in Chicago" href="http://www.microsoft.com/showcase/en/us/details/bafe5c0f-8651-4609-8c71-24c733ce628b" target="_blank"&gt;DataCenter
in Chicago&lt;/a&gt; kann über 200.000 Server aufnehmen) wird sich das Thema nur langsam
entwickeln, da es viele der Anwendungen noch gar nicht gibt, die von einer frei skalierbaren
Rechenleistung profitieren können und der Sicherheitsaspekt gerade in Deutschland
noch viele Verantwortliche davon abhält über diese Option überhaupt nachzudenken.&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="3"&gt;&lt;strong&gt;64 Bit?&lt;/strong&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="3"&gt;Wird 2010 das Jahr für den Wechsel auf 64 Bit? Sicher nicht. Es gab
eine Zeit, da stand 16 Bit in der Computerszene für Fortschritt und Aufbruchstimmung,
ähnlich Web 2.0 (es gab&amp;nbsp; in den guten, alten 80ern sogar eine Band, die so hieß;).
Heutzutage dürften selbst viele Entwickler nicht genau wissen, ob ihr PC über eine
32- oder 64-Bit-CPU verfügt. Dazu ein kurzer Exkurs. Der folgende PowerShell-Befehl
findet es über eine WMI-Abfrage heraus:&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New" color="#0000ff" size="3"&gt;&lt;strong&gt;(Gwmi win32_processor |
Select description) -match "x64"&lt;/strong&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="3"&gt;Diese Abfrage liefert auf meinem &lt;em&gt;ThinkPad X300&lt;/em&gt; übrigens ein &lt;em&gt;$true&lt;/em&gt;,
so dass ich offenbar ebenfalls glücklicher Besitzer einer 64-Bit-CPU bin.&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="3"&gt;Zwar macht Microsoft mit seiner Ankündigung ernst, dass es künftige
Server-Versionen nur als 64 Bit-Versionen geben wird (bzw. bereits gibt), doch solange
es keine 64-Bit-Version von Visual Studio gibt, wird auch das Thema 32/64-Bit für
Entwickler keine allzu große Rolle spielen.&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="3"&gt;&lt;strong&gt;Touch und Surface?&lt;/strong&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="3"&gt;Während also im Bereich der (.NET-) Entwicklung in diesem Jahr vermutlich
keine sensationellen neuen Trends entstehen werden, sieht es im Hardwarebereich ganz
anders aus, wo nicht zuletzt dank Windows 7, aber auch der rasanten Entwicklung bei
den mobilen Geräten wieder eine richtige Aufbruchstimmung zu spüren ist. &lt;strong&gt;2010&lt;/strong&gt; könnte
den Durchbruch für TouchDisplays bedeuten(natürlich ist auch diese Technik alles andere
als neu, selbst für den legendären C64 gab es damals eine Art mit Sensoren ausgestattete
Folie zu kaufen, die man auf den 12"-Bildschirm kleben musste).&amp;nbsp; M&lt;/font&gt;&lt;font size="3"&gt;ir
gefällt die Auswahl per Fingerdruck und vor allem Fingerbewegung (etwa auf meinem
iPod Touch) deutlich besser als die per Maus. Ich kann mir einige Anwendungen vorstellen,
die sich mit den Fingern deutlich angenehmer bedienen lassen als mit der Maus. Wer
einmal eine Weile mit einem Microsoft Surface-Gerät gespielt hat, sieht die Beschränkheiten
der modernen Benutzeroberflächen auf einmal sehr klar und entdeckt völlig neue Möglichkeiten
der Benutzerinteraktion. Da steckt großes Potential dahinter (sehr empfehlenswert
ist ein &lt;a title="MultiTouch in Microsoft Surface and Windows 7-Vortrag" href="http://microsoftpdc.com/Sessions/CL27" target="_blank"&gt;Vortrag&lt;/a&gt; auf
der PDC 09 zu diesem Thema - alleine wegen der Demo, wo jemand ein Glas auf eine Surface-Oberfläche
stellt und das Programm erkennen kann, ob das Glas oder leer ist - was das alleine
in der Gastronomie für Möglichkeiten eröffnet:). Programmiert werden Touch- und Surface-Oberflächen
(natürlich) mit WPF.&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="3"&gt;&lt;strong&gt;WPF!&lt;/strong&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="3"&gt;Alleine aus diesem Grund wird 2&lt;/font&gt;&lt;font size="3"&gt;010 für mich das
Jahr von &lt;strong&gt;WPF&lt;/strong&gt;. WPF ist nicht ganz einfach zu erlernen und erfordert
gerade für erfahrene WinForms-Entwickler eine gewisse "Leidensfähigkeit", da man sich
so manches Mal fragt, ob das wirklich die Zukunft ist (ich sitze gerade an meinem
Visual Basic 2010-Kompendium, in es natürlich zu 100% um WPF gehen wird, und habe
entsprechende "Leidensstrecken" hinter mir und sicher noch etliche vor mir). &lt;/font&gt;&lt;font size="3"&gt;Auch
wenn WPF 4.0 gegenüber WPF 3.51 nicht allzu viel Neues bringt und viele Entwickler
noch Vorbehalte haben dürften, hier gilt wieder einmal das Motto: Wer jetzt noch wartet,
verliert ganz einfach kostbare Zeit.&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="3"&gt;Dazu ein Tipp: Auf der &lt;em&gt;&lt;a title="Basta! 2010 Spring" href="http://www.basta.net" target="_blank"&gt;Basta!
Spring&lt;/a&gt;&lt;/em&gt; wird es auf den &lt;a title="Visual Basic Days auf der Basta! Spring 2010" href="http://it-republik.de/dotnet/basta10spring/sessions/?tid=1579" target="_blank"&gt;Visual
Basic Days&lt;/a&gt; wieder ein paar sehr gute Vorträge zu diesem Thema geben.&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size="3"&gt;Insgesamt wird 2010 für die IT-Branche, insbesondere für Entwickler,
ein gutes Jahr werden. Insbesondere für jene, die bereits vor 2-3 Jahren auf die richtigen
Themen gesetzt haben. Vorauszuschauend zu planen ist daher meine Empfehlung nicht
nur für dieses Jahr.&lt;/font&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.activetraining.de/DasBlog/aggbug.ashx?id=6de922bb-ced8-4d4a-a432-c6963d2f1071" /&gt;</description>
      <comments>http://www.activetraining.de/DasBlog/CommentView,guid,6de922bb-ced8-4d4a-a432-c6963d2f1071.aspx</comments>
    </item>
  </channel>
</rss>