n******7 发帖数: 12463 | 1 1.精通C#
每天用C#干活,没理由不好好学
其实C#是个挺好的语言,既足够新没有太多历史负担
又足够老有足够的library,文档,bug fix
感觉比java语法方便,比scala简单,比其他jvm语言靠谱(kotlin很像jvm上的C#)
dotnet core跨平台也还不错,就是开发平台是VS+Resharper,只能windows下面干活
Jetbrain的Rider不知道如何,暂时也没动力学了
2.学习现代cpp,用来写写个人project
其实这个位置是想给go的,个人很喜欢这个语言
不过想来想去,虽然内存消耗可能是个比较大的优势,go的performance水平跟java和c
#还是太接近了,开发工具很可能不如。这样很难说服自己放着自己更熟悉的语言不用
,写golang。
cpp一方面有performance的优势,也适合我这种转行的学习一些底层的东西。
3.还有时间的话学学clojure
之前折腾过一个星期F#,C#也喜欢写成functional style。后来感觉fp两大不足:一是
performance经常不如对应的白话文,二是debug很难
所以学习FP就不要考虑实用了,主要for fun,捡个最喜欢的玩玩
现在的问题是,CPP从哪里学起?11/14? 我用来写点自己玩的project,应该不需要读
太多别人的代码。
另外我旁边用CPP的组据说compile一次都要几十分钟,这岂不是unit test都不能随便
跑? |
e*******o 发帖数: 4654 | 2 cpp 浪费时间啊。
要么rust,要么go。
你个人project cpp 编译时间肯定不是问题。 |
l**********0 发帖数: 150 | |
N********n 发帖数: 8363 | 4 CPP是开发高性能、系统软件或者多媒体专用,在这些领域之外没啥用。 |
g****t 发帖数: 31659 | 5 Swift,kotlin,rust,go
都make sense
: cpp 浪费时间啊。
: 要么rust,要么go。
: 你个人project cpp 编译时间肯定不是问题。
【在 e*******o 的大作中提到】 : cpp 浪费时间啊。 : 要么rust,要么go。 : 你个人project cpp 编译时间肯定不是问题。
|
n******7 发帖数: 12463 | 6 go挺喜欢,但是有点不知道为啥要学,go适合干的C#也没啥问题
rust有点太新了,坑估计比较多,以后变动也会比较多
之前查过一次,还没像样的IDE,开发效率是个问题
感觉还不是跳坑的时候
cpp对于我这样的老鼠科学家来说,有助于补习基础知识
不过我也考虑go+c搭配,都是很精简的语言
go现在有jetbrain的goland做开发,应该不会差
不过我得申请买jetbrain的bundle license先
【在 e*******o 的大作中提到】 : cpp 浪费时间啊。 : 要么rust,要么go。 : 你个人project cpp 编译时间肯定不是问题。
|
n******7 发帖数: 12463 | 7 多年前jvm上没啥选择,scala是不错
现在为啥不用kotlin?
【在 l**********0 的大作中提到】 : 最近走访几家公司,Scala有猛扑回来的趋势
|
n******7 发帖数: 12463 | 8 我们这里做console app,性能还是个重要考量
【在 N********n 的大作中提到】 : CPP是开发高性能、系统软件或者多媒体专用,在这些领域之外没啥用。
|
n******7 发帖数: 12463 | 9 kotlin感觉跟每天用C#很像,真需要用到时候应该很快可以捡起来
单独学习好像没啥意义
swift了解不多,似乎局限于ios开发
另外早先读过一个讨论,谈到swift中体现了apple一贯强烈控制欲的一些方面
忘记具体哪些方面来,个人很不喜欢
【在 g****t 的大作中提到】 : Swift,kotlin,rust,go : 都make sense : : : cpp 浪费时间啊。 : : 要么rust,要么go。 : : 你个人project cpp 编译时间肯定不是问题。 :
|
s***o 发帖数: 2191 | 10 通过C++来补习基础知识事倍功半吧。我觉得要么学C/linux简单直接,要么学rust还可
以学习好多现代语言的设计理念。 |
|
|
g****t 发帖数: 31659 | 11 学swift可以帮助理解Kris Latner一些公开的文章和谈话。
: kotlin感觉跟每天用C#很像,真需要用到时候应该很快可以捡起来
: 单独学习好像没啥意义
: swift了解不多,似乎局限于ios开发
: 另外早先读过一个讨论,谈到swift中体现了apple一贯强烈控制欲的一些方面
: 忘记具体哪些方面来,个人很不喜欢
【在 n******7 的大作中提到】 : kotlin感觉跟每天用C#很像,真需要用到时候应该很快可以捡起来 : 单独学习好像没啥意义 : swift了解不多,似乎局限于ios开发 : 另外早先读过一个讨论,谈到swift中体现了apple一贯强烈控制欲的一些方面 : 忘记具体哪些方面来,个人很不喜欢
|
g****t 发帖数: 31659 | 12 go跨平台
这点很重要
: go挺喜欢,但是有点不知道为啥要学,go适合干的C#也没啥问题
: rust有点太新了,坑估计比较多,以后变动也会比较多
: 之前查过一次,还没像样的IDE,开发效率是个问题
: 感觉还不是跳坑的时候
: cpp对于我这样的老鼠科学家来说,有助于补习基础知识
: 不过我也考虑go c搭配,都是很精简的语言
: go现在有jetbrain的goland做开发,应该不会差
: 不过我得申请买jetbrain的bundle license先
【在 n******7 的大作中提到】 : kotlin感觉跟每天用C#很像,真需要用到时候应该很快可以捡起来 : 单独学习好像没啥意义 : swift了解不多,似乎局限于ios开发 : 另外早先读过一个讨论,谈到swift中体现了apple一贯强烈控制欲的一些方面 : 忘记具体哪些方面来,个人很不喜欢
|
e*******o 发帖数: 4654 | 13 rust 不新了
现在除了jvm的语言,vscode 下载下来,用起来都比较爽。
补习基础,看 computer system https://www.amazon.com/Computer-Systems-
Programmers-Perspective-2nd/dp/0136108040
cpp 复杂不说,toolchain 也不行。
如果你学cpp 有耐心看书,私信我,我把我的书送给你。
【在 n******7 的大作中提到】 : go挺喜欢,但是有点不知道为啥要学,go适合干的C#也没啥问题 : rust有点太新了,坑估计比较多,以后变动也会比较多 : 之前查过一次,还没像样的IDE,开发效率是个问题 : 感觉还不是跳坑的时候 : cpp对于我这样的老鼠科学家来说,有助于补习基础知识 : 不过我也考虑go+c搭配,都是很精简的语言 : go现在有jetbrain的goland做开发,应该不会差 : 不过我得申请买jetbrain的bundle license先
|
n***p 发帖数: 110 | 14 Clojure很实用,现在新的project我都用Clojure搞定
一般library都在这里 https://www.clojure-toolbox.com
没有的话java的library一样拿来用。
和c
【在 n******7 的大作中提到】 : 1.精通C# : 每天用C#干活,没理由不好好学 : 其实C#是个挺好的语言,既足够新没有太多历史负担 : 又足够老有足够的library,文档,bug fix : 感觉比java语法方便,比scala简单,比其他jvm语言靠谱(kotlin很像jvm上的C#) : dotnet core跨平台也还不错,就是开发平台是VS+Resharper,只能windows下面干活 : Jetbrain的Rider不知道如何,暂时也没动力学了 : 2.学习现代cpp,用来写写个人project : 其实这个位置是想给go的,个人很喜欢这个语言 : 不过想来想去,虽然内存消耗可能是个比较大的优势,go的performance水平跟java和c
|
n***p 发帖数: 110 | 15 jvm上的language都是跨平台的,go在这点上没优势可言。
从学习角度来说,go不如rust。要是从实用来讲,go比rust好很多。
【在 g****t 的大作中提到】 : go跨平台 : 这点很重要 : : : go挺喜欢,但是有点不知道为啥要学,go适合干的C#也没啥问题 : : rust有点太新了,坑估计比较多,以后变动也会比较多 : : 之前查过一次,还没像样的IDE,开发效率是个问题 : : 感觉还不是跳坑的时候 : : cpp对于我这样的老鼠科学家来说,有助于补习基础知识 : : 不过我也考虑go c搭配,都是很精简的语言 : : go现在有jetbrain的goland做开发,应该不会差
|
n******7 发帖数: 12463 | 16 有道理。linux我用得很熟,那就弄弄C得了
rust好像就是那个ownership borrowing的model比较特别
其他的其他主流语言都有吧?
【在 s***o 的大作中提到】 : 通过C++来补习基础知识事倍功半吧。我觉得要么学C/linux简单直接,要么学rust还可 : 以学习好多现代语言的设计理念。
|
n******7 发帖数: 12463 | 17 是关于llvm的吗?我对他的了解等于零。。。
【在 g****t 的大作中提到】 : 学swift可以帮助理解Kris Latner一些公开的文章和谈话。 : : : kotlin感觉跟每天用C#很像,真需要用到时候应该很快可以捡起来 : : 单独学习好像没啥意义 : : swift了解不多,似乎局限于ios开发 : : 另外早先读过一个讨论,谈到swift中体现了apple一贯强烈控制欲的一些方面 : : 忘记具体哪些方面来,个人很不喜欢 :
|
n******7 发帖数: 12463 | 18 有了dotnet core,C#也officially 跨平台了
win/osx/linux
硬件平台没查过,我们只支持x86
windows only的话我也不会好好学点
【在 g****t 的大作中提到】 : go跨平台 : 这点很重要 : : : go挺喜欢,但是有点不知道为啥要学,go适合干的C#也没啥问题 : : rust有点太新了,坑估计比较多,以后变动也会比较多 : : 之前查过一次,还没像样的IDE,开发效率是个问题 : : 感觉还不是跳坑的时候 : : cpp对于我这样的老鼠科学家来说,有助于补习基础知识 : : 不过我也考虑go c搭配,都是很精简的语言 : : go现在有jetbrain的goland做开发,应该不会差
|
n******7 发帖数: 12463 | 19 开发环境这个是由奢入俭难
最开始觉得vim加上一些插件就不错了
后来喜欢Rstudio/Spyder 这类可以边写边跑到环境
现在写C#要VS professional + Jetbrain的resharper才够爽
有段时间resharper subscript有问题不能用,立马不习惯了
这个东西是免费的午餐,就是说只有好处,没有代价的,不用做取舍,所以没有好的
IDE支持对于学习使用一个语言是巨大的minus。rust我刚看了,jetbrain在开发rust
插件,WIP。等他们beta了我再考虑学吧。我认为好的开发工具支持也是一个语言成熟
的标志
谢谢你的好意,我仔细想想,还是放弃cpp学习了。这些年多次想弄cpp,每次都放弃了
。。。
最近重点看C#书,你推荐的这本先放到购物车里面:)
【在 e*******o 的大作中提到】 : rust 不新了 : 现在除了jvm的语言,vscode 下载下来,用起来都比较爽。 : 补习基础,看 computer system https://www.amazon.com/Computer-Systems- : Programmers-Perspective-2nd/dp/0136108040 : cpp 复杂不说,toolchain 也不行。 : 如果你学cpp 有耐心看书,私信我,我把我的书送给你。
|
n******7 发帖数: 12463 | 20 估计你是做web开发的?
我们做的东西对性能还是看重的
曾经把一个project里面的LINQ清理了,运行时间减少了40%
现在很不鼓励用LINQ,除非有很好的理由
另外担心开发效率
clojure写起来应该很快,但是FP的debug不知道怎么搞,函数套函数的
又是动态语言,在加上lazy evaluation之类的,估计很头大
【在 n***p 的大作中提到】 : Clojure很实用,现在新的project我都用Clojure搞定 : 一般library都在这里 https://www.clojure-toolbox.com : 没有的话java的library一样拿来用。 : : 和c
|
|
|
n******7 发帖数: 12463 | 21 确实。go是个很重实用的语言,实用性不大又增加复杂度的feature一概欠奉。
现在也没想好学go到底有没机会用
要是能自己开个project,用go写能有一定的独立性,也喜欢go的deployment
但是遇到坑得自己填,经验也不多,开发效率就下去了,可能project就死了。。。
【在 n***p 的大作中提到】 : jvm上的language都是跨平台的,go在这点上没优势可言。 : 从学习角度来说,go不如rust。要是从实用来讲,go比rust好很多。
|
n******7 发帖数: 12463 | |
w********m 发帖数: 1137 | |
n***p 发帖数: 110 | 24 不是搞web的
Clojure的性能不差,和其他jvm上run的没多大区别。
debug很多方法,IDE plugin或者emacs上cider都有,remote debug也行。
如果不喜欢函数套函数,那还是不要搞fp,fp主要就是靠这个,好像build lego,其乐
无穷。
【在 n******7 的大作中提到】 : 估计你是做web开发的? : 我们做的东西对性能还是看重的 : 曾经把一个project里面的LINQ清理了,运行时间减少了40% : 现在很不鼓励用LINQ,除非有很好的理由 : 另外担心开发效率 : clojure写起来应该很快,但是FP的debug不知道怎么搞,函数套函数的 : 又是动态语言,在加上lazy evaluation之类的,估计很头大
|
n******7 发帖数: 12463 | 25 我是非常喜欢函数叠函数玩的,就像你说的,搭积木
以前写R的时候经常这么写,所以对lisp的括号套括号挺习惯
就是这样搞的话,debug比较费脑,不能一步步的看中间结果
【在 n***p 的大作中提到】 : 不是搞web的 : Clojure的性能不差,和其他jvm上run的没多大区别。 : debug很多方法,IDE plugin或者emacs上cider都有,remote debug也行。 : 如果不喜欢函数套函数,那还是不要搞fp,fp主要就是靠这个,好像build lego,其乐 : 无穷。
|
n***p 发帖数: 110 | 26 上面说了,debug设个break point在cursive/counterclockwise/cider都不是问题。
看stacktrace也很直观。
关键我想说的是,像fp语言,只要把每个函数的test case都写好了,以简单函数搭建
起来的复杂函数也很少出错。
平常多用eastwood, cloverage 和 lein test, 几乎把clojure的bug降低到0,很少用
debug。
https://github.com/technomancy/leiningen
https://github.com/cloverage/cloverage
https://github.com/jonase/eastwood
【在 n******7 的大作中提到】 : 我是非常喜欢函数叠函数玩的,就像你说的,搭积木 : 以前写R的时候经常这么写,所以对lisp的括号套括号挺习惯 : 就是这样搞的话,debug比较费脑,不能一步步的看中间结果
|
y*j 发帖数: 3139 | 27 如果搞生物的,python应该是最合适的语言。其它花里胡哨的语言都是过眼云烟。
: go挺喜欢,但是有点不知道为啥要学,go适合干的C#也没啥问题
: rust有点太新了,坑估计比较多,以后变动也会比较多
: 之前查过一次,还没像样的IDE,开发效率是个问题
: 感觉还不是跳坑的时候
: cpp对于我这样的老鼠科学家来说,有助于补习基础知识
: 不过我也考虑go c搭配,都是很精简的语言
: go现在有jetbrain的goland做开发,应该不会差
: 不过我得申请买jetbrain的bundle license先
【在 n******7 的大作中提到】 : 我是非常喜欢函数叠函数玩的,就像你说的,搭积木 : 以前写R的时候经常这么写,所以对lisp的括号套括号挺习惯 : 就是这样搞的话,debug比较费脑,不能一步步的看中间结果
|
m*****p 发帖数: 39 | 28 如果搞machine learning和GPGPU是不是必须学Cpp啊?好像Java/C#这类都不行,其他
的FP也不行。 |
x****u 发帖数: 44466 | 29 熟练使用tensorflow和python即可
【在 m*****p 的大作中提到】 : 如果搞machine learning和GPGPU是不是必须学Cpp啊?好像Java/C#这类都不行,其他 : 的FP也不行。
|
n******7 发帖数: 12463 | 30 忘记unit test了
以前基本不写的
应该对fp非常有用
【在 n***p 的大作中提到】 : 上面说了,debug设个break point在cursive/counterclockwise/cider都不是问题。 : 看stacktrace也很直观。 : 关键我想说的是,像fp语言,只要把每个函数的test case都写好了,以简单函数搭建 : 起来的复杂函数也很少出错。 : 平常多用eastwood, cloverage 和 lein test, 几乎把clojure的bug降低到0,很少用 : debug。 : https://github.com/technomancy/leiningen : https://github.com/cloverage/cloverage : https://github.com/jonase/eastwood
|
|
|
n******7 发帖数: 12463 | 31 看干啥
最低级的文本转换,跑pipeline之类的纯python最合适,因为简单
高级一点的数据处理/ML的啥的,R就比较流行了,bioconductor是杀手应用
python也能做,但是对numpy scipy pandas sk-learn matlibplot得熟悉,也没那么容易
作图R秒杀python
在高级的点做方法的,想有人用基本得c/cpp,可选R/python wrapper。起码也要java
/scala之类的,不然performance太差
其实我觉得只会用python的不算真正转行,局限太大,只能用别人工具
【在 y*j 的大作中提到】 : 如果搞生物的,python应该是最合适的语言。其它花里胡哨的语言都是过眼云烟。 : : : go挺喜欢,但是有点不知道为啥要学,go适合干的C#也没啥问题 : : rust有点太新了,坑估计比较多,以后变动也会比较多 : : 之前查过一次,还没像样的IDE,开发效率是个问题 : : 感觉还不是跳坑的时候 : : cpp对于我这样的老鼠科学家来说,有助于补习基础知识 : : 不过我也考虑go c搭配,都是很精简的语言 : : go现在有jetbrain的goland做开发,应该不会差 : : 不过我得申请买jetbrain的bundle license先
|
y*j 发帖数: 3139 | 32 作图R秒杀python?python 有很多package,作图功能并不弱。
: 看干啥
: 最低级的文本转换,跑pipeline之类的纯python最合适,因为简单
: 高级一点的数据处理/ML的啥的,R就比较流行了,bioconductor是杀手应用
: python也能做,但是对numpy scipy pandas sk-learn matlibplot得熟悉,也没
那么容易
: 作图R秒杀python
: 在高级的点做方法的,想有人用基本得c/cpp,可选R/python wrapper。起码也
要java
: /scala之类的,不然performance太差
: 其实我觉得只会用python的不算真正转行,局限太大,只能用别人工具
【在 n******7 的大作中提到】 : 看干啥 : 最低级的文本转换,跑pipeline之类的纯python最合适,因为简单 : 高级一点的数据处理/ML的啥的,R就比较流行了,bioconductor是杀手应用 : python也能做,但是对numpy scipy pandas sk-learn matlibplot得熟悉,也没那么容易 : 作图R秒杀python : 在高级的点做方法的,想有人用基本得c/cpp,可选R/python wrapper。起码也要java : /scala之类的,不然performance太差 : 其实我觉得只会用python的不算真正转行,局限太大,只能用别人工具
|
n*****3 发帖数: 1584 | 33 R has the best data munging and plot ecogsystem...
python is behind...
python can do anything, but can NOT do one thing the best...
【在 y*j 的大作中提到】 : 作图R秒杀python?python 有很多package,作图功能并不弱。 : : : 看干啥 : : 最低级的文本转换,跑pipeline之类的纯python最合适,因为简单 : : 高级一点的数据处理/ML的啥的,R就比较流行了,bioconductor是杀手应用 : : python也能做,但是对numpy scipy pandas sk-learn matlibplot得熟悉,也没 : 那么容易 : : 作图R秒杀python : : 在高级的点做方法的,想有人用基本得c/cpp,可选R/python wrapper。起码也 : 要java
|
n*****3 发帖数: 1584 | 34 R has the best data munging and plot ecogsystem...
python is behind...
python can do anything, but can NOT do one thing the best...
【在 y*j 的大作中提到】 : 作图R秒杀python?python 有很多package,作图功能并不弱。 : : : 看干啥 : : 最低级的文本转换,跑pipeline之类的纯python最合适,因为简单 : : 高级一点的数据处理/ML的啥的,R就比较流行了,bioconductor是杀手应用 : : python也能做,但是对numpy scipy pandas sk-learn matlibplot得熟悉,也没 : 那么容易 : : 作图R秒杀python : : 在高级的点做方法的,想有人用基本得c/cpp,可选R/python wrapper。起码也 : 要java
|