Live data from Hacker News

Breaking up with Python

cedwards.xyz

161–170 of 179 posts

Re: Breaking up with Python

#161

I've been recommending Python to the occasional aspirational young programmer. Is it already passé? What would you recommend instead for a starter language? Looking for beginner-friendliness, widespread use, and longevity. edit: to be clear, I hope this won't devolve into a language flamewar. I'm sincerely interested in other devs' opinions, and hoping that either Python is still a good recommendation (which seems to…

I have, for the life of me, never understood the 'beginner friendly' argument for python. Java, PHP or JavaScript for 'widespread use and longevity'. None of these are going anywhere, and I think you'd find more resources for beginners to advanced users for those 3. Yes, of course there's others - everyone has their faves. And Python will continue to kick around as well, but I've just never understood the 'beginner f…

I would guess the main reason it gets recommended to beginners is because it's the most prominent language with the most minimalist syntax, so you can read it more closely to a written language.

Also, being interpreted, you don't need much (or really any other than the interpreter itself) tooling to start playing around with it. This is true, of course, for lots of other languages.

I think also the fact that people do use it for real solutions makes it more appealing to recommend than a "toy" language like Logo or BASIC. (Mentally, I see BASIC as separate than VB. And yes, I am sure some people will comment that real solutions are built in BASIC, but I am sure these days Python dwarfs those in count by a factor of 100, at least.)

Re: Breaking up with Python

#162

I'm getting stuck into Go at the moment and thoroughly enjoying it, but can it really fill the same niche as Python as the article suggests? (Sincere question.) Doesn't the absence of an out-of-the-box REPL hinder quick scripting? As I say, I'm new to Go so would love to hear about people's experience using it in this context.

With `go run` it can be effectively used as a scripting language.

But that runs the entire script/program rather than a single command, so it's not the same experience as a REPL, right?

Re: Breaking up with Python

#163
post #18

> Python’s documentation sucks I can't agree with this. I have always had a very good experience with python documentation. One can use the built-in "help" function which works seamlessly with the docstring feature of the language. The complaint in the blog post seems to refer to the UI of the website missing a table of contents for functions. Yeah sure they could add that but I don't see it as a big point. > Python’…

>Don't all of these use pip under the hood? The point is that every extra tool you need to work on a project is another thing you need to get installed and working. It's another thing that will rot over time. In 5 years it might be totally unusable and broken. When I clone a project, I want to be productive with it as quickly as possible.

Yeah, but the author is comparing it to JavaScript. How is the tooling less of a mess in JavaScript?

Re: Breaking up with Python

#164
post #163

Earlier quoted context omitted.

>Don't all of these use pip under the hood? The point is that every extra tool you need to work on a project is another thing you need to get installed and working. It's another thing that will rot over time. In 5 years it might be totally unusable and broken. When I clone a project, I want to be productive with it as quickly as possible.

Yeah, but the author is comparing it to JavaScript. How is the tooling less of a mess in JavaScript?

I am the author. npm/yarn are pretty much the defacto package managers for JS, so that's one less nightmare to deal with. But I never really said that the tooling is better in the JS ecosystem. The better performance is just enough to tip the scales in favor of it.

Re: Breaking up with Python

#165
I'm all for people finding better programming languages and explaining why they're better for them… But without that context, without any context, this feels like they're scraping the barrel to make a point to somebody with no discernable reason why.

Python has plenty of issues, but it's still great for a huge pile of use-cases.

I've built a career on Python and Django. Even as my frontend work migrates into thick assemblies of javascript, I can't imagine using anything else for the backend for complex systems, but who knows what the next 20 years holds.

Re: Breaking up with Python

#166
post #149

Earlier quoted context omitted.

I'd like to see the receipts on your statement. Easy examples I use every day: ML and Quantum Computing libraries. There is a depth to the Python ecosystem that can't be matched anywhere else. Honestly, I'm sure I will get a ton of flack for this, but I really dislike Python. I use it every day and have for years and not only has it failed to grow on me (like most languages do), I've learned to dislike it more with e…

Those are really exceptions because researchers love Python. Outside of those areas, there's really nothing special that Python's ecosystem brings to the table. I'd really like to see machine learning stuff in languages other than Python so that there's less friction in experimenting. I know that would require prying it from researchers' cold dead hands though.

So lets make it more mudane, where is Zope for Go?

Re: Breaking up with Python

#167

I've been recommending Python to the occasional aspirational young programmer. Is it already passé? What would you recommend instead for a starter language? Looking for beginner-friendliness, widespread use, and longevity. edit: to be clear, I hope this won't devolve into a language flamewar. I'm sincerely interested in other devs' opinions, and hoping that either Python is still a good recommendation (which seems to…

Python is quite alright as the new BASIC, keep recomending it.

Re: Breaking up with Python

#168

I've been recommending Python to the occasional aspirational young programmer. Is it already passé? What would you recommend instead for a starter language? Looking for beginner-friendliness, widespread use, and longevity. edit: to be clear, I hope this won't devolve into a language flamewar. I'm sincerely interested in other devs' opinions, and hoping that either Python is still a good recommendation (which seems to…

Python is syntactically simple but that doesn't necessarily make it a good choice for beginners. I've seen students spend hours wrestling the interpreter over whitespace issues.

Maybe they shouldn't be using Notepad.

Re: Breaking up with Python

#169

For me the greatest pain point with Python is that you are never sure about what any line of code does, because basically everything can be redefined. It might not be a big issue in a small script, but as soon as you get a biggish codebase, with mixins or magical utilities written a couple of years ago by a developer who in the meantime left, it takes hours just to track the control flow in the mess of patched method…

True of any dynamic language. The only way to avoid such gotchas is with static typed languages.

But only those without any means of indirect calls via function pointers or reflection.

Re: Breaking up with Python

#170
post #168

Earlier quoted context omitted.

Python is syntactically simple but that doesn't necessarily make it a good choice for beginners. I've seen students spend hours wrestling the interpreter over whitespace issues.

Maybe they shouldn't be using Notepad.

err, they were using IDLE.
Post reply on HN