5 ms·
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 ear
by gamesbrainiac 7y ago
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.
- gdulli 7y ago> 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 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.
- FpUser 7y ago"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?
- FpUser 7y agoSimple question leads to downvoting? Looks like we have a knight in shining armor protecting the castle of Python.
- greenshackle2 7y agoQuestions made in bad faith tend to be downvoted. Is this really a suprise?
- FpUser 7y agoI 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 7y ago[deleted]
- Ididntdothis 7y agoI don’t like python and don’t use it but I still think your question was unnecessary.
- jtms 7y agoThe condescending and arrogant tone got you downvoted both here and in your previous comment
- FpUser 7y agoThere 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.
- macintux 7y agoFWIW, I use Python because it’s necessary. I’m not overly fond of it. Give me Erlang, please. And I’d still call your statements condescending.
- greenshackle2 7y agoNo, 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.
- gcthomas 7y agoThere 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 Cython. So yes, FTT applications can be, and routinely are, written in Python if that is what you are most familiar with, as is the case for many natural scientists and data scientists.
- FpUser 7y agoAnd 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
- gcthomas 7y agoAnd you'd find that Python is a go-to language for people writing such algorithms. The black hole image which was in the news was produced from massively complex data sets from across the world. Would you like to guess which programming language was used? Python looping is often the slowest part of data analysis algorithms, but no-one uses Python loops is these cases. Vectorising this sort of analysis using fast extensions makes Python perfectly speedy enough for actual scientists.
- FpUser 7y ago"And you'd find that Python is a go-to language for people writing such algorithms." If it works for them, sure. Did not work for me.
- dang 7y agoCould you please review the site guidelines (all the way to the end!) and stick to them when posting here? https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html
- pbourke 7y agoGiven 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.
- FpUser 7y agoIMO a good an practical idea would be to write it in C/C++, expose as flat C API and then offer wrappers in whatever popular consumer languages there are (python included). The world of software does not end with Python
- pbourke 7y agoYes, definitely a good approach as well. One point in favour of the Python-first way is that you can prototype and test much quicker in Python than in languages that are closer to the metal. On my team, we've been successful with this rough approach: 1. write a prototype in Python to explore the idea/ensure correctness 2. extract the core library and re-implement it in Rust 3. consume the core from Javascript via WASM and Python via pyo3 (Python/Rust bindings)
- FpUser 7y agoOne point in favour of the Python-first way is that you can prototype and test much quicker in Python than in languages that are closer to the metal. Interestingly I've found something quite opposite for computational algorithms. The problem was that execution of Python under debugger was unbearably slow for me (I used VS Code for this case). So waiting until the code gets to the point I need was not fun. With C however it would get there almost instantly. Compile time for isolated computational function was nearly instant as well. Maybe debugging under VS code was the culprit but I did not feel that for this particular task Python was any more interactive than plain C.
- pbourke 7y ago
- ivalm 7y agoClearly his statement is predicated on the kind of work he does. Dont be obtuse.
- FpUser 7y agoIf this is "predicated by the type of work" then why make generic statement? Am I the one being obtuse?
- awj 7y agoDo most generic statements start with "This matches my experience"? Kinda seems like you are, mate.
- FpUser 7y agoNot 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
- gdulli 7y agoOf 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.
- FpUser 7y ago"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.
- malvosenior 7y agoThere are a lot of times where Python is an inappropriate language choice. Anytime you have concurrency for instance. Definitely any time you need to distribute an application directly to an end user. Beyond times when Python is clearly wrong, there are other issues, mainly around tooling and documentation. Languages have come a long way in the past 20 years.
- Myrmornis 7y agoHe’s left Dropbox; he hasn’t died.
- bredren 7y agoYa this reads like a pr statement to me. Like: He was not unhappy here he is retiring! A carefully controlled message.
- deleted 7y ago[deleted]
- gus_massa 7y agoIs he retiring only from Dropbox or he is retiring also from the Python committee (or whatever it is call)?
- kamyarg 7y agoYeah, he already did step down from being the BDFL. PSF now has an elected steering council to replace him. https://mail.python.org/pipermail/python-committers/2018-July/005664.html https://mail.python.org/pipermail/python-committers/2018-Jul...
- whalesalad 7y agoIt's not the beginning of the end. Retirement is not a death sentence. Lots of folks go on to do some of the best work of their lives... not that Guido hasn't already done plenty of that. I’m sure he’s going to take a break from the chaos of being at a unicorn in SF and the departure from BDFL, spend some time in the woods reading books and getting ready for the next thing. He’s got plenty of cash (presumably) so hopefully finances are not a source of concern. Then the itch will come and hopefully he will be poised to scratch it. I’m sure we’ll see more from him!