我学的是物联网工程,很多人以为是物流相关的专业,我也经常被问为啥学物流。其实不是物流,如果非要简要解释就是计算机的一个分支。计算机有很多分支,比如信息安全、物联网工程、软件工程、计算机科学与技术等等。物联网就是将物体与网络连接在一起的一门技术,比如之前百度的自动驾驶汽车。5G时代,物联网工程更是如虎添翼,在数据膨胀的时代,信息间高速传递尤为重要,5G能为物联网在传感器节点与网络之间搭建高速通道,误差小,发展前途广。最近很火的人工智能,物联网工程也担当了不可替代的角色,阿尔法狗大战柯洁,每一盘棋在深度学习下能快速计算出几乎所有结果,然后精确下到棋盘所在位置。
当然我们现在学的知识还远远不够,做到那样需要一个甚至好几个团队,做到这些的基础之一就是学会写代码。那么我就最基础地开始讲解代码。
获得图灵奖(计算机界的诺贝尔奖)的Pascal之父——Nicklaus Wirth说过“程序=数据结构+算法”,因为这句话他获得了图灵奖。看似简单的一句话,却把所有原理解释得清清楚楚。那么数据结构和算法就要用到代码,代码可以分为好几种语言:
(一)高级语言:BASIC(True basic、Qbasic、Virtual Basic)、C、C++、PASCAL、FORTRAN
(二)智能语言:(LISP、Prolog、OpenCyc、Fazzy)
(三)动态语言:(Python、PHP、Ruby、Lua)等等
一般来说,国内BAT公司主要流行C、C++、Java等,对于新兴语言Python,因其具有简单、开源、库丰富、易移植等特点,主要用于人工智能上。在代码量较小时能够以很快的速度运行,在数据量大后则不敌C。每个人喜欢的语言不一样,而语言也没有好坏之分,各有千秋。我喜欢用C++,因为C++是面向对象语言,具有继承、多态、封装的三大特性,写起来也比C语言方便。我认识的很多学软件工程的同学学的都是Java。
在语言使用量上,Java长居第一(见下图),C与C++也是一直处于前十,不过这张表并不能代表语言的好坏,只能代表所需求的语言使用量,仅做参考。
写代码离不开的是编译器,编译器现在有Dev C++、Visual Studio、VC等,Java需要单独的脚本。对于新手来说最建议的编译器是Dev C++,很好用,也很快就熟悉了。我比较喜欢VS,因为VS支持Java Script、Python、C++,是一个可视化编程软件,不过使用比较复杂,功能倒是挺多的。
可能对没接触过编程的读者来说这些是陌生的东西,在此我推荐一本比较适合新手读的书籍。
学C语言可以看看这本经典书籍,是一本外国书籍翻译来的。不太推荐谭浩强的C语言教材,很难懂,而且错的地方也很多。之所以推荐C语言,是因为C语言算得上是基础语言了,只要学会了一门,其他的语言也会很容易学会的。而且C语言屹立不倒,经久不衰。(没有打广告的嫌疑)
结语:人生的精彩,就在于你不知道会遇见什么样的人,做什么样的事,他们就像一件件圣诞节的小礼物一样,当你迫不及待地拆开时总会给你惊喜。因为这份礼物,我做了自己以前从来没想过的事——写文章,它改变了我人生的轨迹,也让我看见生活中还有那么多值得去尝试的事。谢谢这份小礼物。