On 06/10/2016 00:27, Chris Angelico wrote:
On Thu, Oct 6, 2016 at 9:45 AM, BartC <b...@freeuk.com> wrote:

Small languages are perfectly viable: the JIT version of Lua, for example,
is only about 225KB, and is very fast.

If I wanted to send you program.lua, and you didn't have Lua, I only need to
add luajit.exe and lus51.dll (for Windows). With my system, it would be
program.q and r.exe, even for multi-module apps.

See above about how restricted the stdib is. Lua, on its own, is not a
full-featured language for writing general-purpose applications. It's
designed to be embedded in something else, and it's great at that, but
it doesn't have all the features of a modern apps language.

Some languages don't come with their own libraries but are expected to hook into third party ones. OpenGL for example, which on Windows existed as a language-neutral set of DLL files (iirc). A language might provide 'bindings' as a convenience, or perhaps an easy-to-use set of wrappers.

It's just a lower-level way of doing things compared to what you might be used to.

 You could
write an Ook interpreter in a handful of bytes of code, but it's not
what you would write an app in. Since you're talking about Windows, I
grabbed file sizes for Windows installers; for Pike, the .msi file is
a 24MB download, and Python clocks in variously at 18MB (32-bit
2.7.12) up to 28MB (64-bit 3.5.2 full installation). Those kinds of
figures are pretty reasonable for full-featured language interpreters.
You get enough for it to actually be usable as-is, but you're not
getting a full C dev environment.

And those are compressed download sizes.

I started creating interpreters when they had to run within a tiny corner of 640KB main memory, and they were a tremendously useful way of helping implement applications by using scripts. (Scripts also acted as overlays resident on floppies and loaded as needed.)

It also meant users could instantly create and run their own scripts (without using huge, sprawling and, in 1980s, incredibly slow compilers).

You can't just dismiss something as useless just because it's relatively small. (I've been using my interpreters to run compilers. What specialist libraries does a compiler need other than file i/o? None!)

--
Bartc
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to