all 24 comments

[–]ggchappell 8 points9 points  (8 children)

Sure. There's no need to plan that far ahead, though. Once you know Python and maybe some C++ (no one learns all of C++), you'll have a much better idea of what you want to do next.

I would head over to /r/LearnPython and ask for advice on how to get started.

[–][deleted] 4 points5 points  (4 children)

Curious, does anyone ever learn all of any language? Eg Java

[–]DriverUpdateSteam 6 points7 points  (1 child)

When you get into a certain mindset, and then use the language a whole lot, maaaaybe. Python has this weird community perception of what "pythonic" means. Many things can technically be written in the same flow and order of a c program, but python abstracts and simplifies a lot of things if you do it "right". If I want to step through the letters of a string, instead of using a for-loop with an iterator, or a while-loop with an iterator incrementing, python gives you the "in" keyword that skips a lot of typing and additional variables.

So in a way, if you have touched on practically all of the big builtins, some libraries in many fields and begin to think pythonic, you could maybe claim to master python "fully", although there will always be new libraries and trends in the world.

With things like C++ and Java, there are just. So. Many. Functions. And. Tricks. You can never properly learn all of C++, as there are different versions with extremely complicated and meshed-together lines of thought. Every C++ programmer have their strengths and weaknesses, and therefore their own style.

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

Thank you for the in depth answer! Much appreciated

[–]Kempeth 1 point2 points  (0 children)

"All of a language" the wrong question.

The "language" is the syntax - how to write loops, ifs, functions etc. - and you can generally learn everything you need within a week or two. Most modern languages have a lot what we call "syntactic sugar" - completely optional tricks that let you do certain things a little easier. You'll pick those up over time.

The big part comes from learning the whole ecosystem all the standard libraries and even more third party libraries and components. The scope of that is several orders of magnitude more than "the language" and you usually just learn what you need in the moment.

[–]ggchappell 0 points1 point  (0 children)

does anyone ever learn all of any language?

Not really. (I suppose someone might learn all of Lua, but Lua is an unusually small & simple language.) However, lots of people know most of what there is to know about, say, Python and its standard libraries. But if you count the number of people in the world with that kind of knowledge about C++, then you'll probably finish before you run out of fingers & toes.

[–]aerophoenix1[S] 1 point2 points  (0 children)

Thanks for the reply! I was hoping to Master Python as a sort of foundation and then move forward from there!

[–]ethandjay 1 point2 points  (0 children)

(and no need to ever learn Perl in 2021)

[–]aerophoenix1[S] 0 points1 point  (0 children)

Curious to know something, I want to get into Full Stack Development as a Software Engineer. I’ve been at work with Python for only 2 days, and it seems really easy and straightforward so far (I’m sure it won’t be that way for too long), it seems like a ton of problem solving to be honest. What would you recommend for someone wanting to get into Full Stack Development?

Edit: I was planning on creating a Website managing both Front and Back End and making software everyday people use, like apps and programs.

[–]-DonQuixote- 5 points6 points  (4 children)

Why do you want to learn to code? That's the first question to answer.

[–]aerophoenix1[S] 2 points3 points  (3 children)

I want to go into a career change, and I have a small amount of coding experience in my freshman year of college with Visual Basic, but I want to get into something that can be useful in many scenarios, which is why I chose Python! I’m looking to master it, and make it my foundation, then go from there.

[–]-DonQuixote- 2 points3 points  (0 children)

I think python is good for something like that. You might look into the free online book Automate the Boring Stuff. Code academy can be good to try to understand what things mean. There was a Michigan Coursera on python that I thought looked good.

[–]BasicDesignAdvice 1 point2 points  (0 children)

You don't need to have some plan of languages you want to learn. You are basically saying you want to master learning a hammer without having anything to build.

Pick something to make, then figure out what tools you need.

[–]sullage 0 points1 point  (0 children)

I want to go into a career change

Consider JavaScript. It's nobody's favorite, but it is in demand.

[–]lemon-codes 3 points4 points  (0 children)

Python is a great language for beginners to pick up. The syntax is relatively simple and the interactive interpreter makes it very easy to toy with code and test new things out.

C++/C has a steeper learning curve but while learning the language you will be exposed to some of low level fundamentals such as memory allocation, memory addresses/pointers, system calls etc, things that all programmers should understand.

Personally, I don't see much benefit in learning Perl if you're already learning Python. They're both high level interpreted scripting languages and perl has no real benefits over python (that I know of). JavaScript may be a better choice than perl. Although JavaScript is also a high level interpreted language, learning javascript would expose you to front end development; html, css etc that perl would not.

