User:SWinxy/V (programming language): Difference between revisions
Tags: Mobile edit Mobile web edit |
Tiraboschi (talk | contribs) Very quirky. | Undid revision 932513629 by 37.30.35.84 (talk) |
||
Line 14: | Line 14: | ||
* [[Procedural programming|procedural]] |
* [[Procedural programming|procedural]] |
||
}} |
}} |
||
| designer = [https://github.com/medvednikov Alexander Medvednikov |
| designer = [https://github.com/medvednikov Alexander Medvednikov]<ref name="voltapp">{{Cite web|url=https://volt-app.com/about|title=Volt <nowiki>|</nowiki> <1 MB desktop client for Slack, Skype, Twitter, Facebook, Gmail and more|language=en|accessdate=17 November 2019}}</ref> |
||
| developer = [https://github.com/medvednikov Alexander Medvednikov]<ref name="voltapp" /> & Other open source contributors |
| developer = [https://github.com/medvednikov Alexander Medvednikov]<ref name="voltapp" /> & Other open source contributors |
||
| latest release version = [https://github.com/vlang/v/commit/1796869da7bcf269554c95f798942ab2e3b01787 V 0.1.20]<ref name="vlangio">{{Cite web|url=https://www.vlang.io|title=The V Programming Language|language=en|accessdate=17 November 2019}}</ref> |
| latest release version = [https://github.com/vlang/v/commit/1796869da7bcf269554c95f798942ab2e3b01787 V 0.1.20]<ref name="vlangio">{{Cite web|url=https://www.vlang.io|title=The V Programming Language|language=en|accessdate=17 November 2019}}</ref> |
||
Line 27: | Line 27: | ||
}} |
}} |
||
| implementations = [[GNU Compiler Collection|GCC]], [[Clang]], [[Microsoft Visual C++|MSVC]] |
| implementations = [[GNU Compiler Collection|GCC]], [[Clang]], [[Microsoft Visual C++|MSVC]] |
||
| dialects = [https://www.vlang.io/docs |
| dialects = [https://www.vlang.io/docs Good Ol' Fashioned V] |
||
| influenced by = [[:Category:C programming language family|Numerous]]: [[AMPL]], [[AWK]], [[C shell|csh]], [[C++]], [[C Sharp (programming language)|C#]], [[Objective-C]], [[D (programming language)|D]], [[Go (programming language)|Go]], [[JavaScript]], [[Julia (programming language)|Julia]], [[Limbo (programming language)|Limbo]], [[LPC (programming language)|LPC]], [[Perl]], [[PHP]], [[Pike (programming language)|Pike]], [[Processing (programming language)|Processing]], [[Python (programming language)|Python]], Ring,<ref name="Ring and other languages">{{cite web |title=Introduction |url=http://ring-lang.sourceforge.net/doc1.10/introduction.html#ring-and-other-languages |website=Ring 1.10 documentation |accessdate=27 June 2019 |publisher=Ring (programming language)}}</ref> [[Rust (programming language)|Rust]], [[Seed7]] |
| influenced by = [[:Category:C programming language family|Numerous]]: [[AMPL]], [[AWK]], [[C shell|csh]], [[C++]], [[C Sharp (programming language)|C#]], [[Objective-C]], [[D (programming language)|D]], [[Go (programming language)|Go]], [[JavaScript]], [[Julia (programming language)|Julia]], [[Limbo (programming language)|Limbo]], [[LPC (programming language)|LPC]], [[Perl]], [[PHP]], [[Pike (programming language)|Pike]], [[Processing (programming language)|Processing]], [[Python (programming language)|Python]], Ring,<ref name="Ring and other languages">{{cite web |title=Introduction |url=http://ring-lang.sourceforge.net/doc1.10/introduction.html#ring-and-other-languages |website=Ring 1.10 documentation |accessdate=27 June 2019 |publisher=Ring (programming language)}}</ref> [[Rust (programming language)|Rust]], [[Seed7]] |
||
| operating-system = {{flatlist| |
| operating-system = {{flatlist| |
Revision as of 17:25, 22 January 2020
Paradigms | |
---|---|
Designed by | Alexander Medvednikov[1] |
Developer | Alexander Medvednikov[1] & Other open source contributors |
First appeared | 2019[2] |
Stable release | |
Typing discipline | |
Platform | x86-64 |
License | MIT[3][4] |
Filename extensions | .v, .vh |
Website | www |
Major implementations | |
GCC, Clang, MSVC | |
Dialects | |
Good Ol' Fashioned V | |
Influenced by | |
Numerous: AMPL, AWK, csh, C++, C#, Objective-C, D, Go, JavaScript, Julia, Limbo, LPC, Perl, PHP, Pike, Processing, Python, Ring,[5] Rust, Seed7 |
V (/viː/, as in the letter v), also known as Vlang, is a general-purpose, procedural computer programming language designed and maintained by Russian programmer Alex Medvednikov. V is very similar to Go, ghosting its syntax and concurrency system, but implements a memory management scheme and other safety features from Rust. The official release of the V compiler was originally written in Go, but is now self-hosting and can further transpile to Javascript and C. V was written to specifically focus on being easy to learn, fast, and safe. A consistent claim of the language is its ability to compile up to 1.2 million lines of code per second, with the resulting binary performing within 3% of an equivalent C program, and that it can compile its own compiler in under half a second.[4]
History
The V programming language was first documented in March 2019, after a period of being listed as a new language used specifically to create Volt, a social networking app created by V designer Alex Medvednikov.[1] Until June, no source code for V was released; the website simply hosted the specification for the language, its features, and an online 'playground' to test V code. on 22 June, the V GitHub repository received its first commit, version 0.0.12.[6] It was created with the intent of having a very small memory footprint, small binary sizes, fast compilation, and of being safe, with features such as checking for type-errors at compile time, lacking null pointers, and defaulting to immutable objects. At launch, V only supported Linux and macOS.
As of 17 November, V is considered to be in alpha, as many of its claims are still a work in progress.[4] According to V's official website and GitHub repository, the first stable release, version 0.2, is due late November 2019, and release 1.0 is due December 2019.[4]
Criticism
V has received multiple of criticisms across sources, generally questioning its claims to performance, safety, and lack of dependencies. It has, especially prior to the source code's release, been considered vaporware.[7][8]
On 22 June, Medvednikov stated in the release announcement for V's source code release that there are "lots of hacks I'm really embarrassed about" and that it contains "a lot of ugly C code", but that it will be "quickly cleaned up in the coming weeks".
- ^ a b c "Volt | <1 MB desktop client for Slack, Skype, Twitter, Facebook, Gmail and more". Retrieved 17 November 2019.
- ^ Open-sourced with V 0.0.12
- ^ a b "The V Programming Language". Retrieved 17 November 2019.
- ^ a b c d "vlang/v: Simple, fast, safe, compiled language for developing maintainable software. Compiles itself in <1s with zero dependencies. Stable release in November 2019. https://vlang.io". Retrieved 17 November 2019.
{{cite web}}
: External link in
(help)|title=
- ^ "Introduction". Ring 1.10 documentation. Ring (programming language). Retrieved 27 June 2019.
- ^ "V 0.0.12 open-source release · vlang/v@d32e538". Retrieved 17 November 2019.
- ^ "The V Programming Language: Vain or Virtuous? | Hackaday".
- ^ "The V programming language is now open source - is it too good to be true? | Packt Hub". Retrieved 17 November 2019.