TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Someday we will all program in Python

53 点作者 empone将近 16 年前

9 条评论

andrewljohnson将近 16 年前
The only reason to write in a language like C or Java today (over Python) is speed. And there are a very limited number of applications that require that sort of speed. There's no question that Linux should be written in a low level language, or a high-performance chess bot. But I'm incredulous when I see anyone write a website in even the relatively high-level Java.<p>So, the author is right that we're getting more Pythonic, but he's wrong to say we'll all write in Python some day. Some day, something like Python will be the fast low level language, there will be new slower languages that are easier to use than Python, and C will be a memory. The evolution of programming languages will never end, not in our lifetime certainly, and probably not as long as we walk the earth.<p>I must say though that I pray for more convergence. It annoys me to write code in JavaScript and Python, having to remember subtle differences between the two as small as capitalization of true and False, and tricky pitfalls like the scope of a variable declared in an if block.<p>It does seem an unnecessary burden for me as a web developer to have to know a handful of languages. You can hardly make a website today without knowing HTML, CSS, Javascript, Python/Ruby, and you better know your SQL too. Then, let's talk APIs.
评论 #668758 未加载
评论 #668817 未加载
评论 #668634 未加载
评论 #668552 未加载
评论 #668615 未加载
评论 #668569 未加载
评论 #668585 未加载
评论 #670104 未加载
评论 #668866 未加载
adamc将近 16 年前
I thought the second comment was interesting:<p>&#62;I believe the flaw in the argument is that the higher-level languages are actually <i>more</i> constrained, because they have made too many broad promises and are unable to tell when they can violate them without ill effect, even though it is obvious to the programmer. We might think that your example above would be a perfect case in which we could parallelize the loop... but what if sum() had side effects, such that it would produce the wrong result if not evaluated in order? What if sum() didn't have any directly detectable side effects, but called another function which called another function which did... sometimes, from code in a runtime eval? The compiler has no way of knowing this, so it has to assume the worst, and this is why it ends up being unable to make all the optimizations that one thinks it "should" be able to make. The human looks at it and says "duh, it's called 'sum'. If it has side effects, I'm going to smack somebody up the side of the head" and proceeds to optimize in the expected ways.&#60;
评论 #668876 未加载
b-man将近 16 年前
I think it is funny that the guy went and said something correct like this:<p>"In an ideal world, high-level languages like Python would replace all other programming languages."<p>That includes smalltalk, scheme, clisp, and every marvelous language not yet invented.<p>But then he goes on and says something very closed minded like<p>"Someday we will all program in python."<p>As if python got everything correct, and we have a perfect map of how humans think with it. The arrogance.
评论 #669062 未加载
cubix将近 16 年前
Or how about in Clojure?<p>(map (partial reduce +) (partition 7 7 daily))<p>Edit: Possibly that should be partition-all from seq-utils to sum the remainder days if the length of daily isn't divisible by 7.
评论 #668544 未加载
评论 #668625 未加载
tybris将近 16 年前
Some day we will stop writing COBOL.
评论 #668848 未加载
_pius将近 16 年前
<i>weekly = [sum(daily[j:j+7]) for j in range(0, len(daily), 7)]</i><p>While I appreciate the general sentiment that high-level languages will take over the world, there is very little that's new in this article and I am not impressed by the showpiece Python code from the article. For loops are the future?
评论 #668674 未加载
samuel将近 16 年前
<i>The less the programmer says, the more flexibility the compiler has to speed things up.</i><p>I seriously doubt it. The more the compiler knows, the more it can optimize things.<p>What it's "daily" in this example? It could be anything. The only thing the compiler knows at compile time is that it should generate some lookups searching and calling the functions "__iter__", "__slice__", etc... Put that line into a function which receives daily as a parameter and it could mean something different <i>at every single invocation</i>. Human beings, looking that code think know what it does, while in fact don't have a clue. The equivalent code in clojure someone has wrote only is really equivalent under some very specific assumptions.<p>I know, I know, at runtime you could gather all kinds of interesting data to optimize things. But, that's not easy nor cheap and, sometimes, iterating over an array, it's just iterating over an array.
评论 #668846 未加载
juliend2将近 16 年前
Unfortunately, it will take a long time for all the web dev to switch (from PHP) to Python. Lazyness is stronger than any high-level language feature or development speed. I've long given up trying to convince my clients to switch for a python-friendly host. Imagine: i still have some clients running their website on PHP4.
danbmil99将近 16 年前
So true.<p>[edit:] if only... Amend to: some day, we will program as efficiently as possible, and software will do most of the annoying housekeeping.