13

What do you think of this Language? It is a game changer or just another language which will soon die?

https://vlang.io/

Comments
  • 1
    I saw it some days ago.
    I wanna give it a try, looks super fun.
  • 1
    @c3r38r170 me too. I'm planning for some low level , I wonder how to do that.
  • 2
    I don't like the := shit tho'.
  • 5
    V is still around?

    Who knows, it may live out to be a decent language.

    But a Python / Go bastard child seems odd to me.
  • 1
    I doubt it's a game-changer, since it takes a lot for any language to be a game changer these days, but I can see it cutting significantly into go's market share since it's basically "go, but better."

    The error handling is definitely nicer than go and that alone would convince me to give it a try.
  • 1
    @c3r38r170 that looks like it comes from pascal or more pure mathematics.
  • 1
    I don't like any language that requires a keyword to declare a function. Maybe it was useful back in the day, but here in modern times it's just a sign of lazy language devs. Same goes for nonsense like `:=` as the assignment operator.

    Oh, wow, and they seem to be setting up lower_snake_case as the standard naming convention. Gross.
  • 2
    Seems interesting. Don't know where I would use it, but if it has pointers and unsafe memory access I can do something with it.
  • 1
    I fail to see why it's revolutionary, but it looks decent.
  • 0
    Every language is "just another language" no matter how new / innovative / well- designed... what matters is how YOU use it:
    - Wanna be an early adopter? Then there's no criteria, just choose what you like, and change your mind as often as you want
    - Wanna have an easier time making money? Browse the latest StarckOverflow dev survey for the most wanted / loved / paid languages. Or search github for "awesome [lang name]" to get a bird's eye view of the ecosystem (made by the people who DO love it)
  • 2
    @hamido-san I disagree, an innovative or well-designed language can be great in isolation, and a terrible language is mediocre at best even with the best ecosystem. For example, Ruby has a wonderful ecosystem and an insane amount of libraries, but because it violates every principle of sustainable engineering from implementation hiding to the localization of effects, and because it's actively hostile to static assertions, no amount of tooling will ever make writing ruby feel like you're interacting with a logical system and not like you're writing text, as opposed to languages that lend themselves to static analysis.
  • 9
    V is a pretty well known scam/vapor ware. It's purely hype and no substance. It's also pretty sad that at one point (not sure if still) the author of V was getting more in donations per month than Andrew Kelly, creator of Zig

    Here's a bit to read for those interested:

    https://reddit.com/r/...

    https://christine.website/blog/...

    https://twitter.com/warnvod/status/...

    https://news.ycombinator.com/item/...

    https://news.ycombinator.com/item/...
  • 1
    @12bitfloat came here just to say this. Things might have changed a bit more. But its past history in terms of the things promised and those delivered make it hard for people to trust the project.
  • 1
    Sounds very interesting but too ambitious and frankly too good to be true.
  • 0
    Kinda like Go

    but since there is a lot of news about Go dying soon i thing V will soon take the same route
  • 0
    Its a good concept from what V claims but until its stable its just for experimenting and learning IMO.
  • 0
    We'll see where it is in 10 years.
  • 0
    I hope it dies soon. I don't understand why there are new language that still use { and } and on top of that combine that with a bad intention style that does not align { and }.
  • 3
    @happygimp0 because syntactic whitespace is still very controversial and most devs find it bad.
  • 0
    @Lensflare Then at least use a readable indentation style.

    It is so stupid, the ones who don't want a whitespace based syntax put the brackets in a way that they have to look at the indentation.
  • 1
    @happygimp0 what do you mean? To put opening brace on a new line at the same level as the closing brace?
    This is also highly subjective and a matter of taste. Most modern languages do the brackets like V and it's perfectly readable for most devs.
    If you don’t like it, use your own bracket style. That’s the power of it.

    Personally I don’t like the snake case stuff but I don’t judge the language because of that, because it’s just preference and you can still use a different style if you like.
  • 0
    @Lensflare This is not subjective. Well, the indentation level of the { and } is, but not that they are on the same indentation level or on the same line. The { and } belong together, they mark the beginning and ending of a block, the indentation style should reflect that. If someone is failing to gasp that, he will make more errors.

    It is even more stupid when some people who using such an unreadable style say you shouldn't look at the { and } but the indentation level and then also say that whitespace based syntax is bad.

    Things that are subjective are: How deep one indentation is, tab vs spaces (as long as they are not mixed), spaces around operators, newline after the { or not, ... The position of { relative to the } is not subjective, since it reflects what the compiler has to do. I hate that this unreadable styles are so popular.
  • 3
    @happygimp0 The { and } mark the beginning and ending of the block, therefore they go on the lines before and after the block and those lines are indented less than the block itself. Whether there is something else on those lines is up to the individual coding style. 1tbs argues that dedicating entire lines to the braces is an unneccessary waste of screen real estate.

    The opponents of indentation-based blocks typically argue that it makes breaking stuff up to multiple lines difficult, and I can attest to that. Python is the only language I've met so far where I'm not allowed to do this:

    [attached graphic]

    which is especially ironic for a language that targets scientists, if you ask me.

    Whether you agree with either of those or not, you have to realize that they are orthogonal aspects, and there are a number of other partially dependent aspects to either question.
  • 2
    @happygimp0 I absolutely get what you are saying and I understand your point. But it IS subjective.
    Your assumption is that this style leads to mistakes in reading or understanding code. It doesn‘t. It may be for you. And that‘s why it is subjective.

    Your other argument is that the indentation level is always there in addition to the braces. This is also wrong.

    Example:
    let names = items.map { $0.name }

    No, i don‘t see the need to break this into 3 or even 4 lines.

    It‘s ok for indentation to be optional just like all naming conventions are optional. It may be redundant but that‘s ok. It makes code more readable even if the structure is dictated by braces.
  • 2
    @Lensflare In Python that would be a lambda, which is also a single line. Python's indentation-based blocks don't mean that you need indented lines wherever you would normally put braces. This is also perfectly normal:
  • 1
  • 1
    I forgot to add:

    Often it makes sense to use indentation in places which are not blocks of statements. Consider the construction of an object:

    Label(
    icon: Icon(
    name: "iconName",
    color: .green
    ),
    text: Text(
    text: "my label",
    size: Size(
    width: 100,
    height: 50
    )
    )
    )

    Here I‘m using whitespace purely for readability.
    Ho do semantic whitespace languages handle that?
  • 2
    @Lensflare Python in particular parses anything within parentheses as a single expression and the amount of whitespace is never significant in an expression, so you can safely indent parameter lists.

    PEP8's recommendation for how to break parameter lists to multiple lines is a whole other can of worms though, I'll never understand why they believe that's beneficial in all but the simplest cases. It also rings back to the format I presented above which nearly every language other than Python supports.

    [fig: PEP8 compliant function with really long parameter list]
  • 0
    @Voxera That's why I hate it, Pascal gives me bad flashbacks...
  • 1
    @c3r38r170 for me turbo pascal was only good memories ;)

    Besides C# my favorite languages.
  • 0
    @12bitfloat the vaporware notion made me interested in seeing how the content has changed. So I went down the github rabbit hole of the V project's main repo. Lots of good things have changed, people are reporting and bugs are being squashed out or at least investigating.

    It seems more like an honest effort now. I do believe that the main developer of the project is inexperienced, talented, but inexperienced.

    I have been checking on the projects that people are building with V, Vinix was quite impressive to me(mini OS built with V) and there are many more projects that people are building with it. I really want to believe man, I will play around with the soruce code and find out a bit more. Maybe I can even contribute to the project.

    I like what I see on the lang, kinda gives me a Go++ vibe.

    We'll see
Add Comment