Ide 为什么源代码只是文本?

Ide 为什么源代码只是文本?,ide,editor,wysiwyg,Ide,Editor,Wysiwyg,我一生都在使用基于文本的源代码编辑器。 真不敢相信我们都还在这么做!一定有更好的办法 我不是说我想使用所见即所得编辑器,我通常讨厌这些,因为它们不能完全产生你想要的东西 不,我指的是基于文本的源代码编辑器,它通过以下额外功能得到了极大增强: 在源代码中包括图片、excel数据、pdf等,以解释某些数据结构,包括(模拟)客户实际需要的屏幕截图等。当然,还可以选择缩小/隐藏/折叠这些内容。 (与单独的文件相比,此文件的优点很明显,您希望将此信息与源代码一起存储) 评论不是文本,更像是可调整大小、可

我一生都在使用基于文本的源代码编辑器。 真不敢相信我们都还在这么做!一定有更好的办法

我不是说我想使用所见即所得编辑器,我通常讨厌这些,因为它们不能完全产生你想要的东西

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

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

  • 评论不是文本,更像是可调整大小、可移动、可点击等类似post的项目

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

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

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

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

我知道很多硬核程序员都对这种事情感到震惊,但他们仍然可以按照自己的方式编辑,我只是认为拥有这些额外的可能性会很好。为什么源代码仍然只是文本,而其他类型的文档要复杂得多


有人知道有哪一个源代码编辑器具有这些特性吗?

当然,这只是我的观点,所以请恕我直言。我认为这样的事情还没有完成的主要原因是编译器仍然希望纯文本。如果你有一个像你提到的源代码编辑器,它将只是一个前端-实际的源文件仍然是纯文本。您遇到的问题是,采用这种方法的每个源代码编辑器可能有不同的实现某些功能的方式,因此看起来相同的源代码在纯文本中实际上是完全不同的


当你编译这个源代码时,你将陷入一个麻烦的世界。PHP的例子可能很好,但是对于我工作的类型(工业用的实时C++应用程序),我需要对源进行精确的低级别控制,这样我就能准确地知道我的代码是如何编译的。这对绝大多数程序员来说是行不通的,这就是为什么它从未被实现过的原因。目标受众充其量也很小。

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

事实上,如果你写下一个需求,然后以不同的侧重点阅读,你会发现写一个明确的陈述是非常困难的

这个例子来自Pete McBreen(978-0201733860)的《软件工艺:新命令》

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

玛丽有一只小羊,她已经没有了

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

玛丽有一只非常小的羔羊

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

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

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


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

您所描述的内容听起来很像我

在这方面已经取得了一些进展,其中一些现在是有用的

带连字的字体(以及支持连字的编辑器)

(in)

Jupyter笔记本,但您不能轻易地将可执行文件或库“纠结”出来供最终用户使用。

()

Fortress(来自Sun的编程语言) Fortress支持utf-8中的源代码,并鼓励其使用,特别是对于用户定义的运算符。他们尝试在编辑器中排版源代码(因为大部分是计算科学,所以有很多数学)

弹性止动块

()

结论
实际上,有很多类似的努力。目前还没有像UX这样的开发者工具运动,但我希望它在未来几年内将获得发展势头。

如果有需求,我相信有人会创造一个。我认为问题在于这句话的前半部分。我认为这更多地是因为大多数程序员都是书呆子(无意冒犯!),他们在比纯文本更具创造性的工作方式上有困难。但在这种情况下,编程总是被认为对“正常”人来说太难了,在我看来,这是一件坏事。你知道吗?好吧,但我知道的所有这些事情