编程语言小记_incomplete

本文旨在对比不同类型的编程语言,针对各语言特性做一个梳理与学习,找到一些共通的,或者独树一帜的设计思路,从而能够达到更好的学习新语言的目的。


编程,即编写程序。
Programming is the process of creating a set of instructions that tell a computer how to perform a task.
编程就像写作文,画画,唱歌,是一个表达的过程。编程有很多不同的语言,下面是3月的语言排行:
3月语言排行
上面图片中列出的只是排行靠前的语言,实际还有语言未画在上面。
我学的第一门语言是c语言,是小学学的(大概是吧,记不清了),然后后面学习了汇编语言,是51单片机上的,后面用过c++,接触过lua,python等等语言。语言有很多种分类方法:低级语言和高级语言;编译型和解释型;面向对象和面向过程,强类型语言,弱类型语言,动态类型语言,静态类型语言等等。
高级语言低级语言,在我理解就是,低级语言是更接近底层的语言,比如汇编语言。而高级语言,已经抽象化的比较完全,可以脱离平台来谈。低级语言,要和硬件打交道,汇编语言要操作寄存器,像Python估计就没有操作寄存器这一说。所以我上面说我学的是51的汇编,大概没有人会说,我学的是intel的java吧。低级语言更接近底层,以至于高度特化,和平台相依凭。而高级语言,可以跨平台运行。
汇编语言端口置1,过程可以简化为:内部寄存器写1,推挽输出电路中,寄存器通过总线使与电源相接的三极管导通,端口输出高电平。人们制造出二极管三极管,就有了0和1的变化。电路在我看来更像是一个多米诺骨牌一样,是借助电子器件的特性,精心构建的一个复杂装置。汇编语言通过汇编器汇编成二进制代码–机器语言,这才是最接近底层的,学习过数字电路的人应该明白指令的简化执行流程。
c语言应当是介于低级语言和高级语言之间的语言,因为他有指针这个概念,指针就是地址,那肯定与硬件有关了,c51更是可以直接读写寄存器。
有些高级语言初始时只能解释执行,比如java和Python(应该是吧,有错误请指正),编译执行的语言,最终变为机器码。解释执行的语言直接执行。解释执行的语言之所以不需要编译成二进制代码就能执行,依赖的是解释器。解释器就像一个api一样,为解释语言提供了运行环境,因此编译型语言编译好之后,运行的平台基本就固定了,因为他已经转化为了与平台相对应的机器码。而解释型语言由于有解释器存在,可以跨平台运行,而解释器,应当是依赖平台的,但是他为这门语言提供了环境,屏蔽了平台差异。
面向对象面向过程,算是两种编程范式,按我的理解,面向过程的语言着重于描述按步骤做哪些事情,而面向对象的语言,更着重于通过分析对象间的关系,让原本孤立的数据之间建立联系,并抽象,获得某种开发效率的提升和开发思想思路的改变。因为我目前只会c,这部分就不多谈了,以免出错。
强类型语言,与弱类型语言,按我的理解就是,如果存在隐式转换,那么就是弱类型,不允许隐式转换,则是强类型。
动态类型语言静态类型语言,我暂时理解为,编译时检查和运行时进行类型检查。
关于这四者的区别,我说的也不严谨,甚至有错误,具体可以参考这个

写程序就是一个表达的过程,你给定一个输入,就有特定的输出,就像摆好的多米诺骨牌。编程语言如此之多,有的长的比较像,有的差异很大,但语言设计出来的目的都是为了–表达。为了让人们更好地表达,各种各样的语言被设计出来。
c语言里比较常见的概念有:数据类型,变量,运算符,表达式,控制流。这些概念都是人类世界的概念,现在,人们将这些抽象为编程语言中的要素,来帮助人们操纵晶体管来完成目的。
我现在比较认同的观点是每种语言都有他自己擅长的领域,不同的语言都有其作者根据自己考量而设计的各种特性。

未完待续,本来还想再写一些的,先发出来吧,有问题请帮忙指正,感谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源
大学生在线租房平台管理系统按照操作主体分为管理员和用户。管理员的功能包括报修管理、报修评价管理、字典管理、房东管理、房屋管理、房屋收藏管理、房屋留言管理、房屋租赁管理、租房论坛管理、公告信息管理、留言板管理、用户管理、管理员管理。用户的功能等。该系统采用了Mysql数据库,Java语言,Spring Boot框架等技术进行编程实现。 大学生在线租房平台管理系统可以提高大学生在线租房平台信息管理问题的解决效率,优化大学生在线租房平台信息处理流程,保证大学生在线租房平台信息数据的安全,它是一个非常可靠,非常安全的应用程序。 管理员权限操作的功能包括管理公告,管理大学生在线租房平台信息,包括房屋管理,培训管理,报修管理,薪资管理等,可以管理公告。 房屋管理界面,管理员在房屋管理界面中可以对界面中显示,可以对房屋信息的房屋状态进行查看,可以添加新的房屋信息等。报修管理界面,管理员在报修管理界面中查看报修种类信息,报修描述信息,新增报修信息等。公告管理界面,管理员在公告管理界面中新增公告,可以删除公告。公告类型管理界面,管理员在公告类型管理界面查看公告的工作状态,可以对公告的数据进行导出,可以添加新公告的信息,可以编辑公告信息,删除公告信息。
基于hal库的OLED显示屏驱动C语言实现源码.zip 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我! 基于hal库的OLED显示屏驱动C语言实现源码.zip基于hal库的OLED显示屏驱动C语言实现源码.zip基于hal库的OLED显示屏驱动C语言实现源码.zip基于hal库的OLED显示屏驱动C语言实现源码.zip基于hal库的OLED显示屏驱动C语言实现源码.zip基于hal库的OLED显示屏驱动C语言实现源码.zip基于hal库的OLED显示屏驱动C语言实现源码.zip基于hal库的OLED显示屏驱动C语言实现源码.zip基于hal库的OLED显示屏驱动C语言实现源码.zip基于hal库的OLED显示屏驱动C语言实现源码.zip基于hal库的OLED显示屏驱动C语言实现源码.zip基于hal库的OLED显示屏驱动C语言实现源码.zip基于hal库的OLED显示屏驱动C语言实现源码.zip
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值