V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  noli  ›  全部回复第 28 页 / 共 45 页
回复总数  897
1 ... 24  25  26  27  28  29  30  31  32  33 ... 45  
2017-02-12 15:03:40 +08:00
回复了 hardware 创建的主题 iDev 求教一下,有没有什么工具能自动遍历代码,找到 unused code?
2017-02-12 14:59:14 +08:00
回复了 hardware 创建的主题 iDev 求教一下,有没有什么工具能自动遍历代码,找到 unused code?
忽略我上一层回复,我记错了,里面没有找 unused 函数的工具,只有未被使用的类
2017-02-12 14:52:49 +08:00
回复了 hardware 创建的主题 iDev 求教一下,有没有什么工具能自动遍历代码,找到 unused code?
今日头条 iOS 客户端启动速度优化实践
2017-02-11 20:38:01 +08:00
回复了 banxi1988 创建的主题 Go 编程语言 Go 与 泛型: 优点 or 缺陷
@Balthild
虽然不理解 Docker 为什么用于 CI 时不属于业务。但我相信这样的分类、标签问题不会有止尽。
好了,我承认 golang 可以用于非业务 server 场合了。
那请问你认为 golang 在哪些 非业务 server 的场合是一个好的工具呢?
2017-02-11 15:39:32 +08:00
回复了 banxi1988 创建的主题 Go 编程语言 Go 与 泛型: 优点 or 缺陷
@Balthild 证明 Docker 不属于业务 Server 的集合?
2017-02-09 23:10:43 +08:00
回复了 banxi1988 创建的主题 Go 编程语言 Go 与 泛型: 优点 or 缺陷
@jarlyyn

1. 所以说白了,就就不是在讨论语言优点啊缺陷啊,什么的。
你需要的只是你说,做 XXX 项目我用了某某某语言。
至于为什么用,不为什么,就因为我喜欢,我觉得好用,我学了,我听说他好用……
you don't even try to be helpful.

你不是重视结果,你只是反理性。

2. “大部分情况下,特性本身就是缺陷,缺陷本身就是特性”
别在玩弄你的概念偷换大法了。

golang 有 interface 就是有缺陷,没有泛型就是没有缺陷。是不是啊?

当然你也说了,懒得跟我说。
没事,本来我的目的只是希望大家别听你胡扯。你不用特地告诉我,我人好,还是希望你多分享。

3. 就算你我傲慢与否对会有偏见,只不过我选择展示我的偏见
而你希望假装没有。

好了,不跟你玩了,已 block 。
2017-02-09 22:22:32 +08:00
回复了 banxi1988 创建的主题 Go 编程语言 Go 与 泛型: 优点 or 缺陷
@jarlyyn

1. "copy 者是指用途,设计思想,功能,服务对象相似" 按你的理解,通用编程语言看来都是一样的了对吧?
所以我指出,你总是回避讨论细节,你就没有资格认为语言说语言没有好坏。

2. “因为好或者坏不是一个客观范畴内的东西。 这个世界本没有好与坏。”
很明显我们不是在讨论哲学,不是在讨论世界,我们在讨论编程语言的特性和缺陷,你装什么高深呢?
不想承认自己没货很丢脸的话,你闭嘴就好了。

3.
我傲慢是因为是恃才傲物。
我有干货。
你除了一直在评论我的为人之外,显得你很有洞察力之外,我没看到为什么不应该对你有傲慢——谁叫你没货。

来啊,有别的本事使出来。

说我傲慢我疯子我神经病我也认了。
不想招惹疯子你就闭嘴,就这么简单。
2017-02-09 19:40:38 +08:00
回复了 banxi1988 创建的主题 Go 编程语言 Go 与 泛型: 优点 or 缺陷
@aias
是在给我建议,还是指代我超能喷?
后者的话谢谢你欣赏,我一向觉得既然都要嘴上交锋了,还要顾及什么喷子不喷子的评价,那真是活得不明白。
前者的话,那我顺带总结(读音:吐槽)两句

@jarlyyn 这个人在本帖里的事迹:

