Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

OLE, ActiveX, .NET, MFC, WinRT - they're all entirely different technologies

Not really. Initial versions of OLE were built on DDE. COM was the next generation of OLE. ActiveX was just COM with a DispInterface (self-describing interface to allow dynamic scripting), so named solely because of a rebranding effort to put an X into everything. .Net was, in my opinion, a ridiculous branding of what was essentially analogous to Win32, and it was only named .Net to align with the Internet craze. MFC was just an app development architecture, so as I understand it it's related in intent to WinForms.

Why was COM with a DispInterface called ActiveX, to stand alongside DirectX, when the two had essentially nothing in common with regards to meaning or context, yet MFC and WinForms, which seem related in intent, share absolutely nothing in terms of branding or name?

Microsoft's rebranding efforts just confuse everyone: developers, users, and IT.



And hey, Windows is just DOS with a bit of new code, and wasn't that just a quick copy of CP/M. Really we should expect Windows 8 to have been called Microsoft CP/M 2012, right?

Some of the names you mention are indeed related, but branding and marketing are entirely different beasts, and from a marketing perspective, it may be perfectly logical to give disparate names to tangentially related technologies.


Windows 8 has no code parentage from DOS. Windows NT was as a completely separate OS design. Compatibility and so on for various submodules, sure, but DOS isn't in the parentage. They've had/have POSIX as well as OS/2 subsystems in there too, but NT is its own thing.


And hey, Windows is just DOS with a bit of new code

If you think that the step from a command line to GUI, multitasking OS is anything at all like cramming an 'X' or 'Live' into a bunch of disparate technologies, then I don't know what to tell you.

Edit:

from a marketing perspective, it may be perfectly logical to give disparate names to tangentially related technologies.

Please explain the logic of 'X' and 'Live'. From where I'm sitting, they're just aliases for '1997-2003' and '2005-2010' (numbers purely guessed). It added absolutely nothing of value for anyone, aside from the marketing team.


From my totally unqualified understanding of marketing, it's because it makes people go "oooOOh" and statistically more likely to buy or even notice the product, because they associate it somehow with fast cars and filthy sex. This makes the "random and without value" renames vaguely sensible in a for-profit corporation: it drives the bottom line. But hey what do I know, I'm a nerd and have barely sold a thing my entire life.

Quitting the devil's advocate role and in support of your position, if nerds had their way, the entirety of marketing and design would be annexed in favour of technically aesthetic solutions (functional product names, stable UIs, uniform web designs, ...), but sadly when speaking of the masses, buying choices are simply not driven by rationality. My ideal world will probably never come, at least in this lifetime.


As a developer, instead of "oooOOh" i tend to do an "oh shit" whenever i see another MS API.


Someone I worked with long ago had a t-shirt with about 8 of these COM 'rebrandings' with strikethroughs through each.

The one that I recall was "Windows DNS" (no, not that DNS, it was distributed network services or something, aka COM+).


DX (DirectDraw+DirectSound+DirectNetwork) had support added for IDL - basically making an AX wrapper for DX native parts. However, MFC encompassed the entire message pump, which winforms just consume (unless additional code is added).

I do remember delivering an ATL-MFC COM component that had interop with .NET some time around 2000. It would have also had some additional OLE code too, but at the copy+paste feature was removed sometime mid-project. If your code needed access to a keyboard, the screen, the network AND wanted to be able to use it as a library this was the only "sane" way to do it.

The overlap and confusion was insane, and it hasn't stopped.


.NET (.NET Enterprise Technology) is a bit more than just an API like Win32. It's a whole cross-platform language runtime, in addition to a massive standard library...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: