Why is Python so Popular in Education?

You already invited:

CHARLIE

Upvotes from: jesse Dana jack Dylan

The Python raise is totally NOT organic. It's due to it being the most pushed language nowadays, it's a trend. It's widely used by students, people learning to code, you know, 10 years ago if you went to university for computer science you would have to learn C, but the millennials today are soft and the uni courses are becoming weaker and weaker, so a lot of these young people are learning Python as their first language, this is why it's so popular, they are pushing it in universities, online learning courses, google, etc... So, a lot of people has like a "first girlfriend" thing going on, where they want to evangelize that Python is the best language ever, even if they never used other language. Most of these people will grow up and learn that Python is just another language and move on.

Nigel

Upvotes from: jesse Dana

Python is an extremely popular language when teaching students programming. Whether it be at the college level, high school or even middle school. Python is popular because the syntax is easy to read and has many uses, for example: Ai, machine learning, web app development, data processing, game creation.

Tyler

Upvotes from: jesse Dana

I use Python because it's easy to process text. Additional most C/C++ libraries have extensions for Python. Machine learning exists 30 years and doesn't delivers what they promise, it's a trend like openCV face recognition(10years old with PYTHON) and augmented reality(10 years old with panda3D and PYTHON). ML (machine learning) is important in the field of education, because books and massive online courses sell this difficult subject. It goes like this watch online course, write code if you understand the math, doesn't work as expected, you buy a second online lesson or book, a third.... and then you deliver a half working app or you give up.

Artem

Upvotes from: jack

Python's open nature is a big part of its popularity, I believe. It has become a standard to share Python scripts in source code format (not compiled binaries) and it's trivially easy to download, modify and run scripts found online. Copy-pasting existing work is how I've learned most languages I know.

ken

Upvotes from: jack

I've been coding in JavaScript, PHP, Java & C# for the past 4-5 years and now I am really, really thinking about picking up Python. The language itself really isn't a problem, I guess I could just adapt all my knowledge from those other languages and learn it in a very short amount of time - but I am kinda worried about the syntax. I am only used to parentheses and curly braces, not to the indentation-only syntax. Indentation itself is not the problem, I do it anyways, no matter in what language I code but I think it'd be hard to leave these other things out completely.. Have you, (yes, you as the reader) got any experience with both syntaxes and could maybe give a little input to how hard it is to fully adapt to one or the other when writing the corresponding languages or rather how long this process approximately took you, since I believe that my error-quote would jump to a maximum in the beginning because of this syntax variation.

Tony

Upvotes from: jack

Python has risen in popularity due to it being used as a teaching language in robotics. It's really good at home automation, in car entertainment systems using a raspberry pi to run things, AI and things like that, as far as the web, i don't see it being any better than the languages we have already.

Dylan

Upvotes from:

Python is quick to write, has beautiful syntax and is fast enough that it can power sites like Instagram and Disqus. Many times, that's all you need

JOSHUA

Upvotes from:

I'm a senior PHP developer with some knowledge in C++. I have tried Phyton in thr past and I loved it. Recently I decided that it's time to learn a new language as PHP is starting to see its end. I was thinking of learning Phyton, but after I did some decent research on the future of programming languages, I concluded that I will go with Go. Go is the future. Very fast, applicable both in web and system apps, easy to learn, on steeply increasing demand curve, highly paid.

WILLIAM

Upvotes from:

