Friday, February 10, 2012

A geek rant

Okay, so I found the source code to a Windows program that I wanted to make some slight modifications to in order to enhance it. Not a problem, I just download Microsoft Visual C++ Express, their free "for home and educational use" C++ compiler, and compile it. Except... it wouldn't compile, because Microsoft *DOES NOT INCLUDE THE MICROSOFT FOUNDATION CLASSES IN THEIR FREE PRODUCT!*

Now I hear the majority of you sayin', "what does that mean?" Well, basically what it means is that *basically no existing Windows code on the planet can be compiled by Microsoft Visual C++ Express*. I.e., it is utterly *USELESS* if your intent is to make slight tweaks to existing Windows code as part of the process of learning how to write Windows code.

What's Microsoft's excuse? "Visual C++ Express is for people who are just learning C++, and people just learning C++ shouldn't be using MFC." Excuse me. I learned C++ years ago. I learned C++ years ago for *free* by simply installing Slackware 95 Linux and wiping out the Windows 95 on my desktop computer, which was an Intel Pentium 233 with 16 megabytes of memory and a low-end video card, this was about five months after Microsoft released Windows 95 and I wanted to learn C++ but I wasn't going to pay hundreds of dollars for a C++ compiler when Slackware was *FREE*. I don't need to learn C++, I know C++ just fine, thank you very much, I've been programming in it for over 15 years now. What I was curious about was learning Windows programming, not because I need to learn Windows programming -- I make a very, very, VERY good living writing Linux software for embedded applications, thank you very much -- but because I like learning new things. And hey, maybe I'd write a program or two to release as free software for Windows, there's a few things I'd like to see that don't exist because there's no market for them but for which existing code could be modified fairly easily -- if I had some way to compile it.

But apparently Microsoft is intent upon death. Because look. What I did 15 years ago? It's what *every* kid is doing today. *No* entry-level programmers learn how to program using Microsoft's API's. They all learn Java -- which runs everywhere without modification, without even a re-compile, on Java's own virtual machine which completely disguises the underlying operating system from view. Meaning that all the new software coming out runs on Linux and Mac as well as on Windows. And Linux is *free*.

The only way Microsoft can "win" this war is by getting people to use their API, and then they don't provide any way for people to *learn* their API, instead saying "you can't learn our API unless you pay us a buncha dollars"? What the fuck? Do they really expect the majority of people interesting in learning how to write programs that run under Windows to *pay* to learn their API?! Talk about a company with a death wish!

So anyhow, I'm back to writing Java code. Which runs just fine on my Linux box, my Windows box, and my Macs. Way to go down the road to irrelevancy, Microsoft! What next, you put a time bomb into Windows 8 that destroys everybody's data after six months? It's about the only worse thing you could do to destroy your future...

-- Badtux the Geeky Penguin


  1. Why yes, they do expect a buncha dollars, because only professionals working on company time are worthy enough of programming with the Great Microsoft API. You hacker types -- go play on Linux or something and leave the Important People alone.

    When I was an engineer, I mostly did embedded programming or UNIX- based hardware simulation. The few times I was forced to use the (ghastly) MS API (generally to fix somebody else's code), it required a very expensive software package to even get started. As far as the company was concerned, it was just a normal cost of doing business.

    Microsoft, a sterling 20th century company...

  2. There's something similar going on in 3D graphics and special effects software. This software can run into the tens of thousands for a single seat, and comes with hefty annual charges, in some cases. Maya and Houdini are two big names. Other software, like LightWave and Modo are much cheaper... down under $1k, yet will do the bulk of your special effects work.

    You probably see LightWave's work every time you watch TV. Even if it's just a game or a news show.

    Now look into Blender. Open source. Wildly comprehensive and capable. So how do the big boys survive? So far, it's what you might call brand loyalty.

    Directors and producers have heard of Maya and Houdini. They think anything else is a toy, therefore your shop has to use this software. Also, these brands can create the most cutting edge graphics, which is also something crucially important.

    But the little guys are catching up. And the free one is catching up to the little guys.

    Add this to the fact that poor kids in Asia are willing to do 3D grunt work for pennies, which is killing the home-grown artist population.

    I don't know what the end result will be, but it won't be good, and I sure won't be investing in any software companies.


Ground rules: Comments that consist solely of insults, fact-free talking points, are off-topic, or simply spam the same argument over and over will be deleted. The penguin is the only one allowed to be an ass here. All viewpoints, however, are welcomed, even if I disagree vehemently with you.

WARNING: You are entitled to create your own arguments, but you are NOT entitled to create your own facts. If you spew scientific denialism, or insist that the sky is purple, or otherwise insist that your made-up universe of pink unicorns and cotton candy trees is "real", well -- expect the banhammer.

Note: Only a member of this blog may post a comment.