Microsoft Out of Favor With Young, Hip Developers
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.)
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.
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.
Mod me down, my New Earth Global Warmingist friends!
To be fair, the .NET SDK itself is 100% free, as are the Express editions: http://www.microsoft.com/express/Downloads/
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.
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 MS-specific. OpenWatcom also provides it out of the box, and there's a cross-platform FOSS implementation 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, 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.
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
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.