V (programming language)

General-purpose programming language inspired by Go, Kotlin, Oberon, Python, Rust, and Swift

V, also known as vlang, is a compiled programming language created to be easier for using, reading, maintaining, and making safer programs.[3][4] It was created by Alexander Medvednikov in 2019.[5]

V
A capitalized letter V colored blue
The official V logo
Paradigmsfunctional, imperative, structured, concurrent
Designed byAlexander Medvednikov[1]
First appeared20 June 2019; 5 years ago (2019-06-20)
Stable release0.4.8[2] Edit this on Wikidata / 28 September 2024; 33 days ago (28 September 2024)
Typing disciplinestatic, strong, inferred
Implementation languageV
Platformx86-64
OSLinux, macOS, Windows, FreeBSD, OpenBSD, NetBSD, DragonflyBSD, Solaris
LicenseMIT
Filename extensions.v, .vsh
Websitevlang.io
Influenced by
Go, Kotlin, Oberon, Python, Rust, Swift

Some technical details

change

V is also general-purpose, which means that it can be used for different purposes, to include creating different kinds of applications that can be cross-platform.[5] V applications can be created to run on many different operating systems. The language also has various rules and features for greater program safety.[5][4]

Users don't have to care about managing memory themselves, unless they want to, because V gives different options. Users can use a garbage-collector (GC), which is 1 of 4 other choices.[6][7][8] Advanced users can choose to turn the GC off and manage memory themselves, using the other options from V.[5][8]

V works well with C. Functions in C can be called for use in V.[4] It can translate C code into V.[4] Code in V can also be compiled to human readable C, JavaScript, and other languages.[5][7]

Examples

change

Here is a hello world program in V.

println("Hello world!")

Here is an example of using a variable:

  • Define by using := and a value.
  • Variables that don't have mut, have values that can't be changed.
  • Variables that have mut before them can change values using =.
a := 1 // value can not be changed
mut b := 2 // value can be changed
b = 3

Here is an example of using `if`, `else if` and `else` conditionals in V.

// Define entry point.
fn main() {
	a := 10
	b := 20
	if a < b {
		println("${a} < ${b}")
	} else if a > b {
		println("${a} > ${b}")
	} else {
		println("${a} == ${b}")
	}
	// Output: 10 < 20
}

Here are examples of how to use the for loop in V.

  • In V, all types of loops use the same `for` keyword.
  • This helps to make it easier to learn and separate them from other kinds of code.
// Define entry point.
fn main() {
    // Here is a condition `for` loop (also known as a `while` loop).
	mut count := 0
    for count < 5 {
        // some code
        count++
        println(count) // Prints numbers from 1 up to 5.
    }

    // Here is a range `for` loop.
    for i in 1..10 {
        println("Number: ${i}") // Prints numbers from 1 up to 9.
    }
	
    // Here is a map `for` loop.
	m := {
		"one": 1
		"two": 2
	}
	for key, value in m {
		println("${key} -> ${value}")
		// Output: one -> 1
		//         two -> 2
	}

	// Here is a bare `for` loop.
	mut num := 0
	for {
		num += 2
		if num >= 10 {
			break
		}
	}
	println(num) // Prints "10".
	
	// Here is a C style `for` loop.
	for i := 0; i < 8; i += 2 {
		// Don't print 4
		if i == 4 {
			continue
		}
	println(i) // Prints the numbers "0", "2", and "6".
	}
}

References

change
  1. "Creator of V". GitHub.
  2. "Release 0.4.8". 28 September 2024. Retrieved 28 September 2024.
  3. Knott, Simon (27 June 2019). "An introduction to V". Retrieved 27 June 2019.
  4. 4.0 4.1 4.2 4.3 Nasufi, Erdet. "An introduction to V - the vlang". DebConf. Retrieved 24 July 2022.
  5. 5.0 5.1 5.2 5.3 5.4 Rao 2021.
  6. Tsoukalos 2022.
  7. 7.0 7.1 Chakraborty 2023.
  8. 8.0 8.1 Emy, Jade (29 August 2023). "The programming language V 0.4 Beta is available". developpez. Retrieved 29 August 2023.

Further reading

change

Other websites

change