未来物联网全栈开发 的主流语言是什么?

原文链接: https://yq.aliyun.com/articles/465975


未来物联网全栈开发的主流语言是什么?



CSDN推出的讨论话题是:未来物联网全栈开发主流语言是什么?

      小虎老师,从考试角度来分析此题,也就是先要审题,抓住几个关键信息:

      1.未来的

      2.物联网

      3.全栈式开发

      4.主流语言

      5.两个语言中,选一个,即JavaScript、Python;

      小虎老师,尝试逐一分析,各个击破,所谓:系统分析法,即SA法。

     一、未来开发有什么特点和趋势:

     1.简单、快速、高效;

     2.满足web开发,浏览器开发是基础;

     3.面向对象语言、可以科学计算,能够大量计算复杂、大量的任务、更好融合人工智能框架、平台,总之要包罗万象,什么任务都能干,应用场景很宽泛,也要有深度;


     二、物联网未来的特点和趋势是什么?

     1.设备更小,速度运行更快,功耗更低,传感器精度更高,功能更强大;

     2.会利用人工智能技术,如深度学习、机器学习等成熟技术,更加智慧;

     3.会与市场上各种新技术快速融合,如人工智能、虚拟现实、区块链等;

     4.物联网的安全性提上议事日程,迫在眉睫;

     5.跟各个行业更加紧密结合,深耕细作来进一步发展,如汽车,跟无人驾驶,如医疗,如便携式医疗设备,医生远程诊疗患者等;

     

    三、Python与JavaScript的区别:

      1.学习成本

     python语法简单,本身就容易上手。


     2.语言优势

     Python和Javascript都支持多种不同的编程范式,但是在面向对象的编程上面,它们有很大的区别。

    Javascript的面向对象是基于原型(prototype)的,
    对象的继承是由原型(也是对象)创建出来的,由原型对象创建出来的对象继承了原型链上的方法。
     而Python则是中规中矩的基于类(class)的继承,并天然的支持多态(polymophine)。


     Python写起来要比Javascript舒服很多。


     2.线程模型
     在Javascript的世界中是没有多线程的概念的,并发使用过使用事件驱动的方式来进行的, 所有的JavaScript程序都运行在一个线程中。在HTML5中引入web worker可以并发的处理任务,但没有改变Javascript单线程的限制。
     Python通过thread包支持多线程。


     4.与其他语言的交互
     Python的特征之一:可以访问底层语言的,C/C++ DLL/so,Java类库,.net等。所以多用于整合旧有系统。


     5.框架、库

     Python的各种框架,库很多。

     Python自由使用select,poll , epoll 等异步io方式。


     6.技术覆盖面

      node.js、Python都覆盖嵌入式、桌面、服务器,但是Python还覆盖到IC(VHDL),科学数据分析,金融数据分析。前端与UI渲染是Javascript的领域。此外,移动APP是JavaScript胜出。

     7.代码维护

     Javascript设计本身有许多缺陷,毕竟当时设计的时候只是作为在浏览器中做一些简单任务的script,所以代码一旦庞大,维护还是有困难。


    8.扩展性

     毫无疑问,除了lua,还没有别的语言可以说有python的扩展性便利了,对于计算密集型的业务或者功能可以轻而易举的使用C语言来自定义扩展。更何况python自身还存在几何倍数于npm的扩展包。并且你还可以直接对框架层面进行修改跟自定义(当然在许可证许可的条件下),重新定义引擎行为,eventloop行为,自由度高。


      结论:

      未来物联网全栈开发主流语言是Python,JavaScipt为辅。

你可能感兴趣的:(未来物联网全栈开发 的主流语言是什么?)