"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

Neues zu Longhorn (von Prof. Developers Conference)

nitschi 31.10.2003 - 17:30 594 11
Posts

nitschi

miau!
Avatar
Registered: Oct 2002
Location: Wien
Posts: 1737
ganz dreist geklaut aus einem anderen Forum ;)

[quote]
Dank der PDC gibt's nach und nach handfeste Longhorn-Infos für Entwickler. Avalon (die neue Desktop-UI-Rendering-Engine) wird spektakulär! Sie arbeitet a) primär mit Vektorelementen und b) ausschließlich über vorhandene 3D-Hardware. Avalon-Anwendungen werden ohne Qualitätseinbußen frei skalierbar (rotierbar, whatever) sein. Das ist nicht nur nützlich (ich mag große Fonts und ärgere mich über Anwendungen, die damit nicht zurecht kommen -- gibt es leider genug von!), sondern es wird sicherlich auch 'ne Menge abgefahrener 3D-Spielereien geben. Material Defender und seinen Kollegen von der Informatikerpolizei ist das sicherlich alles zu "klicki bunti", aber ich freue mich drauf! ;)

Aber das absolute uNF uNF gehört XAML, Microsofts XML-Dialekt, auf dessen Basis die UI für Avalon-Anwendungen gebaut werden. Ein Tutorial gibt es hier:

[http://longhorn.msdn.microsoft.com/...quickstart.aspx]

Einfach nur extrem geil.

Ein paar andere coole Infos zu Longhorn:

Es wird (endlich!) eine neue Shell haben! Weg mit dem alten DOS-Ding. Die neue Shell arbeitet komplett auf .NET-Ebene, Festplatten etc. sind als Objektbäume repräsentiert, an denen man direkt arbeitet. Shellscripts werden dann einfach als .NET-Klassen (natürlich in einer beliebigen .NET-Sprache) geschrieben; Befehle sind auch entsprechende Klassen. Wenn man sich z.B. den Inhalt eines Verzeichnisses anzeigen lassen will, liefert die entsprechende Klasse die Ergebnisse als Objektbaum zurück; verwendet man den nicht selber weiter, wird der einfach (.ToString()-style) ausgegeben. Das ist spektakulär geil, zumal man beim Programmieren von Shell"scripts" die volle .NET-Power inkl. aller OOP-Vorzüge hat, also durchaus auch fröhlich Code zwischen seiner Shell-Tool-Sammlung und größeren Anwendungen austauschen usw. kann, geil!

Remote Desktop wird angeblich überarbeitet. Beim aktuellen RDC ist es noch so, dass der RDC-Server das Bild generiert und komprimiert an den Client sendet. Das neue RDC soll im verwendeten Protokoll die Avalon-API (und wahrscheinlich auch andere "wichtige" APIs, z.B. DirectX) abbilden; übers Netz werden dann keine Bilddaten, sondern die entsprechenden API-Aufrufe übertragen. Das bedeutet, dass RDC a) nochmal performanter sein wird und b) damit wahrscheinlich möglich sein wird, auch auf einem anderen Rechner installierte DirectX-Spiele "remote" zu spielen. (Wobei ich fest davon ausgehe, dass Spiele extra dafür ausgelegt sein müssen und das ganze nicht rückwärtskompatibel sein wird; ich denke da an Texturmanagement und andere Stellen, wo größere Datenmengen im Spiel sind).

Noch nicht ganz überzeugt bin ich von WinFS. Primär, weil niemand im Moment so genau weiß, was der User damit überhaupt anstellen soll. Ein komplett neues Filesystem mit radikalen Neuerungen wie z.B. Metadata, Versioning usw. wäre toll gewesen, aber WinFS scheint mehr ein "Sortier"-Aufsatz für das normale NTFS zu sein. Hmmmmmm.

G.Z.
[/quote]

HP

Legend
Moneymaker
Registered: Mar 2000
Location: Wien
Posts: 21813
Hm, abwarten, es werden noch viele Jahre vergehen ;)

><))))°>

Idle ...
Avatar
Registered: Sep 2002
Location: Wien
Posts: 1586
obwohl ich nicht alles davon versteh hört es sich nicht schlecht an :D
wann soll das neue windows denn rauskommen?

HP

Legend
Moneymaker
Registered: Mar 2000
Location: Wien
Posts: 21813
2006

LTD

frecher fratz
Avatar
Registered: Feb 2001
Location: is where it is
Posts: 6334
*lach* bis aufs "und" "aber" "oder" hab i nix verstanden - dennoch hörts sich interessant an

spunz

Super Moderator
Super Moderator
Avatar
Registered: Aug 2000
Location: achse des bösen
Posts: 11243
fazit: alles was derzeit bekannt ist, wird beim erscheinen in 3 jahren nicht mehr aktuell sein.

Skobold

Inventor of Super Toast
Avatar
Registered: May 2002
Location: Anatolien
Posts: 1098
Blah

Noch höhere Abstraktionsebene, noch unübersichtlicher.


Außerdem mag ich die .NET umgebung nicht, da sie für die kleinen klimbimprogramme die ich mache der overkill ist. Der Overhead der da erzeugt wird nur damit ich mit allem alles machen kann is mir einfach nur mehr unsymphatisch.

Naja, vielleicht können sich die codeheads eher damit anfreunden.

The Red Guy

Untitled
Avatar
Registered: Jul 2001
Location: Transdanubia
Posts: 3121
Zitat von spunz
fazit: alles was derzeit bekannt ist, wird beim erscheinen in 3 jahren nicht mehr aktuell sein.