一开始说 C# copy Java 。 #28
我举出 C# 的独特特性, #34
他又说不讨论特性 #36
那好,说 C# copy Java 的根据是什么呢?

又说,语言没有优劣之分,而 golang 试图在 C 的领域里面做得更好。
我说 golang 不能写 GUI , C 起码还是有 GTK 的, golang 在这个方面没有贡献。暗示 golang 比不上 C #43
后来纠结谁是某某语言吹,
直到 #64 又来自说自话,语言没有好坏,只看场景。

我深感遗憾,说了那么多浪费那么多时间,结果这人不看语言特性,看应用场景 golang 又被反驳,又来这句来说明语言没有优劣——其实就是重复自己的观点:语言没有优劣,但为神马,我不说。 #94

其实他自己也承认,语言社区发展起来很大程度不一定因为特性,是要看因缘际会的。 #94
这一点跟我的观点类似,譬如 docker 这样的重量级应用用 golang 来写是有偶然性的。

但我认为这一点不能否认语言设计,如果是一门学科的话,那么这个学科是有道理可讲的。
然后最后大家看到了,他的意思是不想听。

综上,我觉得他就是来找碴的,道理不想听不理解对他来说等于没有。

如果因为觉得我言辞激烈,认为我是个喷子,我不冤,因为我就是想激烈地反对无脑之人。燃烧激情的人生比死水一潭的人生有趣多了。我都三十好几的人了,保持这么中二不是我没开窍,而是我觉得这是快乐。

像他那样,又拒绝交锋,又想自吹自擂。我只想说:不知所谓。

来喷吧。
2017-02-09 19:02:13 +08:00
回复了 banxi1988 创建的主题 Go 编程语言 Go 与 泛型: 优点 or 缺陷
@l1093178

Swift 其实真的很不错,我唯一觉得不顺眼就是没有 namespace
可能是考虑到 Swift 为了兼容 OC 的 msg 机制
考虑有两个 interface 位于不同的 namespace 下但是有同名的 msg ,这种问题它觉得没有把握能处理得好,所以不做 namespace 也是可以理解的。

据说 Swift 4 之后打算开始 API 兼容了?
2017-02-09 18:42:02 +08:00
回复了 banxi1988 创建的主题 Go 编程语言 Go 与 泛型: 优点 or 缺陷
@jarlyyn 你觉得被我针对,觉得我人身攻击你,觉得不开心,那你就 block 我。废话少说,要战便来战。

欢迎你提出,为什么通过多值返回传递 err 会比 Either monad 好。
我确实没见过这个立场的意见,你告诉大家,大家都会很开心的。
2017-02-09 18:23:25 +08:00
回复了 banxi1988 创建的主题 Go 编程语言 Go 与 泛型: 优点 or 缺陷
@jarlyyn

golang 利用多值返回来传递 err 就是滥用特性的做法。 golang 使用者大规模地使用这种方式写代码,实际上就是在大规模地制造臭代码,制造有漏洞的软件。

我对狗钻狗洞没有意见,我也对 gopher 出于解决问题写臭代码也没有意见。
但非要说 golang 设计良好没有问题,我不赞同,就好像我不赞同出于和狗玩耍去钻狗洞这种行为一样。

还不让人说不好?真是你弱你有理啊。
2017-02-09 17:58:25 +08:00
回复了 banxi1988 创建的主题 Go 编程语言 Go 与 泛型: 优点 or 缺陷
gopher 是怎么也理解不了 return Either<Result, Error> 这种方式 比 return res, err 好在哪的啦,你很难让一条喜欢钻狗洞的狗,人模人样的走大门。

什么?这是面向对象? @jarlyyn 你说是面向对象吗?
2017-02-09 17:44:27 +08:00
回复了 banxi1988 创建的主题 Go 编程语言 Go 与 泛型: 优点 or 缺陷
@jarlyyn 喷你一点爽快感都没有,因为你自认为不需要讨论更高层次的东西,我咋秀优越感呢。你自个儿玩得开心就好。我只对你吹的 golang 感兴趣,因为 golang 真的很适合用来暴露智商,哈哈哈哈。

