“Microsoft is pushing Visual Basic 2005 Express as the best language for hobbyists and novices, and are offering it free of charge from the Microsoft Visual Basic Express website. Since the price is right, and I fall into the hobbyist category, I decided to give it a try. This review is intended for amateur programmers, students and hobbyists who are interested in programming their computers.”
Hobbyist’s Review: Visual Basic 2005 Express
65 Comments
Don’t use notepad. ‘
‘ does not belong in code.
Besides, there’s no sense programming without syntax hilighting in 2006; unless you just really abhor syntax hilighting.
NotParker,
I have voted your post down for a very simple reason:
I find your repetitive use of the word cult to be offensive AND you are posting incorrect information out of ignorance or on purpose.
There are no NET languages! There is only ONE NET language. It even has a name, a nice one, too. It is called Common Intermediate Language, or shortly CIL. This language is used by CLR (common language runtime) to produce a machine code in a pretty similar way to JVM. So what is the difference between NET and jvm? None really, except that to facilitate a wider adoption by developers MS has introduced that additional step of compiling from <insert a programming language here> to CIL, thus increasing a potential userbase.
Edited 2006-11-22 00:17
This sure looks better than VB .Net 2003 and since my school has to teach .Net (God forbid they might teach something better) I use VB Express which gets the job done.
Another is Lua; very easy to learn, free, cross-platform, embeddable in C, easily call Lua or C libraries, used in several popular games, …
Wikipedia summary: Lua Programming Language
http://en.wikipedia.org/wiki/Lua_%28programming_language%29
Book: Programming in Lua (Second Edition; AKA PiL2)
http://www.amazon.com/Programming-Lua-Second-Roberto-Ierusalimschy/…
10.times { print “Quit bitching, please.” }
I’m no VisualStudio fan, let alone Microsoft fan, but I must admit that the whole Express series is really interesting if you’re interested in Windows programming. Hell, they’re giving you the toolchain, the IDE and you can download freely both the DirectX SDK and the Platform SDK. Basically, they’re giving you everything you may need for pretty much every project you may happen to face (That is, if you really feel like reading a dozen EULAs just to make sure they’re not f*****g you up, but that’s a completely different matter).
“Locking people to their platform”
No shit! Microsoft encouraging indie developers to write software for their OS? Trying to make the next coder generation feel comfortable with Windows programming? Oh, the horror! I’ll tell you all a secret: Windows is a product… and Microsoft wants to sell it.
Don’t agree with their policies? Don’t like their tools? Don’t use their products, and you’ll be fine.
Edit: Although I pretty much disagree with the author, I must admit that he makes some valid points that might be of help for an indie coder. That is, if you really like BASIC (I don’t), and you think taht you won’t feel overwhelmed by all that .Net accesory code (like me).
Edited 2006-11-21 02:36
I think Euphoria is a good hobbiest language to learn.
Version 3.0 was just released and now under a Public Domain-style license. It was a fully closed-source language for the last 13 years.
I played with Euphoria briefly, just enough to hack the ships in that space game to make them way bigger and easier to shoot haha. It was a PASCAL offshoot wasn’t it? I’m not a “real” programmer, but VB3 seems the quickest way to do something. Had I gotten my hands on it in ’98 I would never have devoloped the popular anti-microsoft personality. VB5 irritates the crap out of me though. I keep hoping something truly sensible for the weekend hobbyist will come up, but year after year it never does. Even the VB2005 link featured here has no conspicuous download link. Computer people just can’t resist being difficult I guess.
-
2006-11-21 10:21 amalcibiades
I keep hoping something truly sensible for the weekend hobbyist will come up…
__________________________
Have you looked at Revolution? Not free, but quite powerful and easy to use and cross platform, and a wonderfully helpful forum/list. You can get a trial and there are a couple of versions, though the cheap one doesn’t come in a linux flavor. The cheap one doesn’t generate standalones either, you need a player if distributing it.
Revolution is probably more closely related to Hypercard than PythonCard is. Good tutorials. Quite a few add-ons, some free, for managing projects.
Edited 2006-11-21 10:25
Unlike many of you, I am a hobbyist coder. I started learning Python about 5 months ago and I have to tell you that I succeeded to learn to code using it where I had failed using other languages in the past (including Euphoria). After just the first month, I wanted to do some GUI programming so I installed wxPython and the Boa IDE.
This all worked great and I was developing GUI programs rapidly. The big balloon pop was when I decided to use py3exe to package a program to “share” it with others. That is when I found out that the smallest single exe wxPython program you can create comes in at around 4 megabytes… after UPX compression!
Feeling a little disappointed, I installed the Visual Basic 2005 Express edition and started using that for a short time. While it was easier to understand with my previously acquired knowledge learning Python basics, I found VB to be a lot less “fun”.
I have since returned to Python but now I use the Win32 (in ActiveState’s Python) to do GUI programming which gets an exe down to a more reasonable 1.8 megabytes or so (UPX’ed). Coding GUI’s with the Win32 libs is more tedious, but I comfort myself with the fact that I am learning Win32 basics that I can probably transfer to other languages if I learn them in the future.
Still, at the risk of being flamed for blasphemy, if MS were to make a VS Python IDE, I would snatch it up in a heartbeat, even if it meant paying for it!
VB is fine, I guess, I just find Python more understandable and more fun. Perhaps I am not typical tho…
-
2006-11-21 7:22 pmPlatformAgnostic
MS does have a set of python ide extensions for VS. They’re rudimentary, but they’re part of the samples in the Visual Studio SDK. It’s part of their IronPython project.
Unfortunately, I think it only works with the pro version of VS. I’m not sure though, so I recommend you try it out with express first.
You can slap a marketing label and call it “Enterprise” but that doesn’t make it so.
You need checked exceptions for a start.
Secondly, you need to hire professionals instead of hacks. i.e. the Exchange screwup of Daylight savings time: Not the 4th sunday of the month, but, the Last Sunday of the month.
For “Enterprise” the code needs to be tested and verified. Possibly with a package like NUnit?
But, “Enterprise” quality costs money, and that’s not MS’s business model. So, we the users, get screwed.
I thought that’s what .NET was for.
Microsoft removed the .NET name from VS with the 2005 edition but it still uses the .NET framework.
.NET is not for hobbyists. Python and Ruby are easier languages to learn for a student or hobbyist.
Sorry can’t resist but if Ruby is easier for a hobbyist then perhaps schools should replace Logo with Perl.
I can’t think of any respectable school that teaches Logo. Schools should teach studends things that are usefull. Teaching python (without object orientation) is a better aproach. Consider teaching students how to perform arithmetic operations, some logic and how to print and input to/from the console and you gave them the power to build usefull programs.
I would probably recommend python to. I just used Logo to create the greatest contrast I could think of. Logo was the most basic ‘programming’ language I could think of and Perl was the most cryptic language in the same class as Ruby I could think of.
We used logo for a month or two in 1989 in the eigth grade on some old Apple computers. It was one of those ‘extra’ classes everyone had to take for an hour a week but that we weren’t graded. People who actually took computer science were taught using Pascal.
Edited 2006-11-20 21:40
That’s a very good but funny notion, schools teaching you something that’s actually gonna get you a head start in the real world… hahaha. Man, the day college becomes something more than a false symbol of a person’s credibility and value and actually makes you a better candidate for employment will be one special day my friend.
So instead of, you know, trying to teach people to think, they should just be trade schools?
Wait I paid thousands to learn how to *think*? And I thought thinking was a trait of all humans that came naturally. Guess that’s what I get for thinking. No wonder I feel cheated with the education I acquired for 15 years of debt.
I’ve seen your type before, you don’t really attempt to bother learning the material, you don’t attempt to become interested. It’s no wonder you thought it was a waste, maybe, if you had actually attempted to learn (not memorize) the material in the classes, and took relevant classes to the subject matter you were interested in you’d find it to be actually quite useful. Solving problems is in fact, what engineering (and other science related majors) teaches, not memorizing useless facts, but attempting to put together the pieces of information to solve relevant and interesting problems. School is not useless unless your just trying to get the degree and get out like so many people do. In that case as some other posters have replied your better off going to a technical school since you probably have the attention span of a rabbit in heat.
My deputy-head actually told me during a formal meeting that the School was ‘afraid’ of teaching the students about computers.
Man, the day college becomes something more than a false symbol of a person’s credibility and value and actually makes you a better candidate for employment will be one special day my friend.
No! This is exactly what is wrong with the public school system today. Everything is about “preparing the student for the workforce” now, when it should be about “teaching a student how to think, how to trouble-shoot/problem solve, how to be creative” and so on.
The problem with school is that there is too much emphasis on “marketability” and “employability”.
If you want to “learn” to be a workplace drone, then go to a tech institute or trade school. Let’s keep education and learning in the public schools and universities.
I’ll add to this and say that part of the problem is this huge “rush rush rush” mentality. People seem to just rush through school without bothering to understand the material, so of course it ends up beign useless. Especially for the mindless drone workers. Now on the other hand if you look at the people that have been successful in the sciences, often they are extremely interested in the field that they are working on. They don’t simply memorize the material, they understand it, and understand it well. Likely if you feel a university level education is worthless your trying to be the drone worker, not really bothering to understand but mearly to memorize, possibly “cheating” your way through life that way.
You seem to be confusing education with training.
Primary schools (think age range 6-10) in France used to teach some rudiments of logo to children. that’s how I discovered programming.
This is something where you want a really simple toy language, not something actually useful.
I disagree. All .NET languages as well as Python and Ruby are fairly easy to learn. I think the problem with Microsoft’s .NET vision is that it tries to be everything to everyone. It can’t possibly do that and still be good.
Unlike languages like C# and VB, Python and Ruby focus on their areas of strength, such as text processing. Both do text processing extremely well with very little effort on the part of the programmer.
Programming languages are tools and just as you wouldn’t pick one tool, like a hammer, to accomplish all your home improvement projects, you shouldn’t pick one language and try to fit it into every conceivable project.
.NET tries to be one of those all-in-one tools, and those are never very good.
Python and Ruby are both just as generalized as C#. Having never used C# I don’t know how good a language it is for hobbyists, but I know that both Python and Ruby are excellent hobbyist languages. Python plus the Pygame SDL wrapper really ought to come preinstalled on all computers. Maybe more kids would start coding if they had the stuff already available like in the days of QBASIC (on the PC) and the built-in BASICs of the 8-bit micros.
PythonCard? For poor hobbyists nostalgic for the days of Hypercard and wanting ready made graphical interface?
>PythonCard? For poor hobbyists nostalgic for the days
>of Hypercard and wanting ready made graphical
>interface?
I’d forgotten about that. I never could get it working properly.
Even so Python is great for “learning programming” and Ruby remains the most object-oriented language I’ve ever seen. It actually takes the “everything is an object” ideal of OOP and actually implements it. Learning Ruby was just what I needed to understand object orientation in other languages. So yes, Ruby is good for hobbyists as well.
“Ruby remains the most object-oriented language I’ve ever seen. It actually takes the “everything is an object” ideal of OOP and actually implements it.”
Ruby is indeed an “everything is an object” language. It isn’t the first, or only one, to be like this. Have a look at Smalltalk if you would like to see true OOP.
Regards.
I’ve tried smalltalk and I’ve never been able to quite get my head around it. Maybe that’s just due to the lack of good online tutorials. Even the hobbyist and primary education-oriented Smalltalk dialect Squeak lacks good beginners info!
“I’ve tried smalltalk and I’ve never been able to quite get my head around it. Maybe that’s just due to the lack of good online tutorials. Even the hobbyist and primary education-oriented Smalltalk dialect Squeak lacks good beginners info!”
There is a bit of a conceptual learning curve, but it’s not that steep really. I use Smalltalk professionally and had to learn new skills when introducted to the language/system. Once over the curve, it’s wonderful!
Have a look a Cincom’s VisualWorks. There is a non commercial version and it comes with lots of PDF manuals. That knowledge could be applied to Squeak too.
At the end of the day, for a hobby, it’s down to what language you enjoy and the personal statisfaction of achieving new knowledge and skills.
Best.
I don’t know about Ruby, but I have to disagree with python being an easier language to learn, especially considering how well the help system and intellisense works in VS 2005, it can really help you get up to speed quickly.
.NET is aimed at enterprises. The reason is because you need to be an enterprise to afford the hardware to run .NET. the mainframe is making a comeback (apparently) so Enterprises should buy 2. One to handle all HR/Batch/Accounting/Simulation code. The other to handle the system .NET library overhead.
bullshit
Well you could call .NET that, but I prefer sarcasm to outright abuse.
haha
+5 Funny
Windows Server 2003 are replacing AS/400s and the left over obsolete Netware servers left and right.
AS/400’s are NOT mainframes. You’d have to nuts to replace a full z/series mainframe with Windows boxes. It would probably take 30+ windows machines, extra networking equipment, more staff, more floor space, more power, more cooling, etc…. And after all that it still wouldn’t be as reliable, recoverable, or have the capacity of a mainframe.
wow, the idiots are out in force today.
Seeing as you’re out in force, i’ll provide a link for you: http://en.wikipedia.org/wiki/Satire
We use Visual C++ Express 2005 here at work and it is great. For us, (developing pure C++ apps or C++ working with third party toolkits) it does everything that the full version does, without the price. So there is absolutely no reason for us to pay for the pro versions anymore.
At home I use it to develop Qt apps, and it works beautifully. Give it a try, MS really created some nice tools with these express editions. I haven’t run into any limitations yet.
I say the same things about vim and gcc.
Please…
it does everything that the full version does
It doesn’t generate compiler-optimized code.
Yes it does. It doesn’t have profiler-guided optimization, so you won’t get the very highest level of optimization, but what’s there isn’t bad at all. It’s much better than VC6 Pro for example.
Are you using the GPL or commercial version of Qt? If the commercial isn’t it a little expensive for home use or are you making money from the apps you develop at home.
Just interested because I thought you needed the commercial version to integrate nicely with Visual Studio.
I’m using the GPL version of Qt. I don’t make enough money from my side projects to justify the cost of the commercial version yet, so I just keep the open source.
The commercial version of Qt has some automatic Visual Studio integration package which makes it easy, but the open source version can be made to work with Visual Studio. It just takes a few steps. Basically the process is:
1. Get the Qt source
2. Patch it with the patches here: http://sourceforge.net/projects/qtwin/
This adds compiler support for VS
3. Follow the instructions here:
http://qtnode.net/wiki/Qt4_with_Visual_Studio
This sets up your Visual Studio to work with qmake.
Works quite well.
Thanks, I appreciate the info. I’d going to give it a try.
Are you sure that the license allows that? I thought that VC8 express licence was for non-commercial development only? Maybe I’m wrong
“This is an easy to use development environment. The IntelliSense is nothing short of brilliant. It autocompletes a lot of your typing, and offers you possible options to help you choose the right function or datatype. It points out errors by underlining them in much the same way as a word processor underlines misspelt words. ”
God.. somebody please tell this guy to see Eclipse or IntelliJ IDEA once in his life…
yet another strategy poised to lock in rookies in to MSs tech.
perfect!
Python and Ruby are also .Net languages.
http://www.devx.com/dotnet/Article/28544
http://plas.fit.qut.edu.au/Ruby.NET/
The beauty of .Net is that you can access the common .NET features from a myriad of languages.
You can choose to use the free tools like the Express versions. You could used notepad and the command line compilers if you wish. Or you can buy higerp priced version with more features.
Why do so many people in the cult fear these kind of choices?
Other .Net languages: http://www.dotnetpowered.com/languages.aspx
Your comments speaks to an understanding of the architecture. The argument about Python or Ruby or, etc., etc. being a better language cause it does “X or Y or Z” better is moot. You leverage the Framework and CLR just the same using the language of your choice. Add to that the power, beauty and elegance of the VS IDE and it is a very compelling tool for hobbyists to professional developers.
I think the article was excellent and as a hobby programmer, the author should be commended for a fine review that touches on all the issues of us aspiring want to be programmers! If anything, I think he is being modest because it is quite a feat to learn OO programming using the express tools. It is a lot of fun too! I am amazed how the concepts have helped me brainstorm solutions to problems outside the abstract world of programming. Ironic I guess because abstraction of the real world is what OO programming is all about. But the payoff goes in the other direction as well. Universities understand this, which is why they make engineers take programming courses. The ones who see the value still have a fascination with it, even though its not our 9 to 5 job. It is truly my hobby. And I am not a geek!
Edited 2006-11-20 22:46
I have an issue with the following statement:
“Add to that the power, beauty and elegance of the VS IDE and it is a very compelling tool for hobbyists to professional developers.”
and not with the beauty and elegance part, but with the power part. VS ia a nice enough piece of software but not suited for larger projects, probably for small to medium ones. You can’t call it powerful when it takes over a minute to open a project with about 20,000 lines of code.
Edited 2006-11-20 23:54
We seem to be caught up in a semantics debate. I would suggest that the point you are making is that VS is not a robust application. That may be true. Point noted. But the power of the application is not a function of project size.
Not splitting hairs, just trying to clarify my position.
Since IT and software developing is all about splitting hair, your clarification is more then welcome. I have to also state that english is not my native language (as you have probably guessed). However, I am still convinced that the term I used is used in a proper context. Allow me to make the case.
Robust – in my understanding would be an application that is designed to work well in a number of different conditions without crashing. A failsafe application if you will. In this sense, VS is reliable to a degree. It has a number of cases when it crashes and to its credit it will try to identify the module that has caused it to crash and offer to load the solution with the offending module omitted. There is no explanation why a certain module failed so you are on you own trying to fix it (most common case is when VS studio is installed on a laptop while connected to the domain, create a solution, add a crystal report, disconnect laptop from network and restart, try to load the solution, it will fail to load crystal report)
Feature rich – would be an application that has a lot of features. VS certainly has lots
Rich toolset – would be an application that has a lot of tools, and this also holds true for VS
Powerful – is attribute which describes the ability to do everything that other tools can, but to a way bigger scale and with greater ease. In software development tools this could also apply to the ability to develop powerful applications (ones that scale up easily, or the ones that process huge amounts of data)
The second part of this sentence applies more to the platform (NET framework in this case) then it does to VS, while the first part applies to VS solely. VS does not deliver in this sense. It tends to choke in large projects. In contrast, eclipse, while a bit more modest in the number of features and with less tools, is handling larger projects with ease.
Just to add that my comments are applicable to VS professional edition, and not expres one.
Add to that the power, beauty and elegance of the VS IDE and it is a very compelling tool for hobbyists to professional developers
Except that all these values are completely subjective, unless you’re an egocentrist thinking everybody thinks like you do ?
What’s more, VS is not a compelling tool for the reasons you gave. The truth is that MS destroyed nearly every other IDE on Windows, and so, of course you’re compelled to use MS VS, you don’t have much choice actually, you don’t even talk about these other choices either.
If VS was so much of a compelling, powerful, beautiful and elegant tool, it would be out for other architectures and MS would try to sell it for its merit.
But strangely enough, they don’t. So much for power and elegance.
I think the article was excellent and as a hobby programmer, the author should be commended for a fine review that touches on all the issues of us aspiring want to be programmers!
“want to be programmers” ? OMG ! Learning how to program on an IDE on the worst security aware OS is one of the worst thing to do.
If anything, I think he is being modest because it is quite a feat to learn OO programming using the express tools. It is a lot of fun too!
This is pure BS, you just can’t do that. OO concepts are very hard to grasp, and are mandatory to do useful OO programming.
You won’t learn all of that on an IDE though.
abstraction of the real world is what OO programming is all about
What is this nonsense ? Math perhaps, Physics perhaps, but OO programming ?
OO programming is just applying OO concepts, which are not about abstracting the real world at all.
OOkaze,
I appreciate your passion but the axe you have to grind is, with all due respect, not with me. Call me egocentric; I am simply voicing my opinion on a forum that is intended for such. Some folks express themselves stronger than others but through it all, there is no implication that any opinion is the only correct opinion. I feel no obligation to discuss the other IDE’s available for Windows because I am not experiences with them. The review concerned VS Express and I limited my response and experience to such. Perhaps you should write a review on these alternatives. I bet others like me (with limited experience as hobbyist programmers) would like to know what other alternatives may be worth evaluating.
It seems that you take exception for the sake or argument. For example, to say that abstraction of the real world [into objects defined by classes] is not the essence of object oriented programming reveals your biased and faulty logic. Math, science and physics are implemented in the methods and properties that define these objects. Yes, it can be said that math and physics themselves are abstraction of reality, but that misses the point that I am trying to make. Indeed, I have learned a lot about OO programming using VS Express tools. If you think you can do better with notepad or some other tool, have at it!
“Python and Ruby are also .Net languages.”
They are not .NET languages. They can be used with the CLR, but they are independent of the CLR.
“The beauty of .Net is that you can access the common .NET features from a myriad of languages.”
Why on earth would you want that? You choose Python not only for its grammar, but for its library. If you already have a complete library, why would you like to mess with .NET?
“Why do so many people in the cult fear these kind of choices?”
Cult? This is no religion. It’s pure and simple reasoning. You have a tool so simple and good, use it. No need to be part of the “cult of Microsoft” and use .NET everywhere, as if other tools are inexistant. You are talking about cult and fear. Isn’t you .NET guys who fear Java and Open Source and constantly bash them and talk about choice as if it were a cult? What the hell, do you have stock with Microsoft or something?
Why on earth would you want that? You choose Python not only for its grammar, but for its library. If you already have a complete library, why would you like to mess with .NET?
Choice.
The features in the .Net runtime.
You know … things the cult is against.
Isn’t you .NET guys who fear Java and Open Source and constantly bash them and talk about choice as if it were a cult?
I’m against cults like yours that want to mandate the GPL, that think the BSD license is slavery and that think proprietary software is evil.
Its amazing how your tiny little minds think Ruby and Python are fantastic languages as long as they aren’t contaminated by Microsoft cooties.
“Choice.
The features in the .Net runtime. ”
What features has .NET for hobbyists?
“I’m against cults like yours that want to mandate the GPL, that think the BSD license is slavery and that think proprietary software is evil.”
I’m all for practical things. .NET is not practical. I don’t mandate GPL. In fact, Python doesn’t have a GPL license. So stop talking about cult, I’m already aware of your repetitive speech.
“Its amazing how your tiny little minds think Ruby and Python are fantastic languages as long as they aren’t contaminated by Microsoft cooties.”
They are great languages by themselves. No need to put/take out Microsoft from the equation. Besides, as you mention it, it’s always Microsoft who contaminates things with its embrace and extend dark tactics. Ha! You FUD spreading guys don’t get a damn cent from Microsoft and still keep bad mouthing. That’s cult!
Edited 2006-11-21 01:59
NotParker, I’m a big fan of .NET even though I wish it was licensed a bit differently, but you are not doing your side any favors here. I’ve noticed about half of your posts end up calling someone else a member of a cult. Originally, it was a little funny, but now it’s simply getting old and making you look like a fanboy yourself. Did the original poster even mention the GPL? How do you know they think proprietary software is evil? Perhaps they think .NET simply doesn’t add much to the original Ruby/Python and isn’t worth the trouble. That’s not my view, but it doesn’t automatically make him a GPL nazi who thinks “the BSD license is slavery.”
“I’m against cults like yours that want to mandate the GPL, that think the BSD license is slavery and that think proprietary software is evil.”
And we all know how to detect a cultist. It’s someone who mis-attributes opinions to other people and treats everyone with a different opinion as the enemy.
You know, kinda like what you just did.
Python and Ruby are also .Net languages.
http://www.devx.com/dotnet/Article/28544