5 ms·
Python was my first programming language love. I had a few false starts: Logo when I was very young, which I found too useless. Perl, which made no sense to me
by nicolashahn 8y ago
Python was my first programming language love. I had a few false starts: Logo when I was very young, which I found too useless. Perl, which made no sense to me as a middle schooler. Actionscript came close, I was eventually able to create a Flash game in high school, but the API was still too arcane for me to actually like it.
In college, Processing.js was what I used in the Intro to Programming class, which was fun, but like Logo, not powerful enough. Java (why do I have to type so much?) and C (why do I have to worry about memory allocation?) for the intermediate courses. But I never really enjoyed a language until one of my upper division classes had us work in Python.
Finally, a reasonable language. Easy to pick up, but very powerful once mastered. Easy to read, quick and concise to write, thanks to the syntax and interpreter. A massive amount of open sources packages to choose from, for nearly any programming task you can think of. A sane blend of functional, object-oriented, and procedural features.
Python was the language that made me actually enjoy programming. Thanks GVR!
- BurningFrog 8y ago> why do I have to type so much? As someone who came to it from Ruby, that is often my question about Python :)
- zmmmmm 8y agoSame from Groovy! I can understand why a lot of people start with Python. I can't work out why they stick with it once they become more advanced and understand its limitations though.
- somada141 8y agoI feel it really depends on one's background. I'm doing backend with Python now but came from academia where Matlab used to be the tool/language of choice. However, more and more academics got sick of working in that walled garden and paying oodles of money to use it and Python was a fantastic alternative to that. I believe that if you're walking the line between software-development and data-science Python does an excellent job of bridging the two.
- vorg 8y agoAbout 8 years ago, I moved on from Apache Groovy to Clojure which is far less verbose. Well placed macros in a testing script reduces a lot of clutter. Clojure has a longer ramp-up time than Groovy though, but once mastered is far more effective. I stayed with Clojure until I moved off the JVM about 5 years ago.
- zmmmmm 8y agoI am curious where you ended up? I have not found any substitute for the JVM for a flexible, rapid development yet high performance, stable and mature environment with a large base of library and deployment option support.
- robben1234 8y agoI'm a Python developer (web back) who occasionally does some fixes on legacy RoR project and I always ask myself why does Ruby needs so much sugar. Also it does not look very consistent to me, but it's probably because I get to practice only once in a couple of months. After Java, CPP and Node, Python looks to me as the greatest of all. Syntax is just comes to you and usually does not produce problems. And Python even right now has so many areas of application, and does it without much compromises, that I wonder why would I want to change anything.
- rckclmbr 8y agoI programmed in python for years, am starting to code in javascript/node and am really liking it. Typing in python is weird, i much prefer flow/typescript. Async in python has a history of being weird, from twisted, to yield from, and finally to async/await (which still has some issues, but is much better). I thought javascripts "callback hell" actually made sense, promises made it easier, and now async/await which works great. Pip has a long way to go to catch up to npm/yarn (i cant believe im saying that). Virtualenvs are weird, even though node_modules can be bloated i think its a lot more intuitive. Anyway, long winded answer that i think i prefer node after a lifetime of python
- BurningFrog 8y agopipenv replaces pip and virtualenv, and is actually decent.
- xkcd-sucks 8y agoPipenv looks good on paper, but it is a total trap. Pipenv breaks differently on every single release. The user experience is absolutely hideous. I am currently in my third hour of getting a pipenv+pyenv python project running. I started the project this past summer, and have reinstalled it three times. Each time I have spent 3-6 hours getting pipenv working, and each time the errors/problems/workarounds are completely different!!!!!!
- 8y ago
- sifoobar 8y agoSecond that, I could recite the Pickaxe book from memory by the time I gave Python a serious try. And I could never really get over loosing my Ruby toys or having to memorize arbitrary quirks like variable scoping, method overriding and more. And I think I gave it a fair chance, went to conferences and even got code published in one of the bibles. Ruby feels like a smaller language to me, it doesn't take as much space in my brain. And since my brain isn't exactly aging with dignity, I'm designing an even simpler language [0] for days to come. [0] https://gitlab.com/sifoo/snigl https://gitlab.com/sifoo/snigl
- taeric 8y agoIt is funny to consider the path in languages. My first had to have been some form of basic. Couldn't tell you which dialect nowadays, been too long. That said, I probably didn't do "real" programming til BBS days. Don't know what language those were. Toyed with SQL in my final year of high school. Tried making a D&D character sheet program. College was a hodgepodge of vhdl, c, java, matlab, and lots of pseudocode. It wasn't until many years later that I touched lisp. I had seen it mocked before, but never used it. That said, I have since found that same sort of joy in programming that you seem to be describing. Only, instead of a "powerful once mastered" feel, I get more and more of "I remember finally grokking this idea in other languages, it was really this easy!?" Python, in all of this, has fallen by the wayside in a way that I'm just annoyed by all of its claims. Notebooks don't make it any easier. Much of their charm is in areas that I feel tools I was able to use in college easily touched. Matlab is, in particular, an amazing program. Once you get used to it. I'll give python the credit of being where everyone is today. There is a lot to be said for that. The language doesn't spark any joy for me, though. :(
- figgis 8y ago>Python, in all of this, has fallen by the wayside in a way that I'm just annoyed by all of its claims. Notebooks don't make it any easier. Could you clarify what you mean here?
- taeric 8y agoApologies on the slow response. Python is claiming to be easier to read and faster to develop. Often (always?), without data. Notebooks are pushing something close to a live coding session, but having to recreate so much to get there. And if you had ever used other environments, it is frustrating to see people lauding and making progress and tons of press, all while pushing bad practices. That is, it isn't that nobody could or had done these things. If you care about productionizing, you just need a more formalized environment. You needa more pluggable setup. Just hitting "play all" again on a notebook is good, but is a very low bar. Or puts more effort on parts that don't matter. Often both. So, I meant all of that at a personal level. I feel like the entire industry is trying to sell me something on faith. Or appeals to the impressive products of people that likely could have used any tool. It hits many of my "don't trust me" vibes.