News Visual Studio Express 2008 kostenlos downloaden

Hi sirwuffi,
leider ist dieses Aussage nicht ganz korrekt, da sie zu allgemein ist. Bei mir ist die neue Version noch nicht verfügbar und wird sie wohl auch nicht so schnell sein. die "alte" Version haben wir erst letztes jahr bekommen. Bei uns gibts es z.B. Vista Buisness auch nur in der 32bit Version, bei anderen in der 64bit, es kommt anscheinend immer darauf an was die Hochschule da genau mit MS ausgemacht hat.

MfG Psylo
 
andr_gin schrieb:
2.) Wozu kann man LINQ jetzt konkret brauchen? Ich finde die SQL Strings eh schon ziemlich praktisch, da man sich einfach einmal eine Funktion excecute und getvalue machen kann bzw. eine Funktion, die mir mehrere Datensätze liest und in irgendeine Struktur speichert (queue von object arrays oder so). Wenn man dann wieder irgendeinen extra Standard hat, dann ist das ja eher ein Nachteil. Was der ganze Recordset Scheiß bewirkt, sieht man in Access mit den Formularen ja sehr gut.


Die Frage hatte ich mir zu Anfang auch gestellt, aber LINQ hat ein paar erhebliche Vorteile gegenüber normalen SQL-Strings.


Zum Einen wäre da die Tatsache, dass die Abfragen strong typed sind.
Du kannst also nicht aus Versehen einen String aus der DB holen und ihn einer Integer Variablen zuweisen. Das wird nicht nur beim Compilieren, sondern schon beim Editieren erkannt, dass die Datentypen nicht übereinstimmen.

Ein weiterer Vorteil der sich daraus ergibt ist natürlich auch, dass Intellisense funktioniert und Einem zum Beispiel alle Methoden vorhersagen kann, die dem Ergebnis der Abfrage zur Verfügung stehen werden.


Ein ganz wichtiger Vorteil von LINQ ist auch, dass man die Abfragen nicht nur über Datenbanken oder XML Dateien ausführen kannst, sondern über allem, was die IEnumerable Schnittstelle implementiert und das sind praktische alle Listen und Collections, die du finden kannst.
So kannst du zum Beipsiel "SQL Abfragen" über die Registry durchführen oder über die Prozessliste.

Beispiel:

Code:
Dim Result = From Proc In Diagnostics.Process.GetProcesses Where Proc.ProcessName.StartsWith("s")

Wenn man sich das Select-Statement spart, dann entspricht das einem "Select *".
Möchte man nur die Prozessnamen haben, dann müsste man an die Abfrage noch ein "Select Proc.ProcessName" hinzufügen. Ganz richtig. Hinzufügen. In LINQ kommt die Select Anweisung zum Schluss. Es handelt sich also nicht um herkömmliche SQL Befehle, obwohl die Schlüsselworte alle die selben sind, sondern um eine eigenständige Syntax.
Das finde ich aber ehrlich gesagt auch nicht so schlimm. Die Unterschiede sind doch recht gering und meiner Meinung nach sogar teilweise ganz vorteilhaft.

Naja, wie dem auch sei. Die Abfrage liefert dir also in Result eine Liste mit allen Prozessen, die mit "s" beginnen, die du dann über

Code:
For Each Proc In Result : Debug.WriteLine(Proc.ProcessName) : Next

ausgeben kannst

spoolsv
svchost
smss
svchost
svchost
svchost
services
shstat
svchost


Einfacher geht's nun wirklich nicht mehr.



BTW:
Wie du vielleicht festgestellt hast habe ich nirgendwo definiert von welchem Datentyp "Result" oder "Proc" ist.
Das ist Dank type inference auch nicht mehr nötig. Der Compiler erkennt selbstständig welche Typen es sein müssen anhand der Daten, die ihm zugewiesen werden. Er nimmt dann die Deklaration selbstständig vor.

Das ist aber nicht mit später Bindung zu verwechseln. Wenn man im Code einmal einer Variable einen Wert zugewiesen hat, dann steht der Datentyp beim Compilieren schon fest.

Nachdem man "i" also den Wert 123 zugewiesen hat kann man "i" später nicht mehr den Wert "Hello World" zuweisen, da der Compiler "i" schon als Integer deklariert hat. Es ist also einfach nur eine Art sich unnötige Schreibarbeit zu sparen, was gerade bei LINQ Abfragen von Nutzen sein kann, da sie auf diese Weise deutlich übersichtlicher werden.


So. Das nur mal als kurzen Überblick über die wichigsten Vorteile von LINQ. Vor allem das Funktionieren von Intellisense ist hier nicht zu unterschätzen. Das macht das Coden der Abfragen extreeeem einfach.



