开发环境与工具部署服务
多年以来,我是一名Smalltalk程序员,这种经验使我从不同的角度来观察编程世界中的思想。 例如,将源代码存储在文本文件中的想法已经习惯了一些。
作为程序员,我们经常在“开发”和“部署”之间进行区分,特别是我们在一个地方使用与部署软件后使用的工具不同的工具来开发软件的想法。 在Smalltalk的世界中,没有这种差异。
Smalltalk是基于包含您的开发环境(IDE,调试器,文本编辑器,版本控制等)的虚拟机的思想而建立的,如果您必须修改任何代码,则可以修改内存中的运行副本。 如果要对运行中的计算机进行快照,则可以这样做,并且如果要分发代码,则可以将运行中的计算机映像的副本(包括IDE,调试器,文本编辑器,版本控制等)发送到用户。 这就是90年代(对于我们中的某些人)软件开发的工作方式。
如今,部署环境与开发环境大不相同。 对于初学者,您不希望有任何开发工具。 部署后,将没有版本控制,调试和开发环境。 有我们在开发环境中没有的日志记录和监视,还有一个“构建管道”,它将我们的软件从我们开发的形式转换为部署的形式。 例如,Docker容器试图重获1990年代Smalltalk程序员的部署经验的某些简单性,而又不希望为开发经验做同样的事情。
我想如果Smalltalk世界是我唯一的未能在开发环境和部署环境之间进行区分的编程隐喻经验,那么我可能会fl幸地回顾它。 但是在我成为Smalltalk程序员之前,我曾是APL程序员,那也是一个可破解的虚拟机映像的世界