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

科技回声

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

GitHubTwitter

首页

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

资源链接

HackerNews API原版 HackerNewsNext.js

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

Can Programming Be Liberated, Period? (2008) [pdf]

40 点作者 marianoguerra大约 6 年前

7 条评论

mikekchar大约 6 年前
The previous discussion from 2017 was on point: Most of programming is figuring out what you actually want and that problem is not going to be solved by computers any time soon. However, I think there is a sub-problem where computers <i>can</i> help. One of the biggest issues when writing large and long lived systems is that the code becomes more complicated than the original problem. Anybody whose worked on legacy systems before will be familiar with that issue: figuring out how to do what you want to do in the confines of the existing code is sometimes more difficult than analysing the original problem.<p>I tend to make my living on legacy code. In fact, I enjoy it more than green field projects because it&#x27;s trickier. Also, because nobody else wants to touch that code, I have more freedom :-) And (if I&#x27;m honest) it&#x27;s an easy escape from the occasional colleague who always insists that &quot;it must be like X&quot; because they lack experience to see things in terms other than X. When you get to the point of, &quot;Well, we can&#x27;t reasonably <i>do</i> X because of all our legacy problems. What&#x27;s plan B?&quot;, there is a lot more room for compromise and the task becomes a lot more fun (IMHO).<p>But on greenfield projects, having a tool that helps you understand when you are making the code worse would be incredibly helpful. We&#x27;ve got some metrics (like cyclomatic complexity, class size, method size, etc, etc) but it&#x27;s still pretty easy to write code with terrible consequences even when following linting rules.<p>This is where I can see the potential for AI and ML to help: a kind of permanent pair programming partner that can keep an eye on the big picture. For example, warning you when you have too many options in your API, or when your architecture is not isolated enough (or too isolated). It&#x27;s a lot of fuzzy judgement calls, so it&#x27;s hard to find specific rules to help you. I suspect there are some startups looking at this, but I admit that I haven&#x27;t followed their progress at all.
airocker大约 6 年前
I think the programming language design is not the problem. Python and others are easy enough. The problem is more with representing the thousands(more sometimes) of decisions that go into building a codebase. It is impossible for someone to just go in and understand a codebase. If there is a way to shorten the time to learn why every decision was taken, programming could be easily gamified.
dang大约 6 年前
From 2017: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=16008462" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=16008462</a>
Nasrudith大约 6 年前
It is perfectly possible to program without a keyboard. That said it is a bit domain limited - block diagrams usually or picking from a list of functions.<p>Not having the how and what however is a bit of a receipe for disaster by asking something for nothing - undefined behaviors are bad. Programming depends upon clarifying your ideas - design does period. Even if you could teach it a phone interface it would still have to deal with standards to actually be a phone.<p>The precise &quot;how&quot; can be left to programs with machine learning or other optimizations like compilers of course but one needs a search space&#x2F;technique for it to generate.<p>And there are pitfalls to keep in mind like spurious correlations,data poisoning to make a toy turtle be perceived as an AK-47, and model glitch exploitation. It will still give you what you ask for in the training functions - not what you really want. You may want a more efficient form of locomotion so it finds a perpetual motion device trick that needless to say won&#x27;t work in the real world.<p>That happens with humans as well with perverse incentives and unclear requirements.
marktangotango大约 6 年前
Side note; Harels Algorithmics is a wonderful book I recommend to anyone.
miki123211大约 6 年前
This is a bit similar to what I had been thinking for the past several weeks. My approach was a little bit different, and involved excel-like mechanisms with a bit of AI sprinkled on top, but this might be even better, though harder to do.
danarmak大约 6 年前
Title should mention the year, [2008].
评论 #19240418 未加载