计算机被发明以来,IDE理念从最初的文本式,到后来的带图形界面式,再是图形可交互式,之后再无突破(虽然有人说AI也可编程,但其可控性差)。
这几年由于云计算兴起的在线IDE,当使用云时会有一些便利,但在编程效率成本安全性方面,是不能与批处理式IDE相比的。
文本式
当计算机有了显示输出后,自然而然就出现这种文本式IDE理念。
文本式理念是所有IDE都天然具备的,主要基于键盘进行操作,鼠标操作基本没有。
会操作古老的EmacsVI/VIM文本式编程工具,也不代表水平高。因为所有编程语言,源代码的主要表达形式仍是文本。
如目前仍在使用的Unix/Linux平台下的EmacsVI/VIM,之所有流行,是因为Unix/Linux服务器平台本身没有图形化界面(桌面版除外,微软Windows之所以流行,就是因为其具有图形用户界面)。带图形界面式
文本式IDE编程效率不高,不太美观,没有图形用户界面,给交互带来不便。
从上世纪90年代到当前,很多成熟且功能强大的IDE,基本都开发了图形界面。如由IBM贡献给开源社区的Eclipse,由微软开发的VisualStudio,及之后流行的一些IDE。
虽然有了图形界面,但很多人仍以会使用Unix/Linux平台下的EmacsVI/VIM为荣。从这点可看出,带图形界面的很多IDE在操作(或编程)效率方面并没有很大提升,只是添加了一些图形用户界面。图形可交互式
如Qt下的Designer,很多在线离线网页编辑器(所见即所得),及一些儿童编程入门IDE。
图形可交互式适合新手入门,同时能弥补文本式带图形界面式IDE编程的不直观性缺陷,但其适用范围小。
主要方向是提升用户对编程的兴趣,及对直观性的一些补充。由于侧重点是直观性,因此,在编程效率方面并没有什么突破;本质上,仍是一种带图形界面式IDE理念。批处理式
由于所有编程语言,源代码的主要表达形式仍是文本。
而文本在数字化批处理化方面天然优势明显,如标准统一(虽然全球存在很多种语言文字)、未加密(虽然文本可编码解码字符加密)、处理工具多(所有能打开文本文件的工具,都可查看)、等等。
数字IDE基于文本的这些特点,开发出了结合文本式带图形界面式所见即所得(集成Web浏览器)理念的多功能高效批处理式IDE理念。并由此衍生出专业用于编写PythonHTMLC/C++等编程语言的IDE。
数字PythonIDE.5批处理式IDE
以前,若想不同字符间能通配,可使用*?通配符,或功能更为强大的正则表达式。
但正则表达式标准未完全统一,各种编程语言有差别(如Python2.7和Python3.x,不同版本间都有差别),规则复杂难于掌握(特别是新手)。
就算正则表达式标准统一,或只就Python3.x而言,又会出现匹配的不可控性而难于应用。那批处理怎么办,不使用正则表达式有更好的办法吗?
数字IDE由此提出其专用万能字符通配符_charProxyMarker,万能相对路径通配符relativePathMarker,万能目录通配符1_dirProxyMarker。
当然,除这些外还有很多批处理工具,如全文搜索全文替换全文插入全文删除全文移动,批量Cython批量PyInstaller,批量TTS文档,批量格式化HTML源代码,文档自动化版本管理,高级文档管理,等等。
将以前基于单字符单文件的编程方式,上升到基于批文件多工程多版本的高可控柔性化新编程方式。结合C/C++、多线程技术、多进程技术等,在提升编程效率方面,全局至少3-5倍以上,局部最多倍以上。
_charProxyMarker
用于文件目录重命名或文本模糊批处理,通配任意字符(不再使用正则表达式)。
其中charProxyMarker是标记名称,中文译为字符代理标记;及_起分隔作用,无实际意义。
其中代表个连续相邻字符,这个连续相邻字符可为空或任意连续相邻字符,且数字可修改。如_charProxyMarker通配个字符,0_charProxyMarker通配0个字符。relativePathMarker
HTML文件模糊批处理万能相对路径通配符,用于自动生成../../形式的相对路径,../字符的数量由文件目录层级决定。
其中relativePathMarker是标记名称,中文译为相对路径标记;起分隔作用,无实际意义。1_dirProxyMarker
路径模糊批处理万能目录通配符,用于管理文档,如:文件拷贝文件移动,通配不同目录名(不再使用正则表达式)。
其中1代表1级目录,这1级目录代表1级任意目录中的所有字符,且数字可修改。如2_dirProxyMarker通配2级目录,3_dirProxyMarker通配3级目录。
其中dirProxyMarker是标记名称,中文译为目录代理标记;及_起分隔作用,无实际意义。
综上所述,这也就是IDE3.0理念的由来(更多的功能,更高的效率,更新的理念)。数字IDE是一款更适合全栈软件工程师编程的好工具,由于其仍在发展,未来在编程方面还会有新发现新思路新理念。
Cython