PS:
Momentan ist PLINQ auch schon sehr weit fortgeschritten. Damit ist es super einfach möglich SQL-Abfragen zu parallelisieren, was bei heutigen Multi-Core Prozessoren deutliche Geschwindigkeitsvorteile bringt.
Ich konnte mir gar nicht vorstellen, dass man ein und die selbe Abfrage parallelisieren kann, aber es geht tatsächlich. Jeder Thread liefert ein Teil der Ergebnisse zurück, die dann anschließend zusammengeführt werden und als Gesamtergebnis weiter verarbeitet werden können. Wie das technisch funktioniert kann ich mir nicht wirklich erklären.

PLINQ wurde momentan allerdings nur als CTP (Community Technologie Peview) released, aber ich denke spätestens mit dem .NET FX 4.0 wird es auch offiziell eingeführt werden.

Da dürfen sich die Performancesüchtigen also noch auf einiges freuen.


Puh. Ich hoffe, dass ich jetzt keinen Buffer Overflow erzeugt habe. Ist doch etwas länger geworden als geplant. Passiert bei mir aber leider, wenn ich von einer Sache so begeistert bin. ;)
 
Kann es sein, dass der Download gerade nicht geht?
Bei mir bricht er immer sofort ab und schreibt nur eine 1 KB Datei auf die Platte.

edit: Ok, es lag am Browser. Mit dem IE7 geht's.
 
Zuletzt bearbeitet:
Weiß denn jemand, ob es mit der Express Edition inzwischen möglich ist, auch Anwendungen für Windows Mobile (z. B. Pocket PCs) zu erstellen?? Mit den früheren Express Editionen ging das ja nicht...
 
Naja, wenn man die richtigen Namespaces nutzt läuft es auf Win Mobile ohne spezielle Compiler Einstellungen.
 
Ich möcht nochmal auf die enorme Diskrepanz in Sachen ISO Größe zwischen englischer und deutscher Version zurückkommen. Hab jetzt etwas recherchiert, und das ISO Format unterstützt demnach gar keine Kompression, was allerdings im krassen Widerspruch dazu steht, dass die Nutzdaten von beiden Sprachversionen relativ gleich groß sind (2747 MB vs. 3059 MB), die ISO-Files aber um den Faktor 3 unterschiedlich sind (894 MB vs. 3061 MB). Kennt sich jemand damit aus und kann mir das erklären? Irgendwie is mir das alles ein Rätsel.

Edit #1:
Ich weiß jetzt endlich, was hier los is. Keine der beiden Sprachversionen wurde komprimiert, da, wie schon oben erwähnt, das ISO Format gar keine Kompression unterstützt.
ABER: Jede der vier Express Editions (also VB, C++, C# & Web Developer) hat einen WCU Unterordner, dessen Inhalt für alle Versionen größtenteils ident ist. Bei der englischen ISO wurden diese vierfach vorhandenen Dateien nur einmal inkludiert und für die anderen Express Editions eine Art Verweis/Verknüpfung erstellt. Bei der deutschen Version sind all diese vierfach vorhandenen Dateien auch vier mal identisch in die ISO gepackt.

Schon interessant, dass keinem der Experten bei Microsoft das aufgefallen is...

Edit #2:
Hab jetzt mit UltraISO die ISO von 3061 auf 979 MB reduziert, und das ganz ohne Kompression sondern mit derselben Methode, wie sie bei der englischen ISO auch eingesetzt wurde.
 
Zuletzt bearbeitet:
noxon schrieb:
Gibt es sowas wie gepackte ISOs?
Jain. Es ist möglich, dass identische Dateien nur einmal auf der CD abgelegt werden. Und der größte Teil ist eben doppelt, man denke nur mal an SQL Server Express, MSDN Express etc, die liegen alle 3 oder 4 Mal auf DVD, es ist aber wie gesagt auch möglich dass sie nur ein mal auf der Scheibe liegen...
 
Hehe.
Jetzt wo ihr es ansprecht fällt mir ein, dass ich da damals auch schon selber drauf gekommen bin. :D

Ich hab's total vergessen, aber ich bin damals durch das Programm Treesize drauf gekommen, dass ein Großteil der Dateien nur einmal im ISO steckt, aber mehrfach auf die DVD gebrannt wurden.
 
ich dann die "VS 2008 Trail Deutsch" nicht installieren. Er bricht bei mir immer ab. Das ganze auf einem frisch installiertem Vista Ultimate 32bit. Ohne Virenscanner und anderem Müll.

Kann mir einer sagen wieso? Haben andere das gleiche Problem?
 
Zurück
Oben