如果一个新人学一门语言,你们推荐学什么?
1
zhujinliang 2017-05-02 17:49:43 +08:00
golang
|
2
jarlyyn 2017-05-02 18:02:53 +08:00
go
|
3
jkneedout 2017-05-02 18:04:28 +08:00 via iPhone
|
4
Cbdy 2017-05-02 18:14:07 +08:00 via Android
这年头还在 vs 编程语言?当然是选择都学😄
|
5
corboy OP |
8
zhujinliang 2017-05-02 18:41:53 +08:00 2
赚钱,还是 java 吧,golang 目前还有点远
golang 语法简单,语言要素少,易学易用 直接编译为可执行文件,不需环境,不需其它依赖,单文件方便携带,常见平台都可编译 自带效率靠谱的 goroutine,自带多线程通信机制 channel,多线程编程很容易 有需要的话还可以混合 C 语言,直接 include C 的库 内存占用不大,执行效率不错,不需 JVM 预热,目前没反编译工具 @corboy |
9
mortonnex 2017-05-02 18:49:02 +08:00
都挺好的
|
10
gouchaoer 2017-05-02 19:00:45 +08:00 via Android 1
java 吧,go 设计有问题,用途有限,库不成熟
|
11
maemual 2017-05-02 19:03:12 +08:00
新人有多新,如果是没学过编程的建议 Java
|
12
Srar 2017-05-02 19:12:50 +08:00 2
其实我想说新手建议学 C# (
|
13
jarlyyn 2017-05-02 19:15:14 +08:00 1
|
15
sagaxu 2017-05-02 19:21:31 +08:00
Java 和 Go 冲突吗?我的建议是两个都学
|
16
murmur 2017-05-02 19:23:43 +08:00
java java 添砖加瓦 说明 java 才是大型应用的基石
j2ee 捷途易易 说明使用 java 开发 web 会让你收到事半功倍的效果 语言可以学 信仰不能丢 |
17
whatisnew 2017-05-02 19:42:46 +08:00
明显要学 java
|
19
colincat 2017-05-02 19:49:12 +08:00 via iPhone
明显 Java
|
20
gouchaoer 2017-05-02 20:34:33 +08:00 via Android
@wwqgtxx
你不要小看高级爬虫工程师哦,就算是爬虫这种入门级别的工作,要做好还是很不容易的呢 |
21
0915240 2017-05-02 21:16:55 +08:00 via iPhone
java 码农 一直在学 go
互补不足吧 |
22
WildCat 2017-05-02 21:23:24 +08:00 1
@jkneedout Golang 只有一本书值得看:The Go Programming Language: https://www.amazon.cn/s?_encoding=UTF8&field-keywords=The%20Go%20Programming%20Language&search-alias=books
其他都不要看,几乎都是垃圾 |
23
fox0001 2017-05-02 21:26:36 +08:00 via Android
Java 吧,非常成熟,而且找工作容易一些
|
25
elone 2017-05-02 21:30:18 +08:00
学 java 入门,再学 GO,因为学 GO 很简单。
|
26
scnace 2017-05-02 21:36:58 +08:00 via Android
不看
|
27
answeryou 2017-05-02 22:00:18 +08:00
PHP 是世界上最好的语言
|
28
levn 2017-05-02 22:11:55 +08:00
听说该学 elixir 了?
|
29
lwbjing 2017-05-02 22:43:01 +08:00
翻到 27#才看到我要的答案,现在整个 V 站是怎么了。。
|
30
xrlin 2017-05-02 23:43:15 +08:00 via iPhone 1
以前一直觉得 java 繁琐,但现在不得不说 java 真的适合大工程,包含了很多设计理念,而且工具类库多,虽然近两年没写过 java 了,但学 java 加深了我对设计、面向对象的理解,所以要选的话就 java 吧。
|
32
hpeng 2017-05-03 07:33:55 +08:00 via iPhone
一起学很难吗?手动滑稽
|
33
libook 2017-05-03 08:29:41 +08:00
学 C
|
34
maomo 2017-05-03 09:54:05 +08:00
新人为什么不学 Python ?
|
36
issues 2017-05-03 10:02:29 +08:00
工作用 java 业余用 golang
golang 写的一个小工具,配合 crontab 实现定时生成 vultr 快照 package main import ( "os/exec" "encoding/json" "time" "os" "log" "fmt" ) const ( CMD = "curl" // Api 密钥 API_KEY = "API-Key:xxx" SNAPSHOT_LIST_URL = "https://api.vultr.com/v1/snapshot/list" SNAPSHOT_DESTROY_URL= "https://api.vultr.com/v1/snapshot/destroy" SNAPSHOT_CREATE_URL = "https://api.vultr.com/v1/snapshot/create" // 实例 id SUB_ID = "xxx" H_ARG = "-H" DATA_ARG = "--data" ) type Snapshot struct { ID string `json:"SNAPSHOTID"` CreateDate string `json:"date_created"` Description string `json:"description"` Size string `json:"size"` Status string `json:"status"` } func main() { // 日志记录到文件 var fileName string fileName = time.Now().Format("2006-01-02") + ".txt" logFile,err := os.Create(fileName) defer logFile.Close() if err != nil { log.Fatalln("open file error !") } log.SetOutput(logFile) log.Println(time.Now().Format("2006-01-02 15:04:05"), "task start...") // 获取快照列表 var needDestory bool = true snapshotsCmd := exec.Command(CMD, H_ARG , API_KEY, SNAPSHOT_LIST_URL) snapshotsResponse, _ := snapshotsCmd.Output() var snapshots map[string]Snapshot json.Unmarshal(snapshotsResponse, &snapshots) // 快照数量 if len(snapshots) < 11 { needDestory = false } log.Println(time.Now().Format("2006-01-02 15:04:05"), "snapshot number ", len(snapshots)) // 如果快照数量超过最大限制 11 时,则删除最早的那个快照 if needDestory { var destroyID string var theEarliestDate= time.Now() for _, value := range snapshots { tempDate, _ := time.Parse("2006-01-02 15:04:05", value.CreateDate) if tempDate.Before(theEarliestDate) { theEarliestDate = tempDate destroyID = value.ID } } log.Println(time.Now().Format("2006-01-02 15:04:05"), "destroy snapshot ", destroyID) destroySnapshotCmd := exec.Command(CMD, H_ARG, API_KEY, SNAPSHOT_DESTROY_URL, DATA_ARG, fmt.Sprintf("SNAPSHOTID=%v", destroyID)) destroySnapshotCmd.Output() // 延时 30 秒,防止删除快照时,出现未知错误 time.Sleep(time.Second * 10) } // 创建一个快照 createSnapshotCmd := exec.Command(CMD, H_ARG, API_KEY, SNAPSHOT_CREATE_URL, DATA_ARG, fmt.Sprintf("SUBID=%v", SUB_ID)) createSnapshotResponse, _ := createSnapshotCmd.Output() var createSnapshot map[string]string json.Unmarshal(createSnapshotResponse, &createSnapshot) createSnapshotID := createSnapshot["SNAPSHOTID"] log.Println(time.Now().Format("2006-01-02 15:04:05"), "create snapshot", createSnapshotID) log.Println(time.Now().Format("2006-01-02 15:04:05"), "task end") } |
37
Muninn 2017-05-03 10:07:41 +08:00
你去你目标工作的城市搜一下 golang 的职位。 一般都是偏创业的,喜欢这些公司的话就学 go 吧。
不过能来问这种问题,一般推荐学 java,至少好找工作。 那些 go 很厉害的,都不是靠 go 找到工作的。。。 |
38
buru 2017-05-03 10:33:23 +08:00
先学 php 找工作,再学 go 当第二门语言
|
39
M4ster 2017-05-03 10:42:36 +08:00 1
写 Java 是不可能写 Java 的,这辈子都不可能写 Java。Golang 又不会写,就是写 Python 这种东西,才能维持得了生活这样子。在家里面一个人日站又很无聊,都没有友仔友女玩,写 JS 的个个都是人才,说话又好听,超喜欢在里面的。
|
40
bk201 2017-05-03 10:49:51 +08:00
go 只是玩具,压根不能和 java 放一个台面上讲。
|
41
ikaros 2017-05-03 10:55:17 +08:00 1
看到某楼简直要笑哭。。。。。。。。。。。。。。。。
|
42
bugmenot3 2017-05-03 11:09:30 +08:00
看不出来有什么理由选择 Java 不选择 C# 。
|
43
agtc 2017-05-03 11:11:58 +08:00
大数据方面还是要用 java,生态太强大了
|
44
agtc 2017-05-03 11:12:26 +08:00
写写接口,go 很方便
|
45
BoiledEgg 2017-05-03 11:22:34 +08:00
学着玩用 go,找工作用 java。
go 的生态其实现在已经很不错了,只是没有一套标准用法,初学的话得查不少资料,比如 benchmark 之类的去做对比,大量的新轮子需要被大浪淘沙。这一点很可怕,新轮子太多,而且不少是个人维护,可能一不小心就有一个轮子停止维护了。 java 生态就不说了,成熟到可怕,基本上就那三板斧就能解决大多问题,满大街都是教程。 另外,其实语法层面我也没觉得 go 有多大优势,java 不爽了那么改用 kotlin 就好,而且 kotlin 现在也有支持 coroutine 了。 性能上的话,go 的垃圾回收现在跟 java 还是有差距的。 以上是一个 java 开发,正在学 go 玩的感受。 |
46
RqPS6rhmP3Nyn3Tm 2017-05-03 11:30:37 +08:00 via iPhone
Go 编译出的是单个二进制文件,交叉编译非常之方便,就算是 arm 也可以用得很爽且效率高。
我不会 go,但是前几天的经历让我被圈粉了 |
47
znood 2017-05-03 11:33:29 +08:00
可能要看你领域了,如果是大数据领域、安卓开发那就 Java 了
如果是 DevOps、Docker 容器、微服务就学 Golang 总之不管怎么说都学也没坏处,我用 Golang 开发(原来用 C++)开发效率快很多,Java 代码也能看懂能改,但是要写就有点困难。 语言只是工具,解决问题才是根本。 |
48
unity0703 2017-05-03 11:34:11 +08:00
|
50
znood 2017-05-03 11:55:49 +08:00
@corboy #49 不能,因为一些历史原因大数据领域尤其是 Apache 家族使用 Java 实现的很多,而 Docker 使用 Golang 带动了容器领域用 Golang 的多
|
51
chunshuai 2017-05-03 11:58:59 +08:00
go 吧
|
52
phrack 2017-05-03 12:16:53 +08:00 via Android
我能推荐 javascript 么。。。
|
53
sagaxu 2017-05-03 12:38:54 +08:00 via Android
@BoiledEgg go 的 gc 目标是 low latency 不是 high throughput,jvm 是提供四种主要 gc 和十几个参数你自己定目标
|
54
DT27 2017-05-03 13:11:57 +08:00
C# !!!
|
55
Lpl 2017-05-03 13:25:08 +08:00
目前两个都是主要语言在用。
Java 的话市场容量会大不少,Go 的市场容量比 Java 的小很多; 使用场景不一样,Go 一般会用来偏向做基础服务,Java 一般会用来做应用; Java 走 Web 的话入门还有到熟练需要的时间长,Go 会简单很多。 要是推荐的话就推荐 Java 了,我是从 Java 入的 Go。毕竟 Java 的市场占有量比较大。但是..要是有另外一个选择的话,我推荐 Node,不是所有公司的岗位都要 Java/Go,但是每个公司都需要前端工程师。 |
56
WytheHuang 2017-05-03 13:44:30 +08:00 via Android
某楼感觉像孩子,说话语气幼稚不行
|
57
btjoker 2017-05-03 14:50:03 +08:00
自己喜欢, 两种语言侧重不同
想稳就是 java |
58
Immortal 2017-05-03 15:12:19 +08:00
个人偏向 golang
也写了 1 年多了 至少目前来说挺不错 |
59
longbye0 2017-05-03 15:12:56 +08:00 via Android
@WytheHuang 别人是故意的哦
|
60
TangMonk 2017-05-03 15:16:31 +08:00 via Android
java 靠谱
|
61
Kaho 2017-05-03 16:17:13 +08:00
PHP 是世界上最好的语言
|
63
solee 2017-05-03 16:35:49 +08:00
java 转到 node 很久了,go 也会写一点....
个人觉得微服务喜欢用 node,有 pm2 这种管理工具。 密集计算的喜欢用 go,但是觉得 go 的管理和 orm 实在不方便。 Java 很久没写过了记得当时在用 Spring boot 了,觉得写起 restful 的服务还是没有 node 那种爽快感。 |
65
WytheHuang 2017-05-03 17:04:37 +08:00
@longbye0 看来我智商捉急
|