Microsoft Out of Favor With Young, Hip Developers 775
An anonymous reader writes "Microsoft's failures with the KIN phone (only two months on the market, less than 10,000 phones sold) are well-known to this community. Now the NY Times goes farther, quoting Tim O'Reilly: 'Microsoft is totally off the radar of the cool, hip, cutting-edge software developers.' Microsoft has acknowledged that they have lost young developers to the lures of free software. 'We did not get access to kids as they were going through college,' acknowledged Bob Muglia, the president of Microsoft's business software group, in an interview last year. 'And then, when people, particularly younger people, wanted to build a start-up, and they were generally under-capitalized, the idea of buying Microsoft software was a really problematic idea for them.' Microsoft's program to seed start-ups with its software for free requires the fledgling companies to meet certain guidelines and jump through hoops to receive software — while its free competitors simply allow anyone to download products off a website with the click of a button." Update: 07/07 13:21 GMT by T : Tim O'Reilly says that while he "[doesn't] disagree with all of his conclusions," he's not happy with it Ashlee Vance's piece, writing "I was not the source for the various comments that were attributed to me," including the bit about "totally off the radar." (Thanks to reader gbll.)
The New York Times. (Score:3, Insightful)
Re: (Score:3, Funny)
Re: (Score:3, Funny)
I guess their definition of "hip" isn't. Free software?
True homosexual hipsters use mac and iPhone.
Re:The New York Times. (Score:5, Funny)
True homosexual hipsters use mac and iPhone.
Hey, but I... oh.
An appropriate quote seems to be... (Score:5, Insightful)
First they ignore you.
Then they ridicule you.
Then they fight you.
Then you win.
-- Ghandi.
A more appropriate quote seems to be... (Score:5, Funny)
Developers, developers, developers, developers!
-Steve Ballmer
Re:A more appropriate quote seems to be... (Score:5, Funny)
Yeah, I'm pretty sure that's when they actually lost all the "young, hip developers".
Re:A more appropriate quote seems to be... (Score:5, Funny)
"Microsoft needs new developers that are hip, not developers that need a new hip."
(An homage to my favorite joke on Home Improvement.)
Re:A more appropriate quote seems to be... (Score:4, Insightful)
Re:A more appropriate quote seems to be... (Score:5, Interesting)
Yeah, I'm pretty sure that's when they actually lost all the "young, hip developers".
Not really. C# is the cleanest language I've ever coded in. It's the libraries that are fucked up: the .NET base libraries are basically the managed versions of the Win32 platform.
Compare Qt, which is built on C++ (their greatest flaw), but actually do magic along the nice library to make manual garbage collection look easy [nokia.com], and have an event system which is multithreaded by default [nokia.com]. With Qt, C++ looks more like a scripting language (with the byte-level stuff available if you need it), which is exactly what .NET would have needed to do.
Re:A more appropriate quote seems to be... (Score:5, Informative)
which is built on C++ (their greatest flaw)
But there is no other language that combines:
Given all the above, and considering the year Qt appeared, C++ is the only choice. Remember that Qt needs to run in platforms that C# or Java does not exist now and back then when the project was started.
Re:A more appropriate quote seems to be... (Score:5, Interesting)
Win32 makes me want to gouge my eyes out where as .NET libraries cause no such adverse reaction.
Told you C# was a cleaner language :)
But seriously, try coding a week in Qt/C++. You'll learn what a decent library should look like. As for Qt's worst weakness: you'll have to deal with templates and the resulting error messages your compiler generates. (And $DEITY help you if you mess up in something 'moc' will generate code from).
Interestingly, Qt may be for most cases actually better than managed environments: `deleteLater()` only fires when the event loop finishes: implicitly, when the CPU is idle (of course the .NET gc may do the same thing, but it's not guaranteed). Of course this requires you know what you're doing, but that's C++ for you.
Re:A more appropriate quote seems to be... (Score:5, Insightful)
That would involve coding in C++ for a week. Eew.
Straight up C, no problem. Awesome language. Love it.
C++ requires me to mentally juggle too many balls in the air, it is mental effort that I could be expending on writing actual code.
Re:A more appropriate quote seems to be... (Score:4, Funny)
Try coding in ObjectiveC and Cocoa for a week, you'll learn what a really good library looks like.
No namespaces. More brackets than Lisp. Lame. ;)
Re:A more appropriate quote seems to be... (Score:5, Insightful)
Or just a better moderation system in general. Unfortunately this is the reality of Slashdot today, where pointing out why DRM is bad will get you modded overrated:
http://slashdot.org/comments.pl?sid=1708570&cid=32808318 [slashdot.org]
Whilst providing additional information that hasn't yet been posted but that demonstrates a valid counter point to the post of the parent you're responding to gets you modded redundant:
http://slashdot.org/comments.pl?sid=1710188&cid=32823226 [slashdot.org]
Just like real democracies, when you let the idiot masses vote, you're bound to get some idiotic results.
I'm not a fan of Apple, and I dislike Cocoa and Objective-C, but you getting moderated troll for making the point you did is just utterly stupid- it was a fair comment. It's just sad that there are people incapable of grasping the concept of moderating a post based on it's merits, rather than based on rabid fanboyism and ignorance.
It seems the best way to get modded up is to post some populist bullshit, that might well be completely and utterly fucking incorrect, but that appeals to the ignorant and uninformed. The problem with democratic moderation is that you basically just end up reinforcing the ideology that becomes dominant and driving away people with other often equally accurate points, so that it basically becomes a self-reassuring wankfest of ignorance.
Still, I carry on reading because every once in a while there are some posts that really are insightful and worth reading, it's just a shame they become ever rarer and rarer.
Re:A more appropriate quote seems to be... (Score:5, Funny)
How does a snarky comment about Ballmer's on-stage antics turn into anything regarding C#/.NET/C++/Qt?
I was drunk last night, that's how.
Re:A more appropriate quote seems to be... (Score:5, Insightful)
Re:A more appropriate quote seems to be... (Score:5, Insightful)
Re:A more appropriate quote seems to be... (Score:5, Insightful)
Perhaps that's what it looks like to you, on its surface.
Microsoft tried to seed as much a they could into universities with really low prices on everything, including developer tools. NGOs got cheap stuff as well in many cases.
Microsoft did something more onerous, however: their software had poor quality, and they fought with abounding obfuscation, the FOSS movement. Add in to the equation lots of bad press about their bad behavior (and legal posturing) in the US, Canada, and the EU, to mention just a few jurisdictions. Salt the mess with mind-boggling security problems *of their own making*. Add in way too many versions of everything, requiring developers to have to constantly recode for variants.
Sprinkle in losing momentum in telephony, smartphones, gaming, search, and everything else they got their fingers on. Wanna be a part of a winning team? It used to be a meal ticket to sign on to Windows. No more.
Re:A more appropriate quote seems to be... (Score:4, Interesting)
C# and much of the
Re:A more appropriate quote seems to be... (Score:4, Insightful)
The Generics in .NET put Java's to shame.
That's not hard though; the generics in Java could have been nice if they hadn't been bolted on posthumously.
Re:A more appropriate quote seems to be... (Score:4, Interesting)
And again I have to point out, MOST =/= ALL, Microsoft's version of 'Open' =/= Open.
Just read their EULA's - Only for use as a reference, can't make your own implementation, you can't sue them if you read the source code and find out they use your patents. If they sue you for the same reason (patents) and you counterclaim with your own, your license ends right there.
Re:A more appropriate quote seems to be... (Score:5, Insightful)
A question of what's a better IDE is always kind of like asking which is the better religion, or maybe who has the best kids. Everyone thinks theirs is awesome and its shit doesn't stink.
Re:An appropriate quote seems to be... (Score:5, Insightful)
First they ignore you.
Then they ridicule you.
Then they fight you.
Then they kill you.
Then you're dead.
Should've taken the hint.
Re:An appropriate quote seems to be... (Score:5, Funny)
Burma Shave (tm)
Re:An appropriate quote seems to be... (Score:5, Funny)
First they ignore you.
Then they ridicule you.
Then they fight you.
Then you win.
First you copy this quote.
Then you paste it into the comment box.
Then you post the quote in any vaguely appropriate thread.
Then you get an instant +5 karma.
Re: (Score:3, Interesting)
Is MS losing money ? retrenching ? no longer the biggest software company in the world ?
I wish I could lose the way you say they've lost !
Re:An appropriate quote seems to be... (Score:5, Insightful)
It's not about losing money as much as losing relevance. Lose relevance and money will follow eventually.
People work on Microsoft infrastructure because it pays the bills, not because they want to. The problem with this is that in 10 years time it will be cheaper to get a LAMP administrator than it will to get a IIS/MSSQL administrator. Bugger licensing costs, it's the price of risk management that is important to companies. And with Microsoft becoming less relevant LAMP and "Cool Hip technologies" will be the replacement in 10 years when those admins grow up and start doing IT for a living like the rest of us.
Re:An appropriate quote seems to be... (Score:4, Insightful)
People work on Microsoft infrastructure because it pays the bills, not because they want to. The problem with this is that in 10 years time it will be cheaper to get a LAMP administrator than it will to get a IIS/MSSQL administrator. Bugger licensing costs, it's the price of risk management that is important to companies. And with Microsoft becoming less relevant LAMP and "Cool Hip technologies" will be the replacement in 10 years when those admins grow up and start doing IT for a living like the rest of us.
Odd, it seems like you're describing the world today, as opposed to the world 10 years from now.
Re:An appropriate quote seems to be... (Score:5, Insightful)
one can make money while sliding down the slippery slope into the valley of irrelevance
Re:An appropriate quote seems to be... (Score:5, Insightful)
They've done well so far, but look closer at the past. A decade ago, if you wanted a personal computer, you pretty much got a PC with Windows. Only the truly hardcore went any other way. If you used a browser, it was almost certainly IE. Or if you were into graphics or a couple other niche areas, you'd get a Mac. Mac and Linux are serious alternatives now, and were not previously. Software development for portable touch screens like the PocketPC used to be a big deal, but it's pretty much irrelevant now.
In around 2004 I started my own business, and I needed database software and front end software. In my day job, I was developing using MS SQL and ASP.NET in C#. I knew the tools, they were what I was most productive in. But I had a choice: drop a bunch of cash for Microsoft tools, pirate it all from work, or go totally legit and figure out how to do it with free software. I chose to go legit, and I won't ever turn back. They had the free developer version of MS SQL, but it felt like crippleware to me. And I was in a situation where I'd need to deploy before the revenue came in, so I chose to go with real software instead of shelling out a grand for software before I had any revenue.
Wouldn't you make the same decision, too?
I submit that most people who wouldn't make that decision lack confidence in their ability to come up to speed quickly on new technologies. Plus, the free software development tools are better today than they ever were before. Also it's cheaper to deploy code that doesn't need Windows to run.:
Linux machine at Rackspace Cloud, 1.5 cents/hr for 256m, 3.0 cents/hr for 512m. [rackspacecloud.com]
Windows machine at Rackspace Cloud: 256m *not available, needs more memory*, 4.0 cents/hr for 512m. [rackspacecloud.com]
The key reason to use Microsoft if you're starting from scratch is if you can't step up to the plate and retool yourself. And if so, be careful-- there were a lot of guys I saw growing up that wouldn't do anything other than COBOL, Fortran, and RPG/3, and didn't think they'd ever need to learn anything new.
Re:MSDN? Hello? (Score:5, Insightful)
"Frankly, if you dont have $2K for an Enterprise MSDN licensing, you really have no business doing a start up, do you?"
Frankly, if you put your money out of the objective of achieving revenue -like spending even if only one single dollar on unneeded licenses, you really have no business doing a start up, do you?
Re:MSDN? Hello? (Score:5, Insightful)
What is all this bitching about the price of tools, with MSDN out there for almost nothing? Frankly, if you dont have $2K for an Enterprise MSDN licensing, you really have no business doing a start up, do you?
The point of starting a company is to make money. Money for you, and money for the investors. Lighting a pile of money on fire just to get access to development tools is throwing away money that could be in your pocket or your investors.
If you can do something for free, why would you choose to pay $2,000 for it?
Back in the late 90's, I developed for a Microsoft shop. By 2001, I was playing with linux, and by 2002 I made the switch. I haven't run into anything I couldn't do just as easily in Linux.
It's the HASSLE, stupid! (Score:4, Informative)
So, I joined a startup about 2002, and we decided to grow organically. Growth has been solid and almost swift: 25%-70% per year. When we started, cash was crazy tight, since I was working after work hours and on weekends and funding everything myself. So, I got the cheapest thing I could find that would qualify as "our server" (a 1U PIV with generic parts) and got everything else for free with the Linux ISO. LAPP (Postgres/PHP) and we are good to go, with no worries about growth or licenses down the road.
So now, here we are, 8 years later. The company is now working towards its 2nd million in value, and the growth ratio is starting to get a bit crazy - after rapid growth in the beginning and a few years of weak growth, our curve is picking up again sharply. And now, the licensing savings are really starting to pay off.
I can take a disk image of any of our production servers, reload the database(s) and tweak a few settings (like IP address and/or host name) to roll out another system. Hassle? No. I can build an image just by re-enabling Raid 1 on an otherwise active partition and have my new server up, pre-configured. Total time per system might be 1 or 2 hours, without incurring any downtime, licensing costs, or (possibly most importantly) any licensing headaches.
And all this, for software that confidently works reliably, 24x7/365 with less than 0.05% downtime per server per year with reasonable quality hardware. Only an idiot would think this is anything less than a very, very good idea.
Re:MSDN? Hello? (Score:5, Insightful)
Ok pop quiz, people. Is the above person a young hip developer, or a douchebag?
Comment removed (Score:4, Insightful)
"no longer the biggest software company?" (Score:4, Insightful)
Is MS losing money ?
"Microsoft reports first YoY revenue slide in company history" ...so I guess that would be a "yes".
http://www.boygeniusreport.com/2009/04/24/microsoft-reports-first-yoy-revenue-slide-in-company-history/ [boygeniusreport.com]
no longer the biggest software company in the world ?
As of close on Tuesday 6 Jul 2010:
Microsoft market cap: 208.75B
Apple market cap:226.24B
http://finance.yahoo.com/q/cq?d=v1&s=MSFT,AAPL [yahoo.com] ...so I'm guessing that one's a "yes", too...
retrenching ?
Well, you got me on this one. I guess if they were actually retrenching, they wouldn't be reporting losses in revenue or be only the second largest software company in the world. So that one's a "no".
Possibly they should get off their butts, and instead of throwing the chair they were sitting on, they should actually retrench.
-- Terry
Allow me to (hopefully) to be the first to say.... (Score:5, Insightful)
Boo-fucking-hoo.
Re:Allow me to (hopefully) to be the first to say. (Score:4, Insightful)
Precisely. Microsoft lost on two counts, both self-imposed, and they are getting what they deserve.
They emphasized crap to lock users in instead of real cutting edge development, which is not fun for developers or users, and which generates crap code, twisted beyond comprehension, byzantine, ugly. IBM had this same problem as a result of their anti-trust shenanigans, and apparently Microsoft chose to repeat history.
Microsoft also emphasized control freakery beyond all reason, in addition to the twiddly feature lockin, what with siccing the BSA on "pirates", horrible copy protection, license verification requiring internet access to run, on and on, making use of their software more and more hassle. The message was clear -- go somewhere else.
People would put up with either of these to some extent, but the combination made them simply not worth the hassle. Crap products which make life difficult are dead products.
All they had to do was stay bleeding edge, drop the lockin featuritis, and compete on quality. They'd have the market sewn up.
Re:Microsoft out of favour with hipster developers (Score:5, Insightful)
This isn't MS whinging, this is some idiot at the NYT whinging.
MS's MO is to indoctrinate people at the business level not the developer level as it's the business people who sign pay cheques. It may appear that MS is having a hard time wooing developers when MS spends all its time and effort wooing MBA's.
This is also why all the innovative work is done in F/OSS. You cant schedule new idea's into a project.
Too narrow (Score:4, Insightful)
The microsoft software stack is designed so that service providers can siphon money off at the point of delivery. Antivirus is a good example. Yeah we sold you an OS but you need this extra thing to make it secure, didn't you know that?
So its a great way to make money if you stay with their targeted solutions. But if you want to do something totally new the benefits of using microsoft aren't really there so developers look elsewhere.
Re:Too narrow (Score:4, Insightful)
I don't get you point ?
how is that worse than Apple's model that actually siphons off 30% of all content and apps you install on your iDevice, and censors what apps and content are allowed, and takes a cut of wireless contracts ?
the issue for MS is that they DON'T make money on content, software and services sold for their machines... but that's also the cause for their success ?
Re:Too narrow (Score:4, Interesting)
As much as I dislike MS, this is a case of "never blame malice for what can adequately be blamed on stupidity".
Microsoft designed a single user OS with no in built security in a time where networks were rare and have been forced to continue on with it by their customer base. All security ended up being tacked on because MS cant afford to kill legacy applications. I really don't think anyone at MS wants Windows to be insecure, it just happened that way and now they have to live with it.
This, the entire article is not news and I think this sums it up nicely. For a long time now the innovative people have used OSS whilst the people who just want to bring product X to market used MS.
Re:Too narrow (Score:5, Funny)
That's just insane. Did you really think about the risk of infecting all your porn files?
Free (Score:3, Informative)
Re:Free (Score:5, Funny)
Most startups prefer to spend money on their core business instead of on Microsoft software...
90% of startups fail.
Buy from Microsoft!
if you know what's good for you
Lure of free software? (Score:5, Funny)
But all my Microsoft software was fr.... uh, nevermind
Re:Lure of free software? (Score:5, Insightful)
Re:Lure of free software? (Score:4, Informative)
Bullshit (Score:4, Interesting)
Microsoft's Bizspark program for startups requires you to fill out a form to get free software. OK, Almost free. At the end of two years, you have to pay them $200. I wouldn't call that "jumping through hoops". I didn't need any double-super secret intros from investors either. I got the info from the Silicon Valley Association of Startup Entrepreneurs - an organization open to anybody.
Re: (Score:3, Insightful)
OK, Almost free. At the end of two years, you have to pay them $200.
Some people (especially startups with no money) would not consider $200 "almost free". In fact, there's no such thing as almost free, it's like being pregnant. It either is or it isn't, and free will always be cooler than not free.
MS got greedy and forgot the reason for their success was developers. They could have given away their developer tools all along. They were making enough money on Windows & Office, but they weren't satisfied with that and kept reaming developers for their tools, which had
Re: (Score:3, Insightful)
C'mon dude. Bizspark is mostly a networking concept. Not a cool-application platform.
This article isn't about VC-level startups, it's about students building the NextSmallThing in their dorm room. For the price of a bank of old servers, someone can build a web app and get a cool company started. MS is never going to deliver the performance/cost ratios of an old fashioned LAMP stack. It's not a business model that competes that way. Plus, that stack is just a gateway anymore - the real fun is in s
Re:Bullshit (Score:4, Interesting)
Re:Bullshit (Score:5, Interesting)
well... I can't believe thats really *all* you have to pay... If you build the next facebook, and in 2 years you need 30k servers... you better believe MS is going to come after you for valid actual fully paid licenses... I have no clue how much that would cost... Licensing a small 30 person law firm costs 30k just for 3 servers and MS office... I can't even begin to fathom how much a datacenter full of web servers and SQL server would cost... well into the hundreds of millions... and you can bet MS will keep coming year after year after year.... They'll want you to upgrade the OS every 3-4 years, upgrade SQL server every 2-3 years... each time taking hundreds of millions of dollars from your pocket... and for what?!? FOSS solved these problems and solved them better 10 years ago...
MS licensing would have killed facebook, twiiter, and google. Probably yahoo, and just about anyone else too. When these businesses started taking off they were still venture funded, and they were adding hundreds if not thousands of machines a month. With that kind of scaling the doubling in cost for MS licensing would have bankrupted all of them before they had a chance to find a business model. No one building to scale on the web would ever choose MS, its far too expensive when you're talking about thousands of nodes.
The only major web company I know of that runs MS is eBay... and besides going public in the .com boom, I have no clue how they managed to afford the doubling of their startup costs that using MS means. Maybe they got some sort of sweetheart deal... but MS is notorious for doing a sweetheart deal to start, only to ruin your life when the rubber actually hits the road, trusting them with your business is foolish. eBay shareholders would probably be really happy if the capex going to MS stayed on eBay's bottom line...
Re:Bullshit (Score:4, Funny)
For my start-up, we just phoned our local MS sales rep and told him we were developing on Linux and were looking to build a interface layer to some MS servers, and what could they do? They sent us a full set of disks and license keys to a bunch of MS server apps, no questions asked.
Ultimately didn't help. Even with that 1st-rate support, it was still easier to just ditch the MS stuff entirely.
..rrrriiipp (Score:4, Interesting)
Never confuse (Score:5, Insightful)
Microsoft's program to seed start-ups with its software for free requires the fledgling companies to meet certain guidelines and jump through hoops to receive software — while its free competitors simply allow anyone to download products off a website with the click of a button.
This assumes that cost is the only factor that start-ups are weighing when determining software. Some of them may legitimately pick open source because it's better or that MS doesn't offer a certain software. For many, they may go to cheaper solutions like OpenOffice instead of MS Office purely on cost. But they may use Apache instead of IIS for performance reasons.
If cost is the only reason, wouldn't it be likely that once these start-ups are established, they may not like having to pay full price and may turn to competitors for cheaper alternatives?
Re:Never confuse (Score:5, Insightful)
Right and wrong (Score:5, Informative)
Well this certainly isn't anywhere Microsoft is going to visit, and as a young, hip developer myself, I'd sure like to point out a good reason as to why they aren't doing so hot with my demographic.
The issue isn't that you aren't "accessing" post secondary students. I learned all about VB, .NET, and I used Visual Studio, and I made some pretty amazing Win32 apps. All in all, my experience with the product was good. VB, once you understand programming theory, is as easy to write as Java or C++, its mostly just a syntax thing. All in all I found Visual Studio easier to layout and work with GUI's than Eclipse was with Java. So, you don't need to worry about that, Microsoft.
But you did hit ONE big nail right on the head.
And then, when people, particularly younger people, wanted to build a start-up, and they were generally under-capitalized, the idea of buying Microsoft software was a really problematic idea for them.
Yes, yes it was a big problem for me. Currently the latest version, with the PRO edition (not even the ultimate edition) is $729 dollars - which is more than most kids with student loan debts can afford. And then you made the "Express" tools which are completely and utterly crippled in that I can't do half the stuff that made visual studio so appealing to use.
As such, when my school taught me how to use the no-cost solutions, you can imagine how much more we prefer to work with them as a hobby, because as young, hip, students we don't have any money to just fling around.
Not to mention that .NET seems to be losing some speed - I don't know if I want to keep writing for it.
Re:Right and wrong (Score:5, Insightful)
As such, when my school taught me how to use the no-cost solutions, you can imagine how much more we prefer to work with them as a hobby, because as young, hip, students we don't have any money to just fling around.
Not to mention that .NET seems to be losing some speed - I don't know if I want to keep writing for it.
As a recent CS grad, I agree 100% that the cost to get up and running for MS is a pretty huge deal.
But another big draw in the FOSS world (for me, at least) is the freedom to write code that isn't locked down to particular technology or other setup. I see Microsoft (and Apple, and a few others) as wanting to get us locked into their way of doing things, completely ignoring the possibility of 'change' that doesn't come from them.
I would much rather give life to some core idea and then see how people with other interests and thoughts can expand and evolve what I started.
I think parent (and GP) has it right... (Score:3, Insightful)
I suspect the 'locking down to technology' is a pretty serious issue, along with the cost of the sophisticated development environment. And, speaking of development environment, the new graduates are going to be very comfortable with the social networking side of the FOSS world. When there is a problem with a tool, or if they need help with an esoteric problem, the help is read
FOSS isn't just price (Score:5, Insightful)
What Microsoft still doesn't seem to understand is that the lure of FOSS goes beyond what's "hip", and also goes beyond the price.
And I love these quotes: "We did not get access to kids as they were going through college" Translation: "We did not infiltrate schools enough to make sure they had no exposure to anything but our stuff".
And: "Microsoft's program to seed start-ups with its software for free requires the fledgling companies to meet certain guidelines and jump through hoops to receive [free/discounted] software" Translation: "We should have worked harder to make it even easier to get people/companies hooked on our proprietary solutions".
Oh well.
Speed (Score:4, Insightful)
Microsoft quite simply is too slow. They build nice tools, but they do so slowly. Far too slowly for the pace of the Internet. If they were an innovative company that might not be a problem, but Microsoft is now chasing at about a 2-4 year disadvantage.
It has nothing to do with "cool". I don't use COBOL not because it isn't "cool". I don't use COBOL because it doesn't have useful hooks into the libraries I need to use on a day to day basis. Same with Microsoft tech.
Its not because its free. (Score:5, Insightful)
Re:Its not because its free. (Score:5, Insightful)
This is the big item for me.
I can still write C code in emacs and compile with the same makefile under gcc if I wanted to. I can still call the same POSIX libraries. I don't have to throw away everything I know and start all over every few years. I have learned new languages, like Python and Java and new APIs because they were pertinent to what I was trying to accomplish.
Microsoft seems to make a big marketing splash on a development toolset or language or API every few years only to throw it away with the "next big thing". For someone who's been programming long enough this gets to be a tiring waste of time.
Re:Its not because its free. (Score:5, Insightful)
Re:Its not because its free. (Score:4, Insightful)
Microsoft seems to make a big marketing splash on a development toolset or language or API every few years only to throw it away with the "next big thing". For someone who's been programming long enough this gets to be a tiring waste of time.
Indeed. They even threw away an entire language, Visual Basic, much to the annoyance of all the companies that had invested millions in it (VB.NET is really not the same language and don't get me started on the auto-conversion tools). With proprietary languages the vendor makes (often sweeping changes) that suit THEIR business plan rather than addressing any pressing features their customers might really need. You can end up having to rewrite things pointlessly without adding any real value to your product. At the same time your competitors who chose to use something open, like Java or (and now QT) are spending that time adding new useful features to their product. They are also able to offer their product across a much larger range of platforms.
Re:Its not because its free. (Score:5, Insightful)
Maybe... but the last 3 startups I've worked for it was 100% the free thing. When you're building web services that are going to scale to thousands of users and millions of transactions, you need hardware... and when each CPU you plop out there costs you $800+ in software licenses, it gets very expensive very fast, and linux is a no brainer.
Why not MS? Let me count the ways... (Score:5, Insightful)
MS has so many problems with FOSS, some of them major.
1. FOSS is free as in beer. And it is eternally free. Software developers, with the possible exception of ($LANGUAGE developers), aren't stupid - there is some IQ floor involved in software development. Even if you give crippleware away, developers know that if they use your stuff it is going to eventually cost them. And if they can get something of near equivalent functionality that is FOSS, they don't have to deal with ever paying the piper. That's more margin for you and yours.
This helps if you are a startup, if you just want to experiment, or if you want to sneak something in at work and not have to ask to spend money. Strange but true - it's orders of magnitude easier to get money from a boss in the form of time to work on something than it is to get authorization to spend equivalent actual dollars on it.
2. FOSS is open source by definition. If you come across some future unanticipated problem, there is potential to hack it until it does if you have the skills.
3. Most FOSS has no vendor lock in (other than stuff like MySQL). Meaning, your development platform can't jerk the rug out from under you by deciding that you are now going to use DAO or ADO, or .NET, or however they've decided to screw you over by obsoleting the work you've done. No vendor lock-in also means they can't dangle you upside down and see how much money falls out.
4. FOSS is often good, and keeps getting better because people keep contributing to it. Once you have used a bit of FOSS, you are often astounded by the quality and that encourages you to use more of it. And that experience leads a person to totally dispense with the "free = crap" heuristic. It's like drinking water from some unspoiled rainforest stream - it is both free and better than the commercial alternative. After a while your own heuristic becomes - "1. Search the FOSS world first. 2. If the best of what you find works well, stop looking."
5. FOSS has a passionate community. If you want help and can google, there is usually a good community around whatever FOSS it is you are interested in. In a genuine community, there is rarely a conflict between the creator of the software and the interests of the community. With a commercial solution, there is always that conflict - users want to pay less money, vendors need money to live.
6. FOSS is hassle free - you want to try it or use it, you just download it. You still have to learn how to use it, but that is no different from a proprietary solution.
7. FOSS OS (and non-MS OS) are renowned for being more stable, secure, powerful and easier to install than Windows once you know how. These attributes suit developers. Running FOSS on top of a FOSS OS is usually easier to install and use, better integrated, and more powerful. There is a virtuous circle going on there.
8. FOSS is trustworthy - you can see the code yourself, and fork it if you want. You may never do this but you know you can, and so do other people.
Why else does MS have a problem? Because university students WILL be exposed to some FOSS software if they do anything related to software. They will use commercial stuff too, but very likely they will learn many of the lessons above. At that point they've already swallowed the red pill. Even if they don't get exposure there their guru friends probably use FOSS.
I'll explain oppressive development environment (Score:5, Insightful)
If you want to write a C++ app in Visual Studio, the location of the additional directories for #includes is at the top of the C++ options. In the linker, the same option is somewhere towards the bottom. Why? Sounds small, but I'm already under the gun to get the code written and working, not futzing around with build settings.
Or how about, starting in either VS2005 or 2008 (can't remember which one), I opened up a project written in VC++6 and freaked when I suddenly started seeing hundred and hundreds of warnings, telling me that functions like strncat() (strncat!) were "unsafe" and I should use something like _strnscat or something like that, which supposedly was "more" safe at the cost of being totally Microsoft-specific. The problem was that you couldn't turn off these warnings in the general options, only per-project, which meant that I had to make stupid changes to stdafx.h just to turn off the warnings so that other developers wouldn't freak as well.
How about the auto-hide windows that seem to randomly decide to suddenly be pinned or to suddenly appear during unrelated actions?
When working with C#, the compiler and editor will give you a red squiggle under code it can't compile, but gives you know way to know where or how many places in the file they are (contrast: Eclipse puts a red box on the side for every line that is in error, which makes it very easy to find them).
Look, I'm a fan of Intellisense and all (when running on a powerful enough machine), but while VS2010 is "faster" than previous versions (almost as fast as VC++6), it purports to be a "rich" IDE that gets surprisingly sparse in places, and downright weird in others.
Visual Studio reminds me of guys who put racing stripes and thin tires and big mufflers on their Honda Civics and somehow convince themselves they've got a "race car".
Re:I'll explain oppressive development environment (Score:5, Informative)
First of all, thank you. It's always good to hear some criticism on definite and specific issues, rather than the generic "M$ sucks".
(I am a VS developer)
Or how about, starting in either VS2005 or 2008 (can't remember which one), I opened up a project written in VC++6 and freaked when I suddenly started seeing hundred and hundreds of warnings, telling me that functions like strncat() (strncat!) were "unsafe" and I should use something like _strnscat or something like that, which supposedly was "more" safe at the cost of being totally Microsoft-specific.
It was added in VS2005, but it's not quite [open-std.org] MS-specific. OpenWatcom also provides [openwatcom.org] it out of the box, and there's a cross-platform FOSS implementation [sourceforge.net] available now.
The reason why the text says that they are unsafe is because, frankly, they are - as a result of several security studies, they account for a very significant proportion of known buffer overrun vulnerabilities. Of course, it's perfectly possible to use them in a safe way, but surprisingly many people actually do... but this take has been fairly controversial [informit.com], anyway, I won't deny that.
It should also be noted that this isn't actually the default for the compiler as such - if you directly do "cl.exe foo.cpp", you won't get any warnings for strcpy. It only pops up if you raise the warning level to /W3 or higher, which is what IDE does by default for newly created C++ projects. The text of the warning also clearly states what to do to get rid of it:
warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use CRT_SECURE_NO_WARNINGS. See online help for details.
When you refer to it being per-project, do you imply that it was inconvenient to add the define to all the numerous projects you've had in the solution?
How about the auto-hide windows that seem to randomly decide to suddenly be pinned or to suddenly appear during unrelated actions?
Tool windows in VS have different and separate settings depending on which mode you're in - aside from the default one which you get on normal VS start and/or project open, debugging is a separate mode, and opening VS with a single file (aka "simple editing") is yet another. This is somewhat similar to Eclipse perspectives.
If you pinned a toolwindow in one of those modes, it will not be pinned in other modes. The idea is that you generally want different toolwindow configurations depending on activity - e.g. you might want Breakpoints window to be set to auto-hide during normal editing, but pinned in debugging. So you will, at most, need to pin the window in all modes in which you've made it visible, and most likely, you'll be dealing with just the default mode and the debugging one.
If you experience random pinning/unpinning that cannot be explained by the above, then please describe the scenario under which it happens - which toolwindow, what were you doing when it got unpinned, etc. Better yet, do it in a bug tracker [microsoft.com].
When working with C#, the compiler and editor will give you a red squiggle under code it can't compile, but gives you know way to know where or how many places in the file they are
If you open the Error tool window (which will happen after the first build, but you can do it manually), it will list all IntelliSense errors just as if they were compiler errors, so you can see the error descriptions, and double-click to jump to location. By the way, this (as well as squiggles themselves) also works for C++ in VS2010.
If you want margin markers as in Eclipse, you can
Fine with me... (Score:4, Insightful)
I work in a mixed shop where most of the other devs are Ruby/Rails guys...they all see me as a "sellout" for using
Re:Fine with me... (Score:4, Insightful)
Really? "but at least Ballmer doesn't tell me I can't compile my code without forking him $100/yr."
http://store.microsoft.com/microsoft/Visual-Studio-2010-Professional-Upgrade/product/AA16E99E?wt.mc_id=vssitebuy
No, he tells you you can't compile your code without forking him [sic] $550 in the first year and requiring an additional $500 for upgrades every 2 or 3 years. That's way cheaper!
"and he doesn't take 30% percent of whatever I might make selling my code."
But he also don't provide a free server to host your code and free testing before it is provided to users and no credit card fees.
Apple isn't perfect, but don't tell us Microsoft is much if any better.
Re:Fine with me... (Score:5, Informative)
To be fair, the .NET SDK itself is 100% free, as are the Express editions: http://www.microsoft.com/express/Downloads/ [microsoft.com]
They also provide XNA for free, and it looks like Windows Phone 7 tools will be free as well.
It's not like one *has* to pay for Microsoft's developer stack. They are just charging you for the premium features of their IDE.
Re: (Score:3, Insightful)
Um, dude. You don't have to fork over anything to compile or run in an emulator. You do have to pay $100/year to run your software on the device and to ship it through the app store. And you can bet Microsoft will be charging for that, too. They have to make money somehow.
Well frankly (Score:4, Insightful)
Any "developer" who is a fanboy and will code only in their favoured language isn't worthy of the title of developer. They are a hack, or a code monkey, not a developer. A real developer will learn to understand how a computer works, at a fundamental level, and look at programming languages as different ways to solve a problem. They'll understand that there is not a best language because there is not one kind of problem. Some are better for certain things.
Also a good developer will probably learn how to develop for multiple platforms. After all while Linux is used a whole lot in the web world, MS rules on the desktop so it would be to one's advantage to be able to code on both platforms. Further more, it would be to their advantage to do so in the tools that generate the best programs. For Windows, that is Visual Studio, for Linux it is (obviously) not.
So no, you aren't a sellout. I would say that if you focus only on .NET development you are being a bit too narrow, but learning it is a good thing. There is a lot of work for .NET devs. Companies want shiny GUIs for Windows things and .NET is a good way to deliver. The other "developers" will find that whining to the company and claiming they shouldn't do that won't work. Most companies are accustomed to telling you what you are going to do, not the other way around.
I have a friend who's a contract developer and he uses languages of all sorts. If you want something done in Windows, he defaults to .NET (using C# usually) since that works well on that platform. In Linux, it is PERL quite often since nearly every Linux distro ships with it. However if you wanted something speed critical, it'd probably be C++. He sees languages as tools to solve problems, and tries to choose the right one for the job. That doesn't mean he uses any and every language, of course, he's got ones he prefers, just that he has a bag with more than one tool in it and he tries to select the correct one.
Personally I have little to no respect from code hacks that want to trumpet The One True Language as the one they use. That think is solves EVERY problem, that won't learn anything else. What it tells me is that they don't really understand programming. They've learned the syntax and grammar of a language without understanding the underpinnings. That is not a good situation and leads to bad code, shitty apps, and the kind of person who will say "That can't be done," to anything they don't understand how to do.
Re: (Score:3, Funny)
You should check out MonoTouch and Unity. Apparently, you're already close to being an iPhone dev.
I totally hear you and feel your pain. I'm a .NET dev, and I am a near pariah for even suggesting that it's a decent solution. I nearly got my head taken off for suggesting to other Linux-based devs that perhaps we can do some tools in Mono.
And I get to sit around and watch them spend countless hours trying to write a stable sockets server, or write string.Split, or figuring out how to encode in UTF-8.
I'm with
Re:Fine with me... (Score:4, Informative)
Ballmer! Ballmer! Ballmer! (Score:5, Insightful)
Erm do any of you work in the software business? (Score:3, Informative)
The amount of .net developer jobs out there is insane. Almost EVERYTHING is now .net, iphone development is kinda "hip" but it's not exactly a money maker at this point for anyone. I"m still stuck on old c/c++ development but that brings in the biggest and longest software contracts compared to the 3 week "do this iphone app for me" jobs.
Cathdral For The Bizarre (Score:4, Insightful)
That language! Not "college students were not broadly exposed to our products", or "our outreach efforts fell short", bur rather "...get access to kids...". MS has always been a cathedral, but sheesh, now they're even sounding like priests.
It is not me , it is you (Score:4, Insightful)
Dear Microsoft,
Today you sit and rue the face that you have lost the developer base and to
feel better about it, you label them as 'young and hip'. Here is some news:
Very few developers actually enjoy writing for windows. People have been
writing code on microsoft platforms since there are a huge number of people
who use microsoft products and ignoring the windows platform amounts to
ignoring a huge customer base which the developer could not afford to do.
We, as developers never really enjoyed developing for windows -- it is just
that we did not have a choice.
Today however, the scene has been changing.
1. A large number of GUI-based applications have moved into the browser.
2. Windows servers are not really used in large technology companies
They still are a dominant force in small to medium company's IT
infrastructures. That is all exchange and sharepoint. Any sane startup will
not consider windows to host their servers.
3. Developers now are used to and are aware of desktop platforms which
work well and also are very good programming platforms. Macs have a robust
BSD backbone and Linux is well, Linux. So everybody now have platforms
on which they can hack code and also play their movies.
4. Java provides for a development environment which can make pretty windows
without having to use developer studio.
So you have a scenario where where Microsoft is not the only viable
desktop/laptop OS. Also, it is a terrible programming environment. So any
self-respecting developer will not run windows on his personal machine and
as a result will want to push it out of his workplace too. The process
started a long time back. You guys are feeling it now.
So we come to the next question: Why do we hate writing code for windows ?
I will not cite the BSOD. The "windows crashes" and "windows is not stable"
are old arguments.
Windows is much much more stable than it used to be. In all honesty it has
been ages since I last saw a BSOD. We hate writing code for the windows
platform is because it sucks as a development platform.
1. The design is not based on any implementation of UNIX. That makes any CS
student uncomfortable. I am not saying that that the developer is
uncomfortable because windows has a bad programming interface (which btw it
is ). I am saying that it makes him uncomfortable because he cannot
recognize patterns he used to learn his computer science. He cannot refer to
the kernel source when he runs into a thorny problem, he cannot go online to
get a real educated answer to his problems. It is unfamiliar and since he is
not used to the paradigm. The developer finds it inelegant.
2. The second point is that it IS a bad programming interface. Till very
recently did not have a scripting interface worth its salt, has an extremely
convoluted device driver infrastructure and has that terrible thing called
the registry.
3. The development environment is not free as in beer and as in speech. It
is a closed heavily controlled environment in which the developer has no say
and is an interface which changes very frequently. You can get away with
changing rapidly and being open ( which linux does ) but you cannot get away
by being closed and also changing every 2 years. It drives the developer
mad.
4. Emacs and Vim do not integrate well with visual studio :)
huh? (Score:5, Interesting)
Isn't it more a problem that Microsoft isn't competitive in the markets where "young, hip developers" are doing things? They don't have a competitive smartphone OS right now, and likely won't anytime soon. That's where the exciting development is happening. So they're not a player.
If you're a developer looking to do smartphone apps, are you really going to target Windows Mobile? If so, which version? The obsolete one, or the one that isn't out yet? It's not a serious option at this point. So to say they lost developers for some reason is kind of silly, since it's not a problem with their developer outreach or their tools. They haven't given people something to develop FOR.
I may not be hip.. (Score:5, Insightful)
Here's a big DUH... (Score:4, Interesting)
I work at a 100% Linux company, but was thrust into the world of MSFT for one day today with some business partners. The one partner was busy trying to deal with a dead Exchange server; he'll be driving straight to the customer site and rebuilding it from scratch... a long night ahead.
The other partner was also having Exchange server hiccups. And one person's laptop got in a snit and refused to work. A reboot elicited about a dozen scary warnings about missing DLLs until finally it booted to the point where it could limp along.
And I realized that our on-the-cheap FOSS infrastructure is not only way cheaper than MSFT, but vastly more stable and reliable. I'd really hate to be stuck in the Windows world for more than a day; the nimble FOSS users are going to be the death knell for uncompetitive companies still stuck on MSFT.
New Meme: Rage Quitting .NET (Score:4, Insightful)
They never really wanted them (Score:5, Interesting)
MS Tool Suites Have Always Sucked (Score:5, Insightful)
______
Those of you who know me in even the most casual way may be shocked to hear me say: I want to do some programming in Windows.
One would think that one would simply go out and download a compiler and an SDK (a bit fat wad of compiler headers, link libraries, and documentation) -- or perhaps buy a CD-ROM containing same -- and you'd be completely set to develop any kind of Windows application.
You'd be wrong.
What's available is a hopelessly confusing mashup of tools to develop native applications, VisualBASIC applications, .NET virtual machine applications, Web applications (for IIS only, natch), database-driven applications and, if you're very nice and pay lots of money, Microsoft Office plugins. And, just to make it hard, all these tools are hidden underneath a cutesy Integrated Development Environment which passively-aggressively makes it as cumbersome as possible to figure out what's actually going on under the hood -- you know, the sorts of things a professional programmer would want to know.
Okay, fine, just give me the tools and docs to develop native C/C++ apps. "Oh, no no no," says Microsoft, twirling its moustache, "You have to pick one of our product packages." Packages? "Oh, yes, there's Visual Studio Express, Visual Studio Standard, Visual Studio Professional, Visual Studio Team System, and Visual Studio Grand Marquess with Truffles and Cherries."
After looking at the six-dimensional bullet chart of features, I think that Visual Studio Express may get the job done, since it comes with a C/C++ compiler and will compile native apps. "Quite so," says Microsoft whilst placing a postage stamp on a foreclosure notice, "provided you're only writing console apps -- you know, programs that run in a command window. If you want to develop full Windows GUI apps, then you'll need additional libraries which aren't necessarily included with Visual Studio Express."
Ah, so VS Express will only let me develop "toy" applications and, if I want to do anything more advanced, I should download and install the complete Windows SDK which, amazingly, is free. "Well, you could do that," says Microsoft after tying Nell to the sawmill. "But the SDK doesn't really integrate very well with the IDE. And there's still some link libraries which only ship with Visual Studio Standard or better."
Fine. I'll look at buying Visual Studio Standard. And then maybe I can get to improving this device driver. "Device driver!?" says Microsoft, blotting the blood spatters off its hat. "Heavens, no, that's not included with anything. You need to download and install the Driver Development Kit for that. And you may or may not need the DDK for each version of Windows you intend to support. Not to worry, however; they're all free downloads..."
*fume* And people wonder why I've avoided this clusterfuck for the last 25 years. Ever since the Visual Studio 6 days, I've been smacked in the face with this braindamage every time I've tried doing the slightest exploration of Windows development.
So: Can anyone with modest Windows development experience tell me what Visual Studio flavor to get and which addons to download if I want to:
No low-hanging fruit on the desktop (Score:4, Insightful)
There are lots of cool things to do as desktop applications. But the easy and useful ones have been done.
Want to write a better word processor? Users will expect it to be at least as good as OpenOffice even if you give it away. If you want to charge for it, it needs to be better than Word.
How about a 3D animation program? Big job. Yours has to be at least as good as Blender, and if you want to sell it, up there with Maya.
CAD? You're competing with SolidWorks, Inventor, and ProEngineer. Yes, there are small startups in CAD; check out OpenMind [openmind-tech.com], makers of HyperMill [youtube.com]. That's how good a new desktop program has to do to make it today.
Nobody is going to buy your IRC chat client as a desktop app.
Also ... (Score:4, Funny)
Re:Misses the point (Score:5, Insightful)
Frankly I think smart phones, tablet computing and the like are going to substantially shake up the landscape. It certainly is making me consider mine, at least as far as web development and the like. The tools that better allow me to write portable apps that are not chained to an operating system, screen type and the like are going to become much more attractive. This will extend, inevitably, towards native apps. Microsoft may have controlled the desktop, but in the newer platforms coming out, it is woefully behind the times.
Re:Misses the point (Score:4, Informative)
Android SDK is built on GNU, Eclipse and other open source software and is fully open source.
It's also the fastest growing mobile platform and what all the hip groovy cats are into.
Not exactly a walled garden.
Re:Misses the point (Score:4, Insightful)
"Flame away, those who are so inclined, but I have never heard anyone say they would prefer to program in Objective-C over Java, C++, Python, or the .Net languages."
I'm one who prefers Objective-C to Java, C++, Python, or .Net languages.
Good lord, learning Objective-C is easy. Learning any language is easy. It's the frameworks and libraries and idioms that are the hard part. A programmer who resists learning a language as easy as Objective-C is like a child who refuses to try any food other than their staple chicken nuggets and spaghettios.
Re:All the cool kids just want one thing (Score:5, Insightful)
Re:All the cool kids just want one thing (Score:4, Insightful)
> The problem is that to unseat the iPod, it had to be a fantastic player.
No. To unseat the iPod it had to be perceived as a fantastically cool player. How well it actually worked was largely irrelevant.
Re: (Score:3, Insightful)
We did not get access to kids as they were going through college
Anybody else find that just a LITTLE creepy? "Getting access" sounds like something a Catholic priest and/or a cult leader would say. Perhaps employing clueless marketroids like Bob might have something to do with the problem as well.
Not really. Its the reason why my high school had apple ][s and my college had a facom. Manufacturers spend their marketing budget on subsidized sales to schools, so that students want to work on their platform.
I still wound up working on DEC though.
Re:Bob Muglia == creepy (Score:5, Insightful)
The learning curve is nearly non-existent now with GUIs.
Re: (Score:3, Insightful)
Creepy? No
I was going post a comment with that quote as the context.
I'm wondering what exactly they mean though. My children went through high school and went through or are going through college using Microsoft products -- but it's Word mainly and some Excel.
I wonder how they could have failed to 'access [the] "kids,"' except perhaps by deliberately ignoring them.
I develop for Unix/Linux and most of the recent college grads I encounter certainly don't know Unix/Linux! So what do they use in college then? O
Bzzz. Wrong. (Score:3, Informative)
http://www.oxforddictionaries.com/page/grammartiplessorfewer [oxforddictionaries.com]
Less is also used with numbers when they are on their own and with expressions of measurement or time, e.g.:
His weight fell from 18 stone to less than 12.
Their marriage lasted less than two years.
Heath Square is less than four miles away from Dublin city centre
And since you're in marketing: http://www.youtube.com/watch?v=gDW_Hj2K0wo [youtube.com]
Re:Yeah...wrong (Score:4, Insightful)
If you are business or institution, whose focus and skillset isn't primarily technical, that needs to roll out a whole bunch of desktops for word processing and assorted off-the-shelf applications, along with email and central logins and stuff, Microsoft can make you a relatively compelling offer. There will be some annoying issues of various sorts; but the off-the-shelf software will run on Windows clients(and the boxes will be cheap because HP and dell are always cutting each other's throats), Windows admins are fairly common and comparatively inexpensive, and things like Exchange and AD make it(comparatively) trivial to get a bunch of people running more or less homogenous desktop setttings, logging in on different machines, and scheduling boring meetings with each other.
If, on the other hand, you are some tiny techy startup, none of that is nearly as relevant or interesting, or worth the money.