Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > Choosing a new language

Reply
Thread Tools

Choosing a new language

 
 
Rico Secada
Guest
Posts: n/a
 
      12-28-2007
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.
 
Reply With Quote
 
 
 
 
Joachim Durchholz
Guest
Posts: n/a
 
      12-28-2007
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
 
Reply With Quote
 
 
 
 
smallpond
Guest
Posts: n/a
 
      12-28-2007
On Dec 28, 12:15 pm, Joachim Durchholz <(E-Mail Removed)> wrote:
> : what kind of work do you do?
>


Trolling
 
Reply With Quote
 
John Nagle
Guest
Posts: n/a
 
      12-28-2007
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
 
Reply With Quote
 
Gary Scott
Guest
Posts: n/a
 
      12-28-2007
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.fortranlib.com

Support the Original G95 Project: http://www.g95.org
-OR-
Support the GNU GFortran Project: http://gcc.gnu.org/fortran/index.html

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

-- Henry Ford
 
Reply With Quote
 
George Neuner
Guest
Posts: n/a
 
      12-28-2007
On Fri, 28 Dec 2007 12:54:57 -0800, John Nagle <(E-Mail Removed)>
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
 
Reply With Quote
 
george.priv@gmail.com
Guest
Posts: n/a
 
      12-29-2007
On Dec 28, 10:23 am, Rico Secada <(E-Mail Removed)> 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.


Can't say much about others but my experience with C, C++ (20 years),
C# and Ada so far:

C is too primitive, too much labor. I use C only on embedded platforms
with limited availability of other languages.
C++ for the years of use I have identified the following trouble
spots:
- Templates not always instantiate the way you think they should
- Lack of typing restrictions: typedef is a bad joke
- #define/ #ifdef should not be part of any high level language
- no support for concurrency even simple threads

C#/Java are pretty good except for reliance on garbage collection.
Try the application that goes through 10Mb per second data crunch and
witness the hick ups.

Ada: in my first project. To summarize experience so far
- More complex takes longer to learn
- Takes some paradigm shift from pointers, callbacks to tasks/
message/rendezvous mentality
- Some keywords seem to be redundant
- Takes more time to think through data structures, interfaces and
tasks
- That can in turn result in better code
- Anything having to do with life safety better be coded in Ada

George


 
Reply With Quote
 
byte8bits@gmail.com
Guest
Posts: n/a
 
      12-29-2007
On Dec 28, 10:23 am, Rico Secada <(E-Mail Removed)> wrote:

> 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...


Python and Ruby. They are the future of programming and are here and
useful today. Both excellent languages... similar yet different. I use
both for general purpose programming (I do not do Web development
mostly systems programming). You can do things in minutes with them
that would take days in Java or C++. You can write very portable code
in either language (Windows, Linux, BSD, Mac, Solaris, etc.)

Ada is airline/dod blessed. Hardly used elsewhere. Best of luck in
finding skilled, affordable Ada programmers outside of major cities.
The others you mentioned are research projects of math and CS (applied
math professors)... and are not generally applicable to real-world
problems. Interesting projects though.

Best of luck,
Brad



 
Reply With Quote
 
Joachim Durchholz
Guest
Posts: n/a
 
      12-29-2007
George Neuner schrieb:
> I know not everyone
> works in RT, but I can't possibly be alone in developing applications
> that are hard to restart effectively.


Indeed. An additional case is interactive applications where setting up
the situation to be tested requires several time-consuming steps.

Regards,
Jo
 
Reply With Quote
 
Paul Rubin
Guest
Posts: n/a
 
      12-29-2007
Joachim Durchholz <(E-Mail Removed)> writes:
> Indeed. An additional case is interactive applications where setting
> up the situation to be tested requires several time-consuming steps.


At least for web development, there are a lot of automated tools that
mimic user input, just for this purpose.
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Another crazy new language effort - Language #42 xyzzybill@gmail.com C Programming 28 02-01-2009 11:46 AM
Choosing a scripting language for scientific programming deltaquattro Ruby 14 11-24-2007 03:16 PM
Help Required for Choosing Programming Language ifti_crazy@yahoo.com Python 40 02-26-2007 10:56 AM
Looking for help in choosing a new printer kasterborus@yahoo.com Digital Photography 3 02-04-2005 03:34 PM
Choosing between new or malloc Henrik J C++ 5 11-12-2003 01:49 PM



Advertisments