Live data from Hacker News

Thank You, Guido

blog.dropbox.com

181–190 of 388 posts

Re: Thank You, Guido

#181
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'r…

There's a delicate balance that often lies in hiring process.

There are people who simply refuse to understand generics and/or stream APIs. Which are to (most) programmers more readable then the same logic being drawn out in a loop.

Meanwhile some other programmer would just write code golf and brag about it.

At the end of the day, it should be about enforcing a coding style that defines what you can or can't do. Adding final to all variable that can be final for instance is a great start.

Re: Thank You, Guido

#182

Earlier quoted context omitted.

Use C. Standardized since the 80s, it has had only minor, backwards compatible revisions in 99 and 11. According to the TIOBE index, it's the second most popular language in the world. It works on almost any platform imaginable and it has decades of tooling available for it. Of course it doesn't have any of the good new things developed recently, but if it's stability what you look for, then I don't see a better opti…

Or Perl. Perl takes backwards compatibility very seriously. There was a lot of gnashing of teeth a while back on whether to make newer versions actually change the default behavior finally to some new features could be opt-out instead of opt-in. An by new features, I mean stuff like "use strict", which has been best practice for a couple decades now, but the change would cause problems for existing scripts that didn'…

Unless it uses CPAN stuff, or calls out to external tools. Those are often needed for key functionality, and they get stale much faster than perl itself.

Re: Thank You, Guido

#184
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.

That coincides with the following: > Code is read many more times than it is written. Writing code costs something , but over time the cost of reading is often higher. Anyone who ever looks at a piece of code has to invest brain-power into figuring out what it does.[1] This is also noted in PEP8: > One of Guido's key insights is that code is read much more often than it is written. The guidelines provided here are in…

Who would have thought the best argument against an 80 character cap in pep8 would come from guido himself?

Re: Thank You, Guido

#185
post #16

Did you notice this: "He has already put into motion the conversion of the Dropbox server code from Python 2 to Python 3." Even the company that hired Guido is still heavily dependent on Python 2, and it doesn't surprise me at all; my own employer still has a lot of it in internal tools.

I'm starting to long for a stack that doesn't constantly change. Just set the features and that's it. Security updates only after that. It feels like a constant grind keeping up with everything. Containers, clouds, programming languages, operating systems, frontend frameworks, transfer protocols, it seems like it takes so much effort to just build something and keep it going. That Python 2 is still around doesn't rea…

Python 2 is 19 years old.

Python 3 is 11 years old.

11 years is a long time to married to the bugs of the past.

20 years is a long time to be married to a fixed language.

Re: Thank You, Guido

#186
post #16

Did you notice this: "He has already put into motion the conversion of the Dropbox server code from Python 2 to Python 3." Even the company that hired Guido is still heavily dependent on Python 2, and it doesn't surprise me at all; my own employer still has a lot of it in internal tools.

Don't they have source to source compilers that do the migration for you? I don't understand why the friction is so strong with python.

Re: Thank You, Guido

#187
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...

And yet almost no one chooses to write new Fortran code for applications. We rely on a few ancient critical widely used libraries like BLAS, accessed from non-Fortran programs.

Re: Thank You, Guido

#188
If he's anything like me he won't stay "retired" for long. The longest I lasted without anything coding-related to do is 9 months.

Re: Thank You, Guido

#189
post #126

Earlier quoted context omitted.

I'm starting to long for a stack that doesn't constantly change. Just set the features and that's it. Security updates only after that. It feels like a constant grind keeping up with everything. Containers, clouds, programming languages, operating systems, frontend frameworks, transfer protocols, it seems like it takes so much effort to just build something and keep it going. That Python 2 is still around doesn't rea…

> I'm starting to long for a stack that doesn't constantly change Come on over to Javaland, it's nice, warm, and the sun is always shining! With the exception of the Java 8 -> Java 11 transition (skipping the non-LTS versions), things are pretty stable. You don't have to use any new-fangled features if you don't want... and your Java 3 code compiled nearly 20 years ago will still run just fine on modern JVM's.

Python 2 (the OP topic) from 2000 still works too.

Running code is the easy part. Writing it is the hard part.

And if running on a VM is your standard, my old DOS programs still run on DOSBox :-)

Re: Thank You, Guido

#190

Earlier quoted context omitted.

I'm starting to long for a stack that doesn't constantly change. Just set the features and that's it. Security updates only after that. It feels like a constant grind keeping up with everything. Containers, clouds, programming languages, operating systems, frontend frameworks, transfer protocols, it seems like it takes so much effort to just build something and keep it going. That Python 2 is still around doesn't rea…

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.

[deleted]
Post reply on HN