[Tutor] Which programming language is better to start with

dman dman@dman.ddts.net
Tue, 26 Mar 2002 19:48:19 -0600


On Tue, Mar 26, 2002 at 02:46:31PM -0800, Sean 'Shaleh' Perry wrote:
| > A beginner should start with something relatively natural and work
| > their way into thinking like a computer, then move on to more
| > complicated or low-level languages like C.
| 
| I almost did not send this for fear it would devolve this thread but .....

no worries,

| In my experience people who start on the high level languages and then try to
| go low level often find it hard to fit in.  They are too used to the language
| doing everything for them.  Of course the opposite is sometimes true and we
| find C coders trying to implement hashes themselves or who never check if a
| python module exists before reinventing the wheel.

Yes, some people fall into one category or the other.  Determine which
one you are in and pick the suitable type of language to start with
:-).

| I started in C, worked up to C++ and then learned perl, lisp and python. 
| Having started in C where I had nothing I learned to be good at managing
| resources and careful planning.  It was hard though.  No doubt.

Just for some perspective, here's approximately how I learned
programming languages :

Eiffel, some C, C++ and Java (at the same time in different courses),
Python, M68K assembly, more C, a subset of Common Lisp and a little
Scheme, Perl, Java threads, more Java and Python

I have a basic understanding of quite a few languages, but my
experience and comfort is really deep only in Java and Python.  I can
handle C and C++, but I haven't done any sizable projects with them in
a two years.  (and I have done any large projects in pure C)

I definitely agree with Sean that knowing how the hardware works
(learn assembly, but not x86 -- it is too ugly and messy) really helps
for writing decent software in higher level languages.

HTH,
-D

-- 

Microsoft DNS service terminates abnormally when it receives a response
to a dns query that was never made.
Fix information: run your DNS service on a different platform.
                                                            -- bugtraq