HELP! Must choose language!

Hrvoje Nezic hrvoje.nezicABC at envoxXYZ-lab.hr
Mon Dec 30 05:29:45 EST 2002


Hi,

I have a very long experience in programming in different
languages. For long time I programmed in C.
Then I become familiar with object oriented programming
through Smalltalk. When  C++ compilers appeared I
started to program in C++ and I do it now, not
because this is my decision, but because my company
forces me to do so. If I could choose by myself, I
would never, never choose C++ (after having long experience
in using it). I am also familiar with Java and C#.

If I would choose by myself I would choose
Eiffel or Python. These are my two favorite programming
languages. I didn't find time so far to explore functional
languages like Haskell. I use Python for my personal
projects.

It would be difficult to give *completely* unbiased
opinion, but I think that certain aspects of
various programming languages could be rationally
compared.

When choosing your first language some of your
characteristics can be very important, too. If you like
elegance and consistency you would be satisfied
with certain kind of programming languages. If you
like lots of improvisation and patchworks then
another kind of languages might be appropriate.
If you are "lazy" and dislike repetitive and boring
work, then again, you should choose language
that doesn't force you to do such a work.

If you choose Eiffel or Python you will get
elegance, consistency and avoidance of boring
and potentially hazardous work.

On the other hand, if you are prepared for
lots of frustration, boring and repetitive work,
than choose C or C++.

For example, in C++ you have to take care about all the memory
that you dynamically allocate for your objects.
You have to deallocate all this memory by yourself.
Other object oriented languages implement garbage
collector that takes care of unused objects.

C++ is a language that wasn't created from scratch.
It attempts to combine two completely different
paradigms: one of a low-level C language (a kind of
portable assembly language), with object oriented
paradigm. This cannot be done successfully. C++
is not a pure object oriented language, which means
it really doesn't give you the whole power of
object-oriented programming. It gives you a rather small
part of it, at best.

I like Python because it is interactive, and it is certainly
a very well-designed language. I think it is very suitable
for a first language. There are also a lot of things
I don't like so much in Python. In certain aspects
Eiffel gives you much more flexibility. Eiffel gives you much
cleaner and more powerful object-oriented programming
model. However, there are also a lot of things where
I like the Python way more than Eiffel way.

I would suggest you to try both. You can download
ISE Eiffel at www.eiffel.com . A free version is about
50 Mb. I am not sure for Mac, but Visual Eiffel has
a version for Mac. Eiffel environments give you certain
important features that cannot be easily found elsewhere.
Also, compared with Python, the free ISE Eiffel compiler
comes with a full featured, professional debugger, and this
is something I miss in Python.

Eiffel has very clean and understandable syntax, and this
is why it is used on many universities in introductory
programming courses.

Regards,
Hrvoje Nezic

----- Original Message -----
From: "Chewdip20" <chewdip20 at aol.com>
Newsgroups: comp.lang.python
Sent: Monday, December 30, 2002 5:07 AM
Subject: HELP! Must choose language!


> Hello, everyone, I am a 9th grade student, who is very interested in
learning
> programming. I realize I waited too long to begin, as many have started in
> earlier grades, but I am determined to learn something. But that is where
it
> stops. I have no idea what programming language to learn. This, for me, as
a
> beginner, is incredibly frustrating and I keep questioning myself. WHAT is
the
> best language to learn, in your unbiased opinion, for a complete beginner
to
> programming? I have seriously considered C( I even bought and started on a
book
> about it), Python(my original choice, however, teachers deterred me from
it),
> C++(instead of C, supposedly quicker to get into), as well as some form of
> BASIC. But I, in all seriousness, am running out of time. I get back to
school
> the week after next, and I want to have some intermediate knowledge of a
> language by then. I get little time to do anything I want after school,
and
> thus my chances to further my knowledge of a language would be severly
limited
> to weekends, which are also packed for me. Basically, everyone, I need a
> language, I need it fast.
> Also, I have heard C and C++ are rough to start with. Any truth to this?
>
> I have heard from several sources how helpful this newsgroup is, so I came
here
> for you guys' experience. Thanks for any help,
>
> Qweezle.






More information about the Python-list mailing list