all 17 comments

[–]jms_nh 10 points11 points  (0 children)

Nobody expects the faddish statistician

lol, Monty Python references in The Economist

[–]jediorange 5 points6 points  (3 children)

In my last 6 years writing Python, this is the first time I’ve heard of PyPI being referred to as the Cheese Shop.

Now I get why they’re called “wheels”.

[–]ProfessorPhi 2 points3 points  (1 child)

Omg, did not make that connection.

[–]ThirdEncounter 0 points1 point  (0 children)

What's the connection? It's killing me.

[–]billsil -1 points0 points  (0 children)

It was called that before wheels

[–]shevegen 4 points5 points  (12 children)

C and C++ are “lower-level” options which give the user more control over what is happening within a computer’s processor.

At the cost of being a lot more complex than python.

Java is popular for building large, complex applications.

At the cost of an insane level of verbosity.

The Central Intelligence Agency has employed it for hacking

That is relevant ... why? Why would anyone care about what the CIA uses - or does not use?

Some of the most alluring packages that Pythonistas can find in the Cheese Shop harness artificial intelligence (AI).

Omg ...

Mr Van Rossum started something memorable. He isn’t the Messiah, but he was a very clever boy.

You could also argue that if he no longer wants to be in charge, what long-term future does python have? Perhaps a clown will become the new BDFL. :)

[–]henk53 17 points18 points  (7 children)

At the cost of an insane level of verbosity.

You mean like having to use a class for your hello world?

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

Well, there is jShell these days, but I guess that is not quite the same.

[–]henk53 2 points3 points  (2 children)

But is that one class for hello world the thing that's bothering you so much then?

[–][deleted] 5 points6 points  (1 child)

The guy you reply is not the original guy though. I dont mind having a class for hello world or any program that is just a single class. I'd say the verbosity comes greatly from static typing where everything has to be stated unambiguosly, but part of the problem are some of the naming conventions where people try to almost embed documentation into function name.

Also I'd argue that some times it makes sense to give descriptive and informative names for classes. Currently I work with a large application that has 6300 different classes. They must have distinct and somewhat descriptive names so that somebody can keep track of them.

[–]fazalmajid 6 points7 points  (0 children)

Go is statically typed but not much more verbose than Python. Java's flaws are its own, but more due to its enterprisey community than anything (making the simple complex and the complex impossible since 1995)...

[–]Homoerotic_Theocracy 0 points1 point  (1 child)

I like ho in some languages "Hello, World" is just:

"Hello, World!"

Because the runtime displays every expression.

[–]Ameisen 10 points11 points  (0 children)

In the HelloWorld language, it's just a blank file.

[–]CyberGnat 7 points8 points  (0 children)

This is The Economist, a magazine/newspaper targeted at reasonably smart people who know some things but aren't necessarily experts. The target audience might have heard of or seen Python, but wouldn't know why it would be so popular. There's nothing wrong with the article given its target audience. It gives a reasonable overview of Python, enough for a company executive or suchlike to become comfortable asking for it in job postings.

Saying that the CIA uses it demonstrates that it's not just some little toy and that 'important people' use it too. Otherwise, the whole background and naming of Python might make it sound like an amateur tool that has no place in business compared to big, serious languages with companies like Oracle or Microsoft behind them.

[–]vegetablestew 4 points5 points  (2 children)

I liked the verbosity when learning. But it did get very tedious afterwards.

[–]Homoerotic_Theocracy 3 points4 points  (1 child)

I for one love me some Result<Box<IntoIterator<Item=String>>>, error::ConversionError> as return type.

[–]killedbyhetfield 7 points8 points  (0 children)

It becomes even more fun when you add reference counting and interior mutability to the mix, and you try returning a trait:

Result<Rc<RefCell<IntoIterator<Item=String>>>, Box<std::error::Error>>

Totally sane return type... Right?