<story><title>Vim9: An experimental fork of Vim to explore making Vim script faster and better</title><url>https://github.com/brammool/vim9/blob/master/README.md</url></story><parent_chain><item><author>noch</author><text>Why can&amp;#x27;t the default be to write extensions in C&amp;#x2F;C++&amp;#x2F;Rust&amp;#x2F;zig&amp;#x2F;jai or any compiled language with which one can produce a .dll or.so?&lt;p&gt;Why can&amp;#x27;t application developers abandon this strange habit of adding a slow &amp;quot;scripting&amp;quot; language?&lt;p&gt;Why not provide a versioned C API and be done with it?&lt;p&gt;A compiled language would allow us to use the best debugger and compiler on our systems and performance would be in the extension writer&amp;#x27;s hands and would eliminate the frustrating need to learn yet another scripting language.</text></item><item><author>CGamesPlay</author><text>So, if the new language is fundamentally incompatible with the old VimScript, why keep using VimScript? Lua already seems pretty fast, why not just make a fork where Lua is the default scripting language?&lt;p&gt;(Note, not considering JavaScript in the benchmarks seems like a pretty big oversight before making a conclusion of new default language.)</text></item></parent_chain><comment><author>coldtea</author><text>&amp;gt;&lt;i&gt;Why can&amp;#x27;t application developers abandon this strange habit of adding a slow &amp;quot;scripting&amp;quot; language?&lt;/i&gt;&lt;p&gt;How is it strange? Your suggestion sounds even more bizarro. It&amp;#x27;s not like those developers don&amp;#x27;t know about shared libs and .so files.&lt;p&gt;It&amp;#x27;s that:&lt;p&gt;a) Programming in C&amp;#x2F;C++&amp;#x2F;Rust is more cumbersome (than in a dynamic&amp;#x2F;scripting&amp;#x2F;gc language), and throws off tons of potential extension developers.&lt;p&gt;b) building extensions as .so even more so, adds different builds per OS&amp;#x2F;architecture, compilation steps, and tons of potential issues, both for setting up your extension building and for delivering it.&lt;p&gt;c) encouraging extensions written as .so in different languages, means a smaller pool of common reusuable extension code (each extension will reinvent several wheels). Whereas people could easily develop libs in the editors extension language and share them for re-use in others&amp;#x27; extensions.&lt;p&gt;d) an issue in a C&amp;#x2F;C++&amp;#x2F;unsafe Rust etc extension will bring down the whole editor. In an embedded language that just calls API you can mitigate it easily.&lt;p&gt;f) same for memory leaks and such.&lt;p&gt;AAA game studios, which are hardcode C++ users with high performance &amp;#x2F; low latency needs, and have gone to using embedded scripting languages (with great success) and for some reason mere editor developers should abandon them and go pure C ABI?</text></comment>
<story><title>Vim9: An experimental fork of Vim to explore making Vim script faster and better</title><url>https://github.com/brammool/vim9/blob/master/README.md</url></story><parent_chain><item><author>noch</author><text>Why can&amp;#x27;t the default be to write extensions in C&amp;#x2F;C++&amp;#x2F;Rust&amp;#x2F;zig&amp;#x2F;jai or any compiled language with which one can produce a .dll or.so?&lt;p&gt;Why can&amp;#x27;t application developers abandon this strange habit of adding a slow &amp;quot;scripting&amp;quot; language?&lt;p&gt;Why not provide a versioned C API and be done with it?&lt;p&gt;A compiled language would allow us to use the best debugger and compiler on our systems and performance would be in the extension writer&amp;#x27;s hands and would eliminate the frustrating need to learn yet another scripting language.</text></item><item><author>CGamesPlay</author><text>So, if the new language is fundamentally incompatible with the old VimScript, why keep using VimScript? Lua already seems pretty fast, why not just make a fork where Lua is the default scripting language?&lt;p&gt;(Note, not considering JavaScript in the benchmarks seems like a pretty big oversight before making a conclusion of new default language.)</text></item></parent_chain><comment><author>majewsky</author><text>You need some sort of VimScript anyway because VimScript is the language for the command mode prompt.</text></comment>