@chingli golang 的包管理做不到模块版本差异分析——就这一点说明了其实它根本没有解决过(甚至可能其发明者故意歪曲了这个问题的本质),它只是拿这个来作为噱头。 golang 的 interface 设计本身就是造成这个“已经解决的问题”变得更麻烦的原因之一。

golang interface 本意是一个 运行时安全的 duck typing ,然而又允许空 interface ,这样就把所有的 泛型可能性、多分派的可能性完全扼杀,甚至引入了漏洞(而在大规模项目里面,万能指针就是 万恶根源)

这种设计让我看到了 golang 设计者其实并没有解决问题的诚意,只是用歪打正着的方式来回避问题。所以我特别讨厌 golang 以及 golang 吹;要么是出于无知,要么是出于无耻。
2017-02-09 17:29:18 +08:00
回复了 banxi1988 创建的主题 Go 编程语言 Go 与 泛型: 优点 or 缺陷
@thekll 但其实你有没有想过,现代软件工程面对的“问题领域”其实本身很多是生安白造的概念,为了推广一些商业解决方案特意把水搞浑的。如果基于这类“领域问题”来讨论编程语言的优劣,本身就是在虚弱的理论基础上来谈的。

我举个例子(读音:再黑 golang 一把)。 golang 标榜的是解决什么问题呢,以下内容摘自( https://golang.org/doc/faq#What_is_the_purpose_of_the_projecthttps://talks.golang.org/2012/splash.article

1. 解决类似于 C/C++ 这样的语言大规模编译时编译慢的问题
从观察来看 golang 是编译得够快的,然而 golang 能不能像 C/C++ 那样组织大规模的项目,我上一条回复说了, golang 里面的一些固有缺点本身阻碍了 golang 项目的可组织性。下文详解。并且, C/C++ 大项目慢,本身固然有 C/C++ 的头文件机制的原因,但是很多其他语言编译得很快,却不必需要像 golang 那样为了编译快对语言特性做阉割。甚至,即使以 C/C++ 的头文件、源代码分离的方式组织代码,并不一定就会导致编译慢。 只不过重新写一个 C++ 的编译器实在是太难了,没有必要。(同理,重新写一个 docker 也没有必要,这并不意味着用 golang 写 docker 就是好, 对 @CRVV 蜜汁微笑 )

2. 对软件模块的依赖的分析更容易,解决 模块正确集成的问题
哈哈, golang 自己很明显就做不到。对比同为编译到二进制代码的 mono 和 .NET CLR 是怎么解决模块版本差异的, NuGet 是怎么设计的,我喷 golang 的模块机制就是一坨屎真心不过分。

3. golang 提供 GC 和并发任务之间的通讯的基本支持。
golang 的 GC 有进步,那我就祝贺它不喷它了,反正你喷了也没有,你又不能影响或者 hack golang 的 GC 。 channel 就是所说的对并发任务间的通讯的基本支持了吧?这从来就不是什么难题,各大语言都有类似的解决方案,而且还不止满足一种模型,当然啦,有很多人驾驭不了,找到 golang 就觉得有救星了。然而这种狂热仅仅是出于无知和无能的自信。

4. By its design, Go proposes an approach for the construction of system software on multicore machines.

这个 propose 是成功的。然而很遗憾的是,也导致了一堆人只懂得这种方案。我想说,解决异步回调地狱的解决方案有很多种,通过 event queue 机制只是其中的一种;其他的方式包括:语言生成状态机( async await ); Actor 模型;

event queue 也是有缺点的,比起状态机方法,基于 event queue 异步事件的上下文依然存在事件处理内外机制的割裂问题,代码耦合性属于中等。然而 golang 在语言级别支持的 channel 很大程度阻止你们使用其他模型。
2017-02-09 16:02:29 +08:00
回复了 banxi1988 创建的主题 Go 编程语言 Go 与 泛型: 优点 or 缺陷
@bianhua

@jarlyyn 认为“一个东西在客观上是不会比另一个东西好或差的” 。如果他说但“东西”指的是客观存在的、非人工事物,那这话很可能是对的。然而世界上至少有两种东西,是客观上会比另外一个东西好或者差的,一是数学,二就是编程语言。这两者都是表达人类思维抽象的工具,这是绝对有好坏之分、先进高级和落后低级之分的。

当然啦,如果有人举例说,“乘法怎么就比加法优秀了” 这样的话,你不用跟他说什么,没学过高等数学的人,说这个话题太为难他们。
2017-02-09 15:47:59 +08:00
回复了 banxi1988 创建的主题 Go 编程语言 Go 与 泛型: 优点 or 缺陷
@jarlyyn 所以我没有说过 golang 不能写别的啊,我说的就是场合。
js 写 OS 当然可以,我也没说不可以。
但我不认为 js 能写出有价值的 OS ,因为大家都不觉得 OS 领域是 JS 适合的场合。
同理,我不觉得 golang 能够有更多的地方发挥,因为:

1. 缺乏泛型支持,这也就罢了,居然支持隐式 interface 这种在别的强类型语言里面都可能当作 warning 甚至 error 的特性

2. 缺乏 OS 级别的组件化支持(例如 dll , so 这样的),甚至 golang 自己的包管理也是一坨翔

这两点都是限制一门语言大规模使用的关键缺陷。
小业务用一下,是不错的,但 golang 不会是 better C ,最多跟 python nodejs 竞争一下。
2017-02-09 14:01:15 +08:00
回复了 banxi1988 创建的主题 Go 编程语言 Go 与 泛型: 优点 or 缺陷
@Balthild 如果你是 docker 的开发者,那么你可以说这句话,然而多数人不是也很少机会用 golang 去扩展 docker 的能力。如果非要说 golang 写了 docker 能证明 golang 不仅仅在业务服务器上能用,那么我也可以说 js 可以写 os ,孤立的例子而已嘛,
2017-02-09 01:42:25 +08:00
回复了 banxi1988 创建的主题 Go 编程语言 Go 与 泛型: 优点 or 缺陷
@jarlyyn 这只能说明,你的软件生涯里面大多数时间是不断地创造和交付程序而很少长期维护, code base 对你来说是不存在的概念。就酱,夏虫不可语冰。
2017-02-08 23:40:51 +08:00
回复了 banxi1988 创建的主题 Go 编程语言 Go 与 泛型: 优点 or 缺陷
@jarlyyn

评判语言优劣需要设定标准。有些标准是主观的,譬如说适不适合啊,是否方便阅读啊;但有些标准是可以用数理逻辑去验证的,譬如各种语言 feature 的正交性、语法二义性、语义表达能力,

在正交性方面, Lua 比 C# 的正交性好——意味着语言的各种元素、元对象的组合控制能力比 C# 来得精确。例如 lua 的 table 完全可以模拟 OO 的继承、多态;

但是 C# 的语义表达能力又比 lua 好——实现同样的抽象逻辑,使用 C# 可以写更少的代码。而 C# 如果不套用 OO 的逻辑,完全可以借助泛型和反射实现 Lua 的精确控制能力。

综上, C# 是一门比 Lua 好的语言。

当然啦,不关心细节的码农,大概是什么拿到手只要为其所用就好——就像有些人的择偶要求,女的活的,就可以了。
当人只需要满足低级需求的时候,谈什么是好的就是奢侈。
当使用编程语言只需要交货满足工程需要的时候,谈特性都是废话。

你也是这么看的吧?
2017-02-08 14:27:18 +08:00
回复了 banxi1988 创建的主题 Go 编程语言 Go 与 泛型: 优点 or 缺陷
@jarlyyn golang 吹 v2 上特别多。其实吹也不是什么问题, php 吹通常承认自己懂得不多, Java 吹也比较老实不吹语言特性。 可 golang 吹里面,写过 C/C++ Delphi Pascal 之类原生语言的特别少, 连 linker error 都没遇见过的,大多数是从 python nodejs 过来的,却要做 better C ,那就比较令人无语了。
1 ... 24  25  26  27  28  29  30  31  32  33 ... 45  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2690 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 22ms · UTC 05:08 · PVG 13:08 · LAX 21:08 · JFK 00:08
Developed with CodeLauncher
♥ Do have faith in what you're doing.