Skip to main content
GameDev.net gamedev.net
🔒 Locked

Why do most people recommend Python

Started by Sora Keyheart Sep 19, 2016 at 8:01 AM 35 replies 11.3k views
Original Post
Sora Keyheart
Sora Keyheart

Since the day I wanted to start programming.....Python....Python everywhere.

Yes, it could be easy and close to our spoken language but...isn't time to stop recommending python, and recommend something as easy but modern???

Yes, I am talking about Swift...

Why Python of all others?

Just because it's "easy"???

In the end, all programming languages are the same, in logic...

Rattenhirn
Rattenhirn

People recommend Python because they hear other people recommend Python.

It's not a bad choice and it's available for free on pretty much every platform and there are tons of resources available.

I don't think closeness to spoken language is a good thing, it just leads to more confusion. Otherwise, everyone would recommend COBOL. :)

Personally, I prefer strongly typed languages and would recommend starting with C for system level programming or C# for application level programming.

They are also available for free on pretty much every platform and there are also tons of resources available.

I would not recommend Swift. It is not very well established and is still changing rapidly. It is really only useful in an Apple environment, and Apple wants to move its users as far away as possible from mainstream technology to keep their scent of exclusivity. Also, since it is still relatively new and not widespread at all, the number of resources at ones disposal are also limited.

However, as you correctly pointed out, ultimately all programming languages uses similar context, because they are abstractions of how computers work. So, if a language teaches you programming concepts and how computers work, it will be fine.

Nopp
Nopp

I think because of the "easy to learn" syntax and the distribution on several OS and the wide use of applications.

Isn't Swift just in use for IOS?

_Silence_
_Silence_
In the end, all programming languages are the same, in logic...

Not really. Functional and imperative language have a different logic. You can also see this.

