简体中文 | English
flang的目标是设计一个兼具python的优点,但是又能够非常高效运行,工程友好的编程语言。
- 简洁(像python一样,代码简洁)语法简洁,开发速度快,贯彻编程语言 为人服务的目标
- 高效(像C++一样零成本抽象)运行速度快,发布体积小
- 易用(像rust、swift一样,拥有类型推导,异常处理,对象分配内存自动 回收,异步并发等现代语言特性)且容易和利用其他语言模块成果
**目的是更好的服务于现代工业,契合科学研究和工业需求。**未来的工业领域一定是与程序密不可分的,程序将不仅仅是程序员专有的,还将是各个领域的工具,必定是向matlab、labview那样对各领域人员友好的,并且是高效简洁的。在程序员都在需求易用性更高的语言和框架的今天,开发工业友好、高效的语言很有意义。
flang基本定位:
一定程度的支持反射
flang helloworld代码示例:
// helloworld.f
domain hello
use sys.*
pub func main(){
println("hello, world!")
}
flang源代码通常有以下四部分组成:
flang compile hello.f
: or flang hello.f
编译单个文件
-ibc
flang run hello.f
:编译单个文件并运行flang prebuild hello.f
:预编译为二进制中间码flang fmt
: or flang format
格式化源文件flang doc
:生成文档flang init
:创建一个proj,proj中包含一个mod,mod中含有一个helloworld源代码。flang new modname
:在当前proj中增加一个mod。
+flang new --bin modname
:表示目标位二进制执行程序。
+flang new --lib modname
:则表示库 。flang dep
:依赖管理
falng dep where
: 显示依赖所在文件夹。flang dep cache
: 下载依赖到本机。flang dep config
: 依赖缓存位置设置。flang dep update
: 更新依赖,(如果项目依赖设置中指定了最大版本,则最多更新到最大版本)。flang dep build
: 编译依赖。flang dep clean
: 清除依赖编译的文件。flang dep list
: 显示依赖列表flang dep graph
: 树状显示依赖列表flang dep verify
: 检测依赖包自下载之后是否被改动过。flang dep help
: 显示帮助flang check
:语法检查flang build
:编译当前模块mod或者项目proj。
flang build --release
: or -r
编译发布版。默认为--debugflang build --release --arch:i386 --os:win
交叉编译flang run
:编译并运行当前模块或项目flang prebuild
:预编译为二进制中间码flang clean
:清除生成的目标文件flang test
:编译运行当前模块或项目的测试代码flang bench
:运行基准测试flang play
:运行playgroundflang shell
: or flang repl
运行交互式解释器环境flang llvm --ast hello.f
: 输出抽象语法树flang llvm --ir hello.f
: or -i
输出ir代码flang llvm --ir -O3 hello.f -o hello.ll
: 输出ir代码,3级优化flang llvm --bc hello.f
: or -b
输出bitcode(二进制的ir代码)flang llvm --asm hello.f
: or -s
输出汇编代码flang pkg dirname -o instpkg
: 根据dirname文件夹内容创建instpkg安装包flang version
:显示版本信息。or flang ver
flang update
:升级flang编译器。flang help
:显示帮助flang -###
: 打印后续命令执行细节,不执行,-###可以在命令任意位置。如flang llvm --ast hello.f -###
Python, Rust, Go, Swift, C#, C, C++, Julia, Lua
希望能够设计一个语法简洁,易学易用,性能也不错的新语言,即使最后没有实现也不要紧,欢迎各位大佬萌新一起出谋划策。
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )