第1章Hello world 5/5:Rust/Java/C++实现Hello world代码优劣势对比:运行第一个程序

讲动人的故事,写懂人的代码

1.8 对比三种语言的Hello world代码特点和优劣势

艾极思又对比了三种语言的Hello world代码。
在这里插入图片描述

1.8.1 Rust的Hello world代码解读

让我们详细解释一下 Rust 这一个文件中的代码,并讨论为什么使用这些语法:

1.8.1.1 文件:main.rs

fn main() {
   
    println!("Hello, world!");
}

1.8.1.2 语句详解

  1. fn main()
    • 定义函数fn 是 Rust 的关键字,用于定义函数。main 是函数的名称。在 Rust 程序中,main 函数是程序的入口点,所有 Rust 程序都从 main 函数开始执行。
    • 无参数() 表示函数的参数列表。main 函数在这个例子中没有参数。如果需要,可以定义带参数的 main 函数,例如用于处理命令行参数。
  2. { }
    • 函数体:花括号 {} 包围的是函数体,包含了函数执行的所有代码。在 main 函数中,花括号内包含了要执行的语句。
  3. println!("Hello, world!");
    • 宏调用println! 是一个宏(macro),不是函数。宏在编译时展开,允许更灵活的代码生成。Rust 使用 ! 来区分宏调用和函数调用。
    • 打印字符串println! 宏用于向标准输出打印文本,并在文本末尾自动添加换行符。"Hello, world!" 是传递给宏的字符串字面量。宏会处理字符串插值和格式化,例如:println!("{} {}", "Hello", "world");
    • 分号; 表示语句结束。在 Rust 中,每个表达式通常以分号结束(除非它是块表达式的最后一个表达式,并且作为返回值使用)。

1.8.1.3 为什么使用这些语法

  1. 简洁性和清晰性
    • Rust 的语法设计强调简洁和清晰。fn main() 简单明了地定义了程序入口点,没有复杂的语法负担。
  2. 安全性
    • Rust 通过其所有权系统和类型系统在编译时提供内存安全和线程安全。虽然在这段简单的代码中没有直接体现,但 println! 宏也是安全的,避免了常见的格式化字符串漏洞。
  3. 宏系统
    • 使用宏 println! 而不是函数,使得编译器可以在编译时处理字符串插值和格式化,提供更高效和灵活的输出机制。
  4. 性能
    • Rust 编译器非常重视性能优化,生成的二进制文件可以媲美 C 和 C++ 的性能。在这段简单的代码中,这点体现不明显,但 Rust 的设计目标之一是高性能。
  5. 现代语言特性
    • Rust 提供了许多现代编程语言特性,如模式匹配、泛型、trait、异步编程等。虽然这些特性没有在这段代码中展示,但它们使得 Rust 成为一门功能强大且灵活的语言。

1.8.2 Java的Hello world代码解读

让我们详细解释一下 Java 文件中的代码,并讨论为什么使用这些语法:

1.8.2.1 文件:App.java

package org.example;

public class App {
   
    public 
  • 19
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值