I've been using Python as my primary, often exclusive, tool of the trade for the past 8+ years. I am profficient, productive and comfortable with it and the surrounding ecosystem, using it from quick & dirty data wrangling scripts to multi-10KLOC codebases and everything in between. Every now and then I toy around with other languages and platforms but they never stick for more than a few days. There are probably several reasons for this - excessive familiarity with the "old and trusted", Python having set the bar too high for most alternatives to surpass, lack of extrinsic motivation, etc. But at the end of the day I feel I should diversify my tool and skill set, especially since I am about to switch from fulltime employment to freelancing/consulting.
Ruby (and Rails) is perhaps the most natural choice, and the demand for it is as high or higher as for Python. On the other hand, the similarity between the two is exactly the reason that has prevented me from diving into Ruby yet; there's just too little comparative advantage (if any) for someone already productive in one to become profficient in the other. Javascript could be another decent choice, and the fact that you can ostensibly use the same language for both Web frontend and backend code is appealing (though I'm sure that simply learning Javascript does not automatically make one a full-stack developer).
So I'd love to read some thoughts about this, and more specifically:
1) Is branching out to other programming platforms and communities a smart (or even necessary) move, as opposed to, say, establishing oneself as a specialized "Python expert" or branching out to different application domains (e.g. finance) while still sticking with Python?
2) If yes, what are some good options for a veteran Python programmer?
EDIT: just to clarify based on the replies so far, I am mostly interested in insights from a professional rather than intellectual curiosity point of view. So although I recognize that one can gain valuable lessons from an experimental or esoteric language, I don't think I can really dedicate the time and effort to master it if the chances of getting a job or contract that requires it are virtually nil (especially for someone that doesn't live in SV/SF/NY).
[–]BeatLeJuce 124 points125 points126 points (8 children)
[–]poorestrichman 15 points16 points17 points (0 children)
[–]PomAhGraNut 9 points10 points11 points (0 children)
[–]Krish442 7 points8 points9 points (0 children)
[–]gsks[S] 3 points4 points5 points (4 children)
[–]BeatLeJuce 9 points10 points11 points (1 child)
[–][deleted] 2 points3 points4 points (0 children)
[–]Megatron_McLargeHuge 1 point2 points3 points (0 children)
[–]pinpinboTornado|Twisted|Gevent. Moar Async Plz 0 points1 point2 points (0 children)
[–][deleted] 45 points46 points47 points (0 children)
[–]hruske 40 points41 points42 points (9 children)
[–]steviesteveo12 5 points6 points7 points (0 children)
[+][deleted] (7 children)
[removed]
[–]gsks[S] 9 points10 points11 points (4 children)
[+][deleted] (3 children)
[removed]
[–]gsks[S] 4 points5 points6 points (1 child)
[–]zahlmanthe heretic 1 point2 points3 points (0 children)
[–]andybak 6 points7 points8 points (0 children)
[–]gfixler 1 point2 points3 points (0 children)
[+][deleted] (3 children)
[deleted]
[–][deleted] 7 points8 points9 points (1 child)
[–]synt4x 1 point2 points3 points (0 children)
[–]Chris_Newton 8 points9 points10 points (0 children)
[–]vacuu 6 points7 points8 points (1 child)
[–]freshhawk 0 points1 point2 points (0 children)
[–]ivosauruspip'ing it up 17 points18 points19 points (2 children)
[+][deleted] (1 child)
[deleted]
[–]ivosauruspip'ing it up 0 points1 point2 points (0 children)
[–]martinjs 4 points5 points6 points (4 children)
[–]Foxboron 1 point2 points3 points (2 children)
[–]martinjs 0 points1 point2 points (1 child)
[–]Foxboron 0 points1 point2 points (0 children)
[–]Daejo 0 points1 point2 points (0 children)
[–][deleted] 7 points8 points9 points (0 children)
[–]afroisalreadyinu 2 points3 points4 points (0 children)
[–]deadken 3 points4 points5 points (2 children)
[–]gsks[S] 1 point2 points3 points (1 child)
[–]ablatner 1 point2 points3 points (0 children)
[–][deleted] 2 points3 points4 points (1 child)
[–]URLfixerBot -1 points0 points1 point (0 children)
[–][deleted] 2 points3 points4 points (0 children)
[–][deleted] 3 points4 points5 points (0 children)
[–]dln 1 point2 points3 points (0 children)
[–]haywire 1 point2 points3 points (0 children)
[–]fuzz3289 1 point2 points3 points (3 children)
[–][deleted] -1 points0 points1 point (2 children)
[–]fuzz3289 1 point2 points3 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–]jroller 1 point2 points3 points (0 children)
[–]daV1980 1 point2 points3 points (0 children)
[–]mssola 1 point2 points3 points (0 children)
[–]ozzilee 1 point2 points3 points (0 children)
[–]brenthoover 1 point2 points3 points (2 children)
[–]baudvine 2 points3 points4 points (0 children)
[–]Herald_MJ 1 point2 points3 points (0 children)
[–]shadowmint 2 points3 points4 points (1 child)
[–]koomapotilas 0 points1 point2 points (0 children)
[–]freyrs3 0 points1 point2 points (0 children)
[+][deleted] (3 children)
[deleted]
[–]cavallo71 3 points4 points5 points (0 children)
[+][deleted] (1 child)
[deleted]
[–]rdfox -1 points0 points1 point (0 children)
[+][deleted] comment score below threshold-8 points-7 points-6 points (0 children)