wrapvova.blogg.se

Xonsh vs vim
Xonsh vs vim













xonsh vs vim
  1. #XONSH VS VIM SOFTWARE#
  2. #XONSH VS VIM CODE#

#XONSH VS VIM CODE#

I'd say that Python and JS are 10x as slow as native code for "business" and "web app" workloads, but they're closer to 100x too slow for ASTs and graphs. This core of the program is the elaborate and strongly typed "lossless syntax tree", which is basically what's used in linters and formatters.Įven though I've been using both C++ and Python for >20 years, it is a little shocking how much worse Python is for AST- and graph-based workloads. This also tracks with my experience with, where we reverse-engineered the shell in an experimental fashion with Python, and then evolved that implementation into a statically typed language that generates C++ (using MyPy, ASDL, and algebraic data types).

#XONSH VS VIM SOFTWARE#

The other 50% is that dynamic languages simply allowed people to produce popular and useful software at a greater rate, especially for the web, so we ended up with a lot of software written in dynamic languages! Doing web apps in Java vs. That is, he says that for awhile we thought that clock speeds would increase, and JITs would get better, and so we could design languages with semantics without regard to performance - language that almost require slow implementations. JITs are fast in common cases, but they not only have big costs in terms of memory (code storage) and startup time, but they're hard to engineer with!Įmery Berger has memorable framing of this - "Perl, Python, PHP, and JS are the irrational exuberance" languages. They realized they needed to change the LANGUAGE in order to be able to write fast programs, like writing Google Docs and GMail in the browser. They were spending a lot of time looking into why web page performance was falling off various cliffs in v8.

xonsh vs vim

IIRC this was precisely why the Dart project was started more than 10 years ago by the v8 authors at Google. The semantics of JavaScript do not allow v8 to be fast enough. JavaScript isn't a good language to write the TypeScript compiler or a linter, because v8 isn't fast enough. You could frame it as a "failure of JITs in the 2010's". (I'm looking for references/measurements specifically on these types of workloads.) I think of these "AST- or graph-based workloads", as opposed to numeric workloads. Yup, more generally, I'd say that statically typed languages that compile to native code (Rust, Go, C++, etc.) are necessary to achieve good performance when writing linters / formatters, compilers, and interpreters.















Xonsh vs vim