Also der bunte 3D Desktop war seinerzeit schon für WinXP geplant.

Das Filesystem sollte ursprünglich schon auf der Yukon-DB basieren. Warum das jetzt wieder anders ist...

Und .net in der shell ist eine weiterentwicklung.

3 Jahre sind noch so lange...

spunz

Super Moderator
Super Moderator
Avatar
Registered: Aug 2000
Location: achse des bösen
Posts: 11243
da werden wohl noch 1-2 zwischenversionen rauskommen.

The Red Guy

Untitled
Avatar
Registered: Jul 2001
Location: Transdanubia
Posts: 3121
Klar. Was würden sie sonst die nächsten 3 Jahre verdienen ?

that

Hoffnungsloser Optimist
Avatar
Registered: Mar 2000
Location: MeidLing
Posts: 11338
Die Vorgehensweise erinnert mich irgendwie an Cairo, das ist auch nie so rausgekommen wie es mal angekündigt wurde.

@neue Shell: cool, mal sehen wie viele neue Viren man damit bauen kann. :p

@3D Desktop: Wird dringend Zeit dafür, bzw. eher für die damit erreichte freie Skalierbarkeit und eine vektororientierte Oberfläche.

nitschi

miau!
Avatar
Registered: Oct 2002
Location: Wien
Posts: 1737
noch was zu dem Thema (auch wenn ich selber davon nur einen Bruchteil verstehe, vielleicht interessiert es ja doch jemanden):

[quote]One of the coolest things I saw at the PDC was Microsoft's new command shell, code named Monad. Also known as msh, this new tool is possibly the biggest advanced in scripting since Unix scripting was invented. Yeah, I know, big words. But let me tell you about it!
Before getting into what Monad is, let's look at conventional unix scripting. One of the real power features of unix (and here I include Linux, BSD, etc, etc) is the ability to string along a bunch of tiny commands via the pipe commands. This allowed you to crate truly useful tools. This is something that was never really possible with Windows. Possibly the very best thing about unix is the huge array of very simple programs that can be strung together to do everything you need.

In the Unix world, you take tiny commands, cmdlets in MSH-speak, which are either built in (eg ps, ls, cat, touch) or which you can easily write, and let them communicate via the normal stdin/stdout/stderr pipes. In the unix world, this works very well. However, there is one fundamental obstacle here. Cmdlets communicate in the pipeline via text.

Now text input/output (stdin, stdout) is cool. BUT: the individual cmdlets are written using absolutely no standard way of expressing or mandating input and output data formats. Thus, in order to do good shell programming, you also have to master grep, sed/awk/perl, etc. in order to manipulate the various inputs and outputs. Unix scriptmeisters will be familiar with the having to "drop the 1st two lines, then go to col 34 and take the next 10 chars but if there were tabs instead of spaces, etc, etc." Let's face it: text sucks as a method of inter-command processing.

MSH takes the incredible power of the pipelined cmdlet approach of Unix, but instead of passing raw text, MSH sends NET Managed objects between cmdlets. That's right, objects, not raw text. Managed, type safe, and easy to write/extend .NET Managed objects! Now with such .NET objects, you get rich metadata available ot the cmdlets. The MSH shell then uses .NET reflection to get this information into the cmdlet.

Now the format take a bit of getting used to, but you can type something like: "get /process" to get a list of processes running. You could string this together with the where cmdlet giving: get/process | where "handlecount -gt 500" to print out a list of processes with large handle counts. Now since you are passing .Net objects, the second cmdlet (where) has the full metadata of the process objects create by the process cmdlet. So it can do a 'where' based on all the processes attributes such as handle count, memory usage, etc, etc. And of course, there are a ton of formatting options since you know all about the attributes of the passed objects.

You can also write more complex scripts, such as:
$p = get/process
foreach ($p)
{ $p.FileName.ToString()
}
This assigns the output of the get/process to an array then prints the file name property of each array member (i.e. prints the file names of the executables for each process in the process list) . At least I think this is right! Apologies if the syntax is a big mangled

The next cool thing is how msh handles namespaces. In unix, cmdlets essentially have just one namespace: the file system. MSH has this, but also adds the registry, active Directory etc as namespaces. So you can go: CD AD:\ and get into the AD, where you can type DIR and get a listing of the top level objects. Or, type "CD HKLM:\" and be able to see the top of the registry. And of course, you can write your own namespace provider! MS plan to add a provider for SQL, and are open to adding others. I want a DNS namespace provider!

Then there's all the cool output options. Builtin, MSH supports output formats including HTML, XML, Excel, Word or even good old formatted Text. If you want to output text, you have all the formatting options you want, either from the shell, or in code if you write your own cmdlets.

Developers will love the cmdlets - they're incredibly easy to write - and being .NET based, you can write them in any .NET language. Your cmdlet class inherits from the commandlet base class. You just need to add a few attributes and hey presto you have a cmdlet!. And since the cmdlet has the full .NET namespace at its disposal, your cmdlet has access to anything and everything you could possibly want!! There are a bunch of simple examples in Jeffrey Snover's PDC deck.

Finally, the MMC will in future be based on this. So you can use the MMC to do some command, then dump out the MSH script that would be needed to do that action again. Then you can apply this to your entire domain

And as to the name. At first sight, it seemed odd, but Jeffrey Snover told us that: "the name came from Leibniz's Monadology, a philosophy which says that everything is a composition of smaller things (the smallest being a Monad)". I could go on - but I was totally blown away by the presentation and the demos. I'll post more details once I get them! Watch this space!!

Quelle: http://tfl09.blogspot.com/2003_11_0...769921834716276
[/quote]
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz