fosstodon.org is one of the many independent Mastodon servers you can use to participate in the fediverse.
Fosstodon is an invite only Mastodon instance that is open to those who are interested in technology; particularly free & open source software. If you wish to join, contact us for an invite.

Administered by:

Server stats:

10K
active users

I like . It was the first programming language I tried, it had a reputation of being easy to learn and yeah, it was. What I don't really understand is how it has become so popular (# 1 in the TIOBE index...) and pervasive (you find it in areas where it seems like logic for a scripting language, but in others where you wouldn't bet for it too). It shines where it shines, but aren't really there better options in some of the niches it is being used for?

@array There really is very little you need to go outside python for, so people don't.

Scripts? Check.
Well-factored applications? Check.
Static type-checking? These days, check.

It really is a wide range, and while it is not too performant, most of the time your code is waiting for I/O or a human. When performance is actually needed, heavy calculations go into pandas and numpy and on the other end things like protocol parsing go into gunicorn and starlette.

Python's got you covered. Best language for almost nothing, good enough language for almost everything. More boring than Ruby, less line noise than Perl.

@clacke Yeah, it's really pervasive. And very good at what's good, as I said, I like it too. It's just the point that you raise, "best language for almost nothing", that brings me some doubt. As in, why not just use "the best tool for the job", when there are arguably better options in some domains? Using Python for *everything* sounds just a bit... Lazy, I guess? :P

@array @clacke all the more reason to see its position as a very good prototyping language. Perfect for demonstrating what the final program should do, much of how it can work and good enough to use until the "production" replacement is completed.

@geraldew @array Put it in production, work on the next problem that isn't already solved. =)
Your prototype *will* be put in production. You have two choices:
- Expect that and embrace it
- Make sure the prototype is as close as you can get to 100% useless for production
geraldew

@clacke then judging by events to date I must be brilliant at the latter, so far all my applications and tools remain used almost exclusively by just myself.

(FWIW I still like them and use them a lot)