IT🐶后端技术

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

安装http模块, 需要libcurl.

V Tetris测试

在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的神奇功能, 以后可以试试~


上一篇下一篇

猜你喜欢

热点阅读