面向IDE的编程语言

  1. 现象分析
  2. 为什么说Java是面向IDE编程?
  3. 详解
  4. 缺点
  5. 优点
  6. 优化

Java语言是面向框架的编程语言,同时又因为其语言特性,它终究成为了面向IDE的编程语言。

现象分析

现象(1)

原因:Java是面向框架的语言(spring、hibernate等框架)

结果:需要各种插件进行集成和辅助。即,Java和IDE是紧密关联的。

现象(2)

原因:Java的语言特性

结果:IDE中出现各种插件,对Java语言特性进行优化。

为什么说Java是面向IDE编程?

问:面向IDE的编程语言是什么?

答:以IDE为生态中心的编程语言。

特点:

  • 必定是面向框架的编程语言
    • 精通需要的知识量大
  • 模板方式的开发
  • Java+框架+IDE方式已经成为了新的结合体,代替原有的编程语言

详解

IDE常常给人一种感觉,“有了IDE后,我们可以节省许多去了解细节的时间”,这句话并不能说存在错误。编程的必然规律是:

1
简单的编程==》形成模块==》形成框架

即,直接利用现有的技术成果,从而简化工作并提高工作效率。

因为Java的语言特性以及历史发展,Java形成了各种各样的框架,这些框架往往体积较大,编写速度相对慢,学习曲线较长。因此开发者们想通过IDE的各种插件进行简化操作(二次优化),于是乎,IDE和Java、框架深深的结合在一起。

缺点

Java、框架、IDE的结合体因为其自身的特性变得结构层数尤为多,一旦出现错误时,需要降级查找。结合体的层数越多,可能出现的问题就越多,而相对的资料会越少(元素越多,排列组合结果就越大)。

因此,为了尽量少地碰到坑,我们必须了解Java、框架、IDE。并不能依靠IDE帮我们封装知识,从而减少所需要了解的知识量。但是人类认识事物的形式,往往是从表到里,这与学习使用Java框架的方式是对立的。这种矛盾的表现,正是面向IDE语言的一种表现。

打个比方,我们想尝试去获得敌国的一架飞机的技术,这件事情的前提

  • 会驾驶该飞机的驾驶员
  • 飞机是可飞行的

在该前提下,我们才可以进行从表到里的认识与学习。

Java的框架就像飞机一样,过于复杂,我们需要从表到里一步一步认识与学习。

  1. 尝试开一下飞机
  2. 观察飞机的行为
  3. 去了解深层次

然而,若是飞机无法起飞,后续步骤都无法进行。即,我们没学习到怎么样制造飞机,这时却要求我们去查看飞机为什么会有故障,这种行为对新手十分不友好,同时充满了矛盾。

IDE和框架理所应当避免这种事情的出现,可是层数越多,暴露信息越多,出现错误也就不足为奇了,再者后续支持工作不足够,对新手而言更是举步艰难。

优点

想了很久面向IDE的编程语言的优点。古人云:“分久必合,合久必分”。国家一旦大起来,就必定难以控制,必将分离,产生新的事物。新的事物在发展的途中也必将渐渐庞大起来。这样的循环的结果,事物将被细分成更小更小的领域,即,分工更加的明确。

当一个领域,工具(IDE)和编程语言所能带给的效率达到一个理想的程度,同时颗粒度也无法再小下去,此事后这种面向IDE的编程语言已经无可非议了。

优化

IDE以及插件是面向编程语言的,即,IDE以及插件是依赖于编程语言。IDEs之间具有竞争关系,而他们的共同依赖着编程语言(如:Java)不具有竞争者。即,层次高的事物相对于层次低的事物,稳定性差。稳定性较差,则需要更多的时间进行稳定,从而产生规定和共识。另外,稳定性差也意味着该事物消失的可能性更大。

层数越多的结合体,更容易产生变动(插件更具有主观性、插件作者弃坑、团队选择使用新的IDE等),于是乎对应的信息(文章、文档)则更具有时效性,而新版本的结合体的描述信息也因此更为少。

信息的不稳定,也是开源社区的一种现象。单独的开发者们可以因为兴趣盎然而开发,也可以因为兴趣泯然而放弃开发。开发者是人,具有不稳定性,需要通过外部手段进行控制(例:apache就是一个比较良好的组织)。可通过组织对插件进行管理,使插件更具有长久的生命以及更详细文档,从而达到稳定性的目的。