Live data from Hacker News

Thank You, Guido

blog.dropbox.com

51–60 of 388 posts

Re: Thank You, Guido

#52
post #35

Earlier quoted context omitted.

"Lack of type system". That is an absurd claim. Python is dynamic but strongly typed.

Python also can now be optionally typed, which the article discusses. More: http://mypy-lang.org/

I'm sure you know this, but just to explain "optionally typed" a bit more, Python objects are always strongly typed (can't add a string and an int together like in JS, etc.), by default Python variables are not typed - a variable can refer to objects of different types at different times.

Python 3 has introduced syntax to optionally declare types in the source (type annotations). This does not affect the runtime. Mypy is a program that does static analysis to tell you where your code is inconsistent with your type annotations, so:

    a: int = "foo"
Will compile to bytecode and run fine, but if you run mypy it will warn you that you're not supposed to assign a string to a.

Re: Thank You, Guido

#53

Thank you Guido! At the risk of sounding saccharine, Python has literally made life better for my colleagues and me. In the corporate, financial world where I’ve been working, people often see coding as someone else’s job. Python, and the community that has grown around it, have made programming accessible (socially acceptable?). It has saved months of work for us. I hope you enjoy whatever you set yourself to next.

Indeed, new joiners in investment banks these days are increasingly expected to know Python at least -- and not just for technology roles, but junior traders and managers as well. For financial services it's the new VBA, but better.

Re: Thank You, Guido

#54
post #36
post #18

Earlier quoted context omitted.

> Thank you Guido, after learning Python, I never looked back That matches my experience. All the pros and cons that in principle apply to any language, whether newer than Python or older, mean nothing to me in practice. Python is the one that feels right, the others feel like a chore. Since I started with Python 10 years ago, nothing has changed that. There's ways I'll insist that Python is the best at [x], and ways…

"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?

Given the success of the Python numerical computing stack (numpy, scipy, etc) it would probably be a good idea to do just that. Of course you’d profile the library and move some of the performance-critical bits to C / C++ / Rust. Thankfully Python has some well-trodden paths to that solution.

Re: Thank You, Guido

#55
post #36
post #18

Earlier quoted context omitted.

> Thank you Guido, after learning Python, I never looked back That matches my experience. All the pros and cons that in principle apply to any language, whether newer than Python or older, mean nothing to me in practice. Python is the one that feels right, the others feel like a chore. Since I started with Python 10 years ago, nothing has changed that. There's ways I'll insist that Python is the best at [x], and ways…

"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?

Clearly his statement is predicated on the kind of work he does. Dont be obtuse.

Re: Thank You, Guido

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

There has to be a term for when the business builds something with one tech stack, and then later, as if it was totally by surprise, realizes it needs to replace the whole thing, for basically no added business-value, and this happens every few years. I mean, everyone has known they would have to do this eventually, but it just kept being put off, like the business is a bad procrastinator. And they all do this.

I assume you are referring to "technical debt", unless you were being ironic and I didn't catch your irony emoji. (Is there an ironic emoji?)

Re: Thank You, Guido

#57
post #34

> It is so intuitive and beautifully designed No it's not. Significant whitespace, underscores that mean things, lack of type system (but people treat variables as typed anyway), et all, make it quite a difficult language to understand. And we won't get into performance problems that it's cult following turns a blind eye to. I will say Python has inspired a generation of languages that got away from the C-inspired sy…

Python is well-designed for what it is, and it certainly seems intuitive compared to bash or perl or whatever people were using before, but it is opinionated in a way that makes it hard to write anything but procedural-style code. That quality draws some people to it, but it's not a language that can be everything to everyone.

> it's not a language that can be everything to everyone.

Unlike say, for example...?

Re: Thank You, Guido

#58

> It is so intuitive and beautifully designed No it's not. Significant whitespace, underscores that mean things, lack of type system (but people treat variables as typed anyway), et all, make it quite a difficult language to understand. And we won't get into performance problems that it's cult following turns a blind eye to. I will say Python has inspired a generation of languages that got away from the C-inspired sy…

We all have our preferences. I find Python to be intuitive. I find Ruby to not be. I am sure someone would spend half a day trying to convince me otherwise, but, it's not worth arguing over in the end. There are more languages than most would care to count. Devs should pick a few that speak to them and move on.

But intuition is not something fixed like an extra toe or even ingrained through a lifetime like a sexual fetish. The core of what humans do is acquire new abstractions in such a way that what was previously convoluted is now intuitive.

"Intuitive" is a word for "stuff I already know". Symplectic geometry is unintuitive until you learn it. Learn stuff.

Re: Thank You, Guido

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

There has to be a term for when the business builds something with one tech stack, and then later, as if it was totally by surprise, realizes it needs to replace the whole thing, for basically no added business-value, and this happens every few years. I mean, everyone has known they would have to do this eventually, but it just kept being put off, like the business is a bad procrastinator. And they all do this.

stack underflow.

Re: Thank You, Guido

#60
Guido seems to have been incredibly good on the mentoring front, particularly with getting women into the community. I wonder if he'll continue doing that at all even after he goes into "retirement". It seems like a great asset to the community.
Post reply on HN