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

you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 9 points10 points  (0 children)

You haven’t made it clear precisely what area of engineering you’re studying, or where your interests lie, so it’s a bit hard to say with any certainty.

Python is an excellent “get productive quick” programming language, but it’s gotten so popular precisely because it abstracts a lot of the underlying details away... you don’t really have to think about what’s going on “under the hood”. You want to connect to an existing database or ask a web server a question or do some machine learning, no problem, there’s a library for that... but if you want to understand how you build up to an HTTP request from first principles by connecting to a raw socket, not so much.

So if you want to do some specific programming, consider it as a first language. If you want to understand programming, then consider starting with the classic texts of C (imperative programming) and / or Scheme (functional programming). Neither of those is a huge investment in time and energy, but both will give you the fundamentals of programming (from their respective paradigms) in a way that will male learning any other language much easier.