Intro to Pythona day agohttps://jyn.dev/talks/python/Python变量不需要显式类型,不像Java必须声明类型(例如 `i = 1` 对比 `int i = 1`)。Python支持动态类型和鸭子类型,允许列表包含混合类型(例如 `l = [1, 1.2, 'hello, world']`),而Java需要泛型或显式类型。Python字典可以使用非整数键(例如 `{'Monday': 'MATH 374'}`),索引方式与列表类似。Python使用`**kwargs`来处理函数中的任意关键字参数,而Java使用带有函数式接口(如`IntConsumer`)的可变参数。Python的文档使用三重引号字符串和纯文本,而Java的Javadoc使用`/** */`和HTML标记。Python的`print`函数可以通过`*args`重新定义以接受可变参数,类似于Java使用`Object...`的可变参数。Python比Java在语法上更灵活地支持lambda函数和高阶函数(例如 `call_with_one(lambda arg: print(arg))`),而Java需要函数式接口。
WASM on the JVM Ships Under the Bytecode Alliancea month agohttps://foojay.io/today/endive-1-0-wasm/Endive 1.0,纯Java WebAssembly运行时,已在Bytecode Alliance下正式发布。它以最小的迁移成本取代了Chicory,提供相同的API和代码库,但在新的治理结构下运行。新功能包括对WasmGC的完整支持,使得能够与Kotlin/Wasm和Dart等语言集成,以及尾调用优化以提升性能。新的库treesitter4j将tree-sitter及其语法编译为Wasm,提供了一个用于解析多种语言的Java API,无需JNI。Endive可以托管Wasm工作负载,如在wasmCloud主机和Eclipse Vert.x应用中的演示所示,并且已经通过运行javac和Scala.js作为Wasm进行了压力测试。