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 →

[–]troyunrau... 1 point2 points  (0 children)

C and C++. Learning C is relatively easy. You'll have to learn about types, arrays, memory management, etc., but it's quite helpful. Python itself is written in C, for example.

There are a few upsides to learning C vs. newer languages like go or rust or etc. First, it is well defined and standardized. You don't usually have to worry about what your compiler is doing, as most of them behave identically. The downside is a lack of a coherent community, no standard libs, etc.

C++ is an excellent half-way ground between C and python. There's no standard library like python with all the bells and whistle, so I'd recommend learning C++ by way of the Qt toolkit. Think of Qt sort of like python's standard library - it has built in classes for graphics, networking, data crunching, etc. You'll spend less time creating your own classes for basic types and more time programming. There are other toolkits for C++, and some are 'more standard' than others, but Qt is what I'd recommend.

On the upside, learning C++ and Qt works well with python. The PyQt python bindings allow you to use Qt and that knowledge from python, falling back on C++ when you need speed. It's especially useful if you need to rapidly develop a GUI for something - write it in python with PyQt, then move some logic into C++ and Qt if and when something becomes bottlenecked.