专栏名称: 开发者全社区
分享和推送Java/Android方向的技术和文章,让你成为这方面的大牛,让你每天都成长一点。同时,我们也会邀请BAT的大牛分享原创!
目录
相关文章推荐
开发者全社区  ·  跳崖了 ·  昨天  
开发者全社区  ·  广州员工奴性事件 ·  昨天  
开发者全社区  ·  恒大歌舞团团长嫁人了 ·  2 天前  
鸿洋  ·  ActivityTaskManagerSer ... ·  2 天前  
鸿洋  ·  关于 2025 副业探索,DeepSeek ... ·  3 天前  
51好读  ›  专栏  ›  开发者全社区

编程经典书籍电子版限时大放送

开发者全社区  · 公众号  · android  · 2017-04-21 07:24

正文

相关阅读:

吊炸天!74款APP完整源码!

Android插件化Hook技术之---Activity的启动过程拦截

2017年初BAT的JAVA面试题汇集

计算机编程不仅是一种职业,而且是一种思维方式。挑战和机会并存,不仅能提供你的思维水平,而且确实是改善生活的一种途径。无论是国外IT大佬,还是国内互联网新贵,好多都是从计算机编程进入其职业生涯的。挣大钱谁也不会拒绝,学习编程还能有效的提高各种做事的效率。

任何想成为程序员的人都需要从编程开始,将面临着许许多多的问题。如何打牢基础?如何选择计算机语言?如何选择学习方法?。。。诸如此类的问题充斥在各大论坛、社交媒体。读书,读编程的书,是一个绕不过去的门槛。

本文精选了几个入门级自由编程书籍作为推荐。这里之所以叫“自由”,而不叫“免费”,是英文自由具有尊重自由和社区的意义,因为所有的书都是根据开源许可证发布的。因此,这意味着可以自由复制,分发,研究和铭记于心,不需担心有人叫你去喝茶。

最后一本有一定的难度,并不适合初学者。但是,一旦你消化了前7本书,建议把它纳入到你的阅读清单里。

计算导论:语言、逻辑和机器的探索

作者David Evans(266页)

链接:http://computingbook.org/


本书介绍了计算的最重要的基本思想,使用Scheme和Python编程语言来讲解。 这本书可能是任何新秀程序员的最佳起点。

作者通过定义程序、如何分析执行程序所需的成本以及可以和不可以用机械计算的基本限制来集中描述信息处理。


计算机程序的结构和解释

作者:Harold Abelson和GeraldJay Sussman和Julie Sussman(688页)

链接:https://mitpress.mit.edu/sicp/full-text/book/book.html


这是一本讲授计算编程原理的教科书。 这是一个经典计算机科学教材,简称“SICP”,号称“魔法书”,多问问周边的老司机,千万不要错过!据说,这也是一本试金石,可以测试你是不是编程那块料。当年在MIT作为教材时,麻省那帮人精,也有人就是因为本书转专业的。

本书重点介绍了在计算模型中处理时间的不同方法所起的主要作用。

自1980年以来,本书的材料一直是麻省理工学院(MIT)计算机科学专业低年级基础教材。作者使用编程语言Lisp来教学。

建立面向对象设计中的技能

作者:Steven F. Lott(285页)

链接:http://buildingskills.itmaybeahack.com/


通过一系列的设计练习,本书讲授如何从面向对象编程(OOP)转向面向对象设计(OOD)的技能。 用真实世界的复杂性一步一步构建应用程序。 代码示例主要才用Python编程语言编写。它使用赌场桌面游戏(Roulette,Craps和Blackjack)作为其场景。

本书的目的是在具有固定成本和时间期限的项目之前掌握面向对象设计的技能。

编程基础

作者:Karl Seguin(79页)

链接:http://openmymind.net/FoundationsOfProgramming.pdf

这本简短的书是一篇关于帮助程序员自助帖子的汇编。

章节涵盖:


  • 领域驱动设计

  • 持久化

  • 依赖注入

  • 单元测试

  • 对象关系映射器

  • 回归基础:内存

  • 回归基础:异常

  • 回归基础:代理

生产开源软件:第2版

作者:Karl Fogel(232页)

链接:http://producingoss.com/


本书介绍开源软件开发中有关“人”的方面,专业写作水准,可读性强。它描述了如何成功运作项目、用户和开发人员的期望,以及自由软件的文化。 第二版1月11日出版,带来了最新的材料。

涵盖的主题包括:


  • 启动项目的一般建议:起个好名,清晰的使命陈述,明确项目是免费的,界定项目范围

  • 如邮件列表、版本控制、Bug跟踪网站等技术基础设施的构建

  • 社会和政治基础设施

  • 如何将资金带入自由软件环境

  • 良好的沟通艺术

  • 包装、发布和日常开发活动

  • 管理志愿者

  • 许可,版权和专利

开源应用程序架构

编辑:Amy Brown,GregWilson(432页)

链接:http://aosabook.org/en/index.html


本书描述了由各自的作者编写的25个开源应用程序的架构。 它解释了他们的软件是如何进行结构化拆分的,部件如何交互的,为什么要以这种方式构建的,以及从中学到的可以应用于其他大的设计问题什么样的经验教训。

引用到的一些开源应用程序是Asterisk,Audacity,Eclipse,LLVM,Sendmail和VTK。

开源应用架构,第二卷

编辑:Amy Brown,GregWilson(390页)

链接:http://aosabook.org/en/index.html








请到「今天看啥」查看全文