RE: META: Recommendations for a 13 year old transhumanist

From: Billy Brown (bbrown@conemsco.com)
Date: Sat May 08 1999 - 09:56:53 MDT


Chandra Patel wrote:
> I'm also interested in sharpening my programming skills which have been
> isolated mainly to BASIC and QBASIC at this point. What computer
languages
> are best for beginning my trek toward Coding Deity status? There seem to
be
> lots of options and my teachers and friends have no ideas about where to
> start.

That depends to some extent on what kinds of programming you want to end up
doing. It also tends to be a religious issue, so you'll probably seem some
violently different opinions from others on the list.

I'd suggest starting with a more advanced PC-based development environment.
If you want to take it slow, try learning to use Microsoft Access. It is a
very user-friendly database program, and you can learn a lot about tables,
queries, SQL and form design by playing with the tools it gives you. It
also lets you write Visual Basic code, which makes it a relatively painless
way to learn about event-driven programming. Eventually, however, you will
reach the point where all of the fancy wizards and interface tools seem more
of a hindrance than a help - at that point you'll want to move on to the
next step.

If you already know something about databases, you may want to jump straight
into Visual Basic programming. VB is a surprisingly powerful tool, and it
makes a pretty good introduction to most types of modern application
programming. I'd start with learning to design forms (using the data
control for data access), then move on to class modules, ADO, SQL, web
programming and ActiveX components (in pretty much that order).

After that, it all depends on what kind of programming you are interested
in. No matter what you do you'll want to become moderately familiar with C++
and at least one major database program (Oracle, SQL Server or Sybase). If
you want to write device drivers, system services, graphics software or
other low-level/highly-optimized code, you'll want to become a real expert
in C++ and assembly language. If you want to program on Unix machines,
you'll want to learn Perl and/or C++. If you want to write business
applications, you'll need a little C++ and a lot of inside knowledge about
database programs and component-based development. If you want to do web
programming, ask me again next year - the XML field is evolving so fast
right now that there is no way to tell how things are going to work out.

BTW, I would also suggest investing some effort in learning more general
skills, like how to design complex applications and how to plan a software
development project. Steve McConnell has written several excellent books on
these topics (Code Complete, Rapid Development and Software Project Survival
Guide). Ideally, you want to reach the point where you can just pick up a
new language on the fly whenever you need to, and you decide which one to
use on a project-by-project basis.

If you have more questions, or run into problems learning just about
anything, feel free to e-mail me.

Billy Brown, MCSE+I
bbrown@conemsco.com



This archive was generated by hypermail 2.1.5 : Fri Nov 01 2002 - 15:03:41 MST