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

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

低级语言和高级语言

一般而言,更接近硬件的语言被称为低级语言,反之,更远离硬件被称为高级语言。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.kler.cn/news/341539.html

相关文章:

  • ArgoWorkflow教程(六)---无缝实现步骤间参数传递
  • Unity3d使用JsonUtility.FromJson读取json文件
  • MySQL联合索引、索引下推Demo
  • C++笔试题合集-第一阶段
  • 基于STM32的简易交通灯proteus仿真设计(仿真+程序+设计报告+讲解视频)
  • HBase中的Write-Ahead Log 详解
  • 从0打造本地聊天机器人:如何实现大模型流式输出?OpenAI+Ollama 实战
  • 如何设置LTE端到端系统
  • SpringBoot 整合 阿里云 OSS图片上传
  • 04-SpringBootWeb案例(中)
  • SQL Server—通配符(模糊查询)详解
  • Spring Cloud Netflix Eureka 注册中心讲解和案例示范
  • 数据科学初学者都应该知道的 15 个基本统计概念
  • web:js原型污染简单解释
  • 头歌算法实验六 动态规划2
  • C语言 | Leetcode C语言题解之第454题四数相加II
  • ChatGPT对文本总结
  • 智慧矿山无人机空地一体化解决方案
  • 受限情况下国产系统电脑备份文件夹的办法
  • SpringBoot框架下旅游管理系统的创新设计与实现