• emoji
    2018-06-12
    几个问题,
    1.您一下子提到了四门语言,我们这些后生究竟应该精通一门呢,还是多元呢?如果多元,深度是个问题?
    2.总有一些经常变和亘古不变的东西,数据结构,算法,网络,计算机基本原理,这些都是很少改变的,而且也需要花很多精力和时间去学习,您提到的几个语言都是经久不衰的,也需要花精力和时间去学习,而时间的总量是固定的,那么我们如何取舍呢?
    3.语言本身只是工具,能不能用学到的语言解决问题,这个很关键,不是吗?能不能这么理解,学另一个语言,是因为本语言在某些特定的问题上遇到瓶颈,只能用别的语言来解决?

    作者回复: 1)我把Java放在第一位,就是说Java很重要。C语言要学。C++可以跳过,学了C语言,Go语言很自然就学会了。编程语言不复杂的,多花点时间没坏处。

    2)不要取舍,排优先级。这些基础知识都是计算机科学专业大学本科的知识,4年你能拿得出来吗?

    3)Java语言让你不用关注底层,而关注业务和架构,C语言让你关注底层原理,Go语言介于C和Java之间,掌握多门语言会让你对他们有比较。他们各有各的适用场景。

    如果你想成为一个高手,多学几门语言是必须的!

    
     49
  • D瓜哥
    2018-06-12
    读《Effective Java》时,建议学一学Google Guava库,这两个是出之一人之手。书中的很多思想直接就在Guava库中提现出来了。那种感觉,非常棒。
    
     26
  • akaQin
    2018-06-12
    谭浩强是真的坑。。竟然还被用作了大学教材误人子弟
    
     17
  • 李沛霖-程序猿
    2018-06-12
    C#呢?它的标准和发展现在都要好过java,
    
     12
  • zliweijk
    2018-06-12
    为什么大学老师不是有经验的编程工程师,而是毕业直接任教的,读大学时几乎没有听过老师说现在流行什么技术,什么样的企业用什么样的技术比较多,应届生如何才能更好找到适合的工作
     1
     11
  • 胖胖的奥利奥
    2018-06-12
    刚开始学的PHP,后面再学习C语言之后就会发现,其实很多语言的实现都有这些底层语言的影子

    作者回复: 是的。学得多就会越学越快

    
     8
  • 给我二两面
    2018-06-12
    Go语言确实很简单,我花了一周时间读了本《go programming language》就可以上手写了。如果你已经会了一门语言,再学习其他编程语言时,要从语言特性角度去学(比如支不支持闭包,如何实现类继承机制,包管理机制是什么,静态作用域还是动态作用域),就会发觉学的非常快。语法细则看一遍即可。实际写代码时,IDE会给你充分提示,静态语言尤是。写着写着就熟练了。
    
     8
  • D瓜哥
    2018-06-12
    设计模式方面,我更推荐《大话设计模式》程杰著,清华大学出版社出版。
    这本书以对话的方式授业解惑;每个模式也是以故事的方式循序渐进地推进,直至设计模式。
    另外,难能可贵地是,它还把过去的关于设计模式的几本经典书籍的重点知识摘抄融入正文中。并以黑体标注。强烈推荐!
     1
     7
  • LI
    2018-06-12
    耗子叔推荐的书都很不错,但是实际中没有遇到也没有办法深刻理解
    
     6
  • 云学
    2018-06-12
    搞了8年的c c++,正在接触java,不同的语言确实可以开阔思维,写出更好的代码
    
     5
  • Dawn
    2018-07-09
    皓子哥,我毕业3年一直做PHP,现在公司又做前端居多,没有code review,而且永远在写业务。
    产品流量稍微大一点,后端就被C++团队接手了,被发配写管理后台。
    前段时间特别犹豫要不要转Java。
    看了您的文章,坚定了我转型的决心,为了自己的长远发展,重头开始!
    
     3
  • kursk.ye
    2018-06-21
    耗子,两个问题。
    (1)你总是说“继承需要给子类暴露一些父类的设计和实现细节”,可是我想了想,除了重写要知道父类方法的参数类型这种必要信息,没有暴露太多细节啊,能不能举例说明哪些信息是不必要的暴露。不过我完全赞成你说继承更多是为了多态。
    (2)另外,我每次看编程类的书,其实不是看书,而是在码书,因为很多情况下我只有把书上例子实现一遍,把玩一下代码我才能理解,所以我才能真正理解,这就导致我书“看”得很慢,你以前blog里推荐的JavaScript definition guide我就是这么码完的(不知道什么原因我发现你这次介绍前端时没有介绍这本书),我不知道你是怎么解决这个问题,因为看你这份书单,我觉得退休前能看完已经不错了,我今年38岁
    展开
     1
     3
  • 小波波孙
    2018-06-20
    讲讲Python吧
    
     3
  • 多米
    2018-06-12
    明显golang
    
     3
  • cosmos lee
    2018-06-12
    感谢皓叔的推荐。我现在公司用的是php做开发,自己目前在学习c,之后想继续学习c++再到java。但是皓叔前面说java的竞争力最强,那么是不是尽快开始入门java更好呢?

    作者回复: 可以啊

    
     3
  • neohope
    2018-10-19
    对于C,推荐两本与《C陷阱与缺陷》齐名的书,一本是《C和指针》,一本是《C专家编程》。
    C++的话,有一本《C++编程思想》,作者和《Java编程思想》是一个人,这本书评价也挺高的。

    看到有些小伙伴问C#的书,
    对于Windows操作系统而言,《Windows核心编程》一定要读一读。
    C#的话,有两本个人推荐的,《C# in the Nutshell》和《CLR via C#》。
    展开
     1
     2
  • 风萧萧
    2018-08-15
    “如果你想看纸书的话,The Go Programming Language 一书在豆瓣上有 9.2 分,但是国内没有卖的。”这本书英文原版国内有引进,也有中译本《Go 程序设计语言》。
    
     2
  • Yayu
    2018-08-11
    好厉害,这个课程可能是我之前购买所有学习资料里最超值的一份。大牛的经验是无价之宝。
    
     2
  • myco 前
    2018-06-29
    想请教皓哥一个问题:我是计算机专业的同学,工作后写了几年Java;想通过看APUE同时捡起来C和类Unix系统;但是开始敲起书上代码的时候发现系统的头文件远不像jdk代码那样文档清晰,感觉难以入门,不知道如何找系统函数文档,如何了解系统调用底层的实现,有点理不清头绪。为了避免陷入X-Y问题,我再说下我的目的:我目标是想学习C,了解类Unix系统底层的东西。想问下皓哥和同学们又啥好的建议?

    作者回复: 挺好的,先学C,再学Uinx。文档谷歌一下就可以找到:C语言的:https://en.cppreference.com/w/c 及 https://www.gnu.org/software/libc/manual/ ,Linux的:http://man7.org/linux/man-pages/man2/syscalls.2.html

     1
     2
  • kuna
    2018-06-19
    您好,我想问问您对 rust 语言怎么看,相对于 C++ 来说是否有某些场景可以替代?Stackoverflow 的调查显示 rust 连续几年排名第一 most loved dreaded and wanted language,但从社区反映来看口碑不佳,您认为是否有深入了解必要,谢谢!

    作者回复: Rust我还是喜欢的,不过我也是在观望中。因为我这篇文章内容太多了,所以只能选择主流的,这样才能确保不让大家走弯路,所以我没提。对于你的这个问题,我个人建议,就个人兴趣是可以深入了解的,但是就职业生涯来说,我则是持保守立场的。

    
     2
我们在线,来聊聊吧