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

linux-- 0. C语言过、Java半静对、Python纯动和C++对+C

 学习目标:

  • java,C++
  • PYTHON
  • C
     

学习内容:

  1. java,C++
  2. PYTHON
  3. C

目录

 学习目标:

学习内容:

java

纯解释型语言(如 Python)的对比‌

C语言与Java的核心区别

java,C++  PYTHON  C++

学习时间:

学习产出:


java

核心结论‌
是 ‌“半编译半解释”‌ 的混合模式。
‌优势‌:
跨平台(字节码 + JVM)。
平衡了启动速度(解释执行)和运行效率(JIT编译)

纯解释型语言(如 Python)的对比

特性JavaPython
编译环节预编译为字节码(.class无显式编译(隐含编译为字节码.pyc
执行方式JVM 解释 + JIT 编译优化纯解释器逐行执行(无JIT优化)
性能较高(JIT动态优化)较低(无编译优化)
跨平台依赖 JVM(字节码通用)依赖解释器(源码或字节码通用)

C语言与Java的核心区别

对比维度C语言Java
类型系统静态弱类型‌(允许隐式类型转换)静态强类型‌(类型严格,需显式转换)
内存管理手动管理‌(malloc/free自动垃圾回收(GC)‌(无需手动释放)
平台依赖性编译为平台相关机器码‌,直接运行编译为字节码‌,依赖JVM跨平台执行
运行性能更高‌(无中间层,直接操作硬件)稍低‌(JVM解释/JIT编译优化,仍有开销)
应用场景系统编程、嵌入式、操作系统、驱动开发企业级应用、Android开发、Web后端、大数据
编译方式纯编译型语言‌(直接生成机器码)编译+解释混合型‌(字节码由JVM解释/JIT编译)
面向对象支持面向过程‌,可通过结构体模拟对象完全面向对象‌(类、继承、多态等特性)
指针支持直接操作指针‌(灵活但易引发内存错误)无显式指针‌(引用机制,内存更安全)
异常处理无内置异常机制‌(依赖返回值或信号处理)完善的异常处理‌(try-catch-finally)
标准库轻量级‌(提供基础函数)丰富‌(包含集合、网络、并发等高级API)

java,C++  PYTHON  C++

维度C语言C++JavaPython
设计目标系统级开发,贴近硬件C的扩展,支持面向对象和高性能计算跨平台企业应用,简化复杂性易读易写,快速开发
类型系统静态类型,无面向对象静态类型,支持面向对象和泛型静态类型,强面向对象动态类型,支持多范式
内存管理手动管理(malloc/free手动管理(可结合智能指针)自动垃圾回收(GC)自动垃圾回收
性能极高(编译为机器码)极高(编译优化)较高(JVM解释执行,JIT优化)较低(解释执行,动态类型开销)
代码风格过程式,函数驱动多范式(面向对象、泛型、过程式)强制的面向对象(一切皆类)简洁灵活,缩进强制结构化
编译/解释编译为机器码编译为机器码编译为字节码(JVM运行)解释执行(逐行翻译)
应用场景操作系统、嵌入式、驱动游戏引擎、高频交易、图形渲染企业后台、Android应用、大数据数据分析、AI、Web后端、脚本自动化
学习难度中等(需理解指针和内存)高(语法复杂,多重范式)中等(规范严格,生态庞大)低(语法接近自然语言)
关键优势极致控制与性能性能与灵活性的平衡跨平台安全性和生态成熟度开发效率与库生态
典型缺点手动内存管理易出错,代码冗长语法复杂,学习曲线陡峭运行效率低于C/C++,内存占用较高运行效率低,不适合底层开发

C语言、Java、Python和C++

C语言‌:高效、底层的‌过程式语言‌,专为系统开发与硬件操作设计,强调性能与控制。
Java‌:跨平台的‌面向对象语言‌,依托JVM实现“一次编写到处运行”,主导企业级应用与Android开发。
Python‌:简洁灵活的‌动态类型语言‌,以高开发效率著称,广泛用于数据分析、AI及快速原型开发。
C++‌:C的扩展版‌多范式语言‌,融合面向对象与高性能特性,适用于游戏引擎、高频交易等复杂系统。

C语言、Java、Python和C++是四种广泛使用的编程语言,各自具有独特的特点和应用场景:

‌1. C语言‌
‌类型‌:‌【过程】式编程语言‌(强调函数和流程控制)。
‌特点‌:
‌底层操作能力强‌:直接操作内存和硬件,适合系统级开发。
‌高效性‌:编译后运行速度快,资源占用少。
‌静态类型‌:变量类型需预先声明。
‌主要用途‌:
操作系统(如Linux内核)、嵌入式系统、驱动开发。
基础库和底层工具(如数据库、编译器)。
‌代表项目‌:Unix系统、Nginx、Redis。
‌2. Java‌
‌类型‌:‌【面向对象】编程语言‌(OOP,强调类和对象)。
‌特点‌:
‌跨平台性‌:基于JVM(Java虚拟机),"一次编写,到处运行"。
‌内存管理‌:自动垃圾回收(GC),减少内存泄漏风险。
‌强类型‌:严格的类型检查和异常处理。
‌主要用途‌:
企业级应用(如ERP、金融系统)。
Android应用开发(历史主流,现部分被Kotlin替代)。
大数据框架(如Hadoop、Spark)。
‌代表项目‌:Apache系列工具、Spring框架。
‌3. Python‌
‌类型‌:‌【多范式语言‌(支持面向对象、函数式、过程式)】。
‌特点‌:
‌简洁易读‌:语法接近自然语言,开发效率高。
‌动态类型‌:变量类型无需预先声明。
‌丰富的库‌:庞大的第三方库生态(如NumPy、Django)。
‌主要用途‌:
数据科学(机器学习、数据分析)。
Web开发(后端、API)。
自动化脚本、快速原型开发。
‌代表项目‌:Django、TensorFlow、Instagram。
‌4. C++‌
‌类型‌:‌多范式语言‌(支持面向对象和泛型编程)。
‌特点‌:
‌高性能‌:【继承C语言效率,支持底层操作。】
‌复杂性‌:语法较难,需手动管理内存。
‌灵活性‌:【提供面向对象特性(类、继承)和模板元编程。】
‌主要用途‌:
游戏开发(如Unreal Engine)、高性能计算。
实时系统(如交易系统)、图形渲染引擎。
浏览器/数据库核心(如Chrome、MySQL)。
‌代表项目‌:Adobe系列软件、游戏引擎(如Unity的底层)。
‌总结对比‌

语言类型性能学习难度典型场景
C过程式极高中高系统底层开发、嵌入式
C++多范式极高游戏、高性能计算
Java面向对象企业应用、Android开发
Python多范式(动态)较低数据分析、Web开发、脚本自动化

C语言、Java、Python和C++都是广泛使用的编程语言,它们各自有其优点和缺点,适用于不同的应用场景。以下是它们之间的主要区别:

1. **执行速度**:C语言和C++是编译型语言,执行速度非常快,适用于需要高效率运行的应用。Java和Python是解释型语言,执行速度相对较慢。

2. **可移植性**:C语言、Java和C++可以在不同的计算机平台上编译运行,具有很强的可移植性。Python也可以在多个平台上运行,具有很强的可移植性。

3. **安全性**:C语言没有内置的安全检查机制,容易出现内存泄漏、缓冲区溢出等安全问题。Java具有很好的安全性,可以防止一些常见的安全问题,如缓冲区溢出、内存泄漏等。Python的内存占用较高,不适用于嵌入式系统等资源受限的环境。

4. **学习难度**:C语言的语法简单,易于学习,但指针操作比较繁琐,容易出现指针错误。Java的语法比较复杂,学习难度较大。Python的语法简单,易于学习和理解。

5. **面向对象编程**:C语言不支持面向对象编程,需要手动实现面向对象的特性。Java和C++都支持面向对象编程,可以提高代码的可重用性和可维护性。Python是一种动态类型的语言,不支持面向对象编程。

6. **应用场景**:C语言适用于系统编程、嵌入式编程、游戏开发等领域。Java适用于企业级应用开发、移动应用开发、Web开发、大规模并发应用等领域。Python适用于快速原型开发、数据科学、Web开发、机器学习、人工智能等领域。C++适用于系统级编程、嵌入式系统开发、游戏开发、图形图像处理等领域。

总的来说,选择哪种编程语言取决于具体的应用场景和需求。


学习时间:

学习时间为学习时间

学习时间筋肉人
为学习时间future

内容为笔记【有时比较抽象,有时比较过于详细,请宽恕。作者可能写的是仅个人笔记,筋肉人future】  


学习产出:

画工

linux-5权限管理[权限rwx,文件和目录,权限信息,文件类型 ,ugo,ls,chown,chgrp .:-R chmod umask souce etc/profile etc/bashrc等-CSDN博客

linux--0.Linux的特点-CSDN博客

  • 技术笔记 1遍
  • 有错误请指出,作者会及时改正

相关文章:

  • mapState 函数的用法
  • 7.5 分治:归并:LeetCode 剑指 Offer 51.数组中的逆序对
  • docker 搭建部署知识库XWIKI
  • 【嵌入式学习3】信息安全 - SSH协议
  • JAVA反序列化深入学习(六):CommonsCollections4
  • jQuery 入门到精通
  • Vue中使用antd-table组件时,树形表格展开配置不生效-defaultExpandedRowKeys-默认展开配置不生效
  • 经典算法 排列的字典序问题
  • 为什么需要 Node.js 的 URL 处理工具?
  • JavaScript 函数参数详解
  • 后端实现加解密工具类(记录)
  • MySQL增删改查(CRUD)操作详解与实战指南
  • Java EE(17)——网络原理——IP数据报结构IP协议解析(简述)
  • TabularDataset
  • 蓝桥杯备考----》完全背包模板
  • HarmonyOs学习 实验四:开发一个登录界面
  • Electron 系统托盘与屏幕捕捉深度解析:从基础到企业级实践
  • 【Linux】网络概念
  • STM32F103_LL库+寄存器学习笔记13 - 梳理外设CAN与如何发送CAN报文(串行发送)
  • [Vue2]侦听器watch(监视器)
  • 洛阳网站建设/顾问
  • ag bbin 网站开发/软件开发公司排名
  • 成都工业学院文献检索在哪个网站做/俄罗斯搜索引擎yandex推广
  • 网站做链接的意义是什么/seo网络推广专员
  • 网站左侧分类菜单怎么做/什么软件可以优化关键词
  • 做网站需要哪些人手/关键词搜索优化公司