Why Visual Studio should be part of Windows
Programming used to be a natural part of having a computer at home. Starting up your C64 would show you a prompt that would allow you to start typing in the first lines of your next program straight away. And it was easy to get started: the standard Commodore manual that came with the computer explained the BASIC syntax, complete with examples of how to program with sprites. And if you bought a typical C64 magazine it would always come with a bunch of listings that you could type in to get some cool working program. Just having to type it in confronted you with the concepts of programming. The next step, actually creating some functionality yourself was as close as modifying some variable in the listing: you somehow figured out what it was for and predicted the result of changing it in the source code.
However basic(no pun intended) this was, it gave you an incredible insight into the concepts of software and programming. It also provided you with tools that would give you infinitely more power to express yourself than any type of customizable weblog, instant messaging icon or skinnable in-game character could ever hope to compete with. Instead of a canvas with a “put your creativity here”-sign next to it, an entire world opened up where the only constraints were your imagination.
All of this is still possible and in fact it’s still happening today: the old demo scene I used to be a part of may be slowly diminishing, but these days a lot of creative people are working on all kinds of open source projects or building the next cool modification for a game. My only worry is that a lot of potential will stay untapped because it’s getting less and less likely that kids find out how easy it is to get into this world. Yesterday I had to tell a co-worker (who’s a great programmer) that he could download an Express Edition of Visual Studio and use it at home for free. If he didn’t come across it, how can we expect more casual computer users and kids to find it?
The solution is simple: bundle one or more Express Editions of Visual Studio with Windows Vista. And don’t hide it somewhere deep between the FTP-server and other optional components. Instead, install it by default and put a “create a new application”-icon on each desktop. Add a whole bunch of walkthroughs, example projects, wizards and web-based community resources and let the kids start building applications for themselves again. And not just the standard manage my cd-collection-applications (which are great too by the way) but also simple skeletons for writing your own window manager or even file system. Now that we have .NET it’s fairly trivial to sandbox these things in such a way that messing it up won’t take down the entire operating system.
I honestly can’t think of a reason why this would be a bad idea for Microsoft. Part of the appeal of Linux is that you can easily develop and modify stuff. Why not keep the next generation of creative developers by providing them with that opportunity on Windows?
Why would this be a bad idea?
* Antitrust cases in the EU
* Putting an icon 5% of your users care about on an otherwise empty desktop
* Letting programmers with virtually no skills program at the window manager or filesystem level.. Are you kidding?
If your friend is unable to find a free version of Visual Studio, that means he never was interested enough to look. Not everyone who drives a car, wants to be a mechanic — to the contrary.
So nice try.. But no.
nstlgc: Antitrust cases? Windows is practically the only OS that *doesn’t* come with developer tools out-of-the-box. It’s not like I’m proposing they integrate it in Windows like they did with IE, just that they bundle something that’s otherwise free anyway. Won’t keep an OEM from removing it and installing something else if they see value in that.
And the 5% is a case of reverse logic: the reason people don’t care about programming is because it hasn’t been part of using a computer (at home) for most Windows users of the past ten years. I’m proposing this to *prevent* this from happening to the next generation as well.
As far as Window Managers or filesystems go: sure, a lot of people won’t figure it out, that’s what happened on the C64 too. But 0.01% of all future Vista users is still quite a lot. 0.1% would be an incredible amount of people. And .NET can be a nice sandboxed environment, so what’s the harm?
@Jeroen,
Yes, antitrust case. Check the EU reaction to Windows Media Player and name me a single general puprose OS without a media player built in.
About the rest, while I would like it, I just don’t see it happening. I am a developer, and I give up on an application in a couple of minutes if I can’t get where I want quickly enough. A user has nothing to do with an IDE.
Beyond that, thanks, but I don’t want any Joe User writing mission critical code that I will have to maintain afterward.
Last, File System ? Windows Manager? You _know_ the amount of time that this takes, that will not happen, period.
Some sort of tool to write a simple graphically appealling application might encourage children and enthusiastic home users to learn more, especially if the application can be shared with friends.
This should probably be more like (a simplified version of) Flash than visual studio, however, targetted at producing animated applications rather than enterprise database applications.
Ayende: the point is that the developers of TODAY often started out hacking around in their spare time with tools they found on their own or daddy’s computer. THAT got them hooked / excited and they started to learn, wanted to know more, eventually found it so interesting they took a CS course (or took a job as a trainee somewhere).
However today, a lot of the kids aren’t confronted with these tools anymore, they’re more using the system passively, not actively.
I think the WMA EU case is completely irrelevant for this case: it’s not a way to make the media tied to one company. It’s about giving an environment to write code.
In Vista, .NET is pre-installed. THis means there’s already a compiler on the system for C#, VB.NET and C++. This also means that all that it takes is an editor and some wizards. Again, not to get more pro’s soon, but to get more people excited about writing code, which eventually lead to more professionals in say, 5 years.
Richard: You could be right, but on the other hand, the fact that the C64 came with a BASIC interpreter that couldn’t tell you much more than “syntax error” didn’t stop people from figuring it out… As long as there’s a community around it and some ways to get started easily.
@Richard Jonas: Check KPL (http://www.kidsprogramminglanguage.com/): it is a nice, VS.NET looking development environment for kids (and their happy parents ;-).
@All: -1 on VS.NET in Windows for obvious reasons of anti-trust.
But +1 on having an official MS-controlled repository of free add-ons (a la Ubuntu), from where you could one-click install Powertoys, IDEs, etc…
This would go around anti-trust, would not make the installation heavier but would simplify the life of many.
Just go download it for free what more could you want.
It’s already bloated.
“It’s got cool apps. Like what? well, a calculator. oh”
Just thinking of the Mac ad…
maybe instead of an express language how about KPL?
So are we saying that my Mum who is a home maker, my Dad a Engineer who needs many Computer softwares (AutoCAD, ProCon, FAD…), my sister SAP person and my Grand father who is a HOTMAIL person needs Visual Studio?
It is probably a nice idea, but i guess not all computer users are programmers. Some oldies have just one email address, and guess what its Office email address. I was doing BASIC, pascal in old 80s, but not all my classmates did that? They played games on computers. I would think it will be Ms Office, then Visual Studio
With Regards
=(:*
Abishek Bellamkonda
http://abibaby.wordpress.com
I think this is a great idea. Who cares that only a small percentage of people will use it. I remember starting out on a Dick Smith VZ20 (in Australia, don’t know the equivalent elsewhere) It had 4kb of RAM and came with a small BASIC interpreter. Most people used it for games, but the thrill of getting a machine to do my bidding was intoxicating.
I think VB.NET would be the way to go. I know that most people prefer C#, but VB has an easier to read syntax and language, in my view, for most novices.
And you would think that, since they give away express anyway, it woul be a good marketing strategy for Microsoft.
I code C# all the time using the SDK. Just like I coded the C64! I wasn’t aware of an Express edition of VS, but I’m not sure why I need it. I’ve built a business without your preferred editor. And I think people learn better coding when they start with simple tools. I learned 6510 ML using a monitor. When I found the assembler, I was blown away! ;)
[…] After writing a post proposing the inclusion of VS Express in Windows Vista it seems there has been a large amount of talk on the subject. Which is good, because at least everybody seems to agree that it’s something worth discussing (well okay, maybe not everybody agrees). Last week Daniel Fernandez responded on his weblog with a list of reasons why it’s not going to happen: […]
Well, I think it is ok to have all Visual Studio Express Edition packages bundled with Windows Vista OS but when not install as default because there are a lot of users who are not developers, having this option to install VS Express and even Sql Express for Developers when they install the Vista OS is great.
I think that every Windows version should include a basic IIS. Developers who realize that their OS does not include a web server will move over to WAMP instead of ASP.NET. A lack of ISS bundle will cost windows Web Sever sales.
There’s a big difference between the demo scene of old and modern programming: the Internet.
I got my start coding Basic on an Amstrad CPC. I wouldn’t have been able to do this if it wasn’t built into the O/S. I probably would have remained oblivious to the whole concept of programming had it not been at my fingertips.
These days information is infinitely more accessible. It is simple for kids to find out about programming because it is taught in primary school IT classes. From there they have the Internet and a wealth of information and downloads.
Want VS Express? Download it. Don’t bloat my install even further when I’m just going to install the enterprise version anyway. Unless, of course, you can turn it off during the install. Then I don’t care so much.
Though it seems this topic is nearly two months dead, I whole-heartedly agree that it should be included.
The only reason that I am engineering software today, and having fun doing it, was because of my Dad’s “Learn Programming Today with Turbo Pascal” book/compiler/video package I found in my attic. I had absolutely no idea what I was doing, but I saw a “Breakout”-like game on the back and I wanted to make it.
Soon, I was changing variables to print out my name instead of “Hello World”. Later, I made a juke box out of the internal speaker on my old Dell that used DOS. I even made a program as a Father’s Day present (how much he appreciated it then, I can only guess, haha).
Point being, the framework is already on the OS anyways. Why not just help people find out that it’s there, what it is, and how to use it? The issue, imho, has become far too complicated. People here are listing moot points, and listing points that further develop my sour opinion of a close-source environment. You would rather avoid (possible [maybe not even likely]) anti-trust issues than open a child’s imagination and possibly create the next generation of developers? I think that many of these comments that are against the idea are coming from those who did _not_ have this opportunity when they were growing up.
So it probably won’t be included despite some of our outcries. But those who are against it, in my opinion, are forcing the next generation into a nice, controlled box of an environment. Instead of realizing how great programming is at a young age, they’ll either a) stumble onto it accidentally on the net, or b) see that it’s a viable career in school and take the courses. Personally, I’d rather someone who has a passion for programming and grew up doing it working for me than someone that got into it because they would be financially stable.