请大家聊聊自己熟悉的编程语言的优缺点,各种语言都可以,不喜勿喷,拜托

2015-06-01 13:19:55 +08:00
 WXB506
2913 次点击
所在节点    问与答
20 条回复
Septembers
2015-06-01 14:15:37 +08:00
因人而异
lbp0200
2015-06-01 14:30:14 +08:00
语言这东西
运行速度快的,如c/c++,java,啰嗦,开发慢。
开发快的,如ruby,运行速度慢。
性能就是money,看你要为程序的某个特性付出多少代价。——源自斯坦福算法公开课,网易公开课上有。
hambut
2015-06-01 17:40:17 +08:00
我来添一把火

PHP是世界上最好的语言
angkec
2015-06-01 18:42:33 +08:00
@hambut 我来喷楼上 大家把气氛搞起来~
czheo
2015-06-01 19:10:08 +08:00
python,可读性强,最接近程序员思维方式。
ruby,sugar太多,甜到腻。
c,不会你好意思自称程序员?
javascript,设计有够糟糕。
HTML, CSS,SQL,你好意思说这些是编程语言?
FrankFang128
2015-06-01 19:14:52 +08:00
JS 设计可一点也不糟糕。只是不完备。
zhgg0
2015-06-01 19:19:02 +08:00
PHP是世界上最好的语言
czheo
2015-06-01 19:32:57 +08:00
@FrankFang128
你觉得行尾要写分号么?不写我也能执行哦,出问题了你自己负责哦。
你能用js写一个有自信的继承的best practice么?我反正是没有。
异步是很帅,我能偶尔同步一下么?滚出,不行。
FrankFang128
2015-06-01 20:32:12 +08:00
@czheo 没有编译的语言出问题不都是自己负责吗。
JS继承不走Java那一套,直接操作 prototype 一点也不麻烦。
为何要同步?单线程同步不起。
Hyperion
2015-06-01 23:46:18 +08:00
@czheo 一部分是历史原因,还有一部分是用的人水平太差。
linxy
2015-06-01 23:52:41 +08:00
C++嘛,真正会的人太少。大多数人是在当c with class写。(其实我也是
入门容易精通难…
坑嘛……多的好几本书都没讲完啊
xiaosun
2015-06-01 23:52:47 +08:00
见过好多类似帖子,v2ex果然是web前后端以及app开发的人多,其他的人很少见到
wohenyingyu01
2015-06-02 00:08:35 +08:00
@czheo 不会c的程序员路过,完全没学过
jacob
2015-06-02 00:26:13 +08:00
@Hyperion javascript在大牛和菜鸟手里就是2种语言
czheo
2015-06-02 08:25:58 +08:00
@FrankFang128
分号问题你看这个有没有够恶心。http://stackoverflow.com/questions/444080/do-you-recommend-using-semicolons-after-every-statement-in-javascript/1169596#1169596

php也是单线程啊,和线程无关。

不麻烦?你去看看jQuery.extend的源码有几行。
FrankFang128
2015-06-02 09:32:29 +08:00
@czheo 分号的坑不足三个,也算门槛吧,你可以选择全部加分号啊,没人拦着。
var a = 1; a++ 。这不就是同步的吗?实际上所有的方法都有同步版本,只是IO不推荐同步,所以调用起来不那么方便。
jQuery.extend 的核心代码也就这么几行:
for ( ; i < length; i++ ) {


if ( (options = arguments[ i ]) != null ) {


for ( name in options ) {
src = target[ name ];
copy = options[ name ];


if ( target === copy ) {
continue;
}


if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) {
if ( copyIsArray ) {
copyIsArray = false;
clone = src && jQuery.isArray(src) ? src : [];

} else {
clone = src && jQuery.isPlainObject(src) ? src : {};
}


target[ name ] = jQuery.extend( deep, clone, copy );


} else if ( copy !== undefined ) {
target[ name ] = copy;
}
}
}
}
其大部分都是在处理「对调用者的友好性」和错误处理,所以没什么好喷的,加上现在 ES6 出了 Object.create,友好性又大大加强了。
xlrtx
2015-06-02 14:15:04 +08:00
看了IIFE之后感觉js和c一样美, 靠事件触发多线程, 很独特的语言啊
xlrtx
2015-06-02 14:28:54 +08:00
@xlrtx 是单线程的
qw7692336
2015-08-14 11:31:32 +08:00
@lbp0200 开发效率也是money
qw7692336
2015-08-14 11:32:44 +08:00
@xiaosun 因为v2ex的人大多数喜欢自己创造面向用户的作品

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/195273

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX