V语言简介
2019-07-02 本文已影响9人
爱折腾的大懒猪
V语言是一门很新的语言, 但还不成熟呢. 现在还是属于半成品, 离可用还有距离. 不过已经开源了, 相信以后应该会更好吧? 不过没有大公司背书的话, 也很难推广开.
C/C++实在太老了, Python非编译语言且缺点也明显, 其实出现一门新的语言是历史的趋势吧. 新的语言应该能够方便地满足日常工作需求, 编译快, 且支持多核多线程. Go就是个不错的选择. V在2019年中开源, 自然就吸引了很多目光, 其实也有很多炒作, 毕竟只是一个半成品. 还有待日后观察.
根据官网介绍, V语言最大特色就是编译快. 每秒钟120万行代码?! 夸张. 甚至可以输出C语言代码, 但目前还是非常早期. 另外, 代码热加载可以修改代码后无需重新编译, 直接查看修改后结果, 大大提升效率(蛮神奇的, 有点像高级语言)
今天就基本安装和尝试一下吧.
安装
# Linux, macOS, Android, Raspberry Pi
# Win10的WSL子系统也适用
git clone https://github.com/vlang/v
cd v
make
# make将显示以下内容
# rm -f v.c v vprod
# curl -Os https://raw.githubusercontent.com/vlang/vc/master/v.c
# cc -march=native -std=gnu11 -w -o v v.c
# ./v -o v compiler
# Looks like you are running V for the first time.
# Setting VROOT to "/Users/hom/v".
# rm v.c
# V has been successfully built
# MinGW-w64
git clone https://github.com/vlang/v
cd v
# Download the V compiler's source translated to C
curl -O https://raw.githubusercontent.com/vlang/vc/master/v.c
gcc -std=gnu11 -w -o v.exe v.c # Build it with GCC
# 随后创建链接
sudo ln -s [path to V repo]/v /usr/local/bin/v
在example
文件夹内有不少例子, 编译这些例子很简单:
# 不加run 就是编译, 后续可以 `&& ./tetris` 来运行.
../v run tetris.v
# 直接运行
../v
>>> println('hello test')
安装图形模块
## macOS:
brew install glfw freetype curl
## Ubuntu:
sudo apt install libglfw3 libglfw3-dev libfreetype6-dev libcurl3-dev
## Arch:
sudo pacman -S glfw-x11 curl freetype2
V Tetris测试安装http模块, 需要
libcurl
.
在MacOS 10.11中, 按官方说法, brew安装了freetype 后依然报错:
In file included from /Users/hom//.vlang//tetris.c:76: /usr/local/include/ft2build.h:37:10: fatal error: 'freetype/config/ftheader.h' file not found #include <freetype/config/ftheader.h> ^ 1 error generated. V panic: clang error
解决办法:
ln -s /usr/local/include/freetype2/ft2build.h /usr/local/include/ ln -s /usr/local/include/freetype2/freetype /usr/local/include/
经试用, v语言还是蛮好玩的. 但是问题还是有很多, 例如编译选项支持少 (-I
都不支持?!), 那种类似交互模式输入代码一定要println
才能显示, 而且经常挂... 至于c转v的神奇功能, 以后可以试试~