5 ms·
Python is stupidly simple and that's the reason I use it for 99% of my work (netsec/forensics). I introduced my ex to it for her dissertation in astro-physics.
by mayniac 8y ago
Python is stupidly simple and that's the reason I use it for 99% of my work (netsec/forensics).
I introduced my ex to it for her dissertation in astro-physics. It took her under a week to mainly self-learn and start writing scripts with numpy and matplotlib, and it was her first language. The code wasn't good by professional standards, but it did the job. I cannot think of any programming/scripting language which can be learned by someone with no previous programming experience in under a week at a level where it can be used in a masters dissertation.
- Walkman 8y agoNO, Python is not simple at all, especially nowadays with all the asyncio stuff and tons of new features in 3.4+. One can't even follow what's happening with the language. I don't understand where this nonsense is coming from. Probably ignorance? You might not know too much about it to understand how huge and complex Python is.
- lykr0n 8y agoasyncio is a feature, not a requirement. Most people will never need to use it or the threading library will meet their use case. Every language will get more complex as you dig into it, but most people don't need to go beyond the surface.
- Walkman 8y agoThe most basic things are hard to grasp also. I had a really hard time understanding what is the difference between unicode, str, bytes and how to encode what when I started with it 5 years ago: https://stackoverflow.com/questions/14839028/how-are-these-strings-represented-internally-in-python-interpreter-i-dont-und https://stackoverflow.com/questions/14839028/how-are-these-s... Nowadays, teachers have to start with generators and yield even for beginners, because most of the things are generators in Python3, which is not a trivial concept to understand when you have no programming background.
- bsder 8y agoIt depends. I can have an intern up and programming basic Python in about 3 days from nothing. I have run this experiment multiple times with teenagers. The nice part about Python is that I can gradually introduce them to new features as they hit the problems the features are meant to solve. And, I WILL argue that Python's syntax is easier to keep in your brain. Somewhere on HN there was an article showing the grammars of various programming languages as connected graphs, Python was quite obviously simpler than just about everything else.
- Someone 8y agoPossibly http://blog.nicksieger.com/articles/2006/10/27/visualization-of-rubys-grammar/ http://blog.nicksieger.com/articles/2006/10/27/visualization.... A comment links to http://flickr.com/photos/nicksieger/281055485/ http://flickr.com/photos/nicksieger/281055485/
- tomallalone 8y agoI agree Python isn't simple at all, but I think it does have a kind of surface simplicity that its culture reinforces. 'one obvious way', etc. Or to put it another way its a language you can do a lot with without caring too much about details. Or to put it another way still you can go a long way with Python, Stack Overflow, and a bit of copy and paste.
- mayniac 8y agoNo need to use asyncio as a beginner. Not all problems require concurrency to solve. The vast majority of the automation scripts I write have no need for it.
- mindB 8y agoNot saying that python great for this, but this exact use case is literally what matlab was created for. I'd take python over matlab any day, but people have been writing crappy matlab scripts for their dissertations for a long time now.
- zzzcpan 8y agoScripting languages have that property. Some are even more gradually learnable, like Perl, where you don't need to be exposed to anything from the language beyond what you want to do and it will run your code.