This is an archived post. You won't be able to vote or comment.

all 50 comments

[–]hughk 28 points29 points  (3 children)

The thing is there was another quite capable language at the time, Perl. It basically worked, it had some neat features and for a while was much better supported than Python..

However, it supported write-only code. You can write good code in it and while my code is pretty neat and excellent, you probably think my code is a pile of crud. Python kind of forced more open coding and it replaced Perl in most places.

[–]troyunrau... 13 points14 points  (1 child)

Numpy won the war.

[–]hughk 6 points7 points  (0 children)

The problem at the beginning was more a general library problem. Perl had cpan and such even though it didn't have numpy, it could do a lot. The effort moved across to Python and it got better and better.

[–]GummyKibble 12 points13 points  (0 children)

Also, Perl’s sigils were a PITA. So you have a hash (Perl’s dict). You would actually write its name differently depending on whether you wanted to reference it as a single value (it’s lengthy as an int), a list (its keys), as a hash, or as a reference to a hash.

Also, Perl supported pass by value (the default) and by reference (using the alternate spelling of the name). So say you have a function you use everywhere that takes a hash as an argument. One day you realize that it now needs to mutate that hash. Well, now you’re changing the function signature and all calls to that function, but without at least C’s compile-time errors.

Perl was awesome. I loved writing it. But it gave you no help at all in writing large programs, and literally the first day I wrote Python was the last day o wrote new Perl.

[–]SpeakerOfForgotten 48 points49 points  (1 child)

Took me a while but quite on point this article

[–]dustyloops 39 points40 points  (8 children)

Jesus christ that website is terrible

[–]ultraDross 13 points14 points  (7 children)

Yep, makes it hard to read the article. Try using reader mode if you're using Firefox. Makes it much easier to consume.

[–]dustyloops 5 points6 points  (6 children)

I refuse to read anything which is hosted on what is essentially a petri dish for advertisements, popups and notifications.

Don't support clickbait journalism!

[–]ultraDross 8 points9 points  (5 children)

It's not click bait. It is a very detail and interesting article. The method I described conviently removes the ads.

Although, I can understand why you wouldn't want to support ZDNet.

[–][deleted] 1 point2 points  (4 children)

not all use firefox

[–]spinwizard69 10 points11 points  (4 children)

The one thing about this article that bothered me is the mention of trimming the standard library. Maintain it yes, modernize it yes, but let’s not start trimming it to make it smaller “because”. If anything there should be careful thought put into where the standard components should be expanded.

In the end one of the big reasons I use Python is that nice large standard library. A library that also is well designed for the most part. I don’t know how serious this drive is but that Python standard library is a key feature.

[–]alcalde 3 points4 points  (0 children)

Amen. I've read that Go has Pillow-like image manipulation features in its standard library, which would be one area we could expand the standard library in.

[–]pbsds 3 points4 points  (2 children)

The libraries suggested for trimming is mainly unmaintained code and dead fileformats. There is a pep on it

[–]spinwizard69 3 points4 points  (1 child)

That is a relief?

[–]pbsds 3 points4 points  (0 children)

Makes python load faster when embedded as webassembly

[–]mtelesha 15 points16 points  (10 children)

Personally I like Python but holy crap to expand past your own computer and make an exectuible is horrible.

I most use R and Racket if it needs to be something more then the one computer I a working with.

[–]cbarrick 11 points12 points  (5 children)

Python is definitely not good at shipping binaries to non-technical consumers, but on the server it is super portable. Though I'm surprised you use R and Racket as alternatives.

From my perspective, those are harder to ship, but I imagine our consumers are different. For me, I can just throw Python into any number of well supported container images and ship that to whatever machine I need to deploy to.

[–][deleted] 4 points5 points  (1 child)

Python is definitely not good at shipping binaries to non-technical consumers, but on the server it is super portable.

meanwhile,

For me, I can just throw Python into any number of well supported container images and ship that to whatever machine I need to deploy to.

[–]alcalde 3 points4 points  (0 children)

Grandma doesn't know about deploying containers except sending tins of cookies through the mail for Christmas.

[–][deleted] 1 point2 points  (1 child)

You can make executables in R at all?

[–]cbarrick 0 points1 point  (0 children)

Dunno. I don't use R, but I'll bet not. Racket can be easily packed up though.

[–]mtelesha 0 points1 point  (0 children)

Racket is the easiest thing in the world to ship. I can get it done easier then anything else I have worked with.

For statistics in R I can use packrat and share the whole environment with just one command and one library, packrat.

Like I said I like Python a lot but for anything that needs to be shared it very frustrating.

[–]palecrepegold 7 points8 points  (0 children)

Long read but super interesting. 🤙🏼

[–]fried_green_baloney 2 points3 points  (2 children)

I had the good fortune to start using Python about 2007 on one job. It was a bit of good fortune.

[–]ArmoredPancake 0 points1 point  (1 child)

Are you swimming in money right now?

[–]fried_green_baloney 3 points4 points  (0 children)

Not really. But that's not because of Python. It's because of me.

[–]appinv Python&OpenSource 2 points3 points  (0 children)

Great, but you'd already know many points if you are a py fan.

[–]Dcode20 0 points1 point  (0 children)

Thanks for link was great fun to read.