「MoreThanJava」当大学选择了计算机之后应该知道的

- 「MoreThanJava」 宣扬的是 「学习,不止 CODE」,本系列 Java 基础教程是自己在结合各方面的知识之后,对 Java 基础的一个总回顾,旨在 「帮助新朋友快速高质量的学习」。
- 当然 不论新老朋友 我相信您都可以 从中获益。如果觉得 「不错」 的朋友,欢迎 「关注 + 留言 + 分享」,文末有完整的获取链接,您的支持是我前进的最大的动力!
一、计算机 = 互联网 = 高薪 = 996?
你真的了解计算机专业吗?
不论你是自己选择的计算机专业还是家人帮你报的名,首先恭喜你!因为计算机是少数的几个 「不用拼爹」,完完全全可以凭借自己的努力就能够获得回报的专业,而且从近 20 年来看,回报还相当不错!
那 计算机专业 是做什么的呢?

- 图片引用自:https://mp.weixin.qq.com/s/1sb8YqFZm4yRZBzA_Zbn3g
简单来说,计算机专业是以 计算机等技术 为主要研究工具,以扩展人类的信息功能 为主要目标的一门学科。
计算机是个大门类
翻开本科专业目录,会发现计算机是个大类,包括计算机科学与技术、软件工程、网络工程、信息安全、物联网工程等等等好多专业。其中,最核心、最基础的专业就是 计算机科学与技术 (Computer Science and Technology - CS) 了,这也是各院校计算机系招生的主要专业。
百度百科 给出的计算机专业概念的论述是:计算机专业是指计算机硬件与软件相结合、面向系统、更偏向应用的宽口径专业。
总之计算机是个很大的门类,不光编写应用软件的 软件工程师:

还有制作硬件的 硬件工程师,例如我们日常使用大到手机,小刀计算器,一切物理设备的底层逻辑都是由它们负责编写的:

还有 网络工程师,但也有黑帽子、白帽子、运维等等很多的分别:(这图感觉明显比较黑和帅呢..)

and more...
另外想说一点是,随着技术的进步和世界的复杂程度的加深,社会分工越来越细之后,大学专业也随之变得越来越细化,这些都不要紧,无论在哪一个方向 深耕 都能带来不菲的收获。(即行行出状元)
计算机专业都学哪些课程
了解一门专业最快的方式就是了解它的课程。我们来看一下 网易云课堂顶尖中文大学计算机专业课程体系 给出的标准的 CS 体系的课程表:(链接可戳,下图课程全部免费)

可以看到计算机专业的课程大致分为基础课程和专业课程两类:
- 主要基础课程:高等数学、大学英语、线性代数、大学物理、概率论、离散数学等;
- 主要专业课程:数据结构、C 语言程序设计、数据库原理、操作系统、计算机网络、算法分析与设计、编译原理、软件工程等;
"计算机热" 还能持续多久?
计算机有多热门呢?看一下现在 漫天飞 的程序员培训广告就知道了,在前几年,这些地方还被英语培训占据着。(关于计算机培训逐步替代英语培训这事儿,有兴趣了解更多可以 戳这里)
于是总有人担心,报选计算机的 人太多,竞争太激烈了,或者是传言说计算机行业已经 快饱和了、互联网泡沫正在酝酿 等,但实际情况是怎么样的呢?
我们先来看一段采访:

全球最大豪华车制造商戴姆勒奔驰(Daimler Benz) 的总经理在最近的一次采访中表示:
"我们的竞争对手哪里是其他汽车公司,我们的竞争对手已经变成了特斯拉,谷歌,苹果,亚马逊等科技公司……
科技公司的发展让我们不安,我们面临着巨大的转变。"
不难发现,全社会正在 信息化中加速前进,计算机和互联网已经 渗透到生活的方方面面,促使许多传统行业发生变革:
招聘:LinkedIn 的出现,正在蚕食美国4000亿美元的利润丰厚的招聘行业。
零售:Amazon 的出现,让美国零售业人人自危,尤其是知名百货 Macy’s,因业绩不振已经连续关店及裁员。
交通:Uber 一辆“出租车”都没有,却是全球最大的打车公司,改变交通行业的游戏规则。
住宿:Airbnb 从不盖楼造宾馆,但是把目前世界最大的连锁酒店集团 Marriott 逼的不得不重新进行战略布局。
医疗:人工智能医疗机器人、智能诊断、可穿戴医疗设备…新的技术给医疗行业多个领域带来发展机会。
金融:金融领域也因为互联网和数据的发展,发生着剧变……一夜之间铺遍所有商家的 “扫码支付” 就是最好的例子。
就连 国防领域,也越来越以软件为基础,对科技人才的需求日趋迫切:
软件驱动的无人机发动空袭,不再让人类飞行员面临风险;
情报机构利用软件进行大规模数据挖掘,以发现和追踪潜在的恐怖主义活动;
从某种程度上来说,计算机行业不但不会饱和,并在大口 “侵食” 其它行业!几乎所有的公司和领域,都需要计算机相关的人才!
有人说,未来世界将只剩下三种职业:
- 娱乐人士;
- Pizza 快递员;
- 程序员;
不过,基于现在的发展来看,娱乐可以被 VR/AR 渗透,Pizza 快递会由送餐机器人完成,而世界最终需要的,就是程序员。

