Is python a good language for starters?

I know that this is the wrong subforum to post into but sorry.

So I wanted to know if python would be a good programming language for people who want to be future programmers.

I’m planning to start my first LEGIT programming, so if you guys have anything in mind other than python, please tell and link me the source on where to learn :slight_smile:

(my computer teacher taught us c++ but It was kind of easy and confusing in a way because she wasn’t really good at teaching, I do better on self-taught)

1 Like

Python is no more “legit” of a language than Lua. It’s more popular though. If you already know Lua, I would recommend Java or C# as they are common and more different than Lua than Python is. If you have an interested in web development, I would recommend JavaScript or TypeScript instead.

2 Likes

What’s wrong with Lua? :laughing:

There is nothing wrong with Python, but–like Lua–it has less in common with other languages, so a bit less easy to transfer code examples to/from. And its indenting thing is kind of unique (and something of an annoyance to many people who did not start with Python). It also depends on what you want to make. When I started making desktop apps in college, there was only C (and C++ was just starting to take over). I used what worked for what I wanted to do, which was make apps to draw fractals and edit audio files. If I were at that point today, I’d probably go with C#. I do a bit of python, but usually for utility script type stuff with no UI, like if I need to do some kind of file conversion, or write a Blender utility.

My oldest is just finishing year 1 of CS. Her first year classes mostly used Java. This is also a fine choice for learning programming basics, Java syntax and OOP patterns transfer effortlessly to C++, C#, and now even to the latest versions of JavaScript (ES6 has classes). Exposure to a functional programming language would be good to have too. FP wasn’t really a mainstream thing I had any exposure to when I was in school, but it’s a more popular option now, with even classic procedural languages like Java and C++ gaining lambda add-ons to support this style.

8 Likes

To call any language “more legit” than another, or to say that programmers who use one language are “LEGIT” programmers whereas others are not, is often the bane of my existence as a programmer. Ultimately, these languages are just tools that are used in the pursuit of solving problems.

That said, Python is a very intuitive language to write in. It is probably my favorite language to write in for a large class of problems. Most of my experience has been that I practically just write pseudocode and it will run in Python.

However, it is important to note that Python is, like Lua, a weakly typed language. I don’t believe programmers need to learn low-level languages like C/C++, but I do believe learning a strongly typed language like C# or Java is very important if not only for the experience. I also strongly believe that every aspiring professional programmer, regardless of age, should work to gain experience in some sort of version control system such as git (not to be confused with GitHub, though GitHub is a very nice service that uses git).

So, my ultimate two-cents on how to learn to become a professional programmer is this: Become proficient in at least one strongly typed language, become proficient in at least one weakly typed language, learn to use version control, and, most importantly, solve hard problems. If you do these four things, you’ll have given yourself the experience necessary to know how to program. The next step is to learn computer science, which is a very different beast altogether, and is probably best learned in school (though this is a controversial subject on the internet).

(Oh, and it can also help to learn a functional programming language, but I’m not a fan of those so I don’t often recommend them :rofl:)

3 Likes

Any language is good, but learning only 1 language is bad. But you gotta start somewhere, so choosing a relatively simple one is good.

Python is weird though, because its syntax is unlike other languages, which could make it harder to transition to other languages.

I learned with Lua, and its syntax was similar enough to JavaScript that I was able to pick up JavaScript quickly. Then I learned Java, C#, C/C++, and others. The more you learn, the easier it becomes to learn other languages.


I have friends that have asked me what languages to learn first. If they’re in school, I recommend them taking a C++ or Java class. Otherwise, I point them to JavaScript or Python.

JavaScript is becoming increasingly popular, and it’s actually more fun nowadays with all the fancy new features in ES6 (e.g. LEXICAL SCOPING THANK GOD)

3 Likes

Well, I’ve recently begun programming in Python (Making a Discord bot hehe). But I have to say that sometimes Python is a pain to work with. I honestly believe it’s most about what you prefer. PS: I recommend you to use Visual Studio Code if you’re gonna start with Python.

