avatar
业余说说Golang的问题# Programming - 葵花宝典
b*A
1
天龙八部的原著与电视剧我都看过,当时还小所以看的很入迷,但现在看不进去了。
王语嫣除了脸蛋漂亮,我实在看不出她有什么个人魅力。
神仙姐姐这个称呼,抱歉,在我眼里,她不配。
什么样的女人称得上神仙姐姐?
她不但才貌双绝,性格上更是魅力非凡,我觉得这样的女人才可称得上神仙姐姐。
至于段誉,出身好,样貌好,品行善良,聪明机灵,可称得上翩翩佳公子,不过他缺乏
两样很重要的东西:男人味和沉稳。
他会很受年轻女孩子的喜欢,但真正有魅力的女人是不会喜欢他的。
虽然如此,王语嫣是配不上他的。
段誉太年轻,没有经历,只是一时被美色冲昏了头脑,但他终究会成长的,他终究会发
现那个在他眼里貌如天仙的姑娘其实没有他想象的那么漂亮。
女人的外貌重要吗?
当然重要,可我觉得她的性格,智慧,修养比她的外在更重要。
最后再来看《天龙八部》,在初版里面段誉与王语嫣的相爱充满了意淫——孤男寡女,
身坠枯井,英雄救美,回心转意,最终有情人终成眷。这个设定符合了求爱一方的一切
意淫,简直堪比王大锤的“当上总经理、出任CEO、迎娶白富美、走上人生巅峰。”金
老到了晚年,有了更深的感悟,于是修改了小说结局,王语嫣最终没跟段誉,依旧伴随
在慕容复身边。这个修改虽然不近人情,但很符合小说“无人不冤,有情皆孽”的主旨
。求不得就是求不得,这就是我们每个人的真实经历。
段誉和王语嫣能遇到这就已经很美好了,要是真在一起,也未必能幸福。段誉喜欢的只
是和王语嫣长得很像的一尊石像而已,就像我们喜欢某张偶像的照相,喜欢电视剧某个
角色一样,喜欢归喜欢,但这个人未必就适合婚姻。完美的爱情,不单单需要情欲,还
需要柴米油盐。能找到一个肯与你一起面对柴米油盐的人,那才是爱情的本质所在。
avatar
n*7
2
我的理解是
golang就是个带GC,concurrncy很容易的C
另外编译快,deploy方便
据说golang吸引了很多python programmer, 我也算是一个吧
不过大部分好处都是有代价的,很多缺点要实际用才能感受
作为只写过golang hello world的人,看了下面一个总结决定不值得学习
最关键的是前两条:
Hard to abstract even the simplest notions
Designed to make the programmer expendable
第二条对java之类的可能也适用,但是java的抽象级别还是高了很多,也就是说经验技
巧还是很有用的
Con
Hard to abstract even the simplest notions
Go is famously regarded as very simple. However, this simplicity becomes
problematic in time. Programmers who use Go find themselves over and over
again writing the same thing from a very low point of view. Domains not
already served by libraries that are easy to glue are very difficult to get
into.
Con
Designed to make the programmer expendable
Go was designed for large team projects where many contributors may be
incompetent. That Go can still get things done under these conditions is a
testament to its utility in this niche. Go's infamously weak abstraction
power is thus a feature, not a bug, meant to prevent your teammates from
doing too much damage. This also means any team member can be easily
replaced by another code monkey at minimum cost. Good for the company, bad
for you. The more talented programmers, on the other hand, will be very
frustrated by having one hand tied behind their back.
Con
Expects prior familiarity with tooling, "advanced" OS use
A standard step of even installing Go is modifying your path -- a person who
's encountering their first language might not even understand. It's hard to
escape using Go without familiarity with using build tools, managing and
organizing project directories, etc. It's not as simple as Python's "just
run the .py file with the interpreter."
Con
Requires specific directory structure and environment variable settings
Too much knowledge required for a first programming language.
Con
Implementation of interfaces are difficult to figure out
Finding out what interfaces are implemented by a struct requires a magic
crystal ball. They are easy to write, but difficult to read and trawl
through.
Con
Performance slowdown because of indirect calls and garbage collection
Practically no meaningful Go application can be written without indirect
function calls and garbage collection, these are central to Go's core
infrastructure. But these are major impediments to achieving good
performance.
Con
Does not support circular dependencies
Con
Easy to shadow variable
Due to single character only difference, declare and assign statement can
easily shadow variable from outer scope unconsciously. Example:
err := nil
if xxx {
err := somefunctionthatreturnsanerr
}
return err // always return nil
Con
Weak type system
avatar
n*7
3
上面总结来自
https://www.slant.co/versus/126/5522/~golang_vs_rust
另外看到一个不错的评论,感觉我被说服了
https://www.quora.com/How-do-Rust-and-Go-compare-1/answer/Tikhon-Jelvis?srid
=29sY
"The other often-touted, and eminently reasonable advantage Go gives is the
fast compile time. But this just means that other languages' compilers do
more for you. I think my time is worth more than my computer's time; I would
want my compiler to do as much optimization as possible. Hell, you can just
turn the optimization off when you're developing and get reasonable compile
times with the alternatives (like GHC)."
avatar
a9
4
其实关键还是库支持程度,现在go也有很多开源好库了,虽然我还没用过go,但觉得有
点前途

