? 注意:缩略图是使用
生成的 ComfyUI 帮助下的 Flux Schnell 模型;
本文是在 NI - 自然智能
的帮助下撰写的 ? 没有时间阅读? - 观看我们创建的视频:
最初所有程序都是用二进制编写的 - 所谓的汇编
编程语言。你从字面上指示CPU在
内做什么
算术逻辑单元。虽然汇编作为低级编程语言提供了
对 ALU 的非常精细的控制需要程序员真正了解 CPU
架构和二进制逻辑 - 这是非常困难和昂贵的。
汇编提供低级优化,有利于执行性能。
正在开发和积极维护的此类程序的示例
是排序算法、哈希函数、循环等
因此,为了降低复杂性并提高效率,聪明人发明了
高级编程语言。
? Linux X86 的程序集 hello world app 示例:
section .data hello db 'Hello World!', 0x0A ; The string to print, with a newline section .text global _start ; Entry point for the program _start: ; Write the string to stdout mov eax, 4 ; syscall number for sys_write mov ebx, 1 ; file descriptor 1 is stdout mov ecx, hello ; pointer to the string mov edx, 13 ; length of the string int 0x80 ; call kernel ; Exit the program mov eax, 1 ; syscall number for sys_exit xor ebx, ebx ; exit code 0 int 0x80 ; call kernel
高级编程语言的目的是简化
的程序
使用人类可读的文本编写业务逻辑。高级编程
语言分为编译型和解释型。
编译型编程语言将高级人类可读代码翻译成
编译过程中的机器代码。
进行实际编译的程序称为编译器。
值得一提的是,每个程序都需要编译
特定的计算机体系结构。
为 X86 编译的程序无法在 ARM 处理器上运行,反之亦然。
因此需要针对特定架构进行编译。
编译是一个不可逆的过程。
您无法可靠地将汇编代码转换为高级源代码。
在大多数情况下,编译的程序都会执行性能方面的事情
快点 ?比解释程序。
大多数编译语言都是静态类型的。
解释如下。
最流行的编译语言是 C、C 、Rust、Objective C、C#。
? Hello world关于用C语言编写的:
#includeint main() { printf("Hello World!"); return 0; }
应用程序可以执行某些典型操作,例如显示图像,
解压缩档案和许多其他内容。虽然可以写出所有这样的
从头开始运行是不切实际的。
为此,使用了库。
库通过拆分
来帮助降低开发过程的复杂性
应用程序到模块中。新功能和错误修复可以在
内执行
模块的范围而不是整个应用程序。
将库集成到主应用程序的过程称为
链接。链接可以动态完成 - 这意味着所有库都是
在
期间单独编译并连接到主应用程序
应用程序的运行时或静态 - 意味着所有机器代码
库已集成到主应用程序二进制文件中。
动态库通常具有 Windows 扩展名 .dll 和 Unix 扩展名 .so。
解释性编程语言翻译高级人类可读代码
在程序执行期间转换为机器代码。执行此操作的程序
被称为解释器。由于解释器也是一个程序
已经针对它可以翻译的 CPU 的特定架构进行了编译
动态将高级代码转换为机器语言。
大多数情况下解释程序的性能都比较慢?
比编译的。
最流行的解释语言是 Python、JavaScript、PHP、Ruby。
? Hello world关于用Python编程语言编写的:
print("Hello World!")
编程语言可以分为静态类型和动态类型。
静态类型编程语言中的所有变量和数据结构
在程序编译或执行之前预先定义。
例如,这意味着如果开发人员将变量 A 定义为 string
他无法在代码中将其值从字符串更改为数字。
这可以在提前(AOT)编译和打印期间验证
逻辑错误。这种简单的技术有助于减少错误数量
在执行期间,这会导致更稳定的程序。
在动态类型编程语言中,变量可以重新赋值
从一种类型到另一种类型。例如变量 A 首先可以包含一个数字
后面可以包含一个字符串。该方法简化了开发过程。
变量可以是整数、浮点数、字符串.
它们被认为是最简单的数据结构。
要深入挖掘,变量是使用 RAM 中的指定地址存储的。
地址是一个二进制数(11111111111111101011111101111111111100001101100)
RAM 中存储单元的数量通常表示为十六进制数
(0x7fff5fbff86c) 以便于阅读。
常量是特殊变量,其值在赋值后为
不应被正在运行的程序更改。
除了变量之外,还有其他数据结构,例如数组,
关联数组、链表、队列、堆栈等等。
这些结构的目的是更有效地存储数据
这样处理数据会更容易。
简化业务逻辑编程的方法之一是使用
所谓的函数。就像数学中的 f(x) 是一个产生
的函数一样
某个值取决于编程中该函数的属性
函数可以返回值或做一些事情。函数可以接受输入
参数,例如数字、字符串或任何其他数据结构,并返回
值或数据结构,或者它们可以在没有任何参数的情况下工作,
一切都取决于函数本身的业务逻辑。
实际上,编程语言并不像大家想象的那么复杂。
如果您刚刚开始学习编程 - 从简单的解释
开始
像Python这样的语言。了解基础知识后 - 所有其他语言
就像阅读语法一样简单。
来源:https://blog.wiregate.io/posts/programming-languages-explained
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3