标 题: JavaScript真的要一统江湖了-程序员宅基地

技术标签: c#  python  java  

http://www.newsmth.net/nForum/#!article/Python/125347?p=4

标  题: JavaScript真的要一统江湖了
发信站: 水木社区 (Fri Sep 25 16:13:31 2015), 转信
  
我out了,刚看到ECMAScript6标准的新特性。
  
感觉ES6出来以后,JavaScript才真的算是一门合格的语言了。
  
之前通过函数对象和原型实现的一系列类的属性操作以及继承多态等总是不适应,特别
是对于C++/Java出身的人来说。这下好了,ES6带来了类(class)关键词,一样的构造,一
样的操作。
还有很好用的 生成函数(在Python, C#这样的语言中广泛使用),处理函数内部状态保
存以及恢复的操作,不用再对this迷惑不解了。还有配合Promise更方便的处理异步编
程。
跟C#, Java8类似的lambda表达式,感觉比Python的lambda关键词还是要易读一些。
跟python一样, 支持列表的拆包操作。
还有跟python很像的import模块导入机制。支持对模块的重命名,支持全部导入。
还有很多改动,不过改得越来越好了。
  
语言层面说完了,下面说说应用层面:
前端不用说,已经是事实上的标准了。  
后端有node.js,相当强大,几乎无所不包。npm中建站数不胜数的子模块比django为代
表的模块的还要多得多,整个小网站跟玩似的,特别是mongo+koa+angularjs+node,看
了一下傻眼了。
桌面有nw.js,自带跨平台。异常强大,速度已经不是问题了,大家可以体验一下那些
node-webkit写的程序,比如atom,除了内存占用稍大,速度已经很快了。
移动端目前稍显劣势,但是也有PhoneGap这样的工具,一样也做出了不错的程序。
  
之前由于对JavaScript有些抵触心理,但是ES6一搞,语言已经不是障碍了。

 

你可以先了解一下JavaScript语言,大致翻翻JavaScript: the Good Parts, 中文名叫 JavaScript
精粹,很小的一本书,很快就能看完,了解ES6,可以看看http://es6-features.org, 以及
https://github.com/lukehoban/es6features/blob/master/README.md

确实,ES6是今年才出来的,所以主流的浏览器都还不能完全支持,但是chrome, firefox以
及edge等一干浏览器已经支持大部分特性了,edge基本全支持了,chrome,firefox更新的速
度也还是很快的。看这个地方可以看到主流浏览器的支持特性比较
http://kangax.github.io/compat-table/es6/

 

不要这么纠结于多线程,多线程其实问题比较多,Java是实现了多线程是吧,但是数据的
同步操作折腾起来还是比较麻烦的。协程+多进程才是王道,Node实现的单线程但是异步io
的效率其实很高,在很多benchmark上都跑出了不错的成绩,比PHP, Java等一干语言写的
还要好。需要数据共享,通过procbuf, MessageQueue实现多进程间通讯也不是难事,并且
效率不低。 

 

benchmark上nodejs不太可能比java强吧。除非java的实现很矬。nodejs也没啥,nonblocking io,每个语言都有。要论coroutine,python和go都实践很久了,不知道你为啥看到js也实现就激动成这样子。
  
nodejs的框架我看大多数还是跳来跳去的回调。用多了真的会吐的。
  
给我连接一下pgsql读取hstore数据列能行吗?调用一个阻塞了线程的处理图片的c语言模块能行吗?这个没有那个没有,别光看语法终于像python了就追新啊。
  
js拿来做桌面程序就别说了。
  
在我看来,JS无非是不像以前那么矬了。反正如果是我的话,我还会再等等社区成熟个三四年再说。最好能一个杀手级的强大特性才能吸引我。 

 

你说的是Python等语言的过去,我说的是JavaScript的未来。
Python3比起Python2,我没看到太多的进步;但是JavaScript真是日新月异,这就是差
别。
如果你要做网站你就明白了,前后端一体通吃,一门语言就搞定了,并且那么简单直
接, 其实Python做后台语言也很好,但是效率比起node还是差了很多,变态级优化的V8
引擎真得很吓人,django的生态圈也不如node,你可以看看npm里面的模块,拿来就可
用,比django多得多。
其实Python服务器端,有django这样的生态圈;Python桌面端GUI,甚至是移动端也有
Kivy这样的神器。但是开发网络应用程序你还是避免不了要用JavaScript,此前语言层面
上挥之不去的阴影,突然变得那么熟悉,你能明白我在说什么吗? 

 

一看新feature就激动不已的,
八成是个没被坑过的新手。
  
你需要相信一点,人与人之间没太多不同。你想到的别人也想到,你能做的别人也能
做。尤其是一个群体,一个组织之间,能力上的差别会更小。所以区别只是大家的取舍
不同而已。你看到别人说了10个好处,就应该默认还有10个坏处对方没说。
  
为啥说老人谨慎、稳重,都是这么被坑过来的呀。
  
另外,一统江湖是人类的内在需求,是天性之一。
同样的,差异化,也是人的内在需求,也是天性之一。
所以,别扯什么一个语言一统江湖了,不可能的。 

 

转载于:https://www.cnblogs.com/cutepig/p/4842114.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_30593443/article/details/97542874

智能推荐

《深入剖析Tomcat》阅读(三)-程序员宅基地

文章浏览阅读67次。这里要介绍下Tomcat的一个重要设计方法,Catalina设计方式。Servlet容器是一个复杂系统,但是,它有三个基本任务,对每个请求,servlet容器会为其完成以下三个操作:1.创建一个Request对象,用可能会在调用的Servlet中使用到的信息填充该request对象,如参数、头、cookie、查询字符串、URI等。 request对象是javax.servlet.S..._throw new ioexception(sm.getstring("requeststream.readline.toolong"));

es文件浏览器android看不到文件,es文件浏览器搜索不到电脑解决办法 es文件浏览器找不到电脑...-程序员宅基地

文章浏览阅读5.8k次。ES文件浏览器找不到电脑怎么办?ES文件浏览器是一款可以让手机访问电脑共享文件夹的手机软件,但是有些用户在用的时候发现ES文件浏览器搜索不到电脑,这怎么解决呢?下面请看详细的方法.[ES文件浏览器怎么连接电脑_访问电脑 ][ES文件浏览器怎么用_使用方法 ]win10更新后es用微软帐号无法访问电脑了,针对这个问题:那么具体设置方法如下:1、系统设置-账户-设置你的本地账户,必须使用短昵称(6字母..._es文件浏览器扫描不到电脑

ubuntu下pycharm无法使用中文输入法_pycharm无法打拼音-程序员宅基地

文章浏览阅读4.4k次。原文出处:https://xugaoxiang.com/2020/02/21/ubuntu-pycharm-chinese-input-method/软硬件环境ubuntu 19.10 64bitpycharm 2019.3.3搜狗linux版前言在最新的ubuntu系统上安装好了pycharm和搜狗拼音linux版本后,发现在pycharm里,居然无法使用中文输入。本文就来解决..._pycharm无法打拼音

TCP协议的三次握手和四次断开_三次握手 四次断开的例子有哪些-程序员宅基地

文章浏览阅读282次。通俗理解:但是为什么一定要进行三次握手来保证连接是双工的呢,一次不行么?两次不行么?我们举一个现实生活中两个人进行语言沟通的例子来模拟三次握手。引用网上的一些通俗易懂的例子,虽然不太正确,后面会指出,但是不妨碍我们理解,大体就是这么个理解法。第一次对话:老婆让甲出去打酱油,半路碰到一个朋友乙,甲问了一句:哥们你吃饭了么?结果乙带着耳机听歌呢,根本没听到,没反应。甲心里想:跟..._三次握手 四次断开的例子有哪些

STM32利用硬件I2C读取MPU6050陀螺仪数据-程序员宅基地

文章浏览阅读328次。参 数:GyroX GyroY GyroZ 陀螺仪X、Y、Z轴的数据,使用输出参数的形式返回,范 围:-32768~32767。参 数:AccX AccY AccZ 加速度计X、Y、Z轴的数据,使用输出参数的形式返回,范 围:-32768~32767。配置完MPU6050的各个功能寄存器,剩下的就是读取陀螺仪的数据了。电源管理寄存器1,取消睡眠模式,选择时钟源为X轴陀螺仪。电源管理寄存器2,保持默认值0,所有轴均不待机。配置寄存器,配置DLPF。

flume配置文件后不能跟注释!!_flume报错[error - org.apache.flume.sinkrunner$pollin-程序员宅基地

文章浏览阅读339次。说我这个文件打不开,我一查,后面有段注释,删了再跑?哟,正常了,原来如此~_flume报错[error - org.apache.flume.sinkrunner$pollingrunner.run(sinkrunner.j

随便推点

基于蚁狮算法优化的广义回归神经网络(GRNN)预测-程序员宅基地

文章浏览阅读963次,点赞8次,收藏10次。广义回归神经网络 CGRNN, Generalized Regression Neural Network)是美国学者 Don-aid F. Specht 在 1991 年提出的,它是径向基神经网络的一种。GRNN 具有很强的非线性映射能力和柔性网络结构以及高度的容错性和鲁棒性,适用于解决非线性问题。GRNN在逼近 能力和学习速度上较 RBF 网络有更强的优势,网络最后收敛于样本量积聚较多的优化回归 面,并且在样本数据较少时,预测效果也好。此外,网络还可以处理不稳定的数据。

centos下php安装pear模块并配置虚拟主机支持Pear模块-程序员宅基地

文章浏览阅读150次。centos下php安装pear模块并配置虚拟主机支持Pear模块wget http://pear.php.net/go-pearphp go-pear提示Sorry! Your PHP version is too new (5.2.14) for this go-pear.下载新版本wget http://pear.php.net/go-pear.pharphp go-pear.pha..._centos6 pear install

linux内容对齐的快捷键,linux第一波命令总结-程序员宅基地

文章浏览阅读500次。第一波命令总结1.1 ip 显示ip地址ip a == ip address1.2 ifconfig 显示ip地址1.3 mkdir make directory 创建目录1.4 ls list 显示目录内容-l 显示详细信息1.5 cd change directory 进入目录1.6 pwd print working directo..._linux中对齐a指令

2018微服务必学SpringBoot全套附源码讲义 17课_taotao spring boot 完整源码-程序员宅基地

文章浏览阅读288次。微服务必学SpringBoot高清视频教程附源码讲义 17课课程介绍:Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导..._taotao spring boot 完整源码

使用Echarts.js绘制环形图(指定触发高亮事件)_echarts环形图hover事件-程序员宅基地

文章浏览阅读881次,点赞7次,收藏9次。1、tab选中不限时,环形图表中正常渲染环形图,以及对应的数据类型图例和指示文字。2、环形图hover时,高亮hover所在的图形区域,图形区域放大,并悬浮弹窗展示相关数据。3、在切换tab时,选中指定tab,则环形图中的对应数据图形进行高亮显示,图形区域放大,指示文字和指示线加粗处理。其余数据图形区域透明度降低处理。4、指定图形标题和图形区域颜色。5、设置图形最小占有区域。_echarts环形图hover事件

centos 9 编译安装 LAMP wordpress_centos9 make-程序员宅基地

文章浏览阅读870次,点赞15次,收藏29次。rw-r--r--. 1 root root 452383016 2月 21 19:20 mysql-8.2.0-linux-glibc2.17-x86_64.tar.xz。-rw-r--r--. 1 root root 452383016 2月 21 19:20 mysql-8.2.0-linux-glibc2.17-x86_64.tar.xz。-rw-------. 1 root root 1040 2月 17 16:57 anaconda-ks.cfg。_centos9 make

推荐文章

热门文章

相关标签