V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  noli  ›  全部回复第 43 页 / 共 45 页
回复总数  897
1 ... 35  36  37  38  39  40  41  42  43  44 ... 45  
2015-05-11 11:40:25 +08:00
回复了 noli 创建的主题 程序员 我为什么后来远离了 Java
@hepin1989

其实我还有另外一个看法,其实 NodeJs 也是很烂的工具,当然这很大部分是因为 Javascript 本来就是一个意外,发明 Javascript 的人根本就没有预料到当初写 HTML 页面效果的半吊子程序员要跟写服务器的人抢饭碗。

为什么这么说呢,因为 Nodejs 出了名的回调式写法使得代码极度难以维护和理解。尽管县级 ES6 还有各种库加入了 promise future 这种把异步嵌套变为同步流的库,但是 promise 的传染性还是会让代码非常难看。

所以我认为 Nodejs 只是解决了“完成”写高性能服务器的这一部分工作。
在我看来 NIO 也是同样的东西,也只是一个完成了高性能服务器基础能力的东西。

一个语言能够称为好的编程语言,是因为他能够很好地解决编程问题。
什么是一个编程问题,就是编程思想与现实实现之间的妥协问题。
像 nodejs 和 NIO,都是只解决了做不做到,没有解决能不能做好。

做到不做到,汇编是全能的能够做到任何计算机应该做到的事情。
但是汇编不能把事情做好,因为它没办法表达更高层次的概念,也就是高级编程思想的实现上,它是无能的。

在目前主流 OS 提供的 API 上实现一个高性能服务器,实际上是一个状态机如何实现的问题。这个很长,要另文解释。

我为什么在之前的回复里面特意提到 Coroutine 以及在很长一段时间里 Java 都不会有好用的 Coroutine 库。因为像 Coroutine 这种70年代就已经有的概念,并且也是解决状态机重复进入这类问题的利器,Java 居然原生无法支持。

这就很打脸了,Java 不是高级编程语言吗?为什么这种抽象能力都无法提供?只能用很低级很啰嗦的方式来实现?连 C 语言在解决这个问题上都可以比 Java 优雅简洁许多。

你说 Java 演进平滑。我就以 NIO 来简单说明为什么在这一点上它是不平滑的。

假设我在Java 提供 NIO 以前实现了一个 RingBuffer,那么这个 RingBuffer 能不能用在 NIO 上呢?答案是不能的,因为 NIO 的高性能实现依赖于它自己的另一套 Buffer。 你说这是什么道理?纯粹就是 Java 的解决能力天生不足。当 Java 致力于为傻瓜程序员提供一个理想国,实际上也扼杀了程序员回到人间的能力。

当然你可以说,你应该设计一个 interface 来抽象这个 RingBuffer 的实现,然后把 NIO 的 Buffer 注入到 这个 interface ,blah blah blah…… 毫无疑问,这又要增加解决问题需要依赖的工具。所以我说 Java 解决问题的方式啰嗦,把简单问题复杂化,天花龙凤很花巧但是能力平庸就是这个意思。
2015-05-11 10:23:36 +08:00
回复了 noli 创建的主题 程序员 我为什么后来远离了 Java
@hepin1989

你说得对,Nodejs, Gevent, 是 framework 不是语言。但是 Java 社区诞生不出这样的 framework 只能靠 JVM 提供 NIO,因为一旦你要扩展 JVM 的能力你得修改整个 JVM。就这一点来说 Java 作为一个语言是不是 渣?

我不是攻击整个社区,我说得很清楚了,叫那些只会 Java 的人多开眼界。你应该不在此列表中。


@zhouquanbest

不是 Hadoop 性能不够。我举例是说明 Java并不独特,没啥了不起。

嘲讽 Java 以及没开眼的 Java 程序员是因为他们碍眼,在我眼里 Java 这门语言确实一无是处。当然写 Java 的程序员和 Java 这门语言是两码事,有很多优秀的 Java 程序员本身并不只写 Java,我是没能力嘲笑他们的。

但是 Java 狗们自动把这些程序员的功劳作为自己的自豪感来源,这就很碍眼了。嗯,没错,我又用 Java 狗 这个词了,恶意满满地用了。
2015-05-11 10:02:40 +08:00
回复了 noli 创建的主题 程序员 我为什么后来远离了 Java
@DRcoding @ stillwaiting @sparrowMan

是不是我人品好可以加工资?哈哈哈哈~~~

好吧,我承认我过激了,虽然在说“Java 狗”这个词的时候,我心里面确实是满满的鄙视。
向你道歉 @zhouquanbest
2015-05-11 08:14:28 +08:00
回复了 noli 创建的主题 程序员 我为什么后来远离了 Java
@zhouquanbest

Android 不用 Java 还可以用 C++。 只用Java 的话,你连造轮子的机会都没有。区区在下不才,现在业余做的就是类似的事情,用C++包装游戏引擎甚至是OpenGL来做UI框架。

如果你说我这就是制造轮子,一般人用不上,那好吧,Qt 满足你。
实在不想学, 现在C++不也能写Activity 吗?

