Live data from Hacker News

The evolution of Lua, continued [pdf]

lua.org

131–140 of 175 posts

Re: The evolution of Lua, continued [pdf]

#131
post #23

Earlier quoted context omitted.

I think that's an illusion. The language of R is S, which originated at Bell Labs in 01976. Python began development in 01989, although Guido didn't release it until 01991. And the top 20 on https://www.tiobe.com/tiobe-index/ are Python, C (01972?), C++ (01982?), Java, C# (01999? though arguably it's just a dialect of Java), JS, Visual Basic (first released 01991, within your window), Golang (02007), Delphi (under th…

>C# (01999? though arguably it's just a dialect of Java) That's like saying Java is a dialect of C++. Java was specifically designed as a "fuck you" to C++, and C# was specifically designed as a "fuck you" to Java.

Regarding C# and Java part of your comment, I think you might want to take a look at the following Wikipedia entries:

- Microsoft Java Virtual Machine: https://en.wikipedia.org/wiki/Microsoft_Java_Virtual_Machine

- Visual J++: https://en.wikipedia.org/wiki/Visual_J%2B%2B

Re: The evolution of Lua, continued [pdf]

#133

I was thinking a while back, how nice it would be if lua was the scripting language in the browser instead of javascript. There are some projects to compile lua to wasm and have it run in the browser... https://pluto-lang.org/web/#env=lua%3A5.4.6&code=if%20_PVERS... But interoperability with the DOM is the missing key. Still, if lua was used instead of javascript, I could see myself saying... man, I wonder what brows…

What specifically do you think would be better? Lua shares many of JS's quirks (like the relationship between arrays and non-array objects, the behavior of undefined for non-existent object properties, metatables are somewhat similar to JS prototypes, etc.) and adds a bunch more (lack of continue statement, 1-indexing, cannot have nil values in tables). I can see people liking or disliking Lua and JS both , depending…

Some of thr language features like operators can be overloaded using method tables, much like python's double underscore methods. I do think that the inability to do this in JS is what held it back from becoming a data processing powerhouse. But it perhaps can be made to run fast precisely because of the lack of such overrides (otherwise we'll be running python at JS speeds). That said, LuaJIT seems like a good compromise and might be best of both worlds.

Re: The evolution of Lua, continued [pdf]

#134
When comparing speed I use simple tests like a loop printing an incremented line number or reading from stdin and printing to stdout. These simple tests are useful for me because, when combined with pattern matching or regular expressions, simple I/O tasks like these are actually what I use a "memory safe" language for

dino is slightly faster than lua (not luajit)

but spitbol is actually faster than lua, dino and luajit

ngn k is slightly faster than spitbol but lacks built-in pattern matching or RE

FWIW, I do not use a terminal emulator. I only use textmode No graphics layer. No "desktop"

Re: The evolution of Lua, continued [pdf]

#135

When comparing speed I use simple tests like a loop printing an incremented line number or reading from stdin and printing to stdout. These simple tests are useful for me because, when combined with pattern matching or regular expressions, simple I/O tasks like these are actually what I use a "memory safe" language for dino is slightly faster than lua (not luajit) but spitbol is actually faster than lua, dino and lua…

> These simple tests are useful for me because, when combined with pattern matching or regular expressions, small, simple I/O tasks like these are actually what I use a "memory safe" language for

Are you sure you aren't being bottlenecked by your terminal?

Re: The evolution of Lua, continued [pdf]

#138
post #75

I've been saying it for years: Lua needs its Ruby on Rails moment

Yes, with Lapis[1]. [1] https://leafo.net/lapis/

Lapis is very cool, but I really struggle with a lack of examples and pre-built solutions for some things.