对程序员的认识
高薪是真的,996 也是真的
工作 996,生病 ICU(重症监护病房)。

- 图片引用自:https://36kr.com/p/5191849
诚然,程序员的薪资水平普遍都要率高于其他一些传统行业:

- 图片引用自:设计资源网
但高薪的同时,也意味着高投入。
中国的信息技术产业,特别是过去十多年崛起的一些大型互联网公司,他们的重点主要还是在对技术应用的开发上。过去十多年来,中国互联网产业的发展所提供的机会,使得业界认识到:投入到应用中的收益,显然比基础研究的收益更大。
随着这些基础的开源技术开发工具的进步,中国的程序员的入行门槛也越来越低,这和市场对程序员的需求数量越来越多这一趋势又是匹配的。随着资本参与互联网的大战,“快” 成为互联网行业的共识。其实由于开源生态的存在,技术开发如今本身已经快得不能再快了,但市场竞争是残酷的,没有最快只有更快。
这就产生了一个矛盾:产业迅速膨胀,从业人员的水分也越来越高,但市场对公司的效率要求也越来越高。在这种态势下,技术应用方面的研发,很容易落入劳动密集型的实质当中。

难怪如今程序员往往自嘲为 “码农”,意思是 “写代码的农民工”。程序员褪去了 “智力劳动者” 的光环,似乎成为了和车间工人没太大区别的工种:无论是从工作的复杂程度来看,还是工作时长对工作的产出来看,都越来越接近了。
当然,把程序员和传统的产业工人做类比其实并不完全正确,这主要是因为:脑力劳动,或者说智力和知识,在信息技术开发的工作中起的作用太大了。
程序员的「行业偏见」
在极光大数据的 2018 年中国程序员研究报告里,对于 「外行对你的职业最大的误解是什么」 的这个问题,有 46.1% 的程序员选择了 “很会修电脑”,42.7% 的人选择了 “可以轻易开发出任何软件”。

- 图片引用自:https://www.pingwest.com/a/160607
每个行业都存在各自的行业偏见,例如遇到健身教练就想让人帮你 3 天瘦 10 斤,还得不打针、不吃药、不节食、不运动。这些偏见都无可厚非,重要的是你怎么看待这事儿,是选择被贴标签就靠近标签,还是选择做自己。
什么样的人适合学习计算机?
4 点吧:兴趣、逻辑、就业、静下来学习。
兴趣
计算机行业的 知识迭代 相比其他行业来说速度要 快 上不少,加之市场对程序员的 要求 也越来越 高,这就要求了程序员需要更多的时间来学习。而说到底,计算机是一个偏实践性的理论知识学科,你不仅需要 花费大量的时间学习 枯燥的基础的理论知识,还需要再画 大量时间去动手实践 最终将这些知识 融会贯通 起来,这个过程可能略显枯燥和冗长,而 兴趣会帮助你跨过不少的无趣。
在 《黑客与漫画》 一书中有这样一段描述:
在达·芬奇的年代,绘画并不是一件很酷的事情,达·芬奇用自己的工作推动绘画成为一种伟大的表达方式。同样,编程到底能够有多酷,取决于我们能够用这种新媒介做出怎样的工作。
「兴趣是最好的老师」 这句话再怎么吹也不为过,你对一件事情的兴趣和热爱,在很大程度上决定了你做一件事情所取得的成绩。
看到有网友调侃:"给我妈买的智能洗衣机教了 n 遍都不会用,后来给她买了台麻将机,不仅会用还会修呢。"
还看到有网友吐槽说:「也可以先结婚后恋爱的..」,这... 你们自己品吧...

