The V Programming Language

22 pointsposted 21 hours ago
by klaussilveira

33 Comments

croemer

20 hours ago

johnisgood

20 hours ago

In the last submission, someone said "> With the exception of Go, every language that has become popular in the past 10 years, built on something else.", which is funny, because Factor has such an extensive set of libraries from just ~4 active developers.

Sure, it an old language now, but if you check the commit history, you can see that MANY of these libraries have been developed by one guy (lead dev of Swift for a while now) only. I was surprised at how extensive it really is. More so than Go. Now imagine it actually had more developers and a much more active and vibrant community. :P

https://github.com/factor/factor/tree/master/basis/

https://github.com/factor/factor/tree/master/core

https://github.com/factor/factor/tree/master/extra

Heck, they even implemented CBOR: https://github.com/factor/factor/blob/master/basis/cbor/cbor.... Look at the code, seems elegant and simple, IMO.

riffraff

20 hours ago

to be fair, Slava Pestov appears to be one of those legendary 100x programmers, or perhaps a pseudonym for a group like Nicolas Bourbaki, or some form of non-human being.

iaaan

19 hours ago

As someone who does a lot of Go, glancing over Factor's syntax in your links makes my eyes glaze over. I'm sure it's perfectly understandable if you take the time to learn it, but languages like Go and Python have the benefit of being nearly immediately understandable for anyone with prior experience

johnisgood

15 hours ago

I do love Go for that. Python less so, lots of syntactic sugar, less immediately understandable than Go, IMO, just the list comprehension is less understandable, i.e. I would rather have a for loop when I am reading a reference implementation.

As for Factor, of course, it is a concatenative language. You not only have to learn it, your brain probably has to work in a certain way. Common Lisp vs. Forth vs. Haskell vs. C. They are all at the different end of a spectrum I would say.

jerf

19 hours ago

I'm not sure what point you intend, since Factor has never been popular. No offense intended to the authors and no shade intended, but I think that's pretty clearly the case.

There are other not-popular languages that build up from scratch. I'd hesitate to go too crazy in assigning causality to this particular characteristic. Being stuck to an existing ecosystem has disadvantages too. But it's not a counterexample to the statement you quoted.

johnisgood

15 hours ago

What I am saying is that Factor has had an extensive ecosystem despite it never catching on. I cannot imagine how many libraries there would be were it had a vibrant community and ecosystem. Sometimes I do ponder.

In any case, "Factor has such an extensive set of libraries from just ~4 active developers." is nuts, in a good way.

lifthrasiir

5 hours ago

My last comment about V [1] still applies today: V is now well past its infancy with a fancy drama and is a working product, but still seeks to become jack of all trades, that is, too ambitious to be successful. Hopefully it will (and should) change as 1.0 approaches.

[1] https://news.ycombinator.com/item?id=37304691

johnisgood

20 hours ago

After the drama, I stopped checking the progress on the language. I think at this point I may stick to C3 only and probably contribute, since it may be the only language that aims to solely improve on C. Odin seemed fine, too, but it seems like it is growing out of the promises of "C replacement". Zig definitely outgrew it a long time ago.

omnicognate

20 hours ago

