Tuesday, January 16, 2007

Learning too late?

Well, I've already broken my New Year's Resolution of writing at least once a week. I'll try to do better.

It may look, from the subject line, like I'm going to write about the situation where someone makes a mistake in their life in the vein of "not looking before they leap", but instead I'm thinking about the situation in electronics and computers. Things are changing so quickly that people coming into these fields now don't have the advantage that some of us older folks have had. There is an analogy in music that I'll start with.

It used to be that there were a lot of places where a musician could go to learn how to perform. For classical musicians, people used to have small groups in their home for small audiences. For jazz, there were a large number of clubs that would take people with little experience. For popular music, there were lots of small stages around, like vaudeville or community halls or even town bands. In the present day, getting music lessons is very expensive. The schools and churches are about the only place left that allow you to perform without and lot of experience. By the way, have you ever noticed how many singers got their start in a church choir? You not only get free instruction but you also get a lot of encouragement. The last thing a new musician needs is a bunch of negative criticism. A learning musician needs encouragement and a chance to perform. I think we are making it harder for new musicians to get the experience they need. That is why it is so hard to hear good music these days. Our society is limiting the opportunities new musicians have to learn in the real world. Even though churches remain one of the last places for a new musician to get experience, they are going more and more to using canned music or hiring professionals to do the music. I believe we are missing the point. The music doesn't need to be perfect to please God (after all, it will never be exactly perfect anyway). The importance is the feeling behind the music, the sincerity of the offering of the music and the opportunity for people to be able to join in with the music.

I believe it is similar in engineering. Many of us learned by building small kits (HeathKit is gone now). We had to know the hardware. If we did any programming, it was in assembly language where you have to know every detail of the machine. Plus, you got the opportunity to do it because no one else knew how to do it. Now, companies have a software group that does all that stuff. If the company needs a program, it writes up a specification and submits it to the software division which writes up a schedule and assigns it to one or more people. While this is necessary for business, it doesn't help new people enter the field. There need to be some projects that amateurs can handle. Another problem is that now, the hardware has advanced so far that new engineers have no way (or at least no time) to dig into the machine to understand how it really works. The one place that still allows some of this is in embedded systems, these are the products where the electronics (and usually a microprocessor) are part of the machine - built into the machine. If you get into an embedded project, everything is simpler and more pragmatic. You're trying to get a job done and everything is exposed to you. Here is a chance for new people to get their feet wet and learn how things really work.

What brought this all up to me today was reading a note about the latest version of the CodeGear (formerly Borland) Delphi compiler and C++ compiler. One fellow asked if there were any good books to learn about the compiler and its integrated development environment (which includes the compiler, a text editor, debugging tools, a help system etc.) and the answer was no. They would have to look for books about earlier versions of the compiler. I am so fortunate that I started with the compiler when it first came out and there were a number of good books that started from the beginning. Also, you could ask a question on one of the many newsgroups and get a helpful reply from someone who had just had the same problem. It seemed that everyone was on the same level - all coming up to speed together. Now, if you ask certain questions, you can get an angry reply that, "this has been covered a million times before." Well, not for this guy. How is a new person supposed to learn but by asking questions and trying to get more experience?

1 comment:

jeroenp said...

Actually there is a really good combination of books to learn the latest Borland Delphi:

The (free) ebook "Mastering Borland Delphi 2005: Update for Delphi 2006" in combination of the paper book "Mastering Delphi 2005", both by Marco Cantu.

Marco is an excellent book author capable of adressing both the novice and advanced developers in his books.

You can find more information on his web-site:

http://www.marcocantu.com/md2005/UpdateDelphi2006.html

Kind Regards,

Jeroen W. Pluimers
- specialist in .NET, Win32, SQL, Visual Studio & Delphi