你们这些 Java 狗老是说大规模大数据,说得好像你们一个写Java 的就能搞定这些似的。也就你们这种技术社区的盲从者,才会把用别人的轮子用的那么有自豪感了……可是你们知不知道,凡是用Java 做大数据的公司,最终还是要去自己调优 JVM 的?调优JVM 的时候,根本没Java 什么事情好不好?


要比开源库,现成易用,Java 跟其他语言来比还真是不自量力啊……
搞大数据不是只有Java 才有Hadoop MapReduce 什么的,不要老是被Java 社区的人洗脑……
大数据团队不好说,因为肯定都是多语言混合的。
就比单点的性能。
听过 Nodejs, gevent, Eralang 没有?他们随便哪个写一个作为集群里面的单点支持高并发,不比你 Java 方便快捷性能好?

图像识别、人工智能里面的CNN,正在变成实用的领域,就没有Java 的什么事情。

“所以任何技术有自己的有点和局限性
在合适的场景选择合适的技术 才是程序猿该做的”

你算是说对了,所以不要死抱着Java 就感觉很了不起。
IT世界里面的基础设施,现在还没有事情是离不开Java 的,将来也不会有。
2015-05-11 00:39:23 +08:00
回复了 noli 创建的主题 程序员 我为什么后来远离了 Java
@yakczh “比php/java都好的语言”,这种语言早就有了,只不过那些不想承认自己的攻击特别低等的人不想接受现实而已。你就说,Python 能不能把这两个都干死吧。

想说 Python 性能问题的, Pypy 或者 Pyston 都值得了解。如果JIT的性能都不能满足需要,那么需要考虑的应该是 C/C++
2015-05-11 00:30:57 +08:00
回复了 MrLiao 创建的主题 Linux 学 Linux 要学 C++吗
GCC 现在准备用C++ 改写了,自己想吧。
2015-05-11 00:23:39 +08:00
回复了 noli 创建的主题 程序员 我为什么后来远离了 Java
@qiuyi116 很明显Java 就是那种干啥都只能勉强对付过去的那种语言。再强的程序员用Java 也会被绑住手脚。
2015-05-11 00:20:15 +08:00
回复了 noli 创建的主题 程序员 我为什么后来远离了 Java
@zhouquanbest

现在写Android 都可以把 Java 甩一边去啦,就你们这种人还以为Java除了用来维护那些大公司项目之外还有别的用处吧? 你用Scala 只不过是换汤不换药,又没有谷支持,当然就玩不转啦。

用用个游戏框架或者直接封装 OpenGL ES 随时就可以做出一套UI 框架出来,lua 都能杀死一大片Java。
2015-05-10 23:41:36 +08:00
回复了 noli 创建的主题 程序员 我为什么后来远离了 Java
@miao1007 其实我真是不想回复你们这些中低级Java 粉……

1. 在兼容性和效率上达到了平衡……你拿一个Java可以跨平台的图像相关的东西来看看是不是真的效率与兼容性平衡? Java Swing?再各个平台上按照Java 自己的理解画个界面出来,这叫做兼容性? 你说 C# 和 Unity 我还可以勉强同意吧……

2. Java 是一个面向对象非常高的语言??我就真是呵呵了,这就是为什么你们这帮人应该多学学其他语言开开眼界…… 不要以为有interface 有虚函数,有public private 就是面向对象非常高好不好,你们应该好好了解一下Simula 或者 OC 里面的 message passing 机制,能够怎样以轻松得多的方式解决 Java要很麻烦才能解决的问题,嗯,他们都是经典的OO语言。

3. 说得好像只有 Java 才有社区才有库??你们Java 社区这么厉害,来个Coroutine 的库用用?
2015-05-10 16:45:27 +08:00
回复了 noli 创建的主题 程序员 我为什么后来远离了 Java
@yangruixuan 能用 Java 来开发 核心低层和框架部分 的人肯定不会在意我说这些,甚至不会来看这个贴得。你不用替我担心啦。
2015-05-10 16:36:49 +08:00
回复了 noli 创建的主题 程序员 我为什么后来远离了 Java
@cangshu

逻辑学不好,就别出来掺合程序员的事情了。

“存在即是理由” 是你自己说的吧?你是不是想说:存在即合理?黑格尔肯定要被你气死了。

Was vernünftig ist, das ist wirklich; und was wirklich ist, das ist vernünftig.

这是黑格尔的德语原文。目前比较权威的翻译是:
凡是合乎理性的东西都是现实的;凡是现实的东西都是合乎理性的。

Java 的市场份额高,这是现实。这个现实是可以用理性去分析的。
但你要说Java 有什么优势,那跟他市场份额高真的关系,你还真没有给大家好好分析过。

就好像,中国人在东亚范围内有很高的人数比例,但你要说中国人在东亚范围内很有优势?我觉得你得好好解释解释是什么优势……
2015-05-10 16:28:42 +08:00
回复了 noli 创建的主题 程序员 我为什么后来远离了 Java
@yangruixuan

