Jump to content

User:SWinxy/V (programming language): Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
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 😳]<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>
| 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 V] [https://gitdab.com/vorelang Vorelang]
| 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

V
The V logo
Paradigms
Designed byAlexander Medvednikov[1]
DeveloperAlexander Medvednikov[1] & Other open source contributors
First appeared2019; 6 years ago (2019) [2]
Stable release
V 0.1.20[3] / September 2019; 5 years ago (2019-09)
Typing discipline
Platformx86-64
LicenseMIT[3][4]
Filename extensions.v, .vh
Websitewww.vlang.io
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 (/v/, 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".

  1. ^ a b c "Volt | <1 MB desktop client for Slack, Skype, Twitter, Facebook, Gmail and more". Retrieved 17 November 2019.
  2. ^ Open-sourced with V 0.0.12
  3. ^ a b "The V Programming Language". Retrieved 17 November 2019.
  4. ^ 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 |title= (help)
  5. ^ "Introduction". Ring 1.10 documentation. Ring (programming language). Retrieved 27 June 2019.
  6. ^ "V 0.0.12 open-source release · vlang/v@d32e538". Retrieved 17 November 2019.
  7. ^ "The V Programming Language: Vain or Virtuous? | Hackaday".
  8. ^ "The V programming language is now open source - is it too good to be true? | Packt Hub". Retrieved 17 November 2019.