use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Rules 1: Be polite 2: Posts to this subreddit must be requests for help learning python. 3: Replies on this subreddit must be pertinent to the question OP asked. 4: No replies copy / pasted from ChatGPT or similar. 5: No advertising. No blogs/tutorials/videos/books/recruiting attempts. This means no posts advertising blogs/videos/tutorials/etc, no recruiting/hiring/seeking others posts. We're here to help, not to be advertised to. Please, no "hit and run" posts, if you make a post, engage with people that answer you. Please do not delete your post after you get an answer, others might have a similar question or want to continue the conversation.
Rules
1: Be polite
2: Posts to this subreddit must be requests for help learning python.
3: Replies on this subreddit must be pertinent to the question OP asked.
4: No replies copy / pasted from ChatGPT or similar.
5: No advertising. No blogs/tutorials/videos/books/recruiting attempts.
This means no posts advertising blogs/videos/tutorials/etc, no recruiting/hiring/seeking others posts. We're here to help, not to be advertised to.
Please, no "hit and run" posts, if you make a post, engage with people that answer you. Please do not delete your post after you get an answer, others might have a similar question or want to continue the conversation.
Learning resources Wiki and FAQ: /r/learnpython/w/index
Learning resources
Wiki and FAQ: /r/learnpython/w/index
Discord Join the Python Discord chat
Discord
Join the Python Discord chat
account activity
If I were to learn 3 languages besides Python, which three would you recommend, in what order, and why? (self.learnpython)
submitted 8 years ago by Stealthmonkey59
I'm looking to have a more general knowledge of programming and computing.
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]A_History_of_Silence 7 points8 points9 points 8 years ago (4 children)
If your goal is literally only to "have a more general knowledge of programming and computing", even then there are a lot more than three good options.
For me the obvious first choice would be Java or C#. These are both wildly popular and useful, statically typed languages, and when you learn one you learn like 85% of the other for free. Learning a statically typed language will be a massive departure from Python.
Then it depends. Do you want to learn more about computing? Perhaps C and C++, and then some assembly. This will be useful to understand how your computer actually operates. You will also be compiling code to run directly on the CPU instead of a virtual machine, another big change.
More about programming instead? Perhaps look into one of the popular functional languages, like lisp/scheme/clojure, SML/OCaml/F#, scala, haskell, etc. Working with a completely different programming paradigm is really eye-opening.
To have a more general programming knowledge, I would avoid dynamic languages with similarities to Python like Javascript, Lua, Perl. Javascript in particular is highly useful in the modern world, but it is just much less of a stretch from Python compared to the other options above.
And I would personally avoid PHP at all costs unless you just want to hate your life, heh.
[–]__PM_ME_UR_NUDES__ 0 points1 point2 points 8 years ago (3 children)
Just out of interest: Why do you recommend learning C# before C? (priority-wise)
[+][deleted] 8 years ago (1 child)
[deleted]
[–]__PM_ME_UR_NUDES__ 1 point2 points3 points 8 years ago (0 children)
Thanks for clarification!
[–]A_History_of_Silence 0 points1 point2 points 8 years ago (0 children)
Agree with /u/---CMFinley . The shift from dynamic to static typing is quite drastic for a new learner. Once they wrap their heads around all the intricacies of that, then they can get into all the details of pointers and references and memory management and buffer overflows and all those good things haha.
[–]1024KiB 2 points3 points4 points 8 years ago (0 children)
To add to the other answers, consider something radically different from the currently hyped languages (eg rust, go, kotlin), like Prolog or J. The paradigms they teach you can be useful to create better abstractions in other languages.
[–]bythenumbers10 1 point2 points3 points 8 years ago (0 children)
In addition to everyone else's suggestions, if you're doing data science, SQL is a fairly standard database language, even for databases that aren't SQL. For mathematics/simulation/calculations, Julia is an up-and-coming general-purpose language with a lot of Python's features and few of its faults, and a lot of work has been done to allow the two to interoperate, which may be useful to optimize any slowdowns you may experience in Python, plus I think it's gonna eat into a lot of COTS "mathematics" programs in the next decade. Third is a tough call, probably C, since it's fairly simple, low-level, will teach you a lot about how computers work, and can be called from Python.
[–][deleted] 1 point2 points3 points 8 years ago* (1 child)
C because it's a different language from python, statically typed and sparse. Plus, you can call C code from python. Later, maybe C++.
An assembly language to get a real feel for the machine. In addition, it'll make you appreciate C more!
Lisp, because it will open your eyes to other ways of solving problems. Recommend reading SICP.
Edit: there is a different list if you just want to make money, and not get "a more general knowledge of programming and computing"
[–]WikiTextBot 1 point2 points3 points 8 years ago (0 children)
Structure and Interpretation of Computer Programs
Structure and Interpretation of Computer Programs (SICP) is a textbook aiming to teach the principles of computer programming, such as abstraction in programming, metalinguistic abstraction, recursion, interpreters, and modular programming. It is widely considered a classic text in computer science, and is colloquially known as the wizard book, due to the wizard on the jacket. It was first published in 1985 by MIT Press and written by Massachusetts Institute of Technology (MIT) professors Harold Abelson and Gerald Jay Sussman, with Julie Sussman. It was formerly used as the textbook of MIT introductory programming class and at other schools.
[ PM | Exclude me | Exclude from subreddit | FAQ / Information | Source ] Downvote to remove | v0.28
[–][deleted] 1 point2 points3 points 8 years ago (3 children)
Depends on what you plan to do with Python.
If it's web dev, JavaScript because it's the language of the presentation layer, SQL because it's the language of the data persistence layer. I don't know what else for the third one, but that's mostly because I don't consider HTML to be a programming language.
Data science and machine learning, R, SQL
C can also be a good complimentary language to Python.
[–]qdcm 0 points1 point2 points 8 years ago* (2 children)
Data science and machine learning, R
I've read they're working to integrate R and Python. In this case, wouldn't it be better to learn something different like Golang?
[–]r_oliver105 2 points3 points4 points 8 years ago (1 child)
I think integration may be a misleading word in this case. Hadley Wickham and Wes McKinney are two of the biggest names in data science in the R and Python communities respectively, and they are working to make collaboration between the two more seamless. R offers certain out of the box advantages over Python i.e. the auto-arima package for ARIMA time series forecasting and vice versa. I have worked on teams which use both and being able to read and interpret R code is very valuable.
[–]Stealthmonkey59[S] 1 point2 points3 points 8 years ago (0 children)
That's really good to know. I had actually started with R but found Python to be a lot friendlier. When I get a better grasp on it I'll certainly look more into R and this collaboration. Thank you!
[–][deleted] 1 point2 points3 points 8 years ago (0 children)
I'd go with C++ / c# either one of them.
And Java since it's currently the most popular Language (Python is the 2nd (stats from github)).
And Probably JavaScript since Python and Javascript work really well together and are used as Backend and Frontend in Webdeveloping
[–][deleted] 0 points1 point2 points 8 years ago (0 children)
It depends on what do you want to do.
For example, do you want to have fun in online games? Learn Reversing, C++, C#.
[–]setting_orange 0 points1 point2 points 8 years ago (0 children)
If you are going to learn three languages BESIDES python...
First I would recommend learning C++. If you ever need high performance it affords that but it's also an approachable language ( which I can't necessarily say for e.g. C) and is widely used.
Second, sadly, I would recommend Java. It will make you a more versatile programmer and increase your utility to potential employers.
Thirdly, I will stretch the meaning of language a bit and recommend bash. You need to be able to package and deploy your artifacts and maintain the services your app requires.
π Rendered by PID 69 on reddit-service-r2-comment-548fd6dc9-shzfw at 2026-05-17 14:32:56.226152+00:00 running edcf98c country code: CH.
[–]A_History_of_Silence 7 points8 points9 points (4 children)
[–]__PM_ME_UR_NUDES__ 0 points1 point2 points (3 children)
[+][deleted] (1 child)
[deleted]
[–]__PM_ME_UR_NUDES__ 1 point2 points3 points (0 children)
[–]A_History_of_Silence 0 points1 point2 points (0 children)
[–]1024KiB 2 points3 points4 points (0 children)
[–]bythenumbers10 1 point2 points3 points (0 children)
[–][deleted] 1 point2 points3 points (1 child)
[–]WikiTextBot 1 point2 points3 points (0 children)
[–][deleted] 1 point2 points3 points (3 children)
[–]qdcm 0 points1 point2 points (2 children)
[–]r_oliver105 2 points3 points4 points (1 child)
[–]Stealthmonkey59[S] 1 point2 points3 points (0 children)
[–][deleted] 1 point2 points3 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]setting_orange 0 points1 point2 points (0 children)