逻辑
现代的计算机还没有足够的「聪明」,当你实现一些东西和想法的时候,需要考虑 「足够多」 的细节,这就涉及到 「逻辑思考,讲求因果」 的能力了。
这事儿我在 「知乎讨论 - 编程到底难在哪里?」 看到了许多有趣生动的例子,这里我们截取一个关于 「树上有十只鸟,开枪打死一只,还剩几只?」 问题的讨论来论述:(例子略长.. 不感兴趣的读者可以跳过..)
某日,老师在课堂上想考考学生们的智商,就问一个男孩: “树上有十只鸟,开枪打死一只,还剩几只?”
「MoreThanJava」当大学选择了计算机之后应该知道的的更多相关文章
- 「MoreThanJava」一文了解二进制和CPU工作原理
「MoreThanJava」 宣扬的是 「学习,不止 CODE」,本系列 Java 基础教程是自己在结合各方面的知识之后,对 Java 基础的一个总回顾,旨在 「帮助新朋友快速高质量的学习」. 当然 ...
- 「MoreThanJava」机器指令到汇编再到高级编程语言
「MoreThanJava」 宣扬的是 「学习,不止 CODE」,本系列 Java 基础教程是自己在结合各方面的知识之后,对 Java 基础的一个总回顾,旨在 「帮助新朋友快速高质量的学习」. 当然 ...
- 「MoreThanJava」Java发展史及起航新世界
「MoreThanJava」 宣扬的是 「学习,不止 CODE」,本系列 Java 基础教程是自己在结合各方面的知识之后,对 Java 基础的一个总回顾,旨在 「帮助新朋友快速高质量的学习」. 当然 ...
- 「MoreThanJava」计算机发展史—从织布机到IBM
「MoreThanJava」 宣扬的是 「学习,不止 CODE」,本系列 Java 基础教程是自己在结合各方面的知识之后,对 Java 基础的一个总回顾,旨在 「帮助新朋友快速高质量的学习」. 当然 ...
- 「MoreThanJava」计算机系统概述
「MoreThanJava」 宣扬的是 「学习,不止 CODE」,本系列 Java 基础教程是自己在结合各方面的知识之后,对 Java 基础的一个总回顾,旨在 「帮助新朋友快速高质量的学习」. 当然 ...
- 「MoreThanJava」Day 3:构建程序逻辑的方法
「MoreThanJava」 宣扬的是 「学习,不止 CODE」,本系列 Java 基础教程是自己在结合各方面的知识之后,对 Java 基础的一个总回顾,旨在 「帮助新朋友快速高质量的学习」. 当然 ...
- 「MoreThanJava」Day 1:环境搭建和程序基本结构元素
「MoreThanJava」 宣扬的是 「学习,不止 CODE」,本系列 Java 基础教程是自己在结合各方面的知识之后,对 Java 基础的一个总回顾,旨在 「帮助新朋友快速高质量的学习」. 当然 ...
- 「MoreThanJava」Day2:变量、数据类型和运算符
「MoreThanJava」 宣扬的是 「学习,不止 CODE」,本系列 Java 基础教程是自己在结合各方面的知识之后,对 Java 基础的一个总回顾,旨在 「帮助新朋友快速高质量的学习」. 当然 ...
- 「MoreThanJava」Day 4:面向对象基础
「MoreThanJava」 宣扬的是 「学习,不止 CODE」,本系列 Java 基础教程是自己在结合各方面的知识之后,对 Java 基础的一个总回顾,旨在 「帮助新朋友快速高质量的学习」. 当然 ...
随机推荐
- IDEA中有哪些让你相见恨晚的技巧?
本期让我们来盘点一下,idea中有哪些在提高开发效率上相见恨晚的技巧. 自动补全代码抽取编辑代码块代码模板 自动补全 1.快速输出 2.快速定义成员变量3.快速格式化4.快速判空5.快速取反6.快速返 ...
- js数据类型大全
声明变量的命名规范(标识符) 1.不能以数字开头,只能以字母或者¥或者_开头 2.js变量名称区分大小写 3.变量名不能含有关键字(this.if.for.while) 4.驼峰命名法 console ...
- shell 函数(特定的函数和脚本内传参)
和其他脚本语言一样,bash同样支持函数.我们可创建特定的函数,也可以创建能够接受参数的函数.需要的时候直接调用就可以了. 1.定义函数 function fname() { statements; ...
- 一个简单的爬取b站up下所有视频的所有评论信息的爬虫
心血来潮搞了一个简单的爬虫,主要是想知道某个人的b站账号,但是你知道,b站在搜索一个用户时,如果这个用户没有投过稿,是搜不到的,,,这时就只能想方法搞到对方的mid,,就是 space.bilibil ...
- APScheduler使用总结
安装 pip install apscheduler APScheduler组件 1.triggers(触发器) 触发器中包含调度逻辑,每个作业都由自己的触发器来决定下次运行时间.除了他们自己初始配置 ...
- 关于响应式web设计
手机网站+电脑网站+平版网站 = 响应式网站 在没有足够经费跟精力的做一个手机网站的情况下,响应式网站是个不错的选择.它有以下的优点: 减少工作量(网站代码只要一份,只需要做js方面的改动及可以了) ...
- Nginx + uWSGI部署中的一些小坑
1.invalid host in upstream报错 重新启动nginx : sudo /etc/init.d/nginx restart 原因是在配置负载均衡nginx.conf配置文件时,发现 ...
- LVM简介及CentOS7 LVM操作实战
LVM简介LVM是逻辑盘卷管理(LogicalVolumeManager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和 分区之上的一个逻辑层,来提高磁盘分区管理的灵活 ...
- Hadoop fs 基础命令
操作hdfs的基本命令 在hdfs中,路径需要用绝对路径 1. 查看根目录 hadoop fs -ls / 2. 递归查看所有文件和文件夹 -lsr等同于-ls -R hadoop fs -lsr / ...
- BeetleX.FastHttpApi之测试插件集成
说到Webapi测试工具相信很多人想起Swagger,它可以非常方便地集成到项目中并进行项目Webapi接口测试.而BeetleX.FastHttpApi在新版本中也提供类似的插件,只需要引用这个插件 ...