views:

139

answers:

3

This is a subjective question just to get a general impression. As Java is the most popular programming language right now it is used as a benchmark.

Lets say I have to spend T amount of time/effort to learn/master Java. By what factor should I multiply T to get a time/effort needed to learn/master other language instead, say C, C++, C#, python, perl, Lisp, Haskel, PHP?

My guess is:

0.5T PHP
0.9T python
1.1T C#
2.0T C++
3.0T C

What do you think?

+1  A: 

This is so subjective that it cannot be answered. It totally depends on what you need to do with the language.

Emil Vikström
So, why did you answer it?
Andreas Rejbrand
Rep whoring. I do it too on occasion. :)
cHao
Hoping to get some easy reputation :)
Erick Robertson
Or, maybe he's out to ruin other peoples reputation. For example, whoever just downvoted him lost **one whole point**!
Stephen
+5  A: 

Personally, I'd suggest Brainfuck. It's my favourite language for beginners. Don't worry, the name is joke!

Stephen
(Btw, thanks to whoever downvoted me. I had 1412 rep because of a question of mine that someone answered, and the not-divisible-by-5 nature of my rep was starting to annoy me...)
Stephen
+1. I highly recommend this language for beginners as well. It has few keywords to memorize, and you don't have to deal with advanced concepts like pointers, OOP etc that are built into some of the less beginner-friendly languages like C++ or Java.
Cam
@Stephen, you should only go for prime numbers for rep.
Thorbjørn Ravn Andersen
@Thorbjørn Ravn Andersen, Brilliant idea! Unfortunately, the next prime number is 4 away... 1549 is prime though, and thats 42 away. I can do that. Accept my one unaccepted question, and get 4 more upvotes... Plus, I mean, 42. Awesome.
Stephen
@Stephen, that's easy. Get upvotes, and then downvote others (-1) until you have reached full primality.
Thorbjørn Ravn Andersen
+2  A: 

Dartmouth BASIC was designed to be easy to learn and easy to use. For what it did, it was a howling success on both counts.

MIT used Scheme (dialect of LISP) in course 6.001 for many years, and concluded that it was a lot easier to learn, at least initially, because there was essentially no syntax to trip students up.

Back in the late Steam Era, when mainframe dinosaurs still ruled the Earth, the UT Austin Computer Science Department did side-by-side tests, teaching FORTRAN to some of the freshman and PASCAL to others. Their conclusion was that PASCAL's pickier syntax was INITIALLY harder to learn, but the PASCAL students consistently spent less computer time, and less runs (batch processing, punched cards), getting their homework running, even though their homework assignments were typically harder.

C and C++ have very, very similar core languages. 90% of the code you write will be identical in all four languages, after allowing for personal taste in design and naming conventions. C doesn't really have anything above the core language, while C++ adds classes and templates. I'm not familiar with C# or Java, beyond a rudimentary feeling that they both started with C and went from there.

Ada was, in my personal experience, not difficult to learn, and the compilers were picky enough that syntactically-correct code generally worked as intended on the first try. Other people have also noticed that property of Ada.

John R. Strohm
Mainframe dinosaurs still rules the Earth. Just ask your bank.
Thorbjørn Ravn Andersen