While functional programming is very interesting, especially when you’re familiar with imperative and OOP (it really is something different to those), for starters I don’t think functional would be the best choice. Functional programming in itself can be rather confusing, especially when the more basic programming concepts are unknown. Learning these concepts while having to master the formal logic associated with Functional programming may become too much and therefor be discouraging. This goes for a language like Haskell as its strict nature is enough for hours of confusion, although I’ve heard clojure is more accessible so perhaps that forms an exception.

Interesting enough, Lua already had me familiar with using functions as first-order parameters and by extension currying, so in my personal experience learning Lua can help understanding Functional languages like Haskell when learning them later.

If you’re interested in making games outside of Roblox then I recommend Python or JavaScript.

Cue the memes, but Python is really just executable pseudocode.
The notion of “legit” languages also usually comes from the strongly typed style most mainstream and professional languages seem to follow.

If you don’t know how to program, Python is a great place to start (but why not do Lua if you wanna do stuff with Roblox anyway?)

Otherwise, no need (unless you have a reason to need to use Python) if you already know how to program. Reading your case, I’d learn Java or JavaScript or something unless you have a reason to use Python.

If you know Lua, you practically already know Python. Python and Lua are so similar and applicable in nearly identical situations, there is no difference. Sure, Python is more widespread and Lua is thought to be more for game development(at least from our perspective), but they are nearly identical languages. If you want to learn a language that is drastically different than Lua or Python, I would suggest C++ as it is quite widespread in its uses and also provides a fundamental understanding of how older programming languages operated. The syntax is nothing like that of Lua or Python, so it will be quite the adjustment if you were to learn it.

Edit: missed that you mentioned you learned C++. I would still recommend diving deep into the language as I’m assuming you just went over the basics. It is quite different than Lua and Python so it is definitely worth getting into as it is fundamentally similar to many newer programming languages.

If you plan to use a good IDE with Python, it is a fine language to use. The nice thing is there is a lot of libraries, so you can use it with things like Google scripts and Arduinos (which I have done). I wouldn’t recommend that being your only language, but there is probably a good reason a lot of colleges use that as the first language. Also, you get used to arrays starting at 0.

I mean, just like what others have said, learning any language helps. I’ve never written in Python before, but from what I’ve seen it’s pretty similar to Lua.

It really depends on what you want to do. Different things call for different languages. And even then, the “engines” and stuff used for making said things require different languages.

A great example is Roblox and, say, Unity. If I want to make games on Roblox, I’d have to learn Lua. If I want to make games in Unity, I have to learn C#. Both are game engines, yet both require different languages to learn because they each have different capabilities. The same applies to basically everything.

So, depending on what you want to do, learn a language for that first.

Python is perhaps the most practical language for anyone to learn. It’s used everywhere.

1 Like

What? They’re both weakly typed but besides similar keywords they don’t even have much syntax in common.

1 Like

Well tbh, any language would do as long as it will help me in my future job as an programmer, and I am planning to develop games on unity as well I assume that it run on C#

(and I heard that python isn’t a bad idea)

I recommend learning a language like JavaScript first. It’s very similar to Lua and it’s also quite useful. From there, you could start moving out of scripting languages for programming languages, if you want to. At the end of the day, learn a language that you want to learn, not one that someone told you to learn because they happen to like it. :slight_smile:

If you’d like to do Roblox development…Then learn Lua of course. If you’re looking into Web Development, I’d recommend JavaScript. Or if you want to do Off-Site Game Development…I’d still recommend JavaScript because it’s common in most game dev engines and is useful for web design if you would like to transition to that.

Although, I learned Lua for Roblox then in this past year I picked up some C# to make some off-site games. :slight_smile:

I believe both Lua and Python are good starter languages. What you really need to learn are the basic principles and concepts of programming which you can use to transfer from one language to another with ease. The Roblox Developer Documentation will help you find what you need. (really good docs by the way; I appreciate & :heart: them so much.).
If you want to solely do Roblox game development I would say start with and master Lua. Maybe later down the road you can expand your knowledge and skill with other programming languages :wink:

1 Like

I think Python is fine for beginners, just realize ANY language is going to be a bit rough for beginners, because its not so much the language, its the mind set. Once you train your thinking in following the flow of logic, then you can pick up any language without too much difficulty.

So… really any language you choose will be rough, if its the first one, then any language after that, won’t be so bad.