The V Programming Language

@vlang
Simple, fast, safe, compiled language for developing maintainable software.
364 Posts · View blog posts
<Prev 1 2 3 4 5 6 7 8 Next>
Blog post:

The Complete Beginner Guide to CLI Apps in V

The Article Series

  1. The Complete Beginner’s Guide to CLI Apps in V (You are here)
  2. Elevate Your V Project With Unit Tests
  3. Setting Up GitHub Actions for V

Goal

Our goal is to make a simple CLI

...

There's now a great V plugin for Sublime Text:

github.com/elliotchance/vlang-sublime

All V's backends have been split up into separate processes.

As the result, building V just got 26% faster:

RT @npned: Interested in building web applications with V? Check out this new post showcasing my web framework, Vex, written by @hungryblue…

RT @preslavrachev: Thought, I'd put @v_language to the test for this year's #AdventOfCode. Here's a 1:1 with the same solution in Go.

Pick…

On the latest i9 Alder Lake CPU, V compiles in ~0.3 seconds.

That's about 10% faster than on M1.

The V project now has a blog at http://blog.vlang.io!

The first post:

blog.vlang.io/getting-started-with-v

A video about Vinix, a new OS/kernel written in V.

Booting, running GNU coreutils, GCC, g++, V, vim.

www.youtube.com/watch?v=mJG4Zg6Ekfw

RT @navulepavan: Data Synchronization in Concurrent tasks using locks in V Language @v_language www.tutlinks.com/data-synchronization-locks-shared-objects-v-lang/ via @tutlinksdotco…

V's standard library now has a small TOML parser:

github.com/vlang/v/tree/master/vlib/toml

It's fully compatible with TOML 1.0.

Lots of work done on the V.js backend recently.

Soon it'll be possible to write both backend and frontend code for web apps in V.

Here's a 2D Canvas API demo:

github.com/vlang/v/tree/master/examples/js_dom_draw

VLS (V Language Server) and the VS Code extension had lots of improvements and bug fixes recently.

marketplace.visualstudio.com/items?itemName=vlanguage.vscode-vlang

Here's a demo with autocomplete and error highlighting:

It's now possible to do more complex array initialization by using each individual element of the array:

vsql, a database written in V, now supports transactions:

github.com/elliotchance/vsql/releases/tag/v0.15.0

The first version of the mascot was received very well, so we decided to go with it.

What should it be named?

The V repository is participating in Hacktoberfest. All PRs are automatically eligible.

#Hacktoberfest

The first version of the V mascot: the V weasel!

V's code generation is now parallel (running on all CPU cores).

This results in a faster compiler. For example, building V itself with `v self` is now about 20% faster.

The parser will be parallelized as well.

The traditional non-WASM playground is back!

It runs on the server, always has the latest V, and caches the program in the browser.

In the near future it will be used in the docs/tutorial to instantly run V code in the browser.

play.vlang.io

Unsigned right shift operators >>> and >>>= have been added to V today.

They work exactly like in Java.

V now has a -nofloat option, which is useful for writing kernels and for embedded systems without an FPU.

Vinix, a kernel in V, is now using it.

V UI now supports Android's virtual keyboard and JNI interop:

A new cool example has been added to the V repo: a multithreaded Mandelbrot viewer in under 200 lines.

github.com/vlang/v/blob/master/examples/gg/mandelbrot.v

V's built-in web framework used to be single threaded, which was unacceptable.

It's now multithreaded, all CPU cores are used.

The performance is of course much better now, we'll be publishing the benchmarks soon.

RT @hungrybluedev: My BigInteger PR for @v_language was merged today! 🥳

It is implemented in pure V so it should be available on all backe…

V now supports generic interfaces.

V CI has been running on Linux, macOS, and Windows.

From now on it also runs on FreeBSD for each commit, to ensure everything works fine on this OS.

V is very extensively tested.

The entire project has 216k lines of V code right now.

51k of those are tests.

V now has initial closure support.

Linux/amd64 only for now.

Vinix, an OS written in V, now runs the nano editor:

vpm, V's package manager, now supports installing modules from git/hg repos.

For example:

v install --git github.com/vlang/ui

There's now a -show-depgraph option to generate a nice image with project's dependency graph.

Do you prefer a special syntax for documentation comments (C# style) or no special syntax (Go style)?

vsql: a single-file SQL database written in pure V with no dependencies. Created by Elliot Chance.

github.com/elliotchance/vsql

Compiling a hello world program with GCC on Vinix, a new OS written in V:

V now supports Haiku and SerenityOS.

V UI now has multiline textboxes with selection support:

Vinix, an OS written in V, can now run a C compiler and V itself!

It also has a package manager powered by xbps and a builds page:

pkgs.vinix-os.org/repos/rolling
https://builds.vinix-os.org

A stock sync tool was re-written from PHP in V.

Execution time went down from 1 day to 15 minutes:

RT @yeboahnanaosei: Yesterday, I tried a new language @v_language. I wrote a tiny scrapper that returns a JSON list of the members of parli…

There's now a coreutils implementation in V. The work has just started:

github.com/vlang/coreutils

Strings can now be converted to arrays of runes (unicode codepoints) with `str.runes()`.

This is similar to Go's `[]rune(str)`.

In V we decided not to use casting syntax for operations that result in allocations.

Vinix, an OS written in V, now runs mlibc and bash!

github.com/vlang/vinix

It's now possible to print a JSON representation of any V file's AST with

v ast file.v

RT @kanzitelli: Writing scripts in @v_language is the next level of enjoyment! Thanks, Alex, for initiating such a great project! t…

V's networking module now supports IPv6!

Word counter written in V. 100 lines of code, 4x faster than GNU wc.

Blog article + code:

github.com/schicho/vwc

We have an open paid position to work on V's networking module, primarily on ipv6.

If you are interested and have experience in this area, please send an email to alexander[аt]vlang[dоt]io.

The V compiler used to have one dependency: a C compiler. Something that developers are likely to have, but still a dependency.

Now everything you need to compile V programs, including a small C compiler, is distributed in the 6 MB zip package downloadable from the home page.

Vinix, an OS written in V, just got an initial PS/2 keyboard driver implementation:

github.com/vlang/vinix/commit/7bc24ab87a05f2011644bb9f49fbc6d6b145bb1c

<Prev 1 2 3 4 5 6 7 8 Next>