用大家都熟悉的规则设计语法多好,为什么非要高一些乱七八糟的语法.
![]() |
1
imzxk 2019-10-09 15:25:01 +08:00 ![]() php 解决一切
|
![]() |
2
janxin 2019-10-09 15:25:39 +08:00
欢迎使用世界上最好的语言 Java
|
![]() |
3
sadfQED2 2019-10-09 15:26:13 +08:00
php 是世界上最
|
![]() |
4
cjpjxjx 2019-10-09 15:27:39 +08:00
人生苦短,我用 Python
|
![]() |
5
dhairoot OP ![]() @janxin 我会 Java,但是工作需要所以学习 Go,感觉 Go 也太奇葩了,为啥在国内一些大公司还愿意用这种语言.包管理都没一个成熟方案.访问控制用大小写控制.搞一堆没用的改变,就是为了标新立异吗.现在真的觉得 Java 优雅无比,所以学习 Go 的过程感觉被恶心的不行.是不是我太偏激了
|
6
optional 2019-10-09 15:30:43 +08:00
约定大于配置蛮好的,java 写多了就不自觉想造轮子
|
9
laragh 2019-10-09 15:32:34 +08:00
PHP 解决一切。但是既然要学,难道不应该去了解语法设计的初衷么?
|
10
JeromeCui 2019-10-09 15:32:39 +08:00 via Android
习惯了就好
|
![]() |
11
reus 2019-10-09 15:34:28 +08:00 ![]() 你这个“大家”,包括懂 C++的吗?包括懂 Haskell 的吗?
你不熟悉,就说你不熟悉就好,别以为你能代表大家。 觉得乱七八糟就不要学,不要用,没有人委屈你用。 要么忍,要么滚,这里同样适用。 |
![]() |
15
Vegetable 2019-10-09 15:38:25 +08:00 ![]() 学习一门语言的时候心存敬畏,不要上来就评价好不好,有自己的喜好很正常,但也要真的了解之后再去评价不是吗。不喜欢 go 的人很多,但主观的恶心是不应该存在的。他的确有他的优势的,语法我没搞清楚哪里乱七八糟了,相比起来 go 的规则是很少了吧
|
16
whileFalse 2019-10-09 15:38:49 +08:00
不爽不要用。
|
![]() |
17
jessun1990 2019-10-09 15:39:54 +08:00
我在接触 go 以前,只有 python 和简单 js 的语法经验。我觉得 go 的语言还是比较简洁的。
当然,我十分无比怀念 python 下的列表生成式。 |
![]() |
18
HolmLoh 2019-10-09 15:40:57 +08:00 ![]() 或许标新立异是为了更高的关注度?如果跟其他所有的语言一样估计关注的人没那么多吧,或许是有人喜欢这种奇怪的语法,才能让他在某个圈子里面大受欢迎,反正我是写的不习惯的,学完最后还是发现 java 更适合我一点
|
![]() |
19
hhyvs111 2019-10-09 15:41:04 +08:00
go 挺好用的,c++表示一下就能转变过来
|
![]() |
20
dhairoot OP ![]() @reus 就和你评价 vscode 一样的, https://www.v2ex.com/t/607412#reply7
|
![]() |
22
gramyang 2019-10-09 15:46:33 +08:00 ![]() 一点都不恶心,一点都不乱,非常简洁,比 java 好用,和 java 有细微的不同。
当然了,go 的包管理确实是屎,必须要上 mod 才能用。 |
![]() |
23
misaka19000 2019-10-09 15:46:34 +08:00 ![]() @dhairoot #4 是的,是你太偏激了
|
![]() |
25
sls 2019-10-09 15:47:07 +08:00
go 和 java 是两个极端,我就喜欢 go,写不了 java,觉得 java 太麻烦了
|
![]() |
26
aydd2004 2019-10-09 15:51:28 +08:00
看来 我要去摸一下 go 了 哼哼
|
27
xxxcat 2019-10-09 15:52:51 +08:00
其实就是下意识抗拒不想学而已,跟什么语言关系不大,曾经我被迫从 C#转学 PHP 也是这个心理
|
![]() |
28
amazingrise 2019-10-09 15:53:27 +08:00 via Android
有一说一,Go 有些地方比 Java 简洁了一些。Go 这玩意更像 C 风格
|
![]() |
30
yiplee 2019-10-09 15:54:50 +08:00
Go 开发很多都是从 Java 转过来的
|
![]() |
32
caviar 2019-10-09 15:58:02 +08:00 via Android
跟 OCaml/Haskell 比..我觉得 imperative 语言语法都差不多... 其实好像不管什么语言,刚换语言时都会有点恶心的感觉,大概是走出了舒适区的缘故吧,多写写就好了...
|
![]() |
33
doudou1523102 2019-10-09 16:00:33 +08:00
语言特性不同吧,支持高并发
|
![]() |
35
Tyanboot 2019-10-09 16:03:47 +08:00 ![]() 每次见到有人说写 C/C++的能很快的就接受 Go, 或者说入门 Go 的时候, 我就会觉得很奇怪, 我就是因为写多了 C/C++所以才死活无法接受 Go 的反人类反直觉写法.
|
![]() |
36
araraloren 2019-10-09 16:07:03 +08:00
go 的发明者已经不允许你们使用了,还是早点找个别的语言吧。
|
37
xxxcat 2019-10-09 16:07:28 +08:00
@dhairoot 可能与个人关注点有关吧,目前为止我也没找到自己完全满意的语言,但只要符合需求就会抛开个人品味,而且有时候过段时间发现其实是自己的眼界太窄
|
![]() |
38
Junh 2019-10-09 16:07:30 +08:00 via iPhone
只要能用 JavaScript 实现的,最后都会用 J
|
![]() |
39
whitehack 2019-10-09 16:13:35 +08:00 ![]() 你要是去学一下 rust 是不是就不是恶心而是直接倒地死亡了?
|
40
WUWENZE 2019-10-09 16:14:53 +08:00
为自己的 Go 配置一份专属字体,想象自己已经融入了这个社区
https://img01.sogoucdn.com/app/a/100520146/d64a45561432a0e28d1cbac0229f203c 官方地址: https://blog.golang.org/go-fonts |
![]() |
41
missqso 2019-10-09 16:15:52 +08:00 via iPhone
桌下放个垃圾桶🗑
|
![]() |
42
wysnylc 2019-10-09 16:18:21 +08:00 ![]() 写 py 的接受不了 java
但是写 java 的可以兼容 py 只是觉得很奇怪 怎么说呢,由俭入奢易由奢入俭难,py 所谓的"自由"是放弃严谨带来的 |
43
anonymous256 2019-10-09 16:18:46 +08:00 ![]() 1. 变量声明的顺序, C/C++风格, 先类型,后变量名, go 是反的.
2. go 的花括号强制从行末开始, 并且不能换行. 就这 2 点, 我也觉得 go 的语法反人类的. 根本原因是: 大多数人的大学课程都有 C 语言, C 语言应该也是大多数程序员的第一门编程语言, 它的风格潜移默化的影响. 难免会觉得 go 真的反人类. http://www.yinwang.org/blog-cn/2014/04/18/golang 王垠对 Go 语言的综合评价, 有一部分就很客观 |
![]() |
44
tt67wq 2019-10-09 16:20:15 +08:00
那你可以去学一下 erlang 的语法,然后你就升天了
|
45
linxl 2019-10-09 16:21:17 +08:00
难受中...
|
![]() |
48
OhYee 2019-10-09 16:22:43 +08:00
其实写习惯就好了……
虽然我也觉得类型放后面很蠢,但是我现在已经习惯到写 C 的时候也放后面的状态…… emmm 多语言混着写容易精分 |
![]() |
49
StarUDream 2019-10-09 16:23:18 +08:00
习惯了,用着挺舒服的。。
|
![]() |
50
justin2018 2019-10-09 16:28:03 +08:00
习惯 ta 你就爱上了 ta 😁
|
![]() |
52
allenhu 2019-10-09 16:31:44 +08:00 via Android ![]() go 的语法,某种程度上可以说是为了与众不同而与众不同,真没那个必要,采用普世的语法完全无影响。但是它非要倒着写,哈哈
|
53
xiaoxinxiaobai 2019-10-09 16:32:26 +08:00 via Android
写就完事了,写多了就好了,不是拿来写的吗
|
![]() |
55
dinjufen 2019-10-09 16:36:23 +08:00
我也觉得语法和老牌语言 C、C++、Java 等差别较大,可能是习惯的原因吧
|
![]() |
56
GPIO 2019-10-09 16:37:06 +08:00
正好最近在学 Go,我就来说一下我无法忍受的几点吧。
1.强制定义{}需要换行,却又允许使用不同风格的写法定义变量,自相矛盾; 2.select case switch case 是完全不同的模型却用同一个关键字; 3.array 定义成值类型,slice 定义成引用类型,底层引用 array,但是 slice 扩容会导致内存再分配指针失效的问题,试图隐藏指针然而这是不可能的; 4.裸返回这种东西就不应该存在。 以上,来自一个 Go 新手的吐槽。 |
![]() |
57
AlisaDestiny 2019-10-09 16:37:35 +08:00
如果你和 C 比就会觉得写 GO 太舒服了。
|
58
gamexg 2019-10-09 16:37:52 +08:00
@OhYee #48
@anonymous256 #43 我觉得先打变量名,后输入类型更方便些。 个人习惯,声明变量时,大脑先想的变量用途,即名字,后考虑具体类型,写 c 时觉得有些反思维。 不过对于大括号在行尾非常不习惯,对 go 的 error 未学习前也是很反感。最初就因为这两点不想学习 go 语言。 现在对于行末的 { 被强迫适应了。 |
![]() |
59
a591826944 2019-10-09 16:38:37 +08:00
要有开放的心态
|
![]() |
60
kasumigaoka 2019-10-09 16:39:05 +08:00
@allenhu 也不是说为了与众不同吧 Go 独特的类型声明语法确实在某些程度上带来了一些便利( https://blog.golang.org/gos-declaration-syntax )
|
![]() |
61
janxin 2019-10-09 16:43:57 +08:00
@anonymous256 变量类型后置主要是更易理解,后置也方便类型推导(比如直接 var )。我还是挺喜欢类型推导的。
至于放在行尾和新起一行,这一直是一个争端问题,这个完全是个人习惯了。 |
![]() |
62
janus77 2019-10-09 16:45:20 +08:00 ![]() go 的强制性规定好像比 java 这类守序静态语言更严格:
我第一天学 go 的时候发现一个规定:不用的包竟然不能 import 进去 这种毫无卵用甚至有副作用的规定挺多的,也不知道怎么说他才好 |
![]() |
63
janxin 2019-10-09 16:45:58 +08:00
|
![]() |
64
cookey39 2019-10-09 16:46:42 +08:00 via Android
rust,请
|
![]() |
65
damngood 2019-10-09 16:48:21 +08:00
一直用还好, 如果和别的你更喜欢的语言交替用话, 那确实会嫌弃.
我就是属于这个情况, 所以打算用另外一个语言来一统了... |
67
tairan2006 2019-10-09 16:48:54 +08:00
只能说你写的语言太少了,我觉得都还好
|
![]() |
70
xuanbg 2019-10-09 16:52:56 +08:00 ![]() 习惯就好
我也不喜欢 go 这种反直觉的语法,Java 语法中规中矩,说不上好也说不上坏,也许可以说比较傻。 然后,语法优雅的 C#你们不是都很鄙视么┑( ̄Д  ̄)┍ |
![]() |
71
TypeErrorNone 2019-10-09 16:53:18 +08:00
放弃
|
![]() |
72
araraloren 2019-10-09 16:54:27 +08:00
|
![]() |
73
lower 2019-10-09 16:56:38 +08:00
反正语言也是开源的,用的不爽了就提 pr 啊……
|
74
GPLer 2019-10-09 17:00:06 +08:00 via Android
{本来就应该在行末,看着直观,浑然一体。
|
![]() |
75
araraloren 2019-10-09 17:00:53 +08:00
|
77
SeaRecluse 2019-10-09 17:06:10 +08:00 ![]() C#欢迎你,扶我起来,我还能吹
|
![]() |
78
cryring 2019-10-09 17:06:52 +08:00
C++/C 过来的表示 go 用着很舒服
|
![]() |
79
ChristopherWu 2019-10-09 17:08:46 +08:00
国王的新衣
go 粉的优雅 GET,预计一堆黑 lz 的(还有我) |
![]() |
80
stevenbipt 2019-10-09 17:14:08 +08:00
用 go 的设计哲学思想来写代码~,虽然我到现在也感觉不太爽,但是用 go 的设计哲理的思考方法来写代码感觉还行
|
![]() |
81
janxin 2019-10-09 17:15:01 +08:00 ![]() @araraloren 那个时候你们这些用敌国语言的一个也跑不掉 2333
|
82
salamanderMH 2019-10-09 17:20:28 +08:00
还好吧
|
![]() |
83
jeremaihloo 2019-10-09 17:20:52 +08:00
@dhairoot #5 C#语法比 Java 优雅太多,我写惯了 C#,突然让我去写 Java,我恶心的不行,但是也是没办法,毕竟谁流行用谁嘛
|
84
icexin 2019-10-09 17:21:32 +08:00
@janus77 go 的设计目标里面有快速编译,而没用的 import 会拖慢编译速度,代码越多影响就越大。详细看看官方的解释 https://golang.org/doc/faq#unused_variables_and_imports
|
![]() |
86
ChristopherWu 2019-10-09 17:29:15 +08:00
@stevenbipt #79 go 的设计哲学有什么啊?我印象中是没有的- = -
|
![]() |
87
ChristopherWu 2019-10-09 17:29:55 +08:00
|
![]() |
88
ChristopherWu 2019-10-09 17:30:41 +08:00
@tt67wq #43 黑 erlang 语法没问题的。但是 erlang 现在打了新补丁了,Elixir。你看他的语法,就美滋滋了
|
![]() |
89
ChristopherWu 2019-10-09 17:31:45 +08:00
@anonymous256 #42 你黑的这两点不行,这两点没什么的。
|
90
jon 2019-10-09 17:33:44 +08:00 via Android
lz 为啥要学 go
|
![]() |
91
janxin 2019-10-09 17:34:41 +08:00
|
![]() |
92
ChristopherWu 2019-10-09 17:35:38 +08:00 ![]() @GPIO #55
正好最近在学 Go,我就来说一下我无法忍受的几点吧。 》 1. 强制定义 {} 需要换行,却又允许使用不同风格的写法定义变量,自相矛盾; 变量命名钦定了用 驼峰 了啊。 》 2.select case switch case 是完全不同的模型却用同一个关键字; 这点在点上,同理还有 for |
![]() |
93
ChristopherWu 2019-10-09 17:38:48 +08:00
@janxin #90 我在想哦,民主社会为啥不搞个 投票接受 PR
|
![]() |
94
qiuyi116 2019-10-09 17:39:10 +08:00 via Android ![]() 我跟 lz 有相似的体验。Go 竟然号称是更好的 C,在语法上为何不跟 C 保持一致,而要去搞一些标新立异,我是一直没太理解。最难受的就是类型反正放,对长期写 C 系语言的人来说有点难受。当然,写多了也就习惯了。
|
![]() |
95
maomaomao001 2019-10-09 17:39:47 +08:00
你应该看看 clojure ( Lisp )
然后回来再学 go, 就会觉得这语法优雅的让人窒息 |
![]() |
96
zaul 2019-10-09 17:43:27 +08:00
Ruby 来一发?
|
![]() |
97
aa81425600 2019-10-09 17:44:42 +08:00 ![]() 从 php 转 go 写结构体给恶心坏了。。。。
|
99
zealinux 2019-10-09 17:46:20 +08:00
|
![]() |
100
ChristopherWu 2019-10-09 17:47:10 +08:00
|