Leafo's itch.io is built with it and I maintain snap.berkeley.edu. A great tool, but I'm also many times more productive in Rails. (It's an unfair comparison, to be sure!) and Openresty + Lapis is quite performant and low overhead which is great.

Re: The evolution of Lua, continued [pdf]

#139
post #75

I've been saying it for years: Lua needs its Ruby on Rails moment

Hell no, keep it small as is, no influence from big corporations and no enshittification (or having a "DHH problem" in Lua community)

Thats probably why I use it - no corporates and gamers use it so it doesn't get enshittified like java/c#/c++ etc no committees either.

Re: The evolution of Lua, continued [pdf]

#140
post #131

Earlier quoted context omitted.

>C# (01999? though arguably it's just a dialect of Java) That's like saying Java is a dialect of C++. Java was specifically designed as a "fuck you" to C++, and C# was specifically designed as a "fuck you" to Java.

Regarding C# and Java part of your comment, I think you might want to take a look at the following Wikipedia entries: - Microsoft Java Virtual Machine: https://en.wikipedia.org/wiki/Microsoft_Java_Virtual_Machine - Visual J++: https://en.wikipedia.org/wiki/Visual_J%2B%2B

I've known and worked with James Gosling for years before Java (Live Oak), on his earlier projects, Emacs at UniPress and NeWS at Sun, and fought along side him against Sun management trying to make NeWS free in 1990 (and I left Sun because they broke the promises they made us and spilled a lot of blood), so I didn't need to learn about Java's history from Wikipedia.

James's email that convinced me to go work with him at Sun on NeWS in 1990:

https://news.ycombinator.com/item?id=22457490

James' original 1985 paper on SunDew (later called NeWS):

https://www.chilton-computing.org.uk/inf/literature/books/wm...

David Rosenthal on NeWS -vs- X11 in 2024:

https://www.theregister.com/2024/07/10/dshr_on_news_vs_x/

James Gosling on how he'd do it over again in 2002:

https://web.archive.org/web/20240126041327/https://hack.org/...

Me on the X-Windows Disaster, comparing X11 and NeWS in the 1994 Unix Haters Handbook:

https://donhopkins.medium.com/the-x-windows-disaster-128d398...

Here's a Stanford talk James Gosling gave about Java that I attended in 1995, where he talks about C++, his original tape copy program that turned into a satellite ground control system, how he holds the world record for writing the largest number of cheesy little extension languages to go, and his implementation of Emacs sold by UniPress (which RMS calls "Evil Software Hoarder Emacs"), and his design and implementation of NeWS (formerly SunDew), a PostScript based network extensible window system.

James Gosling - Sun Microsystems - Bringing Behavior to the Internet - 1995-12-1:

https://www.youtube.com/watch?v=dgrNeyuwA8k

>Video of James Gosling's historic talk about Java, "Bringing Behavior to the Internet", presented to Terry Winograd's user interface class at Stanford University, December 1, 1995.

In that talk I asked him a couple questions about security and the "optical illusion attack" that he hedged on (44:53, 1:00:35). (The optical illusion attack is when the attacker simply draws a picture of a "secure" pop up dialog from your bank asking for your password.)

He mentioned off hand how a lot of the command and control systems for Operation Desert Storm was written in PostScript. That was his NeWS dialect of PostScript, and was written primarily by Josh Siegel at LANL called "LGATE", who later came to work at Sun in 1990 and rewrote the NeWS PostScript interpreter himself, then went on to write an X11 window manager in PostScript, again proving James's point that people always did a lot more with his cheesy little extension languages than he ever expected (which also held true with Java).

Josh's work on simulating Desert Storm and WWIII with NeWS at LANL:

https://news.ycombinator.com/item?id=44540509

Some of Terry Winnograd's other guest speakers:

https://news.ycombinator.com/item?id=39252103

I also saw Bill Joy's much earlier talk at the 1986 Sun Users Group in Washington DC, where he announced a hypothetical language he wanted to build called "C++++-=", and that he talked about in subsequent presentations.

I think that was the same talk when Bill said "You can't prove anything about a program written in C or FORTRAN. It's really just Peek and Poke with some syntactic sugar". More Bill Joy quotes:

https://www.donhopkins.com/home/catalog/unix-haters/slowlari...

James eventually realized that concept as Java, showing that the kernel inspiration of writing a "fuck you to C++" language existed long before James invented "Live Oak", even soon after C++ was invented. But "Java" was a much better name than "Live Oak" or "C++++-=" fortunately -- thanks to Kim Polese -- though not as succinct and musically inspired as "C#"!

https://en.wikipedia.org/wiki/Bill_Joy#Joy's_law

https://news.ycombinator.com/item?id=30113944

Bill Joy’s Law: 2^(Year-1984) Million Instructions per Second

https://donhopkins.medium.com/bill-joys-law-2-year-1984-mill...

>The peak computer speed doubles each year and thus is given by a simple function of time. Specifically, S = 2^(Year-1984), in which S is the peak computer speed attained during each year, expressed in MIPS. -Wikipedia, Joy’s law (computing)

>“C++++-= is the new language that is a little more than C++ and a lot less.” -Bill Joy

>In this talk from 1991, Bill Joy predicts a new hypothetical language that he calls “C++++-=”, which adds some things to C++, and takes away some other things.

>“Java is C++ without the guns, knives, and clubs.” -James Gosling

Post reply on HN