当前位置: 首页 > 后端技术 > PHP

PHP、Java、Python、C、C++这几种编程语言各有什么优势或特点?(2)

时间:2023-03-30 00:05:12 PHP

PHP,Java,Python,C,C++这些编程语言各自有什么优点或特点?堆叠和模块化的优点是什么?将递归功能分离为模块、可重用的封装范围堆栈和模块化有哪些缺点?时间上:保存和还原场景的成本(另外,高级语言编译“淘汰尾递归”节省了一部分成本)空间上:堆栈爆炸的危险C语言更重要的是C语言不如汇编?编译表达式(相对于汇编,可以处理多个操作数)函数和模块{}(真正的模块化,堆栈操作不需要程序员完成)类型(原子类型、结构类型、数组、指针)头文件简而言之,C语言并没有比汇编有新的特点,只是将汇编繁琐的操作抽象出来,让编译器完成,减轻了程序员的负担。编译器的作用是什么?(减轻程序员的负担)分析表达式,控制流程(汇编中的指令只有1-3个操作数,表达式可以有多个操作数)模块和函数的抽象(完成栈中场景的保存和恢复工作)类型变量管理(所有变量替换为直接访问地址,访问速度最快)代码优化变量替换为直接访问地址?a)编译时的Meta-Data(struct的成员,数组的长度,以便替换到指令流中;只在编译器中维护,编译后丢弃)b)计算每个变量的偏移量相对于模块(偏移地址一旦计算出来,就会在执行代码中固定下来,不能更改;也就是说,编译完成后,所有变量的偏移地址都是固定的。)c)管理变量的存储(所有变量/内存地址的布局都是在编译时确定的;也就是说可执行代码中没有类型信息,只有地址,任何数据都是通过地址来操作的,完全类似于assembly.至于寄存器的排列,是下层类似缓存策略算法的结果。)