由于种种原因,迫使我写下这篇博客,我相信,初入计算机相关专业的萌新肯定很迷茫,我该学什么,我该如何去学,我该如何学好等等问题缠绕心头。有很多学弟学妹问我该如何去学计算机相关专业,作为过来人,我决定将我的所知所得写下来,让初入计算机相关专业的萌新的学习之路走得更顺畅一些。
对于刚学习计算机相关专业的萌新来说,了解一下计算机的工作原理是十分必要的,但是在这里我们不过多阐述,让大家简单了解一下就好。
让我们先来看一下对于计算机名词的解释:
计算机(computer)俗称电脑,是现代一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能。是能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备。
我们注意到,计算机就是一种用于进行 数值计算 的现代化智能电子设备。需要理解的是为什么是进行数值计算,在这里,你会疑惑,为什么是数值计算呢,我输入的明明不是数字呀?这个问题很容易解释清楚,因为计算机只是一种电子设备,它不具有人类独立思考和不断学习的能力,它的所有功能都是事先设定好的,所以当计算机面对输入字符的时候,会将它统一按照ASCII(计算机编码系统)规则转换为数值“0”和“1”(二进制数值),所以,在计算机里,数据存储都是用“0”和“1”(即二进制数值)来实现。
还有一点值得注意, 按照程序运行 ,那么问题来了,程序是什么?程序就是一组计算机能识别和执行的指令, 它以某些程序设计语言编写,运行于某种目标结构体系上 。举个例子,程序就像是用英语(程序设计语言,例如c,c++)写的文章,要让一个懂的英语的人(编译器,如C的编译器gcc,这里要注意编译器和IDE的区别,通常IDE包含编译器)同时也会阅读这篇文章的人(结构体系)来阅读、理解、标记这篇文章。
有学妹问过我,为什么简单的代码,能实现丰富的效果。其实这取决于 编译器 的强大能力。下面来简单介绍一下,编辑器,编译器,IDE(集成开发环境)的区别。
vscode,vim,sublime,notepad++,emacs,atom
等等 ,虽然编辑器原始功能不足,但是开发人员为了使编辑器更加友好,所以有很多内置插件可供使用,完全可以手动打造一个IDE。 "hello,world!"
C语言代码之后,我们要让它在屏幕打印出来我们想要它输出的 "hello,world!"
,就需要通过gcc编译器执行编译后才能显示。其他语言同理。 很多初入计算机相关专业的萌新,总是很迷茫,不知道自己该学什么,通常是他们知道如何去学好学校开设的每一门课程,就是不知道自己该向哪些方向学习,这些方向指的是专业技能和就业方向,诸如web开发、Android/IOS开发、数据分析、人工智能、网络安全、游戏开发、软件测试等等。有这种疑惑很正常,迷茫也是正常的,但我们总要让自己了解自己所需,然后脚踏实地,一步一步去充实自己的能力。而我想做的也很简单,就是帮助大家解除心里的疑惑。那么,我们开始进入正题。
对于这个问题,其实是很难回答清楚的,因为每个人的兴趣都不相同,所以就很难去站在自己的角度去回答疑问者的问题。但是,原理都是想通的,我相信我的经验会帮助到你们。
通常,学校每学期都会开设一门或多门语言(程序设计语言,下文同),那么,喜欢一门语言,首先要爱上它的语言风格,诸如Java的严谨,Python的自由,总有一款适合你;其次,在学习语言的过程中,一定要了解它能干什么,市场环境如何,工作岗位多少等综合因素,再决定要不要去深入这门语言,并且主攻自己感兴趣的那个方向。
对于学校没有开设,但是自己又想学习的语言而言,该如何去选择。首先,学校开设的语言基本是市场比较流行的语言,也符合市场需求,所以,完全可以在学校开设的语言中去选择自己想要了解并学习的语言。此外,我们可以借助 TIOBE https://www.tiobe.com/tiobe-index/ ( TIOBE 编程社区指数是编程语言流行度的指标,该榜单每月更新一次,指数基于全球技术工程师、课程和第三方供应商的数量。包括流行的搜索引擎,如谷歌、必应、雅虎、维基百科、亚马逊、YouTube 和百度都用于指数计算。 )去了解语言的流行程度,流行程度决定市场需求,以此来参考自己想要了解并学习的语言,在此附上2019年11月语言排名。
Java
C
C语言是一门基础语言,是其他一些语言的基础,例如MATLAB,Object-C,Lua等.同时也是学习来比较难的语言,达到精通的程度没有3-10年左右很难,C语言没有比较完善的开发框架,是面向过程的一门语言,讲究算法跟逻辑。
Python
C++
C#
PHP
SQL
Swift
Ruby
R
数据科学闯天下,左手Python右手R
Go
语言 | 书籍 |
---|---|
C | 《嗨翻C语言》 |
C++ | 《C++权威教程》 |
Java | 《Java轻松学》 |
Python | 《Python编程从入门到实战》 |
JavaScript | 《JavaScript入门经典》 |
PHP | 《PHP编程实战》 |
SQL | 《SQL基础教程》 |
Swift | 《Swift编程权威指南》 |
Ruby | 《Ruby从入门到精通》 |
R | 《R语言实战》 |
Go | 《Go语言圣经》 |
网站 | 网址 |
---|---|
菜鸟教程 | https://www.runoob.com/ |
W3School | https://www.w3school.com.cn/index.html |
实验楼 | https://www.shiyanlou.com/ |
猿学 | https://www.yuanxue365.com/ |
慕课网 | https://www.imooc.com/ |
SegmentFault | https://segmentfault.com/ |
博客园 | https://www.cnblogs.com/ |
GitHub | https://github.com/ |
掘金 | https://juejin.im/timeline |
学习数据科学 | https://www.dataquest.io/ |
易百教程 | https://www.yiibai.com/ |
看云 | https://www.kancloud.cn/explore |
通篇写完,感觉自己也重新学到了很多,学习就是一个反复复习的过程,每次学习都能带给自己不一样的收获。希望以上内容可以给初入计算机相关专业的萌新带来一些帮助,后面我会不断更新和优化本文,请大家持续关注。