srid
the
would
just
compile

【在 n******7 的大作中提到】
: 上面总结来自
: https://www.slant.co/versus/126/5522/~golang_vs_rust
: 另外看到一个不错的评论,感觉我被说服了
: https://www.quora.com/How-do-Rust-and-Go-compare-1/answer/Tikhon-Jelvis?srid
: =29sY
: "The other often-touted, and eminently reasonable advantage Go gives is the
: fast compile time. But this just means that other languages' compilers do
: more for you. I think my time is worth more than my computer's time; I would
: want my compiler to do as much optimization as possible. Hell, you can just
: turn the optimization off when you're developing and get reasonable compile

avatar
n*l
5
Con
Hard to abstract even the simplest notions
這個有點誇大其詞了。 看過太多的太空架構師,寫得Java和C#code基本是shit, 一層
包一層
的abstraction。 這個就是golang最大的好處,因爲你不會和這些idiots做同事。
avatar
n*7
6
问题是论库java c# python之类的只会更多
为啥用go?

【在 a9 的大作中提到】
: 其实关键还是库支持程度,现在go也有很多开源好库了,虽然我还没用过go,但觉得有
: 点前途
:
: srid
: the
: would
: just
: compile

avatar
s*k
7
Hard to abstract even the simplest notions?
不觉得啊,用interface吧

【在 n******7 的大作中提到】
: 我的理解是
: golang就是个带GC,concurrncy很容易的C
: 另外编译快,deploy方便
: 据说golang吸引了很多python programmer, 我也算是一个吧
: 不过大部分好处都是有代价的,很多缺点要实际用才能感受
: 作为只写过golang hello world的人,看了下面一个总结决定不值得学习
: 最关键的是前两条:
: Hard to abstract even the simplest notions
: Designed to make the programmer expendable
: 第二条对java之类的可能也适用,但是java的抽象级别还是高了很多,也就是说经验技

avatar
f*t
8
太对了

【在 n****l 的大作中提到】
: Con
: Hard to abstract even the simplest notions
: 這個有點誇大其詞了。 看過太多的太空架構師,寫得Java和C#code基本是shit, 一層
: 包一層
: 的abstraction。 這個就是golang最大的好處,因爲你不會和這些idiots做同事。

avatar
d*n
9
Con
Does not support circular dependencies
我孤陋寡闻了。哪个优秀的语言这么搞?
avatar
d*n
10
Con
Does not support circular dependencies
我孤陋寡闻了。哪个优秀的语言这么搞?
avatar
w*m
11
agree
选择语言其实是选择队友的问题。

【在 n****l 的大作中提到】
: Con
: Hard to abstract even the simplest notions
: 這個有點誇大其詞了。 看過太多的太空架構師,寫得Java和C#code基本是shit, 一層
: 包一層
: 的abstraction。 這個就是golang最大的好處,因爲你不會和這些idiots做同事。

avatar
S*A
12
python 就可以 GC circular dependencies。

【在 d****n 的大作中提到】
: Con
: Does not support circular dependencies
: 我孤陋寡闻了。哪个优秀的语言这么搞?

avatar
m*n
13
怎么搞的?说说看?

【在 S*A 的大作中提到】
: python 就可以 GC circular dependencies。
avatar
S*A
14
我以为,
这个就是 graph reachable 的问题。
你从程序 local 和 global 开始往下扫描。
扫到的 mark, 从 heap 过一遍就可以清除没有扫描的。
这个是我自己乱想的啊。
这个循环依赖的清除 C 编译器里面也有。大概就是类似
这样的算法。

【在 m*****n 的大作中提到】
: 怎么搞的?说说看?
avatar
d*o
15
golang最大的feature就是禁止circular dependency,然后无限线程compile。
所以compile的速度秒杀其他语言。
要是这是个bug的话,那我只好呵呵了。
avatar
m*n
16
我知道的circular dependency就是两个函数或者两个模块可以互相访问?
在python里这么搞是无效的
所以为了能够让母子模块之间共享变量,我都只好再开一个模块放全局变量

【在 S*A 的大作中提到】
: 我以为,
: 这个就是 graph reachable 的问题。
: 你从程序 local 和 global 开始往下扫描。
: 扫到的 mark, 从 heap 过一遍就可以清除没有扫描的。
: 这个是我自己乱想的啊。
: 这个循环依赖的清除 C 编译器里面也有。大概就是类似
: 这样的算法。

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。