哪些任务是编程自动化工具永远无法完成的?

发布于 2024-10-08 16:04:50 字数 248 浏览 3 评论 0原文

我刚刚上完 InfoPath 上的一门课,老师对程序员的未来持悲观态度。我一直很难相信有人会编写一个工具,让非技术人员能够完成程序员的工作,但 SharePoint、InfoPath 和 DotNetNuke 等工具似乎在这个方向上取得了一些进展。

当我告诉老师我对程序员是否可以被取代持怀疑态度时,他要求我想出一些无法通过这些工具完成的事情。我很难当场想出一些东西(特别是因为我对这些工具的经验很少,因此没有经历过它们的缺点)。有哪些事情是这些工具永远无法做到的?

I just finished a class on InfoPath where the teacher had a grim view of the future for programmers. I've always had a hard time believing that someone will write a tool that will allow a non-technical person to do the job of a programmer but there seems to be some progress in that direction with things like SharePoint, InfoPath and DotNetNuke.

When I told the teacher that I was skeptical that programmers could be replaced he challenged me to come up with something that couldn't be done through one of these tools. I was hard pressed to come up with something on the spot (especially because I have little experience with these tools and therefore haven't experienced their shortcomings). What are some things that these tools will never be able to do?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

工具永远不可能不是工具。

A tool will never be able to be not a tool.

窝囊感情。 2024-10-15 16:04:50

这些工具的工作原理是允许您在“更高级别”进行编程,因此事情很容易理解。这几乎总是意味着它同时限制了你。总有一些事情是这些工具无法胜任的——您会使用这样的工具来创建 SQL Server 吗?不这么认为。

These tools work by allowing you to program at a "higher level", so things are easy to understand. This almost always means at the same time it restricts you. There will always be things that these tools won't be good for - would you use such a tool to create SQL Server? Don't think so.

蝶舞 2024-10-15 16:04:50

编写一个程序自动化工具。或者任何重要的算法开发。或者编译器,或者新的编程语言

有各种各样的样板文件可以被替换,但是任何不是样板文件的东西都不能被替换。程序能否提出 Dijkstra 算法或堆排序?

现在,程序员可能会遇到一些困难。我不认为这是一件坏事。

Writing a program automation tool. Or any nontrivial algorithmic development. Or a compiler, or new programming language

There's all sorts of boilerplate that can be replaced, but anything that's not boilerplate really can't be. Could a program have come up with Dijkstra's algorithm, or a heapsort?

Now, bad programmers may be in for some hard times. I don't think this is a bad thing.

冰之心 2024-10-15 16:04:50

编写程序的程序从编程的那一年就已经存在了——这是一件显而易见的事情。其中一些做得相当好(但通常不是很好)。但程序员所做的大部分工作实际上并不是编程。它是:

  • 分析
  • 设计
  • 政治
  • 文档

等等。

程序在做这些事情时非常糟糕。所以,你的工作可能是安全的。

Programs that write programs have been around from the year dot of programming - it's an obvious thing to do. And some of them do quite a good (but typically not great) job. But most of what a programmer does isn't actually programming. it is:

  • analysis
  • design
  • politics
  • documentation

etcetera.

And programs are deeply cr*p at doing those things. So, your job is probably safe.

豆芽 2024-10-15 16:04:50

首先编写该工具?或者运行它的操作系统?或者 BIOS 或许多其他设备中的固件?有很多领域都需要程序员。我不相信计算机能够精确地解释需求;这需要有意识的智慧。有意识的智能也无法以足够的精度编写需求,除非您将这些“需求解释者”称为程序员。

简而言之,你的老师不太聪明。

Writing the tool in the first place? Or the OS to run it on? Or the firmware in the BIOS, or many other devices? There are lots of areas where programmers will be needed. I don't believe a computer would be able to interpret requirements with precision; that requires a conscious intelligence. Nor would a conscious intelligence be capable of writing requirements with enough precision, unless you called those "requirements interpreters" programmers.

In short, your teacher isn't very smart.

终止放荡 2024-10-15 16:04:50

完全同意 Ziplin 的观点。

它与 iPhone 操作系统或新的 Android 应用程序构建器相同。他们创建了一个沙箱,您可以在其中更轻松地执行基本操作。但使它顺利工作的所有东西都是由真正的程序员制作的。错误检查、构建块的低级编程……

底线是,聪明的人应该制作产品,以便界面直观并且您不会犯错误。而那个“聪明人”就是程序员。

Completely agree with Ziplin.

It's the same like iPhone OS, or the new Android App builder. They create a sandbox in which you can do basic things more easily. But all the stuff that makes it work smoothly, is made by real programmers. Error checking, lowlevel programming of the building blocks...

Bottom line is, someone intelligent should make the product so that the interface is intuitive and that you can make no errors. And that 'someone intelligent' is a programmer.

ˉ厌 2024-10-15 16:04:50

编程是将自然语言、需求和“常识”翻译成机器可以理解的完整且正确的算法。任何人都可以编写分步说明列表;程序员可以比任何人做得更好。

特定类型的编程可能会变得过时。程序员的角色随着时间的推移而变化:

  • 随着高级语言的接管,机器指令编程变得越来越不常见由于
  • 计算机内存充足,知道如何在内存中重写自己的指令集的程序不再那么重要
  • 框架、库和像 Sharepoint 这样的工具可以完成一些编程的“繁重工作”,让程序员将更多的时间花在为用户增加价值的业务逻辑和功能上。

今天使用这些高级语言、内存充足的 PC 的人们、框架、库,仍然是程序员。这些进步降低了进入编程领域的门槛。程序员有一种独特的精确、直白的思维方式,使他们能够将“软”需求转化为“硬”机器逻辑。普通用户可能能够使用编程能力;但是,他们往往缺乏这种心态,他们创建的软件因此而受到影响。

编程是“一切”学科。编程的问题空间与人们在世界上想做的不同事情的数量一样广泛。

当我们发明了一种机器,可以收集用户的“软”需求,将其与常识相结合,并将其转化为有据可查的、人类可用的工具时,我们拥有的是真正的人工智能,而不仅仅是编程工具。在我们的计算机比我们更聪明之前,程序员将继续在世界上占有一席之地。

Programming is the translation of natural language, requirements, and "common sense" into a complete and correct algorithm that a machine can understand. Anyone can write a step-by-step list of instructions; programmers can do it better than anyone.

Specific types of programming can become obsolete. The role of the programmer changes over time:

  • Machine instruction programming is becoming less and less common, as higher-level languages take over
  • Programs that know how to re-write their own instruction set in memory are less relevant now that computer memory is abundant
  • Frameworks, libraries, and tools like Sharepoint do some of the "grunt work" of programming and let the programmer spend more time on business logic and features that add value for the user

The people who today use these high-level languages, memory-abundant PCs, frameworks, and libraries, are still programmers. These kinds of advances lower the bar to entry for the programming field. Programmers share a uniquely precise, literal-minded way of thinking that lets them translate "soft" requirements into "hard" machine logic. Ordinary users may be able to use programming faculties; but, they often lack this mindset, and the software they create suffers for it.

Programming is the "everything" discipline. The problem space of programming is as broad as the number of different things people want to do in the world.

When we have invented a machine that can gather "soft" requirements from users, combine them with common sense, and translate them into a well-documented, human-usable tool, what we have is a true AI, not just a programming tool. Until our computers are smarter than we are, we will continue to have places in the world for programmers.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文