In what way has Zig outgrown the promise of "C replacement"? (Not meant argumentatively. I'm just starting to learn Zig and am curious to know.)

johnisgood

15 hours ago

I cannot get into specifics right now (should sleep soon), but Zig code is not as simple as C is, I would say. If you are fine with it, then you should be OK. All the "@..." stuff on top, it is kinda meh to me. Zig does not make me want to replace C with it.

klaussilveira

20 hours ago

Drama?

TUSF

19 hours ago

I'm not who you were asking, but my only experiences with vlang was years ago when its marketing was making false claims about what its capabilities were, while pretending to be an already production-ready language. This in turn harbored tons of distrust about any of its promises of future capabilities too.

At this point, I don't think it matters if the V programming language has actually fixed all of those issues and its marketing is completely truthful now. The language's perception is tainted, and it'll take a herculean effort to fix that.

user

18 hours ago

[deleted]

mrkeen

18 hours ago

baranul

10 hours ago

That isn't a real reviewer, but a person that had a clear grudge and who was engaged in hostilities against the V community. The persons involved in those series of blog attacks don't review other programming languages, usually have a history of continual hostilities, and are specifically targeting V.

Things are also being purposely distorted. Because we can easily check that competing languages have thousands of open issues. Zig, for example, has over 3,000 issues and 3X more than V. Anybody can take several open issues from any language, then pretend the sky is falling, even though the language is still in alpha or beta.

Real reviewers, have reviewed multiple other languages and are widely known for doing so. Below are examples of fair and real reviewers:

[1] Is V Lang Better Than Go And Rust? Let's Find Out

(Anthony GG - Go programmer that likes V)

https://www.youtube.com/watch?v=puy77WfM1Tg

[2] V - Best Programming Language to Learn in 2023?

(Code to the Moon - reviewed multiple languages)

https://www.youtube.com/watch?v=jr1EBaLkjfc

[3] First Impression - V programming language

(Mike Shah (PhD) D programmer that likes V)

https://www.youtube.com/watch?v=dmVKerNY-fQ

bobajeff

20 hours ago

Everytime this is posted someone says it's a vaporware and/or a scam. I've never looked into it myself so i don't know.

baranul

2 hours ago

A lot of the false accusations and other dirty tactics link back to competitors and bad actors. In many circumstances, people are not getting a balanced view of the situation. Many people use and love V. That's why it has nearly 37,000 stars, over 2,000 forks, and 791 contributors.

What's sad, is how the V community and fans are unrelentingly attacked and blanked by rivals. Where from their side, many are just trying to enjoy or develop the language.

baranul

9 hours ago

Some relatively recent reviews, in English. Lots of good reviews in other languages (Chinese, Korean, Portuguese, French) as well.

Keep in mind that V is still in beta. These are from fair and neutral parties:

[1] Between Rust and Go, I Choose V (William Elimbi)

https://elimbi.com/posts/rust-vs-go-vs-v/

[2] V Language: Simplicity Made Sexy (Hash Back)

https://medium.com/@connect.hashblock/v-language-simplicity-...

[3] About V (V S01E01 Intro - from Antono2)

https://www.youtube.com/watch?v=b_voaf4Qw4w

[4] My foray into V (from Go developer)

https://kristun.dev/posts/my-foray-into-vlang/

anilgulecha

20 hours ago

IMO, vlang hasn't had the best of showcases and impressions (perhaps due to over-promising or hyping) set in HN. But it keeps coming up.

I think it's worth re-looking at it anew - it brings a good collection of ideas in PL space.

pwdisswordfishz

20 hours ago

There are much better designed languages in this niche, that aren't developed by fraudsters.

baranul

9 hours ago

That's defamation. Above that, these false characterizations look to be perpetuated by direct competitors of V, engaging in very dirty tactics.

The leadership of competing languages should be showing more ethical integrity and professionalism, to reduce high levels of toxicity coming from their communities.

zamalek

20 hours ago

A ton of these new system languages can't seem to let go of exceptions (and/or null), which is increasingly being shown to be bad design. I would wager good money that a significant majority of those who disagree have not used exceptionless languages in anger.

Personally, I would learn any of them for a job - but not for joy. Exceptions subtract joy.

V is definitely worth looking at (but I have found the time yet).

emptysongglass

20 hours ago

Can you elaborate on both points?

andrewflnr

20 hours ago

Check the "previous discussions" link dump. :)

lagniappe

20 hours ago

Man I got shit to do

andrewflnr

20 hours ago

Fair, feel free to ignore V entirely then.

user

20 hours ago

[deleted]

desireco42

20 hours ago

OK since nobody is commenting... my first impression.

Homepage is old fashioned, I loved := Pascal assignment, didn't love {} curly braces... why do we need those.

I went through few code examples and they were very clean, probably would be good to show more on homepage.

I will spend more time learning about your goals and such, which is what would help me understand it better.

andrewflnr

20 hours ago

Be sure to actually run the compiler and check that it actually does what it claims. Let us know how it goes.

xigoi

an hour ago

I tried it a few months ago and it generally worked fine, although it had rough edges.

desireco42

20 hours ago

I asked Gemini to summarize advantages and it did decent job:

Based on the information from the V programming language website, here is a summary of its key benefits and advantages:

Simplicity and Maintainability: V is designed with a small number of keywords, making it easy to learn, often in a single weekend. This simplicity leads to readable and maintainable code.

Safety: The language incorporates several safety features, including bounds checking, mandatory error checks, and a default for immutable variables. It also has no undefined values.

Performance: V is a fast, compiled language with minimal memory allocations. It boasts impressive compilation speeds of 80k to 400k lines of code per second.

Flexible Memory Management: It offers a default minimal tracing garbage collector, an experimental autofree mode, and the option for manual memory management.

Painless Deployment: V compiles applications into a single binary with no external dependencies, which simplifies deployment and allows for easy cross-compilation.

Built-in Tools: The language comes with a variety of built-in tools, such as a testing framework, a code profiler, and an automatic documentation generator.

Specific Features: Other notable features include hot code reloading for instant changes, a powerful cross-platform graphics library, and a lightweight, cross-platform GUI library (V UI).