Think about MIT's Scratch. It's a nice graphical environment for children. It's like LOGO: http://scratch.mit.edu/

I started scripting around the year 2000. I had been a professional programmer for around 25 years. None of my code required a user interface and the ability to inspect/modify code at three in the morning was critical so vbScript filled the bill. It was free and required no special IDE. Had I known about Python at the time I might have used it instead of vbScript. Using Python as implemented today I could have cut my programming time in half and my consumption of antacids by even more.

However, that was because my apps required no GUI. Developing apps in Python requiring a GUI is painful in the extreme. Using wxPython, everything must be done by hand and little of it is intuitive. Developing a GUI in VB.net on the other hand is almost trivial in comparison.

Based on my experience, Python is an outstanding first language and it maintains its appeal even to veteran programmers. But if your goal is to develop any kind of serious GUI, be prepared to invest a lot of time in learning details which you should not have to be concerned about.

Based on my experience, Python is an outstanding first language and it maintains its appeal even to veteran programmers. But if your goal is to develop any kind of serious GUI, be prepared to invest a lot of time in learning details which you should not have to be concerned about.

A conclusion I don't agree with. IMO you are not comparing languages but the tooling support. There isn't anything inherent in VB.NET or Python as a language which makes one superior over the other when it comes to developing UI's. It's just that the tooling support for VB.NET is excelllent (Visual Studio) which makes it a breeze to create UI's. If you want to experience something similar with Python, take a look at Nokia's Qt (with QtCreator) and the corresponding Python bindings (PyQt and Pyside). Sure, the experience might not be the same as Visual Studio but is pretty decent when compared to creating UI's by hand.

The only GUI development I have done using Python was with either wxPython or Tkinter. I may be mistaken but I believe you have to by QT, whereas Visual Studio Express is free. The first actual GUI app I developed was a Load Advisory Program for our control centre (in C under OS/2). No tools, and all GUI elements had to be coded by hand. It was brutal. In my opinion, the tools you use to develop programs are at least as important as the underlying language. Few would be developing VB.net apps with GUIs without using an environment that removes the grunt work of placing visual elements, or an interactive debugger that supports breakpoints and step-by-step source level debugging.

Nice to see you back. I hope the move went well.

I may be mistaken but I believe you have to by [sic] QT

If the rest of your post is also 12 years out of date, I'm not sure why I bothered reading it.

Few would be developing VB.net apps with GUIs without using an environment that removes the grunt work of placing visual elements, or an interactive debugger that supports breakpoints and step-by-step source level debugging.

I fail to see how fewer people using VB is a bad thing.

My original point was that I think Python is an excellent language that, if I had been aware of it twelve years ago, I would have used instead of vbScript. It would have saved me countless hours of development. I think it is an excellent language for beginners as well as seasoned professionals. My second point was that unless you are willing to pay for something like QT, developing a GUI based app in Python can be daunting. At least that was the case for me.

You seem to feel that VB apps are to be frowned upon. I fail to see why a well written application in any language should be looked down upon. I believe Sturgeon's Law still holds. Ninety percent of everything is crap. That applies equally to VB, C, C++, even Python. Blame the programmer, not the platform.

In any case, we are probably getting off topic.

pySide is free even for commercial use. I was judging winner of programming contest as high school student in summer camp 1982, as I was then not inspired to code there, but concentrated on learning Lisp from book. There was 8085 assembler functional game and half finished program in QBasic, whose idea of structured programming was GOSUB 3000. That Basic code was commented however so nicely, that we where impressed more of it than nearly uncommented pages of assembler. So you can really do good programming in almost any language.

I may be mistaken but I believe you have to by QT

Jim, Qt has dual licensing of which one is LGPL which in turn in quite suitable for developing proprietary applications. The Python binding for Qt, PySide is again licensed under LGPL so developing with Qt (QtCreator) + PySide doesn't cost you anything. But I do agree that it doesn't buy you a lot if you are conversant with VB.NET and are free to use your language/tools of choice.

The first actual GUI app I developed was a Load Advisory Program for our control centre (in C under OS/2). No tools, and all GUI elements had to be coded by hand. It was brutal

TBH, I have always found UI development to be a bit brutal with varying levels of brutality depending on the toolkit you use. The trick IMO is to get into a comfortable zone with a few of them to the point that the quirks end up looking like features. ;)

Nice to see you back. I hope the move went well.

Yup, feels good to be back! :)

I'll check out the LGPL version of QT in September when I get back from the cottage. A 1.7 gig download is a tad large for summer bandwidth. Thanks for the suggestion.

My last post was uncharacteristically harsh. Sorry about that.

I don't have a good opinion of VB -- I feel that it's popular in spite of its design, not because of it. It suffers from an unfortunate family tree, and on top of that, it's not an open standard (big black mark in my book).

Granted, it doesn't really compete in the same areas with any of the languages I regularly use, so I don't have anything to say about its use in any particular application. I just wouldn't advise it as a general purpose language for beginners.

Member Avatar for iamthwee

Well just saw that this thread was unearthed again so to speak.

At the moment I have the opportunity to teach some school kids maths. One of them is just 11 and without doubt the key to teaching programming is to make it FUN.

I still stand my opinion that python seems to fulfil almost everything when it comes to rudimentary programming idioms, and more importantly, making it easy to understand... but unless you're using a gui toolkit it's rather boring.

Flash, is the perfect tool here because it was made for animating. As long as the kid you are teaching is engaged you can skip out the programming syntax as most of that is unnecessary at that.

Build something simple, get the kid to draw or create the objects and then just explain the most important bits... Syntax is unimportant at this age.

It's all about engaging them...

At the moment I'm using AS3 because that's what I'm used to... but I'd second William's suggestion to stick with AS2 as it isn't object orientated as AS3...

Check out proccesing which is a java based languade : proccessing.org.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.