Best Programming Language

What do you think the best programming language is?
If you choose a specific language, please do mention the reasons!(example: career/job wise, easy to learn, easy to code etc.)

asked 02 Mar '12, 14:44

ilikeudacity-2's gravatar image

ilikeudacity-2
71731829
accept rate: 76%


25 Answers:

123next »

It depends on what you are trying to do, and what language(s) you already know. I will try to provide some specifics. General web or application development, Java and C# are pretty good, that they have some powerful constructs (classes, interfaces, a variety of loops, switch/case (effectively a set of if elif elif ... else statements)), but have some safeguards against programmer mistakes.
Fortran and Basic have constructs that can be mis-used to make code that is very difficult to maintain, particularly the goto statement, and lack some of the powerful constructs. I would not recommend unless you have to work with existing code in one of these.
C and C++ require the programmer to allocate and free memory for any variable not a basic type, which leads to much code just to take care of that. They also have no bounds checking when accessing memory, which can lead to unreproducible problems, even in other apps, or the OS. For a few things like device drivers (e.g., some code to make your printer work with Windows) or perhaps some time-critical code, this might be the best choice, but avoid otherwise.
Python seems to be missing some of the constructs available in C#/Java, but it seems to manage the memory for variables as C/C++ do not. I am still learning how to use, so there may be other advantages.
My apologies if I did not include your favorite: these are the ones I have experience with.

link

answered 02 Mar '12, 15:21

LesC's gravatar image

LesC
13314

10

All programming languages are terrible. All code is ugly.

The best programming language hasn't been invented yet - it's the one where I don't have to type anything and the computer does exactly what I want.

Every programming language until then is an incremental step towards that goal - making it easier for me, the programmer, to get what I want, and harder to shoot myself in the foot.

That said, I like Lisp, Python, and semicolonless JavaScript.

link

answered 02 Mar '12, 15:31

Thom%20Blake's gravatar image

Thom Blake
4.4k104681

There is such a thing as semicolonless JavaScript? That sounds very pleasant indeed!

