473,732 Members | 2,196 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Choosing a new language

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.
Dec 28 '07 #1
28 1912
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
Dec 28 '07 #2
On Dec 28, 12:15 pm, Joachim Durchholz <j...@durchholz .orgwrote:
: what kind of work do you do?
Trolling
Dec 28 '07 #3
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
Dec 28 '07 #4
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:garylsco tt@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
Dec 28 '07 #5
On Fri, 28 Dec 2007 12:54:57 -0800, John Nagle <na***@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
Dec 28 '07 #6
On Dec 28, 10:23 am, Rico Secada <coolz...@it.dk 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
Dec 29 '07 #7
On Dec 28, 10:23 am, Rico Secada <coolz...@it.dk 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

Dec 29 '07 #8
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
Dec 29 '07 #9
Joachim Durchholz <jo@durchholz.o rgwrites:
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.
Dec 29 '07 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

12
1942
by: Deke | last post by:
I will be embarking on a large web project. I am still researching as to which language use - PHP or Perl. Can someone clear up some of the bad publicity with PHP in the links below? They are very interestiing points. Are these points moot in PHP5? http://www.bitstorm.org/edwin/en/php-sucks/ http://www.ukuug.org/events/linux2002/papers/html/php/index.html http://www.webkreator.com/php/community/php-love-and-hate.html
42
4101
by: Fred Ma | last post by:
Hello, This is not a troll posting, and I've refrained from asking because I've seen similar threads get all nitter-nattery. But I really want to make a decision on how best to invest my time. I'm not interested on which language is better in *general*, just for my purpose. My area of research is in CAD algorithms, and I'm sensing the need to resort to something more expedient than C++, bash scripting, or sed scripting.
22
3391
by: Vincent | last post by:
I would like to develop a site that should be available in several languages, say English, French and German. My question is: how can I suggest browsers of visitors to display the correct language depending on their preferences ? Let me explain this more clearly: in many browsers, you are given the possibility to choose your preferred language: fr, en, de, etc. Typically, in Mozilla, this option is detailed as follows: "Web pages are...
15
4298
by: Birahim FALL | last post by:
Hi, I'm very fresh to PostgreSQL, coming from Oracle. I want to developp web applications based on apache and postgresql. Is there an equivalent of OWA server (Oracle Web Application server) for postgresql. Shortly, OWA provides an apache module and a set of stored procedures/functions that generate html pages. A simple example could be the following procedure :
18
1342
by: murl | last post by:
I currently am programming apps using the vb.net language and haven't seen to many problems with it, since migrating from vb6. I love the enviornment, and the ease of use but wonder could my apps be better in c#? I have studied vb6, vb.net, and c++, and am currently learning alot about c#, and will be doing quite a few more applications in the future. Technically i could learn any programming language and stick with it, but is that one the...
10
1273
by: verukins | last post by:
Hi, Im a sysadmin/consultant around the microsoft suite of server products and do quite a bit of vbscripting to manipulate AD/Exchange. I'd like to start doing a little more, specifically turning the concept of my scripts into "richer" programs with a full GUI, database connectivity etc, rather than just a rag tag bunch of scripts. Im leaning towards a dotnet language, as all my programs will only be for windows machines any my...
38
2674
by: ifti_crazy | last post by:
I am VB6 programmer and wants to start new programming language but i am unable to deciced. i have read about Python, Ruby and Visual C++. but i want to go through with GUI based programming language like VB.net so will you please guide me which GUI based language has worth with complete OOPS Characteristics will wait for the answer
2
1149
by: | last post by:
The choice is made. The school where I teach has finally made its decision to teach Python first. For several years, we have been teaching Java first, and before that, C++. I introduced Python in one of my courses and got a lot of flak from some of the other faculty. I also introduced Ruby, and got even more flak. In my course, the students loved Python for its simplicity, its power, and its flexibility. It is clear that...
36
2585
by: Pat | last post by:
Hi, I've run into a strange problem, but one that seems like it might be fairly common. I have a single base class, from which several other classes are derived. To keep the example simple, the base class is "Animal" and the derived classes are "Cat," "Dog," and "Horse." The base class has a pure virtual method:
0
8946
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
8774
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
9447
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
8186
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
6735
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
6031
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
4809
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
3261
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
2721
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.