为什么源代码只是文本?

Dyl*_*lan 5 ide wysiwyg editor

我一生都使用过基于文本的源代码编辑器.我无法相信我们仍然在做这个!肯定有更好的办法.

我并不是说我想使用WYSIWYG编辑器,我通常讨厌那些,因为它们并不完全符合你的要求.

不,我指的是一个基于文本的源代码编辑器,它通过以下额外功能大大增强:

  • 包括图片,excel数据,pdf等.在源代码中,解释某些数据结构,包括(模型)客户端实际需要的屏幕截图等.当然可以选择缩小/隐藏/折叠这些的东西.(这与单独文件相反的优点很明显,您希望将此信息与源代码一起存储)

  • 评论不是文本,而是更像是类似邮件的项目,可以调整大小,可移动,可点击等.

  • 类定义和实例不是作为文本,而是作为可点击的对象框,甚至可以使用图标在源代码中快速查看对象是哪个类).

  • 现在是2个字符作为1个符号的运算符.例如: - >在PHP中作为真正的箭头.

  • 在源代码中使用颜色,不同文本大小和其他布局工具的可能性(我不是在谈论自动语法着色,有时通过像在Word中那样使用布局工具来强调某些文本块是很方便的)

  • 在不同的文件中包含单独的文件,但仍然能够编辑/查看这些文件,就像它是1个文件一样(与Adobe Illustrator相比,您可以在文档中放置单独的文件,但仍然可以编辑它们).

我知道很多硬核程序员对这些东西感到震惊,但他们仍然可以编辑他们想要的方式,我只是觉得拥有这些额外的可能性是很好的.为什么源代码只有STILL文本,其中许多其他类型的文档要复杂得多?

有没有人知道任何具有这些功能的源代码编辑器?

Fen*_*ton 5

过去曾尝试过制作可视化开发工具,但问题是计算机需要以正式语言进行非常精确的陈述,才能完全满足用户的特定要求。

事实上,如果你写下一个需求,然后以不同的重点阅读它,你会发现很难写出一个明确的陈述。

此示例来自 Pete McBreen (978-0201733860) 的《软件工艺:新命令》。

玛丽有一只小羊羔 - 这只羊羔属于玛丽而不是任何其他人

玛丽一只小羊羔——她不再拥有它了

玛丽有一只小羊羔——只有一只

玛丽有一只羊羔——它特别小

玛丽吃了一只小羊羔——其他人都吃鸡肉

这就是为什么我们需要一种比自然语言更明确的语言,也是为什么视觉辅助开发没有用处。

例如,用“便利贴”来注释代码不如编写易于其他人阅读的干净可读代码有用。事实上,与其他开发人员共享代码意味着更改文本大小和颜色将需要其他开发人员忍受您的个人风格,这并不酷。

你提到的一些想法现在实际上已经可以实现。能够查看类图并通过单击类“框”导航到代码是 Visual Studio 的一项功能 - 就像树视图中单个文件后面的多个文件的组织一样。


Mic*_*Fox 1

当然,这只是我的意见,所以请持保留态度。我认为尚未完成此类操作的主要原因是编译器仍然期望纯文本。如果您有像您提到的那样的源代码编辑器,它将只是一个前端 - 实际的源文件仍然是纯文本。您遇到的问题是,采用这种方法的每个源代码编辑器可能有不同的方式来实现某些功能,因此看似相同的源代码实际上在纯文本中会完全不同。

当您编译该源代码时,您将陷入困境。对于您提到的 PHP 示例来说可能没问题,但是对于我所从事的工作类型(工业实时 C++ 应用程序),我需要对源代码进行精确的低级别控制,以便我确切地知道我的代码是如何运行的编译。这对于绝大多数程序员来说永远行不通,这就是为什么它从未被完成的原因。目标受众充其量也很小。