Microsoft Simplifies API for Longhorn
zzxc writes "InternetWeek.com reports that Microsoft is cleaning up its API and integrating its XML Application Markup Language for its anticipated Longhorn release. An unnamed source says that Microsoft will be slashing the number of API calls from 76k to 8k. In addition, the new graphics device interface, codename Avalon, will use XAML-based scripts instead of a complicated API. Microsoft is planning on including XAML design in the next Visual Studio.net release. CRN is also reporting on this."
While fewer APIs is good, I would like to know if anyone has heard if Longhorn is going to be open sourced like MS did with CE.
Computer science is a grab bag of tenuously related areas thrown together by an accident of history, like Yugoslavia.
Comments from anyone with insight on this are very welcome.
Check out my eclectic infosec blog at InfoSecPotpou
"Win32 has like 76,000 APIs, and they're taking it down to 8,000 with Longhorn technology"
The question is will they be adding 100,000 new things to learn in AXML in order to replace the 68,000 lost APIs?
Make that "XAML" not "AXML". One down, 99,999 to go.
Gosh it's so cool to bash MS. I bet you even have a leg to stand on. I bet you can name over 10 Win32 APIs, huh? Hmmmmm.
meh.
OK, so are they really doing away with those old interfaces, or just pretending they're not there, not documenting them, etc?
I'd be impressed if the API was condensed into 8k well-documented routines that completely spanned win32 functionality. Like, if another company were to provide the same 8k routines they could, albeit with less performance, run any and all win32 applications (on different hardware, under different OS, etc.).
"Provided by the management for your protection."
Somewhat offtopic, but...
Why does Microsoft feel the need to code-name everything before its official release? I mean, we know the OS will be called Windows 2003 or Windows QF or something. Why does it matter to them that we don't know exactly what it'll be called?
Ditto with their GDI and such. I just don't get why they have to play sekrit agent.
Soylens viridis homines es
As usual they come along and pull the rug from under you.
Give me a 30 yo Api any day
in fact just give me "everything is a file" and mean it
There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
Replace 60,000+ API calls with a multi-gigabyte unintelligible MS-XML compatability transformation layer, force everyone to either code the Dot-Net way or suffer awful performance.
Sounds more like a move dictated by MS lawyers to undo the leftover damage from the antitrust lawsuits than a decision with technical motivations.
Conformity is the jailer of freedom and enemy of growth. -JFK
UpdateObject(XAML** object);
XAML looks somthing like this
etc.........
thank God the internet isn't a human right.
Sure ... lets see ... theres ummm ... LoadLibrary(), then there's LoadLibraryEx(), then there's LoadLibrary32(), then there's LoadLibrary32Ex(), then theres MS_LoadLibrary(), then theres MS_LoadLibrary32(), then theres MS_LoadLibraryEx() ...
.DLL found all over C:\WINDOWS, C:\WINDOWS\SYSTEM, C:\WINDOWS\SYSTEM32, C:\WINDOWS\WINNT, etc.
Oh, okay, I give up. I only ever used LoadLibrary() a couple hundred times, personally, and even then, only to get incompatible API functions loaded from various copies of the same
; -- the corruption of government starts with its secrets. a truly free people keep no secrets. --
<class name="textbox" GUID="12345">
<text value="hello" colour="red" bgcolour="blue"/>
etc......
</class>
Oh, okay, I give up. I only ever used LoadLibrary() a couple hundred times, personally, and even then, only to get incompatible API functions loaded from various copies of the same .DLL found all over C:\WINDOWS, C:\WINDOWS\SYSTEM, C:\WINDOWS\SYSTEM32, C:\WINDOWS\WINNT, etc.
Sounds to me like the problem actually resides between the chair and the computer. There is a reason for things like MFC and ATL in Visual C++, and VCL and CLX in Borland Delphi/Kylix...
-MT.
Now you can buy all new software as nothing from prior to Longhorn will run as it will be missing all it's API calls.
Sure maybe they can fix the bloat and evil API clutter by simply stripping it all out and redoing it. Then all applications need to be re-written for no reason just so they can run on Longhorn.
That's one way to fix the economy. Or at least force people to seriously consider an Apple Switch. Heck, as long as they have to rebuy everything anyway might as well go all the way and jump ship while they're at it.
When I was your age we had 0x128e0 non consistant
API calls and we LOVED it.
If so it's about time the Win16 subsystem, which also includes DOS emulation, went away.. and if that's what they're doing that would account for an awful lot of APIs (especially all the DOS interrupt calls).
- Steve
Oh yeah, hah hah, right. The system is broken so just pile on even more crap to fix it (MFC).
... If you can't guess half the API after having read 10% of it, then it's NOT A GOOD DESIGN!
Go ahead, flounder in your nonsensical API goodness! Revel in 3rd-party hacks to shitty OS design! Bask in the glory that is MFC42.dll! Roll in the ecstascy of monthly MSDN update CD's!
Sheesh. I dunno, seems to me like the 'new generation' of computer nerds just don't get it
; -- the corruption of government starts with its secrets. a truly free people keep no secrets. --
Oh yeah, hah hah, right. The system is broken so just pile on even more crap to fix it (MFC).
... If you can't guess half the API after having read 10% of it, then it's NOT A GOOD DESIGN!
Go ahead, flounder in your nonsensical API goodness! Revel in 3rd-party hacks to shitty OS design! Bask in the glory that is MFC42.dll! Roll in the ecstascy of monthly MSDN update CD's!
Not me. I use Borland Delphi for all my code, so I don't have to worry about making the right Win32 API calls - the VCL does all that for me.
Sheesh. I dunno, seems to me like the 'new generation' of computer nerds just don't get it
Well, as I'm approaching 35 this year I don't think that I really qualify for the 'new generation'. I can still remember reading up the Advanced User Guide for the BBC Micro way back in the early 80's. But back then such knowledge was the only way to get at most of the non-trivial functions of the machine. Nowadays we have frameworks and suchlike to enable us to spend less time grapling with the OS and more time writing our applications. Of course, if you want to code directly to the Win32 API, that is your choice, but if you don't actually need to do so, why go down that route?
-MT.
Blah. I know how they'll get rid of these APIs. See, instead of 7 *LoadLibrary* calls we'll have BigLoadLibrary(DWORD dwLltype, ...) multiplexers all over the place :).
Presto! 7 API functions down to one!
What? Not cleanup?...
.SIGSEGV
So we will have less things to worry, like: What is the API to close dialin RAS calls. Previously it was just undocumented...
"I think this line is mostly filler"
Yeaaaaaah. C:\windows\winnt. Uh huh. You DO have a lot of Win32 experience. Maybe you were joking.
.DLLs doesn't either. The darn things have no versioning information that LoadLibrary_ad infinitum could reliably depend upon.
I've never seen a library/module/class loader method (or function or API or whatever) that wasn't overloaded. Overloading an API doesn't make it bad, per se. And a general lack of configuration management for
meh.
For simple GUI apps, the WTL (a stripped-down ATL) framework provides all the GUI elements, sans the MFC nastiness and bulkiness. Of course, when I tried to use it last, it was nicely undocumented. (That could be changed by now)
There are a huge number of yeast infections in this county. Probably because we're downriver from the bread factory.
And POSIX is beautiful? Yeah, fork() is waaay better than CreateProcess(). pthreads are much better than CreateThread(). Sure.
At least they document their APIs in a human-readable form, unlike other operating systems that assume you've been writing for their API every day over the last 20 years.
Piss. Take.
; -- the corruption of government starts with its secrets. a truly free people keep no secrets. --
As Russ said :
"Plan 9 has 48 system calls these days,
10 of which are deprecated. So 38. That's still a lot."
There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
Oh, well then, you're a bit (2 years) older than me, so ... umm ... sorry there grandpa.
Yeah, I (quite fondly) remember the days when Microsoft only shipped a BASIC interpreter, and thats it.
Which is why I find their current scenario so laughable!! HAH HAH Microsoft!!!
; -- the corruption of government starts with its secrets. a truly free people keep no secrets. --
Not so laughable, if you consider how they got from MS BASIC to Windows XP. Pick up a copy of 'Barbarians Led By Bill Gates' (Jennifer Edstrom, Marlin Eller, 1999) if you're interested in (some of) the gory details...
-MT.
because once you've got your program working *any* other entity that knows about files can use your program.
For instance, I wrote a google searching tool that presented itself as a file system. To do a google search now all any program has to do is to open a file, write to it, read it, change directory and read the files. It doesn't have to wait for someone to add support for it.
Unix and it's POSIX progeny do the right thing but never quite cross the finish line. Corba, DCOM, XMLPRC, SOAP I mean, come on we're assaulted with so much change no wonder there's so many exploits.
There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
fork() is way better than CreateProcess(). And linux clone() is even better than fork() - if you ask me, clone() should be the standard threading API, not pthreads (which does suck...)
Looks about right to me...I think he was too kind about the older APIs though.
You should read that as: M$ is going to reduce the number of documented APIs from 76k to 8k, meanwhile adding more undocumented 'features' to old routines, which are misteriously used by M$ software.
WineLH anyone?
Make even shorter URLs - 8LN.org
Won't this new GDI make it far easier to create applications that run on Windows and on other platforms?
At first glance, this looks like a major improvement in openness.