You shouldn't go with your mind set to "learn a programming language". A "programming language" is only an expression of the underlying art,
The art of computer programming, there even is a multi-volume book bearing that title. Programmers ought to dedicate their career to master this art. I recommend
Structure and Interpretation of Computer Programs. TAOCP is a legend, it's very lengthy but if you have enough time you can't afford to
not to read it.
Lisp is a family of programming languages which bear the essence of programming than have been lost in modern computer languages made for the computer pawns, the bottom 99 percentile which dare to call themselves a "programmer".
Scheme is probably the most elegant computer language, it is used in the SICP (The book linked above). Learning the proper use of Lisp is a unique enriching experience for the artist programmer, even if you are working with other computer languages. C does exactly what it's supposed to do and does it well. Unfortunately you will probably have to learn to find your way in
C++ if you plan to work on the Bitcoin reference implementation.
Programming languages should be designed not by piling feature on top of feature, but by removing the weaknesses and restrictions that make additional features appear necessary. Scheme demonstrates that a very small number of rules for forming expressions, with no restrictions on how they are composed, suffice to form a practical and efficient programming language that is flexible enough to support most of the major programming paradigms in use today.
In advance, the reply to
this is your biased point of view accusation is
Of course!. Pretending human recommendations or opinions aren't biased is naive. However, people honest with themselves and their fellows will try to make their opinions biased toward what's perceived by the former as good, right or better and I'm no exception.
Regards.
While there are a ton of languages out there, and I agree that a good solid programmer doesn't learn a language they learn how to program, every solid engineer gets their start in one language.
Myself, I lean towards C# and .NET, but I've messed around with PHP and Ruby. For web stuff, you might find PHP to be the most free. Its pretty powerful and quick. Some even say it can do anything, im still waiting for it to make me coffee in the morning but hey.
Find a language that you can get behind, learn the basics and then if you feel like moving on, explore a completely different language. PROLOG will blow you mind!