Live data from Hacker News

Thank You, Guido

blog.dropbox.com

101–110 of 388 posts

Re: Thank You, Guido

#101
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…

Surprisingly enough, PHP is a good example of environment that doesn't break backward compatibility much.

About the only change that had a significant impact on projects I worked on was removal of the 'mysql' DB extension (replaced by 'mysqli' and 'PDO'). For an older project I created a few shim functions and it still works just fine.

While frameworks come and go, the core of the language is highly backward compatible. The choices made early on were in the UNIX style, so they were right.

To quote an earlier post[1],

--

There is something to be said about PHP's staying power. The early versions of the language weren't considered "right". Except maybe they were right for the problem at hand.

The way I see it was PHP captured the vector of change, and left ample room for future developments. Both internal changes (hello, bytecode; hello, JIT), language level features (hi there, namespaces), and runtime level features (oh hai, countless built in classes and functions).

Moreover, unlike many framework that shone brightly and burned out quickly (Rails?), PHP captured the essence of the environment: HTTP is stateless, and URLs aren't uniformly routable from either end, and well-formed HTML/XML/JSON is just a subset of tag soup.

Worse is better.

--

[1] https://news.ycombinator.com/item?id=19536132

Re: Thank You, Guido

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

probably would help if he added static typing from the get go.

Re: Thank You, Guido

#103
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?

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

Re: Thank You, Guido

#104
post #85
post #70

Earlier quoted context omitted.

If this is "predicated by the type of work" then why make generic statement? Am I the one being obtuse?

Do most generic statements start with "This matches my experience"? Kinda seems like you are, mate.

Not sure how they start but sure look generic when they end like this:

There's ways I'll insist that Python is the best at [x], and ways I'll concede some other language is better at [y]. But it never amounts to anything close to a debate about what language I should use

Anyways I should know better then discuss Python

Re: Thank You, Guido

#105
post #74
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.

I think this is what experience teaches. Sometimes I have the itch to write clever code but then more often than not it ends up being cryptic to other developers. If you really have to write clever code, wrap it up in a well defined interface and write a bunch of tests.

I've found it also becomes cryptic to your future self who will have to figure out how to maintain it going forward

Re: Thank You, Guido

#106
post #78
post #69

Earlier quoted context omitted.

The condescending and arrogant tone got you downvoted both here and in your previous comment

There is nothing condescending and arrogant here. It looks like the other side is being way too touchy. Anyways I got the message: stay away from anything that questions Python being the best thing since sliced bread.

No, you're not down-voted because you don't like Python. You're down-voted because you come across as hostile and condescending, whether that was your intention or not.

Re: Thank You, Guido

#107
post #46

Earlier quoted context omitted.

Simple question leads to downvoting? Looks like we have a knight in shining armor protecting the castle of Python.

There are FFT libraries written in Cython, the superset of Python that compiles to C/C++. Just because the Cpython runtime might be too slow for this type of task doesn't mean the language is. And why would anyone write FFT code anyway? Robust implementations exist already - see netlib.org for algorithms implemented in C, C++ and Fortran. SciPy uses these and wraps them for use in Python, with newer code worn in Cyth…

And why would anyone write FFT code anyway? Robust implementations exist already

The FFT was just an example, you can substitute it with any SolveTheWorldHunger computationally extensive algo

Re: Thank You, Guido

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

You’d think it would be common sense when writing something that other people will read. We don’t see people writing books in acronyms or omitting words. How come so many people try to use code to show how smart they are?

We don't use code to show how smart we are. We just assume that other developers are as smart as we are.

>We don’t see people writing books in acronyms or omitting words.

Math books written for mathematicians do this all the time.

Re: Thank You, Guido

#109
post #22

I hated C++ and Matlab as an undergraduate. Hell, I hated programming as a whole - and effectively swear never to write a line of code once I was done with my BSc in Physics. Then, at work, I was introduced to Python. It was so...obvious, for lack of a better world. It was like a language I always knew that never spoke before. I'm now a software engineer, write Python almost all day, and looking back to the 18-year o…

> It was like a language I always knew that I never spoke before.

God that's well put

Re: Thank You, Guido

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

[deleted]
Post reply on HN