PHP is still as relevant as it has ever been, imo. At least in my area (Eastern Europe/CIS) 90% of the jobs on the back-end require PHP. Freelance ratio of PHP to any other language is crazy, Python is a popular freelance solution, but there is still like 1 to 5 demand ratio when compared to PHP. Just learn PHP, guys. I wish I did (and I'm probably going to)

nanotree

Upvotes from:

I am python developer for 4 years and I want to mention a few things on python performance. If you need performance boost in python you can use Python modules written in C (lxml, simplejson, numpy, etc) or you can write one. So, whats your thoughts on this scenario: you've got a project written in Python and after some time business required performance boost. Would you rewrite bottleneck using Python/C API or would you rewrite it in C/Go/Rust etc and communicate with other parts via REST API or messages (Kafra, AMQP)?

jesse - Front end

Upvotes from:

Python is the best language to go from idea to implementation, and to be easily shared with others for ease of understanding. It's also by far the best language to use for software engineer interviews. Python is going to take over. It's a must learn.

Dana

Upvotes from:

I took a graduate study course in Python. I withdrew from the class. Mostly because the instructor was ill equipped to teach anything. The course was such a mess. What I did get out of the few weeks I was in the class gave me a stronger perspective on web technologies over all. Pursuing web development I decided python really wasn't designed for the web. The primary factor that made me concentrate on other languages like PHP and Javascript is the fact that python is not backward compatible. To build online infrastructure for the long term with python could prove to be a mistake. I have not completely thrown in the towel on python. Like Stefan says, it is an incredible tool to learn programming concepts. If you are having trouble learning to program in another language. Try python. The concepts will come so much easier and after getting just a little bit familiar with programming in python. Any other language will come so much easier. A while back they had a training program called ALICE. It was an attempt to teach programming concepts through visual representations of things like ID's classes, loops, conditionals, etc. It really was not very affective for me. Python however, even though I only spent a few weeks working at it. It really broke the ICE for me. Learning to program is so much less an obstacle as a result. I use to try and teach myself using books or online tutorials. I would get stuck, all the time. Can't move forward. Since the python class I've been able to cross those hurdles in PHP, Javascript and SQL. Now I'm getting somewhere. It takes a while for the pieces to come together. For me, the pieces are just starting to come together.

Tomas

Upvotes from:

Python is used in Blender 3D, since very long, for plugins and addons (the core internal code I believe keeps being C or C++). Oh, and I think Krita (also open source, free, but this one is for 2D painting) also allows adding functionality as plugins through Python. Blender is my main tool for anything 3D in freelancing. It has now an amazing rendering output. It has reached that level where if you are well versed in it (been many years, myself), it reaches quality and speed in production that you find in commercial (paid, expensive) tools, at least for freelancing. To get a job in an AAA game making (or film) company, in the industry, that's a different story, tho. In Maya (at jobs I was much more of a Max user) , I count on some friends, coders, who tell me they do this scripting in Mel, a scripting system for Maya. But this feedback is from years ago... Maybe Maya has moved to Python, which is probably a clever move ( I don't know, as I am not a Maya user, only "handled" it when some company would require me to). I needed at some point, for 2 specific gigs ( back then I was called a web designer, lol ) to generate sort of an offline processed gallery (only to upload a static version, as often were super cheapo hostings, with CPU usage and sql usage very limited, etc), for a fellow comic artist's portfolio site, and also later on, for a real state business photo gallery ( I re-used some code for the second, lol). Some time later, I needed to do a basic text parser. Since day one, I just went to the oficial online Python doc back then, and I was able to build those things...in days. Probably was the dirtiest and ugliest python code humankind have seen, and I know ZERO about python, then and now, but what I could get out of it, is that it served the purpose, I got payed and all worked. I learnt that I would like quite Python, if life forced me to learn it at some point. :) . I'm right now into JS , and general "web developing pack", as I call it, instead. ( Indeed, just got Stef's course!, will see how it goes... :D am a good learner, tho)

George - back-end

Upvotes from:

I am a Linux sys admin and have recently started scripting in Python. Python is un-believably good when it comes to scripting especially its cross platform nature. It doesn't matter if it is a windows or linux system. It provides a kind of abstraction layer to the OS which is un-precedent at least in my experience.

jack

Upvotes from:

As a game developer performance will always be the most important characteristic of a language, because even if you want to make a 2D game, in this day and age you will most likely want to enhance your 2D game with CPU / GPU heavy effects to help it to stand out. I would say the "best" languages would be first C, because you can write multi platform code for Linux, Win and Mac, working in OpenGL. Second would be C++. And that is pretty much it. The best syntax tho would go for C#. But that is all irrelevant if you, like myself is an independent game developer, because if that is the case you should go for Unity, because it's hands down the best option if you want de facto put a commercial game on the world. There is just no way to compete with the productivity levels of a ready-to-go engine that comes with all the necessary tools to just get in and create a game.

If you wanna answer this question please Login or Register