These days you may be confronting 3 different things.
There is the original vimscript (vimscript "classic") and I only have experience with this.
There is now also vim9script -- which is part of regular vim, but must be explicitly enabled, perhaps in your .vimrc file, but more likely within any plugin that intends to use the new features.
Finally there is NeoVim, which has replaced vimscript with the Lua language. I am not using NeoVim, so I don't have much to say about this. It is my understanding that the main thing that differentiates NeoVim from regular Vim is that it has incorporated Lua as a scripting language in lieu of VimScript. There are no doubt other (perhaps many) changes to the codebase, but those changes only affect developers (at least we hope so). It could be worse. The could have incorporated Tcl instead of Lua. That would have been the worst of all possible decisions.
Tom's vim pages / tom@mmto.org