浅聊我和一些编程语言的缘分
初识 DEV C++
首先小胡同学自己并不是科班出身,不是计算机或者互联网相关专业的的学生,我本科期间是车辆工程专业,偏机械一点。
本科期间对编程语言的唯一认识就是C,其实也不算是,准确的是DEV C++,但大家都懂得,本科的通识课是可以忽略不计的。
再之后就到了研究生学校这边,考研的时候就想着能跳出老专业的限制,去见识一些新的东西,因为四年的大学生活,让我明白如果毕业之后,还是找一份画三维图的工作的话,我可能会疯掉~
阴差阳错就来了我现在导师这边,说是做的嵌入式,但实际上更多是电子相关的东西,或者说单片机。
又遇 Java+Mysql数据库
还记得去年暑假,导师给我安排的第一个任务居然是做一个安卓的APP。
我是一脸的问号啊?是我拿错剧本了吗?
但导师安排的第一个任务,也不能不做,于是我开始了我的Java学习生涯~
同时还搭配着android studio这个软件的学习,前后一个月,赶鸭子上架做了一个手机APP出来。
这个软件实现的功能并不复杂。无非就是:数据的输入,处理,输出,再加上一个存储历史数据的功能。
最后勉勉强强的过了,再往后做到了MYSQL数据库管理系统部分,所以说我的第三门语言是数据库操作语言~
给大家放一个我当时做的笔记:这个链接也可以看//www.mubucm.com/doc/3b4CT1Qx8k_
但这部分的功能并没有完全的实现,因为开学研一的课程还是挺多的,之后这件事就不了了之了,后来我反应过来,可能这件事就是导师拿来考察我学习能力的,还好当时我没摆烂,认认真真的去做了。
可见有些事情你可以不喜欢,但当你不得不去做的时候,一定要态度端正,尽自己最大努力。
陷于 C
我第一次看到一段C代码时,并没有觉得它是有多么的特殊,在当时的我看来,无非就是固定的代码结构,重设其中的一些变量,封装各种功能的函数,提供相应的接口,按照逻辑进行调用。
原谅我的这种认识,因为当时的我还在51学习板上跑我的C程序,撑死一两百行代码。
改变我对C代码认识的,其实源自于我恶补计算机相关课程的时候。
那段时间就觉得计算机好神奇,奇怪这玩意是怎么跑起来的?
《计算机:一部历史》、《深入理解计算机系统》、《计算机是怎样跑起来的》、《程序是怎样跑起来的》、《操作系统之哲学原理》、《网络是怎样连接的》…………(需要这方面电子书的朋友也可以给我留言)
看了很多书和课程,但现在回想起来好像又什么都没记住,因为计算机的历史真的是太精彩了,涌现出的一个又一个天才,创造出一个又一个的改变和正在改变这个世界的技术……
哎呦,跑题了,咱们回到C上。
就像有一句话说的那样:
你可以不写C语言的程序,但是你不可能不用C语言写的程序.
我们可以需要深挖一下有哪些软件以 C 语言为主:
- 操作系统内核。例如 Linux 等
- 微控制器
- 视频编解码器
- 底层共享库,例如 OpenSSL 等
- Unix 命令行工具,例如 ls、cat 和 git 等
现在几乎所有基础设施,操作系统都有C语言的痕迹,我们很难离开它。
如果说未来有一天产生一种新的语言终将代替C,我想这种语言最起码要有以下几个特点:
- 能够重用现有的 C 库;
- 建立在已有的知识和惯例之上;
- 没有垃圾回收,或者采用手动内存管理;
- 控制可执行文件的大小;
- 系统层面的友好。你需要能够操纵位和字节。你需要良好的二进制运算符和指针;
- 逐步替换 C 代码。能够良好地兼容 C 的可执行文件。
当然这些也都是个人观点,纯属没事瞎想,未来的事谁说的清楚。
对于现在我来讲,C语言仍然是一门很高深的语言,距离掌握它还有很长一段路要走。
工具语言
虽然我平时学习生活中都以C语言为主,但一旦涉及到某些领域的功能,还是会去接触新的语言。
比如,C++做QT开发
比如,HTML5和CSS写一些简单的网页
再比如,用Python爬取一些数据,并进行数据处理
等等……………………
最后
归根结底,编程语言只是一种工具,一种我们和计算机进行交流的工具。
编程语言之间没有高低贵贱,更没有歧视链,有的只是不同的应用环境适合不同的语言,一切都是时代造就的趋势。
参考文献:
//www.techug.com/post/can-c-be-replaced/
//t.csdn.cn/SLK0T
//t.csdn.cn/CpCFM