当前位置 博文首页 > zrainj的博客:计算机学习入门指北——计科软工网络信安侧重图析

    zrainj的博客:计算机学习入门指北——计科软工网络信安侧重图析

    作者:[db:作者] 时间:2021-07-03 16:07

    申明:本博文偏技术向,主观性较强,其中部分理解必有偏差和误解,望指出改正!

    计算机学习入门指北:

    作为刚入学的计算机系学生,面对一片专业术语十分蒙。区块链?大数据?开源?数据库?嵌入式开发?前端后端?云计算?我要学什么编程语言?毕业后只能敲代码吗?我要学什么?我要成为什么样的人?

    刚好趁着作业要求,详细了了解了一下,看了一些b站程序员的视频,参考了知乎、教科书、图书等等资料,对上述问题有了一定的了解,在此与大家分享,为自己的未来规划的同时,希望给目前也十分迷茫的你一个参考意见。


    编程语言的区别与应用领域:

    先看一下最新的TIOBE排名,C、JAVA、Python、C++、C#、Visual Basic、JAVA Script、PHP、R、SQL,依次是从1到10名的排序
    在这里插入图片描述

    被JAVA盖过一头的C终于重归王座。我也十分好奇究竟是什么原因导致C能够逆境上升,但首先我们要先了解各个语言的特点和应用领域:

    C:应用范围广,上天入地无所不能,在单片机、通信领域、嵌入式系统独占鳌头,资源占有少,但学习难度大,尤其是指针部分

    C++:C的扩展、面向对象、运行速度快,但学习难度大

    JAVA:没有指针,JAVA虚拟机,一次编写,多平台直接应用,跨平台王者,商用价值高,占资源,主要对象是计算机、手机等大型设备,有强大丰富的生态圈,Spring家族,后端服务居多,企业级应用多。

    Python:容易学、学了很快能够实战,但因为是解释型语言,运行速度较慢,开源库多,主要应用于机器学习、数据挖掘、人工智能

    Visual Basic:可视化界面

    PHP:Web网站开发领域,语法吸收了多个语言的特点

    JAVA Script:全栈语言,网页交互,动态交互,前端

    C#:桌面应用,客户端应用

    SQL:互联网后端,数据库查询

    R:统计计算、统计绘图

    其中关于C C++ C#的区别,推荐阅读一篇技术博客

    关于何为面向对象,我觉得谭浩强老师的<C程序设计>第三页一本书里说的很到位

    在编写程序时,需要具体指定每一个过程的细节,在编写规模较小的程序时还能得心应手,但在处理规模较大的程序时就显得捉襟见肘,力不从心了,在实践的发展中,人们又提出了面向对象的程序设计方法,程序面向的不是过程的细节,而是一个个对象,对象是由数据以及对数据进行的操作组成的。

    现在再回到一开始的问题,为什么C语言逆袭回归呢?

    在阅读了一些资料后,有两个主流的解释

    一是因为疫情时代,大量的医疗设备软件需要嵌入式语言的开发,而在嵌入式领域C语言有得天独厚的优势。

    二是5G时代的到来,5G通信的落地应用使越来越多的穿戴设备被研发和升级。


    基础概念的自我理解:

    关于开头的一些专业术语,我主要是在b站所有什么是+XXX,主要是找播放量最高的来理解哈哈哈哈,因为百科的定义又牵扯到更多的专业术语,晦涩难懂,下面我只会根据我的观后感提出我自己的理解而已,真正的理解还要靠自己去搜索相关资料。

    区块链:

    视频链接

    我记得这个概念是在我高一的时候特别火,当时是和比特币一起被炒起来的,在了解之后,由衷地对提出这个概念的人敬佩。其实区块链就是在一个去中心网络交易中的一个公开记账本的记账方式?(可能理解有误)目前也正在学指针和链表,对其加密的方式和账本的链接方式有点感悟。

    大数据:

    视频链接

    对这个概念其实很早就有了,淘宝、外卖大数据杀熟这一次相信也不是第一次听说了,在了解之后我发现其实这里的数据是更加广泛的,并不只局限于你购买的次数和时间,对它的分析也不仅仅只是统计中的加减乘除那么简单。具体的emmm我也没有了解太多,只是肤浅的理解而已。

    云计算:

    视频链接

    这一点我觉得是目前越来越火的一个技术领域,几乎所有能上云的都上云了,很多企业都在逐步上云,因为这样可以统一管理,并且可以以低廉的价格使用较高的性能。再加上现在这个万物互联的时代,云计算从2010-2015年的低估,不被人看好到现在的井喷式爆发。

    前端和后端:

    前端通俗点说就是用户能看得到的,比如页面交互,UI设计,网页浏览,后端就是服务器管理,数据处理等等。

    嵌入式开发:

    现在其实不仅仅是手机、电脑等大型设备需要编程开发了,一些小型的设备如电饭煲、智能跑鞋、智能手表等等都需要编程开发,嵌入式开发主要就是面对这些对象的。

    开源:

    任何人都可以访问、检阅、修改和改进。


    程序员岗位分类

    视频链接

    算法工程师

    算是比较深和技术要求过硬的一个岗位,解决某个领域的典型问题,当然也是工资最高的一类岗位

    客户端开发工程师

    研发工程师

    数据研发工程师

    安全工程师

    UED工程师


    专业学习分类(图片来源本校官网)

    计科软工网络信安侧重图析
    在这里插入图片描述

    计算机科学与技术
    在这里插入图片描述
    软件工程
    在这里插入图片描述
    信息安全
    在这里插入图片描述
    网络工程
    在这里插入图片描述


    未来规划:

    其实对于我而言,对未来还是有点迷茫的,不知道自己到底想成为什么样的人。

    再加上网络上盛行的程序员是吃年轻饭的,三十岁后即失业等等舆论,让我对自己的定位更加模糊了。

    俗话说兴趣是最好的老师,无疑,我是享受编程的,在此之外我想我还喜欢设计,自我感觉美感还可以,高中还当过设计部高层,做过一套产品的设计,做过一整套公司UI的设计,那么UED工程师、客户端开发是个可以考虑的方向;因此其一是可以去软工的软件服务与信息技术方向发展。

    除此之外,我觉得我可能还比较适合钻研一些事物吧,耐得住寂寞,感觉如果不把他弄清楚,不把它解决掉会寝食难安,那么算法工程师也是一个考虑的方向,但这个方向所要求的技术水平就要高出一个层次。

    但说到算法可能就会想到数学的功底,对于数学我是不爱也不恨,没有太大的感受,你让我为了更高的平台于发展,更夯实和牢固的基础苦心钻研学习我也能去刻苦钻研,但就不像编程或设计那种主动了。

    大数据会要求一些统计学的知识,在数学中,尤属统计学我最不感冒了,对数字也没有太大感觉,所以这方面就不太感兴趣了。

    除了大数据,区块链、游戏领域、云计算我都愿意去涉足了解看看。

    故现在最重要的就是夯实自己的基础,理论课要认真好好地去学,同时高数线代更要投入足够的精力。

    我想走技术这个路线,大一上主要还是刷题和巩固基础吧,再看看能不能进校队ACM,大一下可以尝试参加各个平台如洛谷、牛客、力扣的挑战赛等等,总得拿出些实实在在的成绩吧。然后特别渴望能够加入一个优秀的团队,无论是ACM集训队还是一些学校的工作室,我觉得这个真的极其重要,因为和一群志同道合的同学一起努力真的是一件很享受的事情,再者在团队里也可以互相学习,取长补短。

    在这条路线中若要冲击编程最高领域金字塔尖的岗位的话,我想考研就是必经之路了。

    关于更长远的规划,程序员的三十岁后该怎么办?

    我觉得我自己的管理能力算是比较强,从小都有过管理大大小小团队的经验,也取得了不错的成绩和效果,所以走管理层路线是一个选择。

    第二我一直有一个梦想就是做视频制作者,我热衷于分享我的生活,可以是技术向的视频,也可以是生活向、娱乐向的视频。但是在此之前,我想我要做的就是让自己成为有过硬本领的的人,而不是一个空壳子,空有表面,实则无物。

    以上就是我的一些浅薄理解吧,毕竟刚入学一个月不足,所了解的方面也有限于自身的知识储备,甚至会出现错误,对未来的规划也像是小孩的一个未来展望吧。
    在这里插入图片描述

    cs