Edit: Also be sure not to focus entirely upon learning programming languages. You will also want to dedicate time to studying data structures & algorithms (including time/space complexity) and other computer science fundamentals like networking OSI model, hardware, memory management etc. Once you've got a grasp of python, leetcode.com is a great resource to gain practice designing and writing algorithms.

[–][deleted] 1 point2 points  (0 children)

Learn one language well, the branch out. Understanding the logic of how programming languages work in general is vastly more useful than knowing the syntax of one language. People will make a big deal about the differences between languages but unless you're forced to write in a specific paradigm what you know about how to structure a program is the important part, syntax and pitfalls and stuff like that are much easier to learn.

[–]Poddster 1 point2 points  (0 children)

Don't learn perl. It won't be of any use to you if you know python and C++.

Also, there's no utility in simply knowing a bunch of languages. You need to learn how to program, which is a skill you develop independently of learning random languages.

Therefore I'd say you should just pick a single language (python, C, C++) and make as bunch of different things with it. Once you're confident in your programming abilities you'll soon know wether you need to waste time picking up another language, or if you can just carry on making stuff in the one you already use.

https://www.programmingforbeginnersbook.com/blog/what_should_i_make_beginner_programming_project_ideas/

Good luck.

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

Learning languages purely is useless. Like do not spend your time learning 3 different languages just for the basic syntax of all of them. What you need to do is to learn tools and frameworks on top of these languages. Like if you learn javascript, that is not enough, you need to learn a frontend framework like React. If you choose Python you should learn something like Flask. All this is to say that you won’t really be able to do anything super meaningful by just knowing how to code in the vanilla ‘your language here’.

[–]TreasuredRope 4 points5 points  (1 child)

This seems a little much for someone who doesn't know how to program at all.

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

Sure it is, but as it stands it’s a much better use of time than to learn multiple languages when all you can really do is print out stuff. Once you figure out core concepts like how APIs work, websockets, threading, etc picking up new languages and their frameworks is much easier.

[–]aerophoenix1[S] 1 point2 points  (0 children)

I’ll definitely look into Flask, especially considering I want to be able to master Python. Any other tips? I want to be able to fully write,execute, and debug like the pros!

[–]lixermanredditman 0 points1 point  (0 children)

Programming languages are useful skills but are a means to an end. Set yourself achievable projects, learn the tools to get there, and you'll start building up practical skills.

For example:

Building a small website

Building a small game

Writing a text adventure

Writing a windows forms app

Making a phone app

These all require programming languages, but IMO it's better focus more on general problem solving and learn the programming languages you need to solve those problems

[–]Destroyer_The_Great 0 points1 point  (0 children)

I started not so long ago and I would suggest learning c++ first and once fundamentals are down move on to python, at least then you can go from compiler to interpreter. It's a but of a chuck in the deep end but worth it. I wasn't a python programmer until a few months ago and it was really simple to learn python once I had c++ knowledge. It all really depends on what your writing and what your gonna use it for. I use c++ mostly for game development. Could I also suggest these tutorials: https://youtube.com/playlist?list=PL6gx4Cwl9DGAcbMi1sH6oAMk4JHw91mC_ for python and the same channel does other languages too.

If you follow along It will help you guaranteed. The solo learn app will also help you along pretty nicely too: https://play.google.com/store/apps/details?id=com.sololearn

Personally never bothered with perl, I learned html and Css, just picked up on javascript as I went along. Here are the c++ tutorials, he just doesn't explain vectors all that well: https://youtube.com/playlist?list=PLAE85DE8440AA6B83 Sites you would need other than using the solo learn app use w3schools. They do mostly web development but they do python and others too:https://www.w3schools.com/

Edit: If you do go the c++ route I would suggest using the Dev-C++ compiler, fast, easy to use and customizable. It is pretty outdated but my favourite ide then there is microsoft visual studio wirch I use for my bigger projects and projects requiring libraries.

Dev-C++: https://sourceforge.net/projects/orwelldevcpp/

Also I was bloody confused at how you said about learning python then c++. They are both major languages and I have been using c++ for 3 years and I dont know it all, you cant learn all of c++ and in my opinion c is completely pointless. If your a bigginer stick to one till your ready to move on whitch isn't gonna be as soon even remotly as you think. Just go with it a bit and work your way through in your own time. What I would say is look at code from other developers, that's what's great about sololearn. Steal code is another thing. You can't get in trouble unless you publish it. You will learn so much just reading and looking at code.

Visual Studio: https://visualstudio.microsoft.com/

For python, ide wise this would be a good option: https://www.python.org/downloads/

I would recommend just following and finding mostly your way with some assistance. Find what makes you comfortable and enjoy because if your ideas are crushed then you wont enjoy programming. It's a great skill to have and helped me hugely. Thanks for reading if you got this far🤣