News for hackers. Stuff that matters.
Re:Vim9 Script Feature-Complete by capableweb on Saturday January 01, 2022 @11:56AM (#29760210)
> building a new language from scratch is just not worth it

Seems this has been said about every single language ever (except the first I guess?), even languages as Golang and Rust have gone through a phase where many question "why even build a new language when X does Y and Z perfectly fine already?", and then they end up really popular anyways as they solved some slice of problem(s) is a particular way that many like.

Re:Vim9 Script Feature-Complete by blindseer on Saturday January 01, 2022 @12:17PM (#29760417)
For every golang and rust, there's probably tens or hundreds of programming languages that will never end up popular. I guess that is to say the probablity that vim9script will succeed isn't high.

And golang initially started off as a replacement for C, and then pivoted because they couldn't achieve that purpose ... now, it's touted for simplicity. When Rust was a pet project of Graydon, it looked VERY different to what it is right now. My point is that vim9script as it stands right now doesn't solve any real world use case that lua wouldn't be better suited for. Maybe vim9script will be better for something else entirely in the future, and that will be, as you describe something people may like. But right now we don't even know what that is, and surely that can't be a reason to decide to go explore language design in such a large community such as the one vim has? It is definitely Bram's right to do so, but I fear that people will rather move to neovim or vscode or emacs than learn and write vim9script, and as a user of that community I think that would be bad.

Also, it's not like people were proclaiming vimscript was awesome you know. There's a talk from one of the core devs of vim-lsp on YouTube [1], on features of vimscript, and literally in every slide the presenter caveats the vimscript feature in one way or another. I find it hilarious, it's a perfect example of the frustration of when writing plugins with vimscript.

[1] https://www.youtube.com/watch?v=7fcJWwl1-SU

Re:Vim9 Script Feature-Complete by 41b696ef1113 on Saturday January 01, 2022 @01:03PM (#29760880)
I think there is a big difference between designing a new freestanding language vs one designed for extensions/plugins. The freestanding languages are free to iterate and incorporate novel, wacky ideas. An extension language should do the best it can to avoid rocking the boat.

I have a dear place in my heart for tiny focused languages and think if Vim had stated they were going to suddenly make Wren, Gravity, Janet, etc first class languages, there would be less reluctance than a new thing.

Re:Vim9 Script Feature-Complete by ncmncm on Saturday January 01, 2022 @03:22PM (#29762297)
Nate's Law says, "Only an idiot expects anybody to use their new language". First corollary is "All new languages are designed by idiots".

Very, very rarely, lots of people find reasons use a language designed by (such) an idiot, anyway. We are lucky when the language is not terrible, because how good it is even more rarely affects whether it will take off.

In practice, languages almost always ride to popularity on the back of something else. C rode Unix, C++ rode C, Java rode Sun Microsystems' $billions and the promise of getting off Microsoft's framework-hell treadmill, C# rode .Net, Javascript rode HTML (and then web services because the same people were coding both, at first), Go rode Google and Docker. Lua got where it is by being really easy to embed, and being simple, powerful, not weird, and (lately) fast.

Python got there mostly the hard way, but also by being easy to embed and to extend with C ABI-compatible plugins, despite being weird and extra-super-slow.

Amazon, BTW, might be unique among IT behemoths in not hustling its own walled-garden language. (Or maybe I just don't know about it.)

Re:Vim9 Script Feature-Complete by fnord123 on Saturday January 01, 2022 @04:06PM (#29762789)
I think there is some concern among some people in the rust community that amazon will gain more influence over the steering of rust to guide it towards it's own walled garden.

I don't share that sentiment and I personally think that as amazon adopts rust it will gain rust community principles. But I'm probably wrong.

Re:Vim9 Script Feature-Complete by pasabagi on Saturday January 01, 2022 @05:51PM (#29763731)
I don't think making a new language is so much more crazy than making any other piece of tooling. Obviously, it's going to have to have compelling advantages to convince people to move from the tools they know and love. But, if you're putting in the time, you probably imagine you have some compelling advantages. Rust is an obvious example of this, as is something like Java, or C++.
Re:Vim9 Script Feature-Complete by ncmncm on Monday January 03, 2022 @09:01PM (#29790232)
Java and C++ won the lottery. It is far too early to tell whether Rust will, or will sink out of sight, like Ada. History predicts the latter.
Re:Vim9 Script Feature-Complete by pasabagi on Tuesday January 04, 2022 @03:46AM (#29792703)
I think you're underselling Java and C++. The JVM idea is clever because it means you do all the portability stuff as part of the language, rather than asking programmers to do ifdefs for every platform. Making it a safe, memory-managed language is clever because most programmers don't care about the performance hit, but they do care about the bugs.

C++ has equally compelling advantages. If you write less code, you get less bugs, and more work done at less eyeball-hours. If you can do that 'zero-cost', with abstractions, a lot of people who care about performance are going to find that really exciting.

Rust basically continues this pattern.

Obviously you have to sort of win the lottery as well, because you need enough people to bring the language from clever-research-project to useful industrial tool, but I think the fundamental point is that successful languages have both luck, and a killer feature.

I imagine all of these languages will sink out of sight at some point, because it's just clear that as a culture we're in the very early days of living with computers, so these languages are a bit like bone needles or flint axes. I still think the innovations contained in them will go on to inform future development.

Re:Vim9 Script Feature-Complete by victorvosk on Saturday January 01, 2022 @11:58AM (#29760231)
Go and Rust compared to vim script is an Apples to Space Shuttle comparison.
Re:Vim9 Script Feature-Complete by capableweb on Saturday January 01, 2022 @12:01PM (#29760261)
Yes, if you compare their functionality, performance and on a bunch of other attributes sure. But I'm not doing that, I'm comparing them on the attribute of "new programming language", which all of them have been at one point or another.

It might just have been that Vimscript didn't go the way it was intended to, or people moved towards different paradigms to doing modal editing in a sane(r) way, but maybe in some alternative universe, Vimscript became a popular scripting tool.