V语言简介

作者: 爱折腾的大懒猪 | 来源:发表于2019-07-02 05:05 被阅读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的神奇功能, 以后可以试试~


    相关文章

      网友评论

        本文标题:V语言简介

        本文链接:https://www.haomeiwen.com/subject/edoncctx.html