Hema shushu Profile picture
18 Nov, 16 tweets, 3 min read
更新 #计算机基础轻松自学 系列第 2 集吧。

上次* 讲到计算机硬件原理和汇编语言的学习资料和书籍,这次接着开始学习一门高级编程语言(高级是相对汇编来说)。分上下两部分。第一部分是语言入门和基础,第二部分介绍一下目前一些比较流行的语言。

1/n

*
说明一下:

首先,这里不是点评哪个语言好哪个语言不行,我尽量简短介绍每门语言擅长的领域,大家挑选喜欢的来学习即可;

其次,对于可谋生的语言,比如 Java、JavaScript、Objective-C、PHP……等等,因为相关资料太多我就不介绍了。

再次,因为是 “自学” 目的,所以出现的书籍都偏向入门。

2/n
最后,这里介绍的书籍很多都是翻译版,如果喜欢看原版的,可以对照图片上的书名查找,如果没有原版的书名,搜索作者的名字也行。

3/n
第一部分:入门和基础语言

基础推荐 C 语言,这门语言贴近计算机的工作原理,你可以反编译它的最终生成文件然后结合第1集的汇编知识观察程序是如何工作的。同时可以学习编程语言大部分所需的基础知识和问题解决方式。可以说无论最后你用什么语言,C 语言都是值得一学的。

4/n
推荐的书本有:《C语言程序设计现代方法》这本书通俗易懂,内容比较全面,跟着学基本上可以一路轻松到底。类似的书有《C Primer Plus》。至于学习C语言的环境,首选Linux,因为这个系统本身就是一个巨大的C库和运行环境,有完善便利的工具链,《Linux 程序设计》可以让你轻松小试牛刀。

5/n
当 C 语言基础没什么问题之后,可以继续学习 C 比较新的内容(C11,2011年推出的C标准),比如多线程、项目文件组织、GDB调试等。《C语言核心技术》和《C和指针》都是稍微提升一点的书籍(但仍偏基础),这时配合《Linux/UNIX系统编程手册》可以理论和实践相结合,学习效果更佳。

6/n
对于意犹未尽的,可以继续看《C专家编程》和《C程序设计新思维》,还有《Extreme C》(照片没有)等,可以学习前辈们的心得体会、高级操作等,结合《操作系统导论》就顺便轻轻松松不知不觉把系统原理学了。

7/n
至此,我认为学习计算机语言所需的基础已经打好了。

作为入门者,可能一开始更偏向开发一些简单的应用程序序,发布出去让别人用用会获得成就感,所以掌握较新的语言和工具。下面我们进入第二部分。

8/n

插个广告:我写的 Yu Writer 程序(文本编辑器)正在做黑五促销(
第二部分:

学完C语言之后,我首推 Julia 这门语言,一来跟的风格跟 C 没相差太远,其次它是脚本类型,学习过程中很少挫折感,最后它吸收了很多其他语言的精华,同时相对于脚本有不错的性能,Julia 在数据分析、数学计算应用方面优势明显。目前主要问题推力不是很足。如果要选推力猛的,Rust……

9/n
Rust 因为有 Mozilla 推动,目前亮相频率相当高,Rust 对标 C++,同时一定程度上解决内容安全问题,可以用于编写系统应用程序,如果你想写个小程序(运行于桌面机或者服务器),Rust 是个值得考虑的选择。Julia 和 Rust 纸质入门书不多,《Julia 语言编程入门》和《Rust 权威指南》较为不错

10/n
接下来介绍的语言目前信息泛滥成灾,Python,各种 ¥9.9 网课广告狂轰乱炸,但不要因此而错过它。在数学计算和数据处理方面,它有很长时间的沉淀积累。当下AI风口自然找上了它。因为语法比较高阶,可以帮你超快速实现/验证一个想法。《Python 快速入门》和《流畅的Python》都是阅读体验很棒的书。
11/n
另一个也是亮相比较频繁,也是能比较快速帮你实现一个程序的是 Go 语言。这门语言比较平衡,该有的它都有:入门快速,开发效率不错,性能不错,目前在微服务(即构建一个大系统所需要的相对独立的各种service)方面应用得多。

12/n
《Go 语言实践》《Go专家编程》都是很好的入门书,《Go语言高并发与微服务实践》则可以帮你试试牛刀。另外网上还有大量免费的 Go 书籍也都相当好,大家稍微搜索就有,这里不赘述了。

13/n
学到这里,大家可能已经感觉“编程语言不过如此”,如果不从事程序开发(仅作为兴趣学)的话,似乎已经没什么新鲜了,那么这里开始拐弯了。Ruby 是一门脚本语言,但设计很灵活,而且很多“魔法”,《Ruby基础教程》可以快速体验一遍,《Ruby元编程》、《Ruby原理剖析》可以了解原理。

14/n
相对于命令式和面向对象编程,还有一种函数式编程方式,它在并发/并行方面较有优势。其中又有混合的和纯的。Scala 是跑在 JVM 之上的语言,《Scala学习手册》《Scala函数式编程》都是帮你拐弯的基础书。习惯之后可以看《Erlang程序设计》《高伸缩性系统Erlang/OTP大型分布式容错设计》实际体验。

15/n
接上,另外还有跑在 Erlang 虚拟机之上的 Elixir,《函数式编程入门:使用 Elixir》也是帮助拐弯的书。最后还有一类专门领域的编程语言,这里也稍微提一下,比如做数据统计的 R 语言,可以很方便分析和可视化数据。《R语言实践》阅读起来非常轻松,可以窥探一下这类语言。这集就先讲到这里了。完
15/15

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Hema shushu

Hema shushu Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @ivarptr

8 Jul
帖一个 #计算机基础轻松学 系列吧

这个系列分享一些不需要多少基础,能一边吃泡面一边随意翻翻就学会的书籍、教程和笔记,涉及汇编、C语言操作系统编译原理等。

内容会跟上时代,但讲得很浅,只适合自学或者非科班的。

基础打得好打得结实,技能树才能长得高、才能延展得宽,快来点赞评论加转发吧。
系列 #1 #轻松学习汇编语言

汇编是直接跟硬件打交道的, 于是在学习汇编的同时,不经意间就了解到计算机的工作原理。

1. 《穿越计算机的迷雾 by 李忠》

这是饭前开胃菜,作者从什么是电流开始,讲加法器、数字逻辑、触发器、CPU 原理、外设等,是计算机(硬件)组成原理的科普向轻松读物

1/n
2. 《汇编语言 by 王爽》

这本可能是一些学校的教科书,内容写得确实不错,浅显易懂。

实践环境的搭建:

a. DOSBox
dosbox.com

这是一个 x86 模拟器,开源免费,可以模拟 8086/实模式 的实验环境,在里面敲汇编再适合不过了。

2/n
Read 11 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!