Otherwise, I really tend to avoid using languages made by a company, with real economic or users-join-our-new-religion purposes. And even if afterward this language will enter an ISO process (like C#). And mostly if this language had become well-known after a lot of marketing things.

So my two cents are: don't use a language because there's a lot of ads about it. If you really want to study what language should be best for you, then

Since the day I wanted to start programming.....Python....Python everywhere. Yes, it could be easy and close to our spoken language but...isn't time to stop recommending python, and recommend something as easy but modern??? Yes, I am talking about Swift...

is too small...

Don't forget that a language is a toolbox, not a tool. New languages will tend to change a lot, will lack support of many things at the early ages.

Scouting Ninja
Scouting Ninja



Why Python of all others? Just because it's "easy"???

Yes, python only takes about a week to learn for a programmer or a month for a newcomer.

It's a stepping stone to other languages as it helps understand classes, branches and cases.

You would be surprised how few people understand the concepts of health bars in games, python quickly teaches these kinds of basics.

It's also a fast language in the sense that making things happen takes a lot less code than Java or C.

I use Python all the time for quick tests and prototypes, Gimp and Blender also allow python coding; allowing even inexperienced coders to take advantage of advantage features.

If you only plan on making small games or If you are new to programming and want to learn the basics, python is a good choice. Experienced programmers can just spend a weak on it and add Python to the list of languages they know.

The main reason I believe it's popular is because it's the free language, that is so many of the free software uses it that people using these software automatically learn Python; that and it's user friendly.

Sora Keyheart
Sora Keyheart

That's the problem, each person recommend me different language, mostly because they "like" it.

I started with Java

Person: No...go with Python

why?

Person: It's easy

I moved to C++

Person: No...go with C, even tho it's old

Why?, C++ is a modern version of C, why waste the time?

Person: then go with Python

I moved to Swift

Person: No...Swift is for IOS only

It's not...its a combination for C and Objective-C, and programming languages works on any computer, but there are no compiler for swift on other machines yet.

Person: Then take Python

I came back and will stick to C++ for now

Person: No...It's hard, go Python

Man...Programming in general is not easy, it never was easy, it is a skill...not a note to memorise,

Person: who cares, I love Python, I hear people say Python, so go python....python python python

To be honest I start to hate the language of Python kind of...



People recommend Python because they hear other people recommend Python.

That's what I think it is....not coming from the recommender's experience...

Rattenhirn
Rattenhirn

C++ is also great and definitely super useful. There are also loads of resources out there, but it has no real recommended best way of doing things. It's a multi paradigm language, where as most try to stick to a certain paradigm like OOP, functional, prototype based, purely procedural, ...

Different resources will constantly contradict each other. This is not a bad thing (in fact, I think it is a good thing), but it can be very confusing to beginners and adepts alike.

But ultimately it's up to you. No language will make learning to program super easy, because it is hard and takes more than a lifetime to master. All the starting language can do is to move common pitfalls that cause frustration when learning out of the way. Even if a language manages to hide a certain complex topic away really way, at some point you'll need to tackle this topic. There's no escape, all abstractions are leaky! :)

ongamex92
ongamex92

Yes, I am talking about Swift...

I some parts of the world it is pretty hard to find a person who has an Apple computer. My first encounter was at 1st job in the summer of 2012, we had a few VMs with some sort of MacOS(or was it called OSx), not sure. At my current job we have a few Apple desktops, but we use them only for debugging if needed. Otherwise I do not know anybody who has Apple PC/Laptop as home.

Deflinek
Deflinek

First of all, the recommendation is just it - a recommendation. You are not obliged to learn a language just because someone told you that you should (unless it's your employer but in that case it is hardly a recommendation :) ).

During my career as developer I learnt quite a few different languages and right now my language of choice is C#. But when my kid told me he would like to learn programming I recommended him Python. It wasn't because everyone recommends Python or because I know it inside out (I don't), but I can see it teaches good habits. Writing code that computer understands is easy, writing code that other people understand is hard and Python at least teaches you to format your code correctly - one instruction per line with correct indentation.

It is important because it gets you into habit of good formatting. In the end my kid as well as everyone else will learn many other languages and discover most are very similar. But habit of readable code will hopefully stay and make things easier for him and his coworkers.

Kylotan
Kylotan
Python is probably the easiest language that is widely available and powerful enough for real-world general purpose tasks.

Swift is currently almost worthless by comparison due to having a small community, poor multiplatform support, and poor library availability.
Tutorial Doctor
Tutorial Doctor

I doubt people say use python simply because it is easy. As Scouting Ninja and Kylotan have said, Python is widely available and good for real-world general purpose tasks.

I still say don't choose a language because it is recommended or powerful. First know what you want to create and learn the language/languages that help you create it. Simple as that.

I chose Python because the Pythonista app on iPad uses Python and it is one of the best ways to learn app development principles (I learned programming with Pythonista). I also now have Swift Playgrounds

Knowing Python also helped me transition to use the Godot Game Engine. I want to learn C# with the Continuous app also (for more understanding of low level concepts).

There is also Codea which uses Lua. I have to learn Ruby for work if I want a promotion (good incentive if I ever heard one). So it's not about which is best. It is about which is most suited for the task at hand. At the end of the day these are just tools.

They call me the Tutorial Doctor.
gamervb
gamervb

Some people's brains are wired in a way so that Python is easier for them than C++ is. It's more preference than how easy or popular the language is. You don't need to add a semicolon at the end of each statement. Some people might find that it gives much freedom, less errors to occur, etc.

Zaroio
Zaroio

Just like people said above... Python's just amazing, a nice prototyping simple to write.

Hey how about Haxe then? Seems to be a nice cross-platform language with some nice 2d game engines/framework, you can create Desktop, Web B/F, Mobile on a single language.

For swift... there's a long road ahead, it's too young yet.

frob
frob

I recommend it because it is relatively simple to learn, doesn't require complex editors and projects and other steps that can cause problems, and is useful in the long run.

Python serves as a good language to cut your teeth on the basics of programming because the consequences of doing things wrong are not as difficult to deal with as they are in C and C++. Despite being approachable the language is fairly commonplace.

There is an enormous body of Python code out in the world. It is extremely common in build systems for games, and for tools at some shops. If you're looking to build a quick-and-dirty tool, Python is one of many tools that is convenient to have in your toolbox.

There are several languages that professional programmers should be comfortable with. Not necessarily expert-level, but good enough. Right now those tend to include C++, Java, C#, Javascript+Html, and Python. Add SQL to that list if you're touching anything related to databases. It is reasonable to expect that you could throw some code in those languages to any professional programmer today and expect them to understand it and be able to work with it.

---

Further, programmers are expected to keep their skills current and learn new languages and tools, the same way doctors are expected to keep current on the latest medical tools and techniques, the same way lawyers are expected to keep current on current law and precedent, and mechanics are expected to keep current on modern vehicles tools and parts and techniques. A good way to do that is learning a new language approximately once per year.

ingframin
ingframin
Man I feel really old
I learned with Basic and Pascal
Navyman
Navyman

Swift is for iOS not a very wide range of platforms. However, if you wanted to make mobile game for the iPhone, iPad and some what for the iTV it is a great language and most of the changes have tapered to a close as swift 3.0 is out. Just be careful for tutorials that are using early versions of swift, because there are large sections that no longer work as things like var++ does not work in 3.0

Developer with a bit of Kickstarter and business experience.   YouTube Channel: Hostile Viking Studio
Twitter: @Precursors_Dawn    
ericrrichards22
ericrrichards22

Python is a pretty forgiving language for beginners. Very little ceremony is required to get started, just start putting statements in a text file, and python my_awesome_program.py.

Python can be just about executable pseudo-code.

Unlike JavaScript, which is another common starter, it's got fewer footguns and stupid, poorly designed legacy cruft.

LAURENT*
LAURENT*

Python is easy and that's why people recommend it however c++ is the way to go. Newbs need to cry at least 300 tears of frustration before they're real programmers. Anyone agree?

shadowisadog
shadowisadog

Personally I love Python. I use it at work all of the time to develop scripts to make my life easier. One of the things I really like about it is that it is a batteries included language. If I need to do something there is a good chance that there are modules that make it simple to do it. For instance there are built in modules for parsing command line options, built in XML parsing, built in json parsing, built in sockets, built in regular expressions.. I can quickly put things together and accomplish results.

I have created Python scripts that parse monitor EDID information, scripts that handle tape drive swapping, scripts that work with data in spreadsheets, scripts that handle complex build tasks, scripts that help find patterns in log files, and tons more.

That being said use what you feel comfortable using. If Python is not your thing then learn something else. The key is to pick something and practice. You learn programming and get better at programming through writing lots and lots of programs. As you write programs you will run into situations where you ask yourself if there is a better way to do something and then you will learn new techniques.

I like trying to find the shortest and simplest ways to accomplish my goals as a programmer. The programming language I use does not matter to me. What matters to me is the task that I have in front of me to solve and for that I want the language that provides the most productivity per character.

Buster2000
Buster2000

I am an iOS developer and I strongly recommend against using swift as a first language. If you like the Swift syntax and want to play around with functional programming then choose Scala. Swift is a language that I have to use because Apple forced it upon me.

My main gripe with Swift is that yes it does have some cool features but, in the real world it does not work the way apple tells us it does. Yes if you demonstrate it in a Playground with some comp science 101 algorithm then it looks like it uses less code and looks pretty. However when you actually use it in the real world with Apples libraries it ends up requiring a fuck ton of boiler plate code and looks ugly. Something simple like downloading a json file from a remote server and storing it in a dictionary takes around 5 lines of code in Objective-C doing it in Swift in a safe manner requires around 20 lines.
Also the language is continually changing and these changes keep breaking compilation. Apple have said that from Swift 3 there will be no more breaking changes but, I really wouldn't trust them.

The reason people suggest Python is because it has so many uses and because it does have a huge community behind it.

Want to right your first 2D game?
Python can do it
Want to write a single page web app?
Python
Want to right an extension Blender or Gimp?
Python
Want to earn a 6 figure salary as a Quantitive Analyst?
Then you need to learn Python

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.