• 「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 逼的不得不重新进行战略布局。

  • 医疗:人工智能医疗机器人、智能诊断、可穿戴医疗设备…新的技术给医疗行业多个领域带来发展机会。

  • 金融:金融领域也因为互联网和数据的发展,发生着剧变……一夜之间铺遍所有商家的 “扫码支付” 就是最好的例子。

  • 就连 国防领域,也越来越以软件为基础,对科技人才的需求日趋迫切:

    • 软件驱动的无人机发动空袭,不再让人类飞行员面临风险;

    • 情报机构利用软件进行大规模数据挖掘,以发现和追踪潜在的恐怖主义活动;

从某种程度上来说,计算机行业不但不会饱和,并在大口 “侵食” 其它行业!几乎所有的公司和领域,都需要计算机相关的人才!

有人说,未来世界将只剩下三种职业:

  1. 娱乐人士;
  2. Pizza 快递员;
  3. 程序员;

不过,基于现在的发展来看,娱乐可以被 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」当大学选择了计算机之后应该知道的的更多相关文章

    1. 「MoreThanJava」一文了解二进制和CPU工作原理

      「MoreThanJava」 宣扬的是 「学习,不止 CODE」,本系列 Java 基础教程是自己在结合各方面的知识之后,对 Java 基础的一个总回顾,旨在 「帮助新朋友快速高质量的学习」. 当然 ...

    2. 「MoreThanJava」机器指令到汇编再到高级编程语言

      「MoreThanJava」 宣扬的是 「学习,不止 CODE」,本系列 Java 基础教程是自己在结合各方面的知识之后,对 Java 基础的一个总回顾,旨在 「帮助新朋友快速高质量的学习」. 当然 ...

    3. 「MoreThanJava」Java发展史及起航新世界

      「MoreThanJava」 宣扬的是 「学习,不止 CODE」,本系列 Java 基础教程是自己在结合各方面的知识之后,对 Java 基础的一个总回顾,旨在 「帮助新朋友快速高质量的学习」. 当然 ...

    4. 「MoreThanJava」计算机发展史—从织布机到IBM

      「MoreThanJava」 宣扬的是 「学习,不止 CODE」,本系列 Java 基础教程是自己在结合各方面的知识之后,对 Java 基础的一个总回顾,旨在 「帮助新朋友快速高质量的学习」. 当然 ...

    5. 「MoreThanJava」计算机系统概述

      「MoreThanJava」 宣扬的是 「学习,不止 CODE」,本系列 Java 基础教程是自己在结合各方面的知识之后,对 Java 基础的一个总回顾,旨在 「帮助新朋友快速高质量的学习」. 当然 ...

    6. 「MoreThanJava」Day 3:构建程序逻辑的方法

      「MoreThanJava」 宣扬的是 「学习,不止 CODE」,本系列 Java 基础教程是自己在结合各方面的知识之后,对 Java 基础的一个总回顾,旨在 「帮助新朋友快速高质量的学习」. 当然 ...

    7. 「MoreThanJava」Day 1:环境搭建和程序基本结构元素

      「MoreThanJava」 宣扬的是 「学习,不止 CODE」,本系列 Java 基础教程是自己在结合各方面的知识之后,对 Java 基础的一个总回顾,旨在 「帮助新朋友快速高质量的学习」. 当然 ...

    8. 「MoreThanJava」Day2:变量、数据类型和运算符

      「MoreThanJava」 宣扬的是 「学习,不止 CODE」,本系列 Java 基础教程是自己在结合各方面的知识之后,对 Java 基础的一个总回顾,旨在 「帮助新朋友快速高质量的学习」. 当然 ...

    9. 「MoreThanJava」Day 4:面向对象基础

      「MoreThanJava」 宣扬的是 「学习,不止 CODE」,本系列 Java 基础教程是自己在结合各方面的知识之后,对 Java 基础的一个总回顾,旨在 「帮助新朋友快速高质量的学习」. 当然 ...

    随机推荐

    1. Go-数据类型以及变量,常量,函数,包的使用

      Go-数据类型以及变量,常量,函数,包的使用 一.数据类型 1.字符串类型 string -双引号包裹的:"xxx" -反引号包裹,可以换行, 注意: 区别于python,是没有单 ...

    2. 带你入门 CSS Grid 布局

      前言 三月中旬的时候,有一个对于 CSS 开发者来说很重要的消息,最新版的 Firefox 和 Chrome 已经正式支 CSS Grid 这一新特性啦.没错:我们现在就可以在最流行的两大浏览器上玩转 ...

    3. 工作技术点小计14条 hybrid + animate 方向

      设置transition 动画的时候 , js直接设置duration 和 变化值不会起作用 , 需要先设置duration , 等一小会再设置变化值 安卓端 , 窗口不可见时 , window.in ...

    4. 前后端分离下的跨域CAS请求

      最重要的两点: ajax请求跨域的时候,默认不会携带cookie. 请求分为普通请求(HttpRequest)和Ajax请求(XMLHttpRequest) 先屡一下跨域CAS认证的流程: 前端发起a ...

    5. 大厂常问iOS面试题--性能优化篇

      1.造成tableView卡顿的原因有哪些? 1.最常用的就是cell的重用, 注册重用标识符 如果不重用cell时,每当一个cell显示到屏幕上时,就会重新创建一个新的cell 如果有很多数据的时候 ...

    6. pycharm在windows中如何安装dlib?

      pycharm在windows下安装dlib库的时候,出现以下错误(等等类似的问题): 解决办法: 1.这个方法无关紧要,只是记录一下:将清华源替换为阿里源: C:\Users\Administrat ...

    7. 前端小微团队的Gitlab实践

      疫情期间我感觉整个人懒散了不少,慢慢有意识要振作起来了,恢复到正常的节奏.最近团队代码库从Gerrit迁移到了Gitlab,为了让前端团队日常开发工作有条不紊,高效运转,开发历史可追溯,我也查阅和学习 ...

    8. java多线程基础API

      本次内容主要讲认识Java中的多线程.线程的启动与中止.yield()和join.线程优先级和守护线程. 1.Java程序天生就是多线程的 一个Java程序从main()方法开始执行,然后按照既定的代 ...

    9. iOS 17个常用代码整理

      .判断邮箱格式是否正确的代码: //利用正则表达式验证 -(BOOL)isValidateEmail:(NSString *)email { NSString *emailRegex = @" ...

    10. 1,Linux(CentOS)中的基本配置

      1,hostname(主机名) 查看主机名:hostname 临时修改主机名:hostname hadoop1 永久修改主机名:vi etc/sysconfig/network :  [NETWORK ...