Live data from Hacker News

Thank You, Guido

blog.dropbox.com

131–140 of 388 posts

Re: Thank You, Guido

#131
post #117

Earlier quoted context omitted.

Honestly: the Java environment is exceedingly good at that. Backwards incompatible changes are truly minimal, and only those that are strictly necessary are added. And since Java 8 the language is pretty nice and offers good functional idioms. Of course, major versions of libraries still change. But there's no match with the JS approach.

The downside is that also means a lot of the core APIs are a huge pain in the ass to work with, especially relative to something like Python, and the “solution” to this problem ends up being something like Spring which has to use so much reflection and metaprogramming to accomplish what it does that it also relies heavily on exceptions for control flow. So without even getting into the other issues, debugging becomes…

Either you have a stable platform, and it reflects the state of the art form the year of its inception, or you have a platform that keeps on improving, but this means you need to change your code along with it, to keep up with the improvements.

You can't have it both ways,

OTOH current JVM can still correctly run bytecode compiled by Java 1.0.1 (or maybe even earlier), so the backwards compatibility is indeed excellent.

Re: Thank You, Guido

#132
post #117

Earlier quoted context omitted.

Honestly: the Java environment is exceedingly good at that. Backwards incompatible changes are truly minimal, and only those that are strictly necessary are added. And since Java 8 the language is pretty nice and offers good functional idioms. Of course, major versions of libraries still change. But there's no match with the JS approach.

The downside is that also means a lot of the core APIs are a huge pain in the ass to work with, especially relative to something like Python, and the “solution” to this problem ends up being something like Spring which has to use so much reflection and metaprogramming to accomplish what it does that it also relies heavily on exceptions for control flow. So without even getting into the other issues, debugging becomes…

If you're using something like Spring or Spring-Boot (highly recommended!!!) - you rarely, if ever, are going to be debugging Spring's code... any issues are going to be in your code.

With Spring-Boot you can even start treating Spring and friends like a "Black Box", and stop caring about how it does what it does.

Re: Thank You, Guido

#133
post #2

"“When asked, I would give people my opinion that maintainable code is more important than clever code,” he said. “If I encountered clever code that was particularly cryptic, and I had to do some maintenance on it, I would probably rewrite it. So I led by example, and also by talking to other people.”" This is very sage advice.

> This is very sage advice.

I mean in real life (when you don't have Guido to do it for you), if people are writing code you can't understand then you need to tell them to fix it. And many people don't like being told they need to rewrite their code because you can't understand it, so it leads to conflict and eventually you often need to fire people.

So yes, it's good advice, but by cleaning up engineering debt you're often going to take on a lot of team debt.

Re: Thank You, Guido

#134
post #77

Earlier quoted context omitted.

Questions made in bad faith tend to be downvoted. Is this really a suprise?

I do not see any bad faith here. I just disagreed to the original point. Anyways it looks to me that anything said against Python is big no. Btw. I do use Python, for complex shell scripts mostly.

I don’t like python and don’t use it but I still think your question was unnecessary.

Re: Thank You, Guido

#135
post #83

Earlier quoted context omitted.

Go has a compatibility promise from 2012 that they've upheld for now seven years. They are still discussing whether to change something in Go 2. https://golang.org/doc/go1compat

Fortran from the 1980s is still supported...

You misspelled the 1960s.

Re: Thank You, Guido

#136

To be honest, it is a sad moment, but it was expected. When Guido resigned from BDFL, I knew that it was the beginning of the end. And lets be honest, he's earned it. Thank you Guido, after learning Python, I never looked back, and it has been the source of great joy for me over the last decade.

He’s left Dropbox; he hasn’t died.

Ya this reads like a pr statement to me. Like: He was not unhappy here he is retiring!

A carefully controlled message.

Re: Thank You, Guido

#137
post #103
post #36

Earlier quoted context omitted.

"But it never amounts to anything close to a debate about what language I should use." So if your task was to deliver let's say commercial grade FFT library ( substitute with any other long computationally extensive process ) for consumption by others you would write it in Python?

Of course there are scenarios where you can't choose your favorite language, I'm not going to write an Xbox game client in Python. To the extent I have a choice, I'll go out of my way to use Python and I'll be a little creative to fit it into certain uses cases where it's not a perfect fit, consciously accepting a reasonable penalty. But yeah, sometimes it won't fit at all. The point is more that I'd go so far as to…

"The point is more that I'd go so far as to avoid taking a job or gravitating towards a project where the development would not be enjoyable based on the tools I'd have to use."

I can definitely understand this point of view. Well sorta. I was/am always goal oriented. I find satisfaction in creating a product used by other people. The actual process of implementation is 90% boring work and language for me is just a tool. I do not get too excited by languages.

Re: Thank You, Guido

#138
post #38

There's a whole generation of programming language creators born in the early to mid 1950s. In no particular order: Guido van Rossum (Python), Bjarne Stroustrup (C++), James Gosling (Java), Rob Pike (Go), Larry Wall (Perl), Walter Bright (D). Makes me wonder what kind of secret club they have going on.. Enjoy the retirement, Guido!

> Makes me wonder what kind of secret club they have going on

It's no secret; they lived through the time where the computing power was outstripping people's ability to express ideas harnessing that power, and the world was ripe for more expressive languages that leaned harder on the CPU to convert them into action.

And, that's still true. ;) New languages are being invented, some haven't caught on yet.

Re: Thank You, Guido

#140
post #111

Earlier quoted context omitted.

Python 3 is barely different in my experience and it's been about 10 years at this point. I do enjoy some of the "new" features of python 3.

I used `async` as the name of a function decorator in some Python3.4 code, which then broke in 3.6 which introduced `async` as a keyword.

What was the level of effort to remediate that?
Post reply on HN