如果一个新人学一门语言,你们推荐学什么?
|  |      1zhujinliang      2017-05-02 17:49:43 +08:00 golang | 
|  |      2jarlyyn      2017-05-02 18:02:53 +08:00 go | 
|  |      3jkneedout      2017-05-02 18:04:28 +08:00 via iPhone | 
|      4Cbdy      2017-05-02 18:14:07 +08:00 via Android 这年头还在 vs 编程语言?当然是选择都学😄 | 
|      5corboy OP | 
|  |      8zhujinliang      2017-05-02 18:41:53 +08:00  2 赚钱,还是 java 吧,golang 目前还有点远 golang 语法简单,语言要素少,易学易用 直接编译为可执行文件,不需环境,不需其它依赖,单文件方便携带,常见平台都可编译 自带效率靠谱的 goroutine,自带多线程通信机制 channel,多线程编程很容易 有需要的话还可以混合 C 语言,直接 include C 的库 内存占用不大,执行效率不错,不需 JVM 预热,目前没反编译工具 @corboy | 
|  |      9mortonnex      2017-05-02 18:49:02 +08:00 都挺好的 | 
|  |      10gouchaoer      2017-05-02 19:00:45 +08:00 via Android  1 java 吧,go 设计有问题,用途有限,库不成熟 | 
|      11maemual      2017-05-02 19:03:12 +08:00 新人有多新,如果是没学过编程的建议 Java | 
|  |      12Srar      2017-05-02 19:12:50 +08:00  2 其实我想说新手建议学 C# ( | 
|  |      13jarlyyn      2017-05-02 19:15:14 +08:00  1 | 
|  |      15sagaxu      2017-05-02 19:21:31 +08:00 Java 和 Go 冲突吗?我的建议是两个都学 | 
|  |      16murmur      2017-05-02 19:23:43 +08:00 java java 添砖加瓦 说明 java 才是大型应用的基石 j2ee 捷途易易 说明使用 java 开发 web 会让你收到事半功倍的效果 语言可以学 信仰不能丢 | 
|  |      17whatisnew      2017-05-02 19:42:46 +08:00 明显要学 java | 
|  |      19colincat      2017-05-02 19:49:12 +08:00 via iPhone 明显 Java | 
|  |      20gouchaoer      2017-05-02 20:34:33 +08:00 via Android @wwqgtxx 你不要小看高级爬虫工程师哦,就算是爬虫这种入门级别的工作,要做好还是很不容易的呢 | 
|  |      210915240      2017-05-02 21:16:55 +08:00 via iPhone java 码农 一直在学 go 互补不足吧 | 
|  |      22WildCat      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 其他都不要看,几乎都是垃圾 | 
|      23fox0001      2017-05-02 21:26:36 +08:00 via Android Java 吧,非常成熟,而且找工作容易一些 | 
|  |      25elone      2017-05-02 21:30:18 +08:00 学 java 入门,再学 GO,因为学 GO 很简单。 | 
|      26scnace      2017-05-02 21:36:58 +08:00 via Android 不看 | 
|  |      27answeryou      2017-05-02 22:00:18 +08:00 PHP 是世界上最好的语言 | 
|  |      28levn      2017-05-02 22:11:55 +08:00 听说该学 elixir 了? | 
|  |      29lwbjing      2017-05-02 22:43:01 +08:00 翻到 27#才看到我要的答案,现在整个 V 站是怎么了。。 | 
|  |      30xrlin      2017-05-02 23:43:15 +08:00 via iPhone  1 以前一直觉得 java 繁琐,但现在不得不说 java 真的适合大工程,包含了很多设计理念,而且工具类库多,虽然近两年没写过 java 了,但学 java 加深了我对设计、面向对象的理解,所以要选的话就 java 吧。 | 
|      32hpeng      2017-05-03 07:33:55 +08:00 via iPhone 一起学很难吗?手动滑稽 | 
|  |      33libook      2017-05-03 08:29:41 +08:00 学 C | 
|  |      34maomo      2017-05-03 09:54:05 +08:00 新人为什么不学 Python ? | 
|      36issues      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") } | 
|  |      37Muninn      2017-05-03 10:07:41 +08:00 你去你目标工作的城市搜一下 golang 的职位。 一般都是偏创业的,喜欢这些公司的话就学 go 吧。 不过能来问这种问题,一般推荐学 java,至少好找工作。 那些 go 很厉害的,都不是靠 go 找到工作的。。。 | 
|  |      38buru      2017-05-03 10:33:23 +08:00 先学 php 找工作,再学 go 当第二门语言 | 
|  |      39M4ster      2017-05-03 10:42:36 +08:00  1 写 Java 是不可能写 Java 的,这辈子都不可能写 Java。Golang 又不会写,就是写 Python 这种东西,才能维持得了生活这样子。在家里面一个人日站又很无聊,都没有友仔友女玩,写 JS 的个个都是人才,说话又好听,超喜欢在里面的。 | 
|  |      40bk201      2017-05-03 10:49:51 +08:00 go 只是玩具,压根不能和 java 放一个台面上讲。 | 
|  |      41ikaros      2017-05-03 10:55:17 +08:00  1 看到某楼简直要笑哭。。。。。。。。。。。。。。。。 | 
|      42bugmenot3      2017-05-03 11:09:30 +08:00 看不出来有什么理由选择 Java 不选择 C# 。 | 
|  |      43agtc      2017-05-03 11:11:58 +08:00 大数据方面还是要用 java,生态太强大了 | 
|  |      44agtc      2017-05-03 11:12:26 +08:00 写写接口,go 很方便 | 
|      45BoiledEgg      2017-05-03 11:22:34 +08:00 学着玩用 go,找工作用 java。 go 的生态其实现在已经很不错了,只是没有一套标准用法,初学的话得查不少资料,比如 benchmark 之类的去做对比,大量的新轮子需要被大浪淘沙。这一点很可怕,新轮子太多,而且不少是个人维护,可能一不小心就有一个轮子停止维护了。 java 生态就不说了,成熟到可怕,基本上就那三板斧就能解决大多问题,满大街都是教程。 另外,其实语法层面我也没觉得 go 有多大优势,java 不爽了那么改用 kotlin 就好,而且 kotlin 现在也有支持 coroutine 了。 性能上的话,go 的垃圾回收现在跟 java 还是有差距的。 以上是一个 java 开发,正在学 go 玩的感受。 | 
|      46RqPS6rhmP3Nyn3Tm      2017-05-03 11:30:37 +08:00 via iPhone Go 编译出的是单个二进制文件,交叉编译非常之方便,就算是 arm 也可以用得很爽且效率高。 我不会 go,但是前几天的经历让我被圈粉了 | 
|      47znood      2017-05-03 11:33:29 +08:00 可能要看你领域了,如果是大数据领域、安卓开发那就 Java 了 如果是 DevOps、Docker 容器、微服务就学 Golang 总之不管怎么说都学也没坏处,我用 Golang 开发(原来用 C++)开发效率快很多,Java 代码也能看懂能改,但是要写就有点困难。 语言只是工具,解决问题才是根本。 | 
|  |      48unity0703      2017-05-03 11:34:11 +08:00 | 
|      50znood      2017-05-03 11:55:49 +08:00 @corboy #49 不能,因为一些历史原因大数据领域尤其是 Apache 家族使用 Java 实现的很多,而 Docker 使用 Golang 带动了容器领域用 Golang 的多 | 
|  |      51chunshuai      2017-05-03 11:58:59 +08:00 go 吧 | 
|  |      52phrack      2017-05-03 12:16:53 +08:00 via Android 我能推荐 javascript 么。。。 | 
|  |      53sagaxu      2017-05-03 12:38:54 +08:00 via Android @BoiledEgg go 的 gc 目标是 low latency 不是 high throughput,jvm 是提供四种主要 gc 和十几个参数你自己定目标 | 
|  |      54DT27      2017-05-03 13:11:57 +08:00 C# !!! | 
|  |      55Lpl      2017-05-03 13:25:08 +08:00 目前两个都是主要语言在用。 Java 的话市场容量会大不少,Go 的市场容量比 Java 的小很多; 使用场景不一样,Go 一般会用来偏向做基础服务,Java 一般会用来做应用; Java 走 Web 的话入门还有到熟练需要的时间长,Go 会简单很多。 要是推荐的话就推荐 Java 了,我是从 Java 入的 Go。毕竟 Java 的市场占有量比较大。但是..要是有另外一个选择的话,我推荐 Node,不是所有公司的岗位都要 Java/Go,但是每个公司都需要前端工程师。 | 
|  |      56WytheHuang      2017-05-03 13:44:30 +08:00 via Android 某楼感觉像孩子,说话语气幼稚不行 | 
|  |      57btjoker      2017-05-03 14:50:03 +08:00 自己喜欢, 两种语言侧重不同 想稳就是 java | 
|  |      58Immortal      2017-05-03 15:12:19 +08:00 个人偏向 golang 也写了 1 年多了 至少目前来说挺不错 | 
|  |      59longbye0      2017-05-03 15:12:56 +08:00 via Android @WytheHuang 别人是故意的哦 | 
|  |      60TangMonk      2017-05-03 15:16:31 +08:00 via Android java 靠谱 | 
|  |      61Kaho      2017-05-03 16:17:13 +08:00 PHP 是世界上最好的语言 | 
|  |      63solee      2017-05-03 16:35:49 +08:00 java 转到 node 很久了,go 也会写一点....    个人觉得微服务喜欢用 node,有 pm2 这种管理工具。 密集计算的喜欢用 go,但是觉得 go 的管理和 orm 实在不方便。 Java 很久没写过了记得当时在用 Spring boot 了,觉得写起 restful 的服务还是没有 node 那种爽快感。 | 
|  |      65WytheHuang      2017-05-03 17:04:37 +08:00 @longbye0 看来我智商捉急 |