Windows API与UNIX shell(等同?) - 或者 - 编程语言何时是语言而不是脚本?

时间:2009-07-05 09:21:22

标签: windows unix posix ieee

我已经看到一些问题已被关闭为“与编程不相关”(例如https://stackoverflow.com/questions/397854/what-process-accesses-my-hdd

我理解他们的几个替代网站(stackoverflow)主题论坛,并尝试将网站问题保持在最低限度也有人可能会说这太主观了,好吧,我为我的第一个答案疯狂地发火焰,所以这里是我的第一个问题,我会尝试用psudo-contextual-basis(jepordy风格)来构建它以保持一些监管机构的存在...

#include UNIX系统在与编程相同领域的级别讨论是不公平的?我用过的最有用的UNIX工具之一,strace / trus / par,基于系统调用信息和报告,其他工具如ltrace可以为libararies做类似的事情......

系统管理员,我同意不是这个论坛,比如“如何让qmail做X?”,但是“我的smtp病毒扫描程序还不够快,基于dnotify?” (回答)“嘿,使用inotify”,这么容易分离?后者可能是shell或linux内核系统调用。

我对标准的看法不多(最近读得太多),我在POSIX“命令语言”上添加了一个标签,将注意力集中在识别某些有争议的信息上。

系统级交互有点像编程接口(API)/用户界面(shell)二元性(特别适用于UNIX)。

如果审判者的背景基本上是基于接口的,并且它是一个简单的采石场(甚至是典型的)来解决一个独特的编程/ API响应,为了帮助人和机器人,为什么需要域名更改(知识体系或URL域名;)?

4 个答案:

答案 0 :(得分:2)

对不起,我不明白你在UNIX和Windows之间的区别。作为使用和编程它们的人,关于是否在库中调用内核服务的区别似乎并不重要。区别是 - 是在编程环境中进行的调用吗?例如,我建议没有关于UNIX cat命令的问题属于这里,而关于UNIX read()系统调用的问题,哪些cat必须在某个级别使用,呢。

哦,内核和shell之间没有“紧密集成”。

答案 1 :(得分:2)

  

#include UNIX系统在与编程相同领域的级别讨论是不公平的?我用过的最有用的UNIX工具之一,strace / trus / par,基于系统调用信息和报告,其他工具如ltrace可以为libararies做类似的事情......

调试工具的讨论在SO,IMO上完全有效。我没有看到关闭调试工具的问题。

因此,如果您引用的已关闭问题是“我如何找到哪些进程正在触摸文件来调试我的程序”,那么我认为它不会被关闭。但它似乎是“如何找到哪些流程触及文件以改善我卧室的氛围”,这与编程无关。

系统管理员问题属于其他地方。 Bash编程与编程相关,而系统实用程序则不然。它与'如何使我的文档在三列中进行Word格式'与编程无关,但“我如何编写VB脚本来格式化我的Word文档”是一样的。

答案 2 :(得分:0)

我想如果你今天问同一个question它也会被关闭。但不是“没有编程相关”,而是“属于server fault”。

如果您的问题已经存在,我想跟踪文件我的程序触摸,即具体与开发工作相关,那么它将是边缘的。

答案 3 :(得分:0)

  

系统管理员,我同意不是为了这个   论坛,比如“我如何让qmail做   X?“,但是”我的smtp病毒扫描程序是   根据dnotify不够快?“   (回答)“嘿,使用inotify”,这么容易   分居?后者也可能   是shell或linux内核系统   调用的。

我们不需要区别对待。如果有人正在编写smtp病毒扫描程序,这是一项编程任务,有关如何执行此操作的问题是编程问题。然后,无论是用bash,汇编语言还是用C ++或空格写的,都无关紧要。

另一方面,询问“如何查看Unix上正在运行的进程?”不是一个编程问题。是的,答案是使用一个基本上是系统调用的包装器的命令,以及是什么? MS Word“保存文件”对话框也是写文件系统调用的包装器。这并没有使它与编程相关。

我真的没有看到问题。

  

是不是UNIX系统的情况   相关问题是编程   问题吗?如果没有,那么在哪里   边界之间的边界   编程/脚本语言和   用户界面?

边界在这里:“问题是在编程环境中提出的吗?” 询问如何使用某些Unix命令的最终用户不是编程问题。但是程序员询问如何让他的程序在Unix上做一些事情,与编程有关。

shell命令和系统调用基本相同无关紧要。如果从编程上下文调用它,则它与编程相关。否则就不是。我们甚至可以在Windows上做出同样的区分。如果我问“我应该如何从我的Python程序调用CreateFile”,这显然与编程有关。 但是“我运行的程序崩溃了,并且给了我一条错误消息,说CreateFile失败了。这是什么意思?”与编程无关。

从编程上下文中询问一个,另一个恰好包含系统调用的名称。

如果你有疑问,这是维基百科对“编程”的定义:

  

计算机编程(通常缩短   编程或编码)是   写作,测试,   调试/故障排除,以及   维护的源代码   计算机程序

这对我来说非常清楚。你在读/写源代码吗?如果没有,它几乎不编程。作为通过编程创建的实用程序的用户就足够了。