草庐IT

浅聊我和一些编程语言的缘分

iron2222 2023-03-28 原文

初识 DEV C++

首先小胡同学自己并不是科班出身,不是计算机或者互联网相关专业的的学生,我本科期间是车辆工程专业,偏机械一点。
本科期间对编程语言的唯一认识就是C,其实也不算是,准确的是DEV C++,但大家都懂得,本科的通识课是可以忽略不计的。

再之后就到了研究生学校这边,考研的时候就想着能跳出老专业的限制,去见识一些新的东西,因为四年的大学生活,让我明白如果毕业之后,还是找一份画三维图的工作的话,我可能会疯掉~
阴差阳错就来了我现在导师这边,说是做的嵌入式,但实际上更多是电子相关的东西,或者说单片机。

又遇 Java+Mysql数据库

还记得去年暑假,导师给我安排的第一个任务居然是做一个安卓的APP。

我是一脸的问号啊?是我拿错剧本了吗?

但导师安排的第一个任务,也不能不做,于是我开始了我的Java学习生涯~

同时还搭配着android studio这个软件的学习,前后一个月,赶鸭子上架做了一个手机APP出来。

这个软件实现的功能并不复杂。无非就是:数据的输入,处理,输出,再加上一个存储历史数据的功能。


最后勉勉强强的过了,再往后做到了MYSQL数据库管理系统部分,所以说我的第三门语言是数据库操作语言~

给大家放一个我当时做的笔记:这个链接也可以看https://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爬取一些数据,并进行数据处理

等等……………………

最后

归根结底,编程语言只是一种工具,一种我们和计算机进行交流的工具。

编程语言之间没有高低贵贱,更没有歧视链,有的只是不同的应用环境适合不同的语言,一切都是时代造就的趋势。

参考文献:
https://www.techug.com/post/can-c-be-replaced/
http://t.csdn.cn/SLK0T
http://t.csdn.cn/CpCFM

