分享

如何系统、科学地自学编程知识?

 庆亮trj21bcn0z 2017-12-24

谢邀,这问题很好很难,我只能以自己的经验试着回答下,仅供参考。

首先声明,编程越往'高级'发展,门槛越低,对底层要求越低。

一、操作系统与硬件知识。

编程避免不了和操作系统、硬件打交道,越理解操作系统和硬件的原理,编程'内功'越高。

相关书籍《深入理解计算机系统》第三版、《the linux command line》、《windows程序设计》第五版。

手机开发的话,《深入理解Android 》。

二、编程语言、编辑器和IDE。

编程语言视乎个人的需求选择,这里仅以C/C++/C#/Java/JavaScript/python为例。

1.C语言《C和指针》。

2.C++之父的《C++程序设计语言》。

3.《深入理解C#第三版》。

4.提主手机开发,请选Java,《java编程思想第4版》《Effective java 中文版(第2版)》

另外, 今年Google推出手机开发新语言Kotlin,个人不熟悉,无法推荐,请自行搜索经典教材。

5.《JavaScript高级程序设计第3版》

6.《python核心编程第3版》《python基础教程第2版》《笨方法学python》

vim、sublime text、Eclipse、notepad++编辑器需要配置;

新手可以选择对应语言的IDE。

编辑器和IDE不必过于纠结,本身就是开发语言的工具而已。

三、代码风格和编程技巧。

易读易懂易扩展易维护的代码,是编程的基本功。

《代码大全》是一本必读需反复读的书。

另外,设计模式《headfirst设计模式》《设计模式-可复用面向对象软件的基础》《大话设计模式》。

四、数据结构和算法

编程语言或者会变更,算法经典永恒。

《算法导论》《算法》《编程珠玑》《大话数据结构》请拿走。

五、团队协作与项目管理

.卓越的软件由团队合力而成,程序员需要提高团队协作与项目管理能力。

《极客与团队》《人月神话》

六、相关领域的必备知识

1.网络编程的必备知识《tcp/ip原理》《http权威指南》《https权威指南》。

2. WEB 开发的必备知识,w3cschool是个极好的学习网站。

3.数据库的必备知识,主要分为sql数据库和nosql数据库。

《数据库概念第5版》

《sql必知必会第四版》《深入浅出sql》《SQL基础教程》三本任君选择。

sql数据库如oracle、mysql等各自支持的sql语言稍有不同,具体需查阅相关文档。

nosql有Redis、MongoDB等各自用法不同,runoob网站入门教材还不错。

4.UI设计。

网易云课堂《UI设计师》和Coursera上课堂。

Coursera毫无疑问是自学的顶级网站。

5.字符串提取《精通正则表达式》。

七、android开发

《疯狂Android讲义第3版》

《Android编程权威指南》

《高性能Android应用开发》

《第一行代码:Android(第2版)》

八、面试能力《程序员面试金典第5版》。

每个人答案都不一样,欢迎评论你的看法。

如果对你有帮助,请点赞支持。谢谢

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多