[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.python

Choosing a new language

Rico Secada

12/28/2007 3:24:00 PM

Hi.

First let me start by saying, please don't let this become a
flame-thing.

Second, I need some advice.

I am a 35 year old programmer, who program in C/C++, PHP and Bourne
Shell almost daily.

I am currently going to start focusing on becoming more skilled at a
few key languages, rather than knowing many (which I do on a more
superficial level).

My key languages are C, PHP and SH (Bourne Shell), and I have stopped
using C++ because I find that its a C-hack rather than a good design
choice.

I have made the following decision:

To study Ada and use it instead of C++. I come from a Pascal background
and I love the Ada syntax and wide area of usage. I am also attracted
to Ada because of its usage in the industry.

Now I have three more languages that I am very attracted to, but I
prefer to focus on just one of them:

Python, Haskell and Lisp.

I have been doing some reading and some coding, and I am mainly
attracted towards Lisp because of its ability to "fix a
running program".

But I find that Haskell is a more powerful language. Yet again Python
has a huge user base and many libraries, and it is implemented
everywhere, where Haskell and Lisp on the other hand hasn't.

I like the syntax of all three, and I have gotten beyond the
"confusion" stage of Lisp parentheses, so they don't bother me at all.

I need advice from people who have been coding in all three, and who
can share some views and experiences.

Please, if you don't know ALL three by deep experience, don't respond to
this thread!

Thanks and best regards!

Rico.
42 Answers

Tobias C. Rittweiler

12/28/2007 3:41:00 PM

0

Rico Secada <coolzone@it.dk> writes:

> Now I have three more languages that I am very attracted to, but I
> prefer to focus on just one of them:
>
> Python, Haskell and Lisp.

Haskell is an imperatively functional language; Lisp is a functioning
imperative language.

Learning one is by no means a substitute for learning the other.

Judging from your background, you'll probably fall in love more easily
with Lisp.

-T.

Ken Tilton

12/28/2007 3:43:00 PM

0



Rico Secada wrote:
> Hi.
>
> First let me start by saying, please don't let this become a
> flame-thing.

Nice try! Oh, wait, you posted to all the NGs at once... bad try!

>
> Second, I need some advice.
>
> I am a 35 year old programmer, who program in C/C++, PHP and Bourne
> Shell almost daily.
>
> I am currently going to start focusing on becoming more skilled at a
> few key languages, rather than knowing many (which I do on a more
> superficial level).
>
> My key languages are C, PHP and SH (Bourne Shell), and I have stopped
> using C++ because I find that its a C-hack rather than a good design
> choice.
>
> I have made the following decision:
>
> To study Ada and use it instead of C++. I come from a Pascal background
> and I love the Ada syntax and wide area of usage. I am also attracted
> to Ada because of its usage in the industry.
>
> Now I have three more languages that I am very attracted to, but I
> prefer to focus on just one of them:
>
> Python, Haskell and Lisp.

Python has the users and libs, but those things follow the langue du
jour and Ruby has already eaten that lunch and Lisp is next, meanwhile
Python is rather lame when it gets to metaprogramming and other powerful
deals. Throw in the performance hit and it looks like a total loser. I
would swap in Ruby for Python and restart the analysis.

>
> I have been doing some reading and some coding, and I am mainly
> attracted towards Lisp because of its ability to "fix a
> running program".
>
> But I find that Haskell is a more powerful language.

Really? More powerful than Lisp? You might recheck your istruments. If
you still think it is more powerful, well, I think one of your languages
should be the one you consider most powerful. Bit of a no-brainer, that.

> Yet again Python
> has a huge user base and many libraries, and it is implemented
> everywhere, where Haskell and Lisp on the other hand hasn't.

Where can you not do Lisp?

>
> I like the syntax of all three, and I have gotten beyond the
> "confusion" stage of Lisp parentheses, so they don't bother me at all.
>
> I need advice from people who have been coding in all three, and who
> can share some views and experiences.
>
> Please, if you don't know ALL three by deep experience, don't respond to
> this thread!

Ignored.

kt

--
http://www.theoryyal...

"In the morning, hear the Way;
in the evening, die content!"
-- Confucius

Victor

12/28/2007 4:29:00 PM

0

On 28 ???, 17:42, Ken Tilton <kennytil...@optonline.net> wrote:

> Python has the users and libs, but those things follow the langue du
> jour ...

Once upon a time I've coded in Perl, and if you take a look at CPAN,
it has almost everything, but nowdays Python and Ruby are in, and Perl
is not so popular as it was...

I've started to learn Common Lisp because it seems to be the Language
all other dynamic languages tend to become, but due to some obstacles
will
never be.

With best regards,
Victor

Joachim Durchholz

12/28/2007 5:16:00 PM

0

I don't know all three languages, but I know you won't get a useful
answer unless you say what purpose you want to learn any of these
languages for. To expand your mental scope? To improve your CV? To use
as a new workhorse for your daily work? If it's the latter: what kind of
work do you do?

Regards,
Jo

Steve C

12/28/2007 5:19:00 PM

0

On Dec 28, 12:15 pm, Joachim Durchholz <j...@durchholz.org> wrote:
> : what kind of work do you do?
>

Trolling

Ken Tilton

12/28/2007 5:47:00 PM

0



Vityok wrote:
> On 28 cOA, 17:42, Ken Tilton <kennytil...@optonline.net> wrote:
>
>
>>Python has the users and libs, but those things follow the langue du
>>jour ...
>
>
> Once upon a time I've coded in Perl, and if you take a look at CPAN,
> it has almost everything, but nowdays Python and Ruby are in, and Perl
> is not so popular as it was...
>
> I've started to learn Common Lisp because it seems to be the Language
> all other dynamic languages tend to become, but due to some obstacles
> will
> never be.

I did not realize you had noticed that, nor would I try to persuade you
of it. Given that you have that insight under your belt, you perhaps
will conclude with me that it is just a matter of time before more and
more Seekers of The Way such as yourself (a) also realize Lisp is the
Rome of languages and then (b) notice that CL is compiled and mature and
even has a standard and can use any C library and then (c) realize there
is not even a decision to be made because a decision requires more than
one path and CL is simply the only way to go. We just have to resolve
that "Haskell is the most powerful" thing, you have to do Haskell if
that is true for you.

kt

--
http://www.theoryyal...

"In the morning, hear the Way;
in the evening, die content!"
-- Confucius

John Nagle

12/28/2007 8:55:00 PM

0

Rico Secada wrote:
> Hi.
>
> First let me start by saying, please don't let this become a
> flame-thing.
>
> Second, I need some advice.
>
> I am a 35 year old programmer, who program in C/C++, PHP and Bourne
> Shell almost daily.
>
> I am currently going to start focusing on becoming more skilled at a
> few key languages, rather than knowing many (which I do on a more
> superficial level).
>
> My key languages are C, PHP and SH (Bourne Shell), and I have stopped
> using C++ because I find that its a C-hack rather than a good design
> choice.
>
> I have made the following decision:
>
> To study Ada and use it instead of C++. I come from a Pascal background
> and I love the Ada syntax and wide area of usage. I am also attracted
> to Ada because of its usage in the industry.
>
> Now I have three more languages that I am very attracted to, but I
> prefer to focus on just one of them:
>
> Python, Haskell and Lisp.

I've used every language mentioned except Haskell.

I'm somewhat fed up with C++ myself. I've used it for years; I've
written large systems in it, and I have to face that it has a fundamental
problem. C++ is the only major language with hiding but without memory safety.
C has neither hiding or safety; Java and Ada have both hiding and safety.
No language since C++ repeats that mistake.

Ada has its advantages, but outside the DoD world, it's more or less
dead. If you have a security clearance and are interested in real
time avionics programming, maybe.

LISP has a cult problem. It's not used much any more, even in the
AI community. LISP users tend to be too wierd. The language itself
is OK, but few commercial applications use it. Viamall, which became
Yahoo Store, is one of the very few major commercial LISP apps.
I've written about 20,000 lines of LISP, but I'll never use it again.

Actually, the ability to "fix a running program" isn't that useful
in real life. It's more cool than useful. Editing a program from
a break was more important back when computers were slower and just
rerunning from the beginning was expensive.

Python suffers from a slow implementation. Numbers vary, but
10x to 60x slower than C is typical. The language is quite
powerful, but is held back by the CPython implementation, the
lack of a language standard independent of any implementation,
and a clunky mechanism for linking to external non-Python libraries.
There's no fundamental reason that Python couldn't be made to run at least
as fast as Java, but with the language spec tied to CPython, the
other implementations are always playing catch-up and run far behind the
CPython implementation.

As languages, C# and Java are reasonably good. They tend to come
with too much excess baggage in the form of frameworks, run-time systems,
and packagers, but as languages they're fast, safe, and expressive.

Can't speak for Haskell.

John Nagle

Gary Scott

12/28/2007 10:50:00 PM

0

Rico Secada wrote:
> Hi.
>
> First let me start by saying, please don't let this become a
> flame-thing.
>
> Second, I need some advice.
>
> I am a 35 year old programmer, who program in C/C++, PHP and Bourne
> Shell almost daily.
>
> I am currently going to start focusing on becoming more skilled at a
> few key languages, rather than knowing many (which I do on a more
> superficial level).
>
> My key languages are C, PHP and SH (Bourne Shell), and I have stopped
> using C++ because I find that its a C-hack rather than a good design
> choice.
>
> I have made the following decision:
>
> To study Ada and use it instead of C++. I come from a Pascal background
> and I love the Ada syntax and wide area of usage. I am also attracted
> to Ada because of its usage in the industry.
>
> Now I have three more languages that I am very attracted to, but I
> prefer to focus on just one of them:
>
> Python, Haskell and Lisp.
>
> I have been doing some reading and some coding, and I am mainly
> attracted towards Lisp because of its ability to "fix a
> running program".
>
> But I find that Haskell is a more powerful language. Yet again Python
> has a huge user base and many libraries, and it is implemented
> everywhere, where Haskell and Lisp on the other hand hasn't.
>
> I like the syntax of all three, and I have gotten beyond the
> "confusion" stage of Lisp parentheses, so they don't bother me at all.
>
> I need advice from people who have been coding in all three, and who
> can share some views and experiences.
>
> Please, if you don't know ALL three by deep experience, don't respond to
> this thread!
>
> Thanks and best regards!
>
> Rico.
And the good old standbys Fortran 95/2003 and REXX.

--

Gary Scott
mailto:garylscott@sbcglobal dot net

Fortran Library: http://www.fort...

Support the Original G95 Project: http://w...
-OR-
Support the GNU GFortran Project: http://gcc.gnu.org/fortran/...

If you want to do the impossible, don't hire an expert because he knows
it can't be done.

-- Henry Ford

George Neuner

12/28/2007 10:57:00 PM

0

On Fri, 28 Dec 2007 12:54:57 -0800, John Nagle <nagle@animats.com>
wrote:

> Actually, the ability to "fix a running program" [in Lisp] isn't
>that useful in real life. It's more cool than useful. Editing a
>program from a break was more important back when computers were slower
>and just rerunning from the beginning was expensive.

Speak for yourself.

The ability to patch a running program is very useful for certain
types of embedded applications. Not every program having high
availability requirements can be restarted quickly, or can be
implemented reasonably using multiple servers or processes to allow
rolling restarts.

I worked with real time programs that required external machinery to
operate and several minutes to reinitialize and recover from a cold
restart. Debugging non-trivial code changes could take hours or days
without the ability to hot patch and continue. I know not everyone
works in RT, but I can't possibly be alone in developing applications
that are hard to restart effectively.

That all said, online compilation such as in Lisp is only one of
several ways of replacing running code. Whether it is the best way is
open for debate.

George
--
for email reply remove "/" from address

Robert Uhl

12/28/2007 11:35:00 PM

0

Ken Tilton <kennytilton@optonline.net> writes:
>
>> Python, Haskell and Lisp.
>
> Python has the users and libs, but those things follow the langue du
> jour and Ruby has already eaten that lunch and Lisp is next, meanwhile
> Python is rather lame when it gets to metaprogramming and other powerful
> deals. Throw in the performance hit and it looks like a total loser. I
> would swap in Ruby for Python and restart the analysis.

Ruby makes Python look like C performance-wise, while retaining the
readability of Perl. Not perhaps my choice for a language.

I use Python at work and hack at home in Common Lisp; I'm hoping some
time next year to start doing some Lisp work at the office--we'll see
how that works out.

--
Robert Uhl <http://public.xdi.org...
Ash nazg durbatulûk, ash nazg gimbatul,
Ash nazg thrakatulûk agh burzum-ishi krimpatul.