有关浅聊我和一些编程语言的缘分的更多相关文章

  1. ruby - 如何将脚本文件的末尾读取为数据文件(Perl 或任何其他语言) - 2

    我正在寻找执行以下操作的正确语法(在Perl、Shell或Ruby中):#variabletoaccessthedatalinesappendedasafileEND_OF_SCRIPT_MARKERrawdatastartshereanditcontinues. 最佳答案 Perl用__DATA__做这个:#!/usr/bin/perlusestrict;usewarnings;while(){print;}__DATA__Texttoprintgoeshere 关于ruby-如何将脚

  2. ruby - 寻找通过阅读代码确定编程语言的ruby gem? - 2

    几个月前,我读了一篇关于ruby​​gem的博客文章,它可以通过阅读代码本身来确定编程语言。对于我的生活,我不记得博客或gem的名称。谷歌搜索“ruby编程语言猜测”及其变体也无济于事。有人碰巧知道相关gem的名称吗? 最佳答案 是这个吗:http://github.com/chrislo/sourceclassifier/tree/master 关于ruby-寻找通过阅读代码确定编程语言的rubygem?,我们在StackOverflow上找到一个类似的问题:

  3. ruby-on-rails - 如何生成传递一些自定义参数的 `link_to` URL? - 2

    我正在使用RubyonRails3.0.9,我想生成一个传递一些自定义参数的link_toURL。也就是说,有一个articles_path(www.my_web_site_name.com/articles)我想生成如下内容:link_to'Samplelinktitle',...#HereIshouldimplementthecode#=>'http://www.my_web_site_name.com/articles?param1=value1¶m2=value2&...我如何编写link_to语句“alàRubyonRailsWay”以实现该目的?如果我想通过传递一些

  4. Unity 热更新技术 | (三) Lua语言基本介绍及下载安装 - 2

    ?博客主页:https://xiaoy.blog.csdn.net?本文由呆呆敲代码的小Y原创,首发于CSDN??学习专栏推荐:Unity系统学习专栏?游戏制作专栏推荐:游戏制作?Unity实战100例专栏推荐:Unity实战100例教程?欢迎点赞?收藏⭐留言?如有错误敬请指正!?未来很长,值得我们全力奔赴更美好的生活✨------------------❤️分割线❤️-------------------------

  5. 7个大一C语言必学的程序 / C语言经典代码大全 - 2

    嗨~大家好,这里是可莉!今天给大家带来的是7个C语言的经典基础代码~那一起往下看下去把【程序一】打印100到200之间的素数#includeintmain(){ inti; for(i=100;i 【程序二】输出乘法口诀表#includeintmain(){inti;for(i=1;i 【程序三】判断1000年---2000年之间的闰年#includeintmain(){intyear;for(year=1000;year 【程序四】给定两个整形变量的值,将两个值的内容进行交换。这里提供两种方法来进行交换,第一种为创建临时变量来进行交换,第二种是不创建临时变量而直接进行交换。1.创建临时变量来

  6. 网络编程套接字 - 2

    网络编程套接字网络编程基础知识理解源`IP`地址和目的`IP`地址理解源MAC地址和目的MAC地址认识端口号理解端口号和进程ID理解源端口号和目的端口号认识`TCP`协议认识`UDP`协议网络字节序socket编程接口`sockaddr``UDP`网络程序服务器端代码逻辑:需要用到的接口服务器端代码`udp`客户端代码逻辑`udp`客户端代码`TCP`网络程序服务器代码逻辑多个版本服务器单进程版本多进程版本多线程版本线程池版本服务器端代码客户端代码逻辑客户端代码TCP协议通讯流程TCP协议的客户端/服务器程序流程三次握手(建立连接)数据传输四次挥手(断开连接)TCP和UDP对比网络编程基础知识

  7. ruby - 找一些句子 - 2

    我想找到在某些文本中找到一些(让它是两个)句子的好方法。什么会更好-使用正则表达式或拆分方法?你的想法?应JeremyStein的要求-有一些例子示例:输入:ThefirstthingtodoistocreatetheCommentmodel.We’llcreatethisinthenormalway,butwithonesmalldifference.IfwewerejustcreatingcommentsforanArticlewe’dhaveanintegerfieldcalledarticle_idinthemodeltostoretheforeignkey,butinthis

  8. ruby - 我正在学习编程并选择了 Ruby。我应该升级到 Ruby 1.9 吗? - 2

    我完全不是程序员,正在学习使用Ruby和Rails框架进行编程。我目前正在使用Ruby1.8.7和Rails3.0.3,但我想知道我是否应该升级到Ruby1.9,因为我真的没有任何升级的“遗留”成本。缺点是什么?我是否会遇到与普通gem的兼容性问题,或者甚至其他我不太了解甚至无法预料的问题? 最佳答案 你应该升级。不要坚持从1.8.7开始。如果您发现不支持1.9.2的gem,请避免使用它们(因为它们很可能不被维护)。如果您对gem是否兼容1.9.2有任何疑问,您可以在以下位置查看:http://www.railsplugins.or

  9. ruby - 如何以编程方式删除实例上的 "singleton information"以使其编码(marshal)? - 2

    我创建了一个由于“在运行时执行的单例元类定义”而无法编码的对象(这段代码的描述是否正确?)。这是通过以下代码执行的:#defineclassXthatmyusesingletonclassmetaprogrammingfeatures#throughcallofmethod:break_marshalling!classXdefbreak_marshalling!meta_class=class我该怎么做才能使对象编码正确?是否可以从对象instance_of_x的classX中“移除”单例组件?我真的需要一个建议,因为我们的一些对象需要通过Marshal.dump序列化机制进行缓存。

  10. Ruby 元编程问题 - 2

    我正在查看Ruby日志记录库Logging.logger方法并从sourceatgithub提出问题与这段代码有关:logger=::Logging::Logger.new(name)logger.add_appendersappenderlogger.additive=falseclass我知道类 最佳答案 这实际上删除了方法(当它实际被执行时)。这是确保close不会被调用两次的保障措施。看起来好像有嵌套的“class 关于Ruby元编程问题,我们在StackOverflow上找到一

随机推荐