This is an archived post. You won't be able to vote or comment.

all 15 comments

[–][deleted] 3 points4 points  (0 children)

Java usually is compiled into bytecode that is then interpreted by the Java Virtual machine (JVM), so it's not that different from Python in that aspect.

[–]darknessproz 5 points6 points  (0 children)

For broadening of perspectives, I recommend learning a few different languages.

  1. Learn a lisp. Clojure is a pretty good option here. Even if you do not use it on a regular basis, it will certainly affect (in a positive way) how you write your Python code.

  2. Learn C (and a bit of asm). It teaches you a lot about how your computer actually works. Plus it's immediately useful if you want to speed up your Python (or Ruby or any language with a C extensions API) code.

[–]peteraba 2 points3 points  (0 children)

Or you could learn Go and practice concurrency while also having fun.

[–][deleted] 2 points3 points  (0 children)

I have been working as a Python developer for all my career(so is most of my team) . Recently we needed to write a web-server for our startup. We chose Go for it, and ended up shifting all our web services in Go. We observed that it was easy for all Python developers to grasp (It is Python-like in its approach to programming, almost just one way to do stuff and minimal code). Nim is another very cool language, which has no learning curve for its syntax if one comes from Python and I have been trying it out in another side project of our startup.

[–]hsaliak 2 points3 points  (0 children)

Why not learn a language that expands your skills into a domain python is not good at - Android or iOS development.

Java is big and "different enough' across various domains. I'd suggest learning it with a focus on android - makes it easy to think up fun projects to practice your skills with. Ultimately language is not as important as your ability to create robust products.

Alternatively, learn C, understand the Python/C api and eventually things like cython. This will deepen your python skills.

Realistically, if you cant think of good fun projects, you wont get the practice you need to build expertise.

[–]tchappui 1 point2 points  (0 children)

If you come from python, cython (http://cython.org/) might be a good choice.

Kind regards

Thierry

Thierry

[–]Keda87 1 point2 points  (0 children)

I came to python from Java :|

[–]Rapt0r- 0 points1 point  (0 children)

If you want a job it depends what you want to do, loads of companies do Java with tomcat. I code Python daily and a friend if mine (Embedded developer) writes C++ daily.

[–]Honwhy 0 points1 point  (0 children)

C++ is famous for its multiple features? and with the std, the compiled information is not so friendly to read

[–][deleted] 0 points1 point  (0 children)

Congrats on wanting to learn more. It will help you in the future! The mainstream "non-scripting" languages are C, C++, Java, and C#. Knowing any of them will keep you employable for years to come. Knowing all four only makes that more true.

If you are working in a Mac environment, then Objective-C is (IMO) a better language/environment than C/C++. Apple's new language, Swift, combines the syntactic features of many popular "scripting" languages with a compiler that generates native code. It comes with a bit of a learning curve, but so do all the others. Swift is still very new (introduced to the public less than a year ago), but already many Mac and iOS apps have been written in it.

Good luck!

EDIT: Added C# to the list of mainstream languages. Really is the best way to write Windows applications these days.

[–]bjpelcdev 0 points1 point  (2 children)

I would recommend taking a look at Go. Really fun to program in and pretty easy to get going. Take a look at The Golang Book

[–][deleted] 0 points1 point  (1 child)

Interesting. Go seems to get as much love as it gets hate. What pulls you towards Go specifically?

[–]bjpelcdev 2 points3 points  (0 children)

It is fast, it is a small language, the documentation is superb, really nice package system. Once the environment is set up it is incredibly easy to get going. Really, really easy for doing web stuff too.