Wednesday, February 06, 2008

Web programming in... Java?

I mean, why? Of course that's how I feel about any kind of programming in Java. I recently found a blog where someone reviewed Wallace Wang's Beginning Programming book which teaches Liberty BASIC. The blogger seemed to enjoy Liberty BASIC and then went on to say that we was planning to learn Java. I wish that those presidential candidates would promise to reform our educational system by banning Java from k12 schools. People who are just learning programming need something that gives them a tighter feedback loop like BASIC does. If the learning experience isn't at least a little bit of fun it won't benefit the kids. Period.

People who trash BASIC haven't tried modern versions. Even the old DOS QBasic has everything the beginner needs.

8 comments:

Unknown said...

My son's high school here in Illinois still uses QBasic in their first-semester programming class. I think it is a good language to start with. Unfortunately, the second semester they switch to VB. I think that is a mistake - more time needs to be spent learning good coding practices and style. Dragging buttons on a form and writing simple event-handlers will not accomplish that goal.

On a side note, I find myslef in a beginning C++ class - even though I have been a professional developer for many years. I now see how hard of a hill it is to climb for beginners. Here is the first C++ program:

#include <iostream>
using namespace std;

int main()
{
cout << "Hello world";
return 0;
}

This program is a landmine for beginning programmers. What does include mean? What is iostream? What is a namespace? What is cout and what are those wierd less-than signs. Why are there parenthesis, semi-colons? What is the main function? What does in mean to return an int? What is an int? What do you mean compile? And then what is build?

It took over an hour to explain the most basic of C++ programs.

And then there is:

print "Hello world"

Now that makes sense!

Noble Bell said...

Well put Tom. +1

Ryan N said...

I found that after learning BASIC it was quite difficult to learn more powerful languages. BASIC is good, but I think it should be avoided as a first language because it pampers the programmer too much; after getting used to writing small programs, people have no patience to learn the bigger things. It is always difficult to get used to writing out the boilerplate and trusting that it will work, but best not to prolong the pain. Don't think I'm just insulting BASIC, I have a copy of Liberty BASIC myself, but there is a reason developers use different languages.

Carl Gundel said...

Ryan,

How can you be sure that knowing BASIC made it hard to learn some other language? Can you go back and unlearn both BASIC and the other language and then try to relearn the other language to see how hard it would be?

I'm sure there are other, better first languages than BASIC. I guarantee you that Java is not included in that list.

Ryan N said...

I can't be sure that it was because of BASIC that other languages were so hard, but I've seen tutorials for C that mentioned not to learn BASIC in the first place; of course, trusting some people I met on the internet isn't my greatest idea, but it is still evidence. Plus, when learning more powerful languages it was made difficult because I was reluctant to do all the practices for beginner stuff. Why? Oh, I could do this so much easier in BASIC, 10 lines of BASIC, etc. It was a while before I was over that hurdle and learning stuff more difficult to implement in BASIC.

Noble Bell said...

Interesting comments Ryan. The very first language that I studied was BASIC. From there I moved on to other languages. For me personally BASIC helped me because I learnt all the fundamentals of programming, etc. So being strong in the fundamentals I realized that any other language I wanted to study and learn was just a matter of learning the syntax.

BASIC has been very good to me over the years and I do have some commercial products I sell which were written in BASIC.

At the end of the day what matters the most is did you solve you solution and did you use the tool that you were most comfortable with. For me, BASIC is right up there on the list.

Carl Gundel said...

"but I've seen tutorials for C that mentioned not to learn BASIC in the first place"

Yes, but there are many people who will tell you not to learn C and its derivatives. Seriously though, the choice of first programming language is as individual as each person.

BASIC was my first language. It did not prevent me from learning 6502 machine code, C, Forth, Smalltalk, Java.

Ryan N said...

Fair enough, but I am fairly certain programming is less fun when you know you could have been done ages ago with BASIC. Everyone is entitled to their favourites or opinions. I like BASIC because I can get started without delay and that there are large forums that can help you solve problems within the hour. Similarly, I don't like BASIC because it allows you to rush in without planning, and also that it lacks some (what I think to be) fundamentals like OOP and handy tools like linked lists.

Stick with what you like, or stick with what you enjoy, I guess.