语言只是工具这种说法看似很有道理,但本质上我不能完全认同。有句话大概意思是,手里有锤子,看什么都像钉子。如果普通的锤子确实有这种魔力,那么恐怕语言“只是”工具这种说法还是能站得住的。

事实是,编程语言,甚至是自然语言,以及其延伸出来的文化生态、社区氛围,都会局限一个人的眼界和能力。

很早以前有人跟我说 Java 是大工业语言,当时我也没觉得这句话有什么深刻含义。但我最近两三年倒是明白了,Java 是一种被大公司用来圈养码农的语言。如果一个程序员本身有很好的多种技能,他不会介意这个事情,换别的地方他们也能工作。

但是对于大多数,尤其是在天朝,由于各种你懂的原因,本来其实不预期进入IT行业但又阴差阳错读了软件相关专业的人来说,Java 可能就是他们成长轨迹里面唯一有机会被塞进脑子里的语言。

对于这些不幸的兄弟们,我只想他们早点痛下决心,要么改行,要么改语言。
2015-05-10 16:01:11 +08:00
回复了 noli 创建的主题 程序员 我为什么后来远离了 Java
那些跟我鼓吹什么 阿里巴巴啊,twitter啊,git 啊什么的公司是用Java的朋友们。

我真的服了你们了,你们真的去了这些公司工作了吗?就算这些公司真的是Java 主流,这TM跟你有毛线关系?

我写这个帖子是告诉你们,作为一个要生活要发展要自立的程序员,Java 作为主力是何等不堪的选择。当然,你连我这个目标都没看懂,跟我打语言的宗教大战。嗯,你喜欢就好,反正你肯定打不死我:因为老子写过Java的轻量级 interpreter,用Java攻击我会被转化成 AST 的,哈哈哈哈。
2015-05-10 15:50:01 +08:00
回复了 noli 创建的主题 程序员 我为什么后来远离了 Java
@handleyan

1. “任何语言都是易学而难精”。恕我不能赞同,Java 这种连lambda 捕获外部变量都不用考虑内存管理的,相比起C++恐怕还真没什么资格说易学难精。Java 这种连代数类型的feature 都没有的语言,恐怕跟 Haskell, C++ 比起来,恐怕还真没什么资格说易学难精。不说别的,Java 这种连JVM低层都不能支持真正泛型的,恐怕比起 C#来说都没有资格说易学难精。

2. 比工资? 写Java 的恐怕只有在那些 银行、保险的IT 部门才会有高工资吧?在技术就是生产力的互联网,除了写Android,恐怕Java 都不是最优选择吧? 等打脸。跟我比工资?劝你别比,我没有工资。

3. 要了解JVM才能在特定场景下优化使用嘛,你是不是想说这一点? 那我问你,绝大多数生产环境的 JVM 是用啥来写的?是C++。不了解C++不了解OS低层,你根本没法做有效的优化。这就是我所说的,Java 作为一门语言,离低层OS太远了,灵活性又TM比Python, Javascript 差太远了。

4. 我说的就是语言,你岔开话题没意思。就算你真的要岔开,那你倒是举些好例子来迷惑一下小白嘛。

什么语言确实真的不重要。但我相信你还没有到有说这句话的资格的时候。
我要是你有上架作品的话至少要7k,这还只是广州价格。深圳应该要更高。
但是,如果你在这份工作里面没学到更深入的东西,工资要涨会有很大压力。
2015-03-26 00:10:15 +08:00
回复了 gzxultra 创建的主题 Linux 关于 Linux 系统下编程的一些疑惑
为什么要会 vim emacs 之类?
很简单,都是 ssh过去,远程写代码,远程跑测试的。
有些生产环境你的机器就别指望模拟什么的了。

不光vim,什么GDB, PDB 最好都会,理由同上,ssh过去哪有那么多选择?
2015-03-17 00:47:20 +08:00
回复了 bleaker 创建的主题 Apple Mac Mini or MacBook Pro
@sean419 @nicai000 呵呵……

我想起很多人说大屏幕的 iPhone 不会好用,以及 iP6 系列的销售量……
2015-03-16 22:13:14 +08:00
回复了 bleaker 创建的主题 Apple Mac Mini or MacBook Pro
@nicai000 试试最新的 butterfly 键盘,或许你会改观
2015-03-02 20:45:13 +08:00
回复了 weisoo 创建的主题 PHP php 有没有简单的方法识别两张图片是否相似/相同?
你(或者你们公司)需要这个~ http://www.tuputech.com/
这种(判断图片相似)的事情,经过好多人工智能训练的系统是,能够拿来赚大钱的,别指望轻易开源了吧。
2015-03-02 00:13:21 +08:00
回复了 NeoAtlantis 创建的主题 分享创造 狼窝:另一个(端到端)加密聊天的聊天室
@NeoAtlantis 好的,我明白了。其实是我也在做P2P加密通信的东西,希望以后有机会的话可以合作。我已经在 Github 上面关注你了。
1 ... 35  36  37  38  39  40  41  42  43  44 ... 45  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5864 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 31ms · UTC 03:15 · PVG 11:15 · LAX 20:15 · JFK 23:15
Developed with CodeLauncher
♥ Do have faith in what you're doing.