当前位置: 首页 > news >正文

低级语言和高级语言、大小写敏感、静态语言和动态语言、链接

低级语言和高级语言

一般而言,更接近硬件的语言被称为低级语言,反之,更远离硬件被称为高级语言。C语言既有低级语言的特点,又有高级语言的特点,又被称为系统语言。Java/Python一般被称为高级语言。

大小写敏感

DOS/Windows与众不同,默认不区分大小写,影响了批处理大小写行为。与Linux有别,大部分Unix like操作系统均是大小写敏感。macOS可以选择在制作分区时设定大小写敏感。

Windows

  • DOS不区分大小写源于之前的系统也不区分,追溯到远古时期FORTRAN语言也不支持,为什么?因为打孔机位置有限,大写和小写意义一样,为何多增加小写?

  • 注意,Windows文件系统是否支持大小写和Windows内核编程语言是否支持大小写无任何关系,文件系统驱动程序控制大小写支持与否,内核编程语言只控制内核代码编译,不控制执行。事实上,Windows内核代码会默认忽略大小写,例如对象访问附加属性OBJ_CASE_INSENSITIVE.

  • 因引入WSL,Linux区分大小写。自 Windows 10 内部版本 17107 开始,支持按目录区分大小写,是利用文件系统的setCaseSensitiveInfo属性。使用方式很简单,详情:WSL区分大小写
    • fsutil file setCaseSensitiveInfo <path> enable

  • 可修改注册表设置大小写敏感。
    • HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\obcaseinsensitive

静态语言和动态语言

静态动态语言和类型是极其容易被混淆的概念,实际上不同语言设计者和使用者对语言理解不同,"静态"和"动态"的概念有很大差异。如下将按照维基百科作为标准。

静态语言和动态语言

  • 动态语言是指一类在运行时可以改变其结构的语言:例如新的函数、对象、甚至代码可以被引进,已有的函数可以被删除或是其他结构上的变化。静态语言,即不支持动态语言功能的语言。

  • 动态语言
    PHP、Python、Ruby、Shell、Batch、JavaScript

  • 静态语言
    C、ObjC、C++、Java

静态类型和动态类型

  • 静态类型:如果一个编程语言的类型检查,发生在编译期,可在不测试运行时期表达式的等价性的情况下进行。例如:
    C/ObjC/C++/Java/C#/Go/Swift/Rust/仓颉/Fortran/VB.NET

  • 动态类型:如果一个编程语言类型检查发生在运行期,支持运行时期(动态)调度已标记的资料。
    Python/JS/VB6

强类型和弱类型

  • 强类型的基本定义即为,禁止错误类型的参数继续运算。Python是强类型语言。

  • 弱类型意指一个语言可以隐式的转换类型(或直接转型), 例如VBScript、Shell.

链接

链接是编译的下半段,但一般都不特别指出链接,被编译代替。

链接的意义

公司举办一个足球比赛,不同球队分别负责搬水、搬球衣手套等设备,最终大家聚集在一起,才能把比赛打完。

  • MSVC中cl.exe和link.exe为独立的两个程序。


若文章对您有帮助,欢迎关注。助您在编程路上越走越好!

微风不燥,阳光正好,你就像风一样经过这里,愿你停留的片刻温暖舒心。

我是程序员小迷(致力于C、C++、Java、Kotlin、Android、iOS、Shell、JavaScript、TypeScript、Python等编程技术的技巧经验分享),若作品对您有帮助,请关注、分享、点赞、收藏、在看、喜欢,您的支持是我们为您提供帮助的最大动力。

http://www.lryc.cn/news/455501.html

相关文章:

  • P3197 [HNOI2008] 越狱
  • 会声会影导出视频mp4格式哪个最高清,会声会影输出格式哪个清晰
  • Linux:进程调度算法和进程地址空间
  • TCP ---滑动窗口以及拥塞窗口
  • 第十二章--- fixed 和 setprecision 函数、round 函数、进制转换及底层逻辑
  • ASP.NetCore---I18n(internationalization)多语言版本的应用
  • vue3 环境配置vue-i8n国际化
  • 2024 uniapp入门教程 01:含有vue3基础 我的第一个uniapp页面
  • CentOS 7文件系统
  • vue源码解析(源码解析学习大纲)
  • 工行企业网银U盾展期后有两个证书问题的解决方法
  • 《Linux从小白到高手》理论篇:文件权限控制及文件操作相关的命令
  • 前端框架React的详细的学习方法和过程
  • linux中缓存,在kafka上应用总结
  • 前端练习小项目 —— 让图片变得更 “色”
  • 时间卷积网络(TCN)原理+代码详解
  • 零散的知识
  • Python读取pdf中的文字与表格
  • 【MySQL 08】复合查询
  • 求1000以内的完数
  • sqli-labs less-16 post提交dnslog注入
  • nginx报错|xquic|xqc_engine_create: fail|
  • Java虚拟机(JVM)
  • MQ 架构设计原理与消息中间件详解(三)
  • 大数据新视界 --大数据大厂之 Alluxio 数据缓存系统在大数据中的应用与配置
  • PHP基本语法总结
  • 尚硅谷rabbitmq 2024第30-33节 死信队列 答疑
  • 解锁空间距离计算的多种方式-含前端、空间数据库、后端
  • Windows 开发工具使用技巧 QT使用安装和使用技巧 QT快捷键
  • 【实战教程】SpringBoot全面指南:快速上手到项目实战(SpringBoot)