(02 Mar '12, 20:33) Joel Joel's gravatar image
1

@Eternal_Decree It's just a coding style. JS can be written almost entirely without semicolons. You need to know what you're doing, but not actually any more than you need to know what you're doing to use unnecessary semicolons in JS. You just need to prefix a line with a semicolon if it begins with [, (, or a unary operator, and know what "restricted production" means from the spec.

The semicolon in JavaScript is a statement separator like in Python rather than a statement terminator like in C.

And it works even better along with the comma-first style.

(03 Mar '12, 22:38) Thom Blake Thom%20Blake's gravatar image
1

I'm completely in love with Lisp <3

(14 Mar '12, 21:55) Andres Garci... Andres%20Garcia%20Saravia%20Ortiz%20M.'s gravatar image
1

For javascript that is very similar to python (no semicolons, among other improvements), see http://coffeescript.org/

(14 Mar '12, 22:31) Mark Simpson ♦ Mark%20Simpson's gravatar image

This is my real answer to the OP's question. My other "answer," about my interview, was for comedy relief, yet it also made a point.

That point may be lost on some. If you read that, and you're sympathetic to the interviewer, just wondering, "So which one is best? Just give up the answer already!" ... then you definitely missed the point.

Let me try this way. Chuck Yeager is a very famous American pilot. He was the first person to fly faster than the speed of sound, among many other accomplishments. He was one of the main figures portrayed in the book and movie, "The Right Stuff." He's a legend as a great pilot.

Well into middle age, he was still flying practice dogfights with top, younger pilots in the Air Force. But he didn't fly the latest, greatest, most advanced fighter jets for that, like the young ones. No, he flew Air National Guard planes, which were older generation, less advanced, and considered obsolete. On paper, the newer planes were invincible to the older planes of lesser capability. Nevertheless, Yeager routinely and consistently beat the young pilots.

The experienced pilot in the old plane always "waxed the tail" of the young pilots in the newest planes.

It's the same with programming. The programmer is MUCH more important than the language. An experienced, top programmer using old, "obsolete" tools and languages will run rings around many younger ones sporting the latest, trendiest, supposedly most advanced language.

I have personally seen this. In real life. It's a fact. Believe it or not.

So why does this infernal question, "what's the best language," keep coming up, over and over and over? Ever since the second language was invented, and there was a choice to make, programmers have been asking this question.

Why keep asking, if it's not that important? I think there are two reasons: 1. The mistaken belief that the question is answerable, like a multiple-choice test (it isn't), and 2. Insecurity. The insecure programmer, whether student or professional, seeks the easy way out, the magic silver bullet, that will guarantee good grades or job offers or career advancement, without a lot of effort. Those with experience eventually get over both errors. Experience, as I mean it here, is not a function of years or age, but of challenges encountered and knocked down.

At least, that's my theory. I may be wrong. However, that theory has consequences. For one thing, when I hear a programmer getting hung up on this age-old question, trying to find "the" answer, that's a huge, flashing neon sign to me, saying "inexperienced." And that affects decisions I make.

I'm going to let go a big, big secret here. As someone who has interviewed and hired programmers, I myself have been the interviewer asking, "What do you think the best programming language is?" Those who have a quick answer, and can explain in detail why their answer is correct .... are wrong, and are not hired. I'm looking for people who understand the fallacy of the question, and can explain THAT point.

By the way, Chuck Yeager is said to be able to fly any plane ever made. Programmers should aspire to the same -- to be able to use ANY language necessary. That's why I'm older, with numerous languages under my belt (more assembly languages than I care to remember!), yet here I am, in a so-called beginner's class, to learn Python, and find out what else is new .... or what's old that I've forgotten!

I've been in this conversation face-to-face with aspiring programmers, so I know EXACTLY how some of you will react. You think I'm an arrogant old so-and-so, and you're much smarter than me, what do I know, etc. You will blow off what I just said.

But, again, experience is not about age. A 20 year old may have figured it out, while some retiring programmers never do. I just gifted you with something: the closest you'll get to that magic bullet you're looking for, and that's the truth. You just want to know what the best language is, so you can focus on that, and not waste time on everything else, and oh, what fools the rest of them are for not doing the same! But I'm here to say that entire concept is wrong from the start. The truth is, learn everything you can, never stop learning, and do the best you can with every assignment that comes your way. That's the magic secret.

There IS a related question that you should always ask, and answer. That is, "What's the best language (or development environment, or editor, or framework, or testing tool, or version control, ... etc.) for THIS particular problem, in THIS place, on THIS day, with THESE people, given THESE requirements?" That's always answerable (maybe not clearly, or unequivocally, but you can always answer it). And it's always part of your job, if you have any say in the matter. You always want to pick whatever helps you do the best job, keeping in mind costs such as learning time. Sometimes the right answer is to pick what you already know. But the answer always depends on the specifics of the situation. There is NO general answer!

Another related question is, "What's the best language to get a job?" That's a legitimate question, but not what I'm talking about here. That answer also depends on lots of variables, but it's a different question, different issue, and different possible answers.

I have a vested interest in getting my point across: it's really, REALLY hard to find genuinely good programmers. I wish there were more. If you're not already one, I wish that you WILL be!

link

answered 13 Apr '12, 22:29

Jeffrey%20P.%20Rice's gravatar image

Jeffrey P. Rice
2.0k113241

Very, very good. I applaud.

(14 Apr '12, 06:09) JohanG-Sweden JohanG-Sweden's gravatar image

@JohanG, thank you for your comment and graciously sharing extra points. I believe I will pass them on to others.

(14 Apr '12, 19:53) Jeffrey P. Rice Jeffrey%20P.%20Rice's gravatar image

According to Learn Python the Hard Way,

Which programming language you learn and use doesn't matter. Do not get sucked into the religion surrounding programming languages as that will only blind you to their true purpose of being your tool for doing interesting things.

link

answered 14 Mar '12, 22:10

Karthika%20Pai's gravatar image

Karthika Pai
566921

Lisp cycles

I just remembered this comic...

link

answered 13 Apr '12, 00:12

Andres%20Garcia%20Saravia%20Ortiz%20M.'s gravatar image

Andres Garci...
1.6k42061

There isn't one.

link

answered 02 Mar '12, 14:45

mhurron's gravatar image

mhurron
2.6k11135

Would you recommend BASIC?

(14 Mar '12, 22:06) Clatan Surgeon Clatan%20Surgeon's gravatar image

I vote for Common Lisp -- most powerful language on the planet.

link

answered 02 Mar '12, 21:05

Hsin-Hsiang%20Huang's gravatar image

Hsin-Hsiang ...
3762321

2

I'd drink to that! :-)

(15 Mar '12, 10:41) JohanG-Sweden JohanG-Sweden's gravatar image

I'd drink to that too. It's hard to learn but really rewarding and powerful.

(15 Mar '12, 12:37) Andres Garci... Andres%20Garcia%20Saravia%20Ortiz%20M.'s gravatar image

(best recollection of an interview from about 20 years ago)

INTERVIEWER: What's the best programming language?

ME: Um, uh, well, there isn't really any that's the best. It depends on the application, the team, all sorts of things. They all have pros and cons.

INTERVIEWER: Yeah, yeah .... but which one is best? Can't you be specific?

ME: Uhhhh ... well, C is good for lots of things. For example, a microcontroller running an appliance or something. But if you got a million lines of old code in COBOL, running some big business on a mainframe, then COBOL looks pretty good for that kind of work. But -- ha-ha! -- you wouldn't want to use COBOL on a microcontroller! (grinning)

INTERVIEWER: I hear ya. Yeah, COBOL sucks. So which one do you think is best?

ME: (several seconds of silence) ... Um ... well .... I guess ... what did you say your department was using? Pascal?

INTERVIEWER: Yeah, don't get cute. We already know Pascal is good, so don't say Pascal. What would YOU pick as the best one?

ME: Uh, I've used several. It usually depends on what's available and gets the job done. I did a thing in Fortran once for a civil engineering professor. Bunch of finite element analysis.

INTERVIEWER: Oh, OK ... Fortran (starts writing that down).

ME: No, I didn't mean Fortran is the best. It's what the guy wanted, and it was fine for the job, so I did it, and it worked.

INTERVIEWER: (frowning) It's not a hard question. Everybody I've ever interviewed answers it in 5 seconds flat.

ME: Uh .......

INTERVIEWER: (looking at my resume) I see you list BASIC. Several different things here .... is that your best language?

ME: I wouldn't call it the best language ... it had its uses. QuickBASIC was a pretty decent compiler, user-defined types and stuff ..... oh, uh, you mean, is it the one I know the best?

INTERVIEWER: (rolls eyes) Which language do YOU think is the BEST one, OK?

ME: Um, yeah, OK. (spin wheels for a few seconds) ... I would ask about the team background, the specs, what's already in use and what you got licenses for, what libraries are available, what else the system needs to interface with, then say, maybe C, or C++, or possibly Ada, or even one of the Lisps, but not rule out dBase or something if it's simple flat file stuff, ... maybe Visual Basic if it's only for Windows and is getting wide distribution but not much number-crunching.

INTERVIEWER: That's good, that's good. I see where you're coming from. Yeah, good. But which one is BEST?

ME: (completely exasperated, losing patience) Yeah, OK, I say APL.

INTERVIEWER: APL? Never heard of it. Why's that so good?

ME: Uh ... you can write any possible program in it, including any program written in any other language. It's been proven. And it requires special terminals with special keyboards, so it's really hard for anyone else to steal the code and figure it out.

INTERVIEWER: Huh. I'll bring that up at the next staff meeting. So I should write down APL?

ME: No, I meant ALGOL. It's the best. That's what I would use if I had no other languages to use.

INTERVIEWER: (he actually writes that down ... every word) OK, thank you for your time today. Make sure you drop off your visitor badge at the receptionist.

(Before anyone asks, no, it's not a true story; I completely made it up. Because junk like that NEVER happens in REAL LIFE!)

link

answered 13 Apr '12, 05:38

Jeffrey%20P.%20Rice's gravatar image

Jeffrey P. Rice
2.0k113241

I think this youtube clip from Star Trek 4 answers this question pretty well, and echos @thomasblake link text

link

answered 02 Mar '12, 20:37

ZZzz's gravatar image

ZZzz
1.0k41327

That is funny.

(03 Mar '12, 07:34) ilikeudacity-2 ilikeudacity-2's gravatar image

The best programming language is the programming language you know and have access to, at the time when you have a programming problem to solve.

Or LISP. But if you have no lisp on your machine, then the above.

No programming language is the best on solving every problem in every environment under every circumstance. Some languages are better than other languages under certain conditions, but none is the best in every condition.

Except possibly LISP.

link

answered 15 Mar '12, 10:45

JohanG-Sweden's gravatar image

JohanG-Sweden
9.4k1242100

This quote just made my day :D I absolutely love Lisp.

(15 Mar '12, 12:38) Andres Garci... Andres%20Garcia%20Saravia%20Ortiz%20M.'s gravatar image
Your answer
Question text:

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "Title")
  • image?![alt text](/path/img.jpg "Title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Tags:

×15,217
×217
×73

Asked: 02 Mar '12, 14:44

Seen: 1,571 times

Last updated: 15 Apr '12, 00:45