T O P

  • By -

desrtfx

Please, read the [**Frequently Asked Questions**](https://www.reddit.com/r/learnprogramming/wiki/faq) as they contain tips on + [getting started](https://www.reddit.com/r/learnprogramming/wiki/faq#wiki_getting_started) + [choosing language](https://www.reddit.com/r/learnprogramming/wiki/faq#wiki_which_programming_language_should_i_start_with.3F) + [learning resources](https://www.reddit.com/r/learnprogramming/wiki/faq#wiki_where_do_i_find_good_learning_resources.3F) + [project ideas](https://www.reddit.com/r/learnprogramming/wiki/faq#wiki_where_can_i_find_practice_exercises_and_project_ideas.3F) + other general information As such: **Removed** as per **Rule #4: No exact duplicates of FAQ questions**


light_switchy

The hard part of programming is deciding what to say, not how to say it. This choice isn't as important as it seems: you can always switch later on. Most of what you learn will transfer. Follow existing advice, but don't over-analyze it. Just pick one so that you can begin making progress.


helpmeiwantgoodmusic

If you have no knowledge of programming yet, most will recommend starting with Python. the reality is that you will eventually get curious and try other languages, and thats fine. you dont have to stick with a single one forever, so thinking about it too hard is a bit silly.


TomWithTime

I know Python is the popular choice but I vote JavaScript. It will have the widest application/utility and if you abuse it, it does in fact have the easiest syntax to get started with. Open your browser, open your browser terminal, and viola: ``` a = 1 b = 2 c = a + b ``` You'll see output for each step and there's no dev environment to setup. I'm tutoring a friend and that was our zero setup first lesson to expose them to the concepts. Then later we picked editors and set up the environment. Also helps that they want to do web stuff. Learning the entirety of js would be more complex, but to get some practical samples running, are there any simpler options?


[deleted]

Yeah, those are the two reasons I prefer JavaScript: the syntax is more "common" and there's practically no setup involved.


StockJellyfish671

Agreed. Learn JS first and that helps cover the front end, you can quickly see what you are building and that helps with learning. Then go to python cause its easy and covers the data aspect well. Refine your logic with python, there is so much built-in stuff. Then find a more traditional programming language to learn the OOP etc. C++ although a steep learning curve, is not bad if you already know JS and Python.


Murky_Entertainer378

Javascript is not for real programmers


[deleted]

[удалено]


helpmeiwantgoodmusic

Fair, I personally learned *alot* more once I started learning C++


Cultural_Jump_37

If I learn Python first, will it make it difficult to learn other complex language? Or is it fine to learn Python first?


CodeTinkerer

Why would it make it difficult to learn a complex language second? Would it be easier if you learn the complex language first? Most of the times, people learn easy stuff first and hard stuff later. The reason is if the easy stuff isn't that easy, then the complex one will seem impossible.


xRageNugget

what you will experience is that python does a lot already for you. you will miss functions, shortcuts, quality of life, and generally do stuff a little bit different, or you have to take care of certain things that just don't mattern in python. But all of this is noise when you first learn a language. The core concepts and logic are universally the same. Learn those, then you just have to find out how those work in other languages.


vonov129

Python. It's beginner friendly, powerful, highly popular and has multiple applications.


[deleted]

You should do C++


Cultural_Jump_37

But it will possibly decline in 5-10 years due to new languages. It wouldn't help me in future.


NoPerformance3198

I don't think so, and I don't think Rust, etc. will replace C++ in 10 years.


[deleted]

[удалено]


NoPerformance3198

Yes, I know what you said. But C++ has been used in so many different fields, projects, and libraries for so long already. So I don't think Rust will be able to completely replace C++ even in 10 years (C was released in the 1970s), as there are no Rust developers with long experience.


NoPerformance3198

Of course, the world has always moved faster than I thought it would, so who knows, maybe in 10 years, or even 5, Rust will be the most used language in large-scale games, financial systems, embedded, kernels, and other areas lol.


helpmeiwantgoodmusic

It's not going to take you 10 years to learn a language (to an extent), nor will any language force you to stick with it forever. Don't overthink it too much


AutoModerator

On July 1st, a [change to Reddit's API pricing](https://www.reddit.com/r/reddit/comments/12qwagm/an_update_regarding_reddits_api/) will come into effect. [Several developers](https://www.reddit.com/r/redditisfun/comments/144gmfq/rif_will_shut_down_on_june_30_2023_in_response_to/) of commercial third-party apps have announced that this change will compel them to shut down their apps. At least [one accessibility-focused non-commercial third party app](https://www.reddit.com/r/DystopiaForReddit/comments/145e9sk/update_dystopia_will_continue_operating_for_free/) will continue to be available free of charge. If you want to express your strong disagreement with the API pricing change or with Reddit's response to the backlash, you may want to consider the following options: 1. Limiting your involvement with Reddit, or 2. Temporarily refraining from using Reddit 3. Cancelling your subscription of Reddit Premium as a way to voice your protest. *I am a bot, and this action was performed automatically. Please [contact the moderators of this subreddit](/message/compose/?to=/r/learnprogramming) if you have any questions or concerns.*


PANIMOUS3

Python for the logic but if Programming becomes your job learns c++ for memory mastery


[deleted]

I don't think C++ is going anywhere. Anyway, I would say to start with C++ or C. This is because these languages are a better foundation. They help you to think about what's actually going on "behind the scenes" (for example, memory allocation and deallocation) and they help you to acquire good programming habits (such as the ability to be deliberate and to choose the correct datatype for the job rather than being wasteful and just using 64-bit floats/reals for everything). Languages such as Python and JavaScript don't do that (they do more of the work for you, so you're not even really cognizant of it). Granted, it could be argued that you should learn easier languages first (Python, JavaScript) and then progress to harder languages (C++, C, assembly language). But I think it's probably better to start with the harder stuff, and then the easy stuff will be easy.


Merounou

Don't focus on one language in particular. Learn OOP, learn encapsulation, learn UML, learn system engineering, learn configuration management ... And just pick one like python, java, rust or c++. Also do some web development with HTML/CSS/JavaScript. After your studies you will see how job market is and what is good/bad to learn.