3 ms·
Python, C, Javascript I am assuming you aren't talking about learning 3 new languages, but rather, 3 languages if you are to learn only 3. Python - A practica
by irahul 16y ago
Python, C, Javascript
I am assuming you aren't talking about learning 3 new languages, but rather, 3 languages if you are to learn only 3.
Python - A practical and elegant language. It supports both one-off, throw-away scripts and large applications. It has native libraries or bindings for majority of tasks. You can do procedural programming, object oriented programming, some FP, state machines....
Besides getting things done, it's a beautiful language for exploratory programming(IPython, concise language, slime...). It has some good meta-programming and reflective features. A lot of literature is available on advanced python - I watched Alex Martelli's Google talk on design patterns and I whole heartedly recommend it.
The whole ecosystem:
* Superb documentation
* Backed by big companies
* Good tooling - sphinx, App Engine, pip, virtualenv
* Abundant, battle tested libraries
* Helpful community
makes it a good choice.
C - Insanely fast, lot of existing software and libraries written in it. Used for implementing high performance servers, used for browser, kernels... You can contribute to your favorite project viz. chromium(is actually c++), kernel, python, ruby; you can rewrite slow parts of your Python application in C.
People not conversant in C often say things pertaining to C being verbose. That's far from truth; C is in fact a very terse language. It's the standard library and lack of high level data structure that got it this incorrect reputation. The libraries might seem lacking but it's only the standard library that is small. Third party libraries are abundant and should be used, rather than reinventing the wheel.
Javascript - It would be a practical choice to complete the stack. Python/C for backend/desktop apps, Javascript for client side. With V8 and node.js, Javascript has sneaked in to the backend. Coffeescript takes out the ugliness out of Javascript, if the language quirks are bothering you.
Web is buzzing with activity now-a-days, and performant & conformant Javascript implementations has partly ridden the wave, partly triggered the wave.
If you are playing on web's playground, you should learn this language. If you aren't playing on the web, you should consider it. It's a lot of fun, and who knows, Google might acquire your startup for $ 6 billion. Even if you aren't after the money, the web is still a superb platform for getting your products out to a big audience. It's rewarding and a learning experience.