4 ms·
So, the reasons are: * I’ve been using it for a long time * I have lots of friends that use it * Even though I’m interested in other languages I don’t have t
by velcrovan 4y ago
So, the reasons are:
* I’ve been using it for a long time
* I have lots of friends that use it
* Even though I’m interested in other languages I don’t have time to learn them
These are all perfectly valid reasons! But, they say very little about Python.
- tryauuum 4y agoOne of the reasons for me: * It's preinstalled on my favorite OS But seriously. I like how fast I can start getting results with it. Sometimes I don't even need to create a file, I simply do "python3 -c ..." or use it as an interactive shell
- bmitc 4y agoThis is usually the case with people who use and like Python, which can be a stubborn take. And I can’t quite put my finger on why Python seems to draw out these sentiments. They usually act like there's some objective reason when the reason is usually because they like Python and simply don't want to learn or use anything else. The concluding paragraph of this article confirms this. > Most criticisms I see leveled at Python are still completely unfounded. Many times the criticism can be addressed by using the language in a different way. Is that true? Functional programming missing, slow, poor module system and REPL, weird scoping, environment and distribution issues, the nightmare that was 2.x to 3.x, tacking on features a la C++, etc. > So be it; if I’m not working in one of those areas, then Python is still probably the best fit for me. I used to hear that Python wasn’t the best at any one thing, but it was second best at most things. I agreed with that line of reasoning for a long time, but these days Python is as good as any of its peers for many things, and it’s still quite effective in many areas where it might not objectively be the “best” fit. This is just weird, especially if one doesn't know or use other modern languages. F#, Rust, Elixir, Ruby, Racket, OCaml, etc. In my opinion, unless Python is being used for scripting, machine learning, or scientific programming, then it's the wrong tool. And I think other languages can even compete with the scripting and scientific programming aspects.
- mansoon 4y agoRacket? Racket had a moment a few years ago where it looked like it might take off. That ship sailed. It’s the ruby problem with extra steps.
- wiseowise 4y agoWhat Ruby problem?
- mhuffman 4y ago> What Ruby problem? I suspect they mean that Rails gave Ruby its 15 mins. (and why the lucky stiff!) I, personally have no issues with Ruby (I was a very early adopter coming from Perl, C, C++, Python), but find it to be "Python with extra steps" more or less.
- bmitc 4y agoYea, and then the Racket team decided to pull the rug out from everyone and rewrite the surface layer (still not anywhere close to complete). But I was mainly listing languages that one should probably look into before claiming Python is a “best fit”. I also would like to know what the Ruby problem is? Is it referencing meta-programming?
- velcrovan 4y agoThe effort you refer to is called Rhombus, it is not a rewriting of any part of Racket, which continues to be developed and supported. I'm not a fan of the new project, since it means the core team is less focused on Racket than they otherwise would be. But, it's their life.
- rewgs 4y agoI'm a relatively inexperienced developer compared to a lot of people on HN, so I suppose take my perspective with a grain of salt. For context, I started with JS, spent some time with C because I wanted the history/perspective (didn't have a practical need for it, though), then got into bash for purely practical reasons. I also have a bit of experience with C#, primarily with Unity, and C++, because ultimately I'm looking to build audio plugins and applications, but at this point I've done little more than take a tour of those two languages. A year ago I began writing Python because I inherited a lot of code from a former coworker. At this point I'd consider it my main language. I've heard people echo the "Python is the second-best language for anything" sentiment a lot. A bit broad and a touch pithy, but over all I'm inclined to agree. It's a language clearly (and explicitly, as said by Guido) designed to be readable, and I think that more than anything else is why I have a case of the warm fuzzies for it. Compare even a small thing, like f strings in Python vs string interpolation in JS -- f strings are simply less noisy and therefore easier to read. Decorators, when used well, make it a fantastic language with which to write libraries that a user can grok quickly. Etc. If I could design my perfect language, it would be Python, just with clear variable declarations via a keyword such as `var`, optional true static typing and consts, and better tooling -- though, I have to say, after diving in and really learning the ins and outs of venv, poetry, all that stuff, the "Python's tooling is a disaster" meme is IMO a touch overblown; I felt that way as well at one point and in hindsight it was due to me feeling overwhelmed, as opposed to any objective evaluation of the tooling; that said, there is definitely room for improvement. I myself am incredibly interested in properly learning C++, Rust, Go, and improving my JS skills, but overall it never quite feels like the juice is worth the squeeze, because Python really does just feel like "the second best language for anything." And since my interests are pretty wide -- everything from web dev to scripting to desktop apps to audio (well, Python is perhaps the worst language there), most of the time it just seems more practical to figure out a way to do the thing I want to do in Python, especially because there's usually a library for it already. That said, I'm a solo developer at a non-tech-related-industry job, so I'm not rubbing up against many of the same frictions I see discussed so often here on HN. As I said, though, I'm still pretty green and am aware that I know just enough to be dangerous, so I'm very open to hear why anyone disagrees with this viewpoint.
- Sxubas 4y agoThanks for the tldr