Live data from Hacker News

QuickJS JavaScript Engine

bellard.org

131–140 of 279 posts

Re: QuickJS JavaScript Engine

#131
I have a potentially dumb question as I'm way out of my element here.

What would someone....do with this?

Use it to run JS on some embedded device where you can run C?

Re: QuickJS JavaScript Engine

#132

I'm curious - what is/was the intended application of this?

I think mainly as a C replacement, for added productivity. Compared to Node.JS QuickJS seems to interoperate with C. Node.JS standard library is fully async, while QuickJS use C standard lib. There's also GnomeJS which can be used to build apps that looks and feels like native apps, maybe you can also do that with QuickJS!? Being able to obfuscate the code by compiling is also considered a feature, useful when you want to distribute an application without giving away the source code.

Re: QuickJS JavaScript Engine

#133
post #93

quickjs.c is a 47,842 line C file. I think that sets the record for the largest handwritten file I've seen.

Although decomposition into corresponding files is the norm, it’s so satisfying to say “hey, check out my JS engine” and point people to a single work-of-art uberfile. LOL.

"Don't be snarky."

"Please don't post shallow dismissals, especially of other people's work. A good critical comment teaches us something."

https://news.ycombinator.com/newsguidelines.html

Re: QuickJS JavaScript Engine

#134

Undefined symbols for architecture i386 I get this error when attempting to make on macOS. I don't have very much experience with C, but is there a good resource to learn how to better deal with compiler issues and such other than googling specific issues?

Yeah, I got the same error, along with a bunch of warnings earlier in the build about how 32-bit builds are deprecated on recent macOS versions. And then when it goes to link, it can't find the 32-bit symbols for functions like sqrt() and `printf()`. Hacky workaround: comment out the "CONFIG_M32=y" line in the makefile. This will disable building the 32-bit versions of some tools. ("Edit the makefile" is, according t…

Thanks! That solved it for me.

Re: QuickJS JavaScript Engine

#135

Earlier quoted context omitted.

Wait, he has an Emacs clone, too? EDIT: https://bellard.org/qemacs/

Looks impressive, I may have to try it out. Too bad it's LGPL. I expected MIT because QuickJS was, and hoped for it because GPL is unethical[1]. [1] https://sdegutis.com/2019-06-26-why-the-gpl-is-unethical

Please don't start license flamewars on Hacker News, or any flamewars.

https://news.ycombinator.com/newsguidelines.html

Re: QuickJS JavaScript Engine

#136
post #97
post #96

Earlier quoted context omitted.

I have two question in my mind. 1. Are there anyone on HN knows him in real life? 2. Does anyone have other people in their mind who is in the same league as this man? Mike Pall's LuaJIT sort of make him at this level but that is only one thing. Fabrice create things that everyone are using it one way or another, and if it wasn't HEVC patents mess we would have his bpg [1] replacing jpeg. [1] https://bellard.org/bpg/

Can't speak to 1, but I kind of feel like TJ Holowaychuk in the Node.js community started getting close to Fabrice's level (until he left Node). Express, Stylus, Koa, Formidable, etc...

Take it easy on the insults ;)

Re: QuickJS JavaScript Engine

#137
post #96
post #25

Is there anything that Fabrice can't do? I mean, FFMpeg is almost a PhD thesis in and of itself, and he still manages to find time to make TinyC, QEMU, and now this. To say I'm jealous of his skills would be an understatement.

I have two question in my mind. 1. Are there anyone on HN knows him in real life? 2. Does anyone have other people in their mind who is in the same league as this man? Mike Pall's LuaJIT sort of make him at this level but that is only one thing. Fabrice create things that everyone are using it one way or another, and if it wasn't HEVC patents mess we would have his bpg [1] replacing jpeg. [1] https://bellard.org/bpg/

Dan Bernstein. Researched curve 25519 and provided reference implementations of x25519 & ed25519. Invented chacha20, such that it never branches on user secrets to minimize side channel leakage. Along with poly1305, these form the foundation of almost all “modern crypto” from Signal to TLS v1.3. He wrote qmail as a superior MTA to the incumbent Sendmail. He’s even beat the US government in court.

Re: QuickJS JavaScript Engine

#138
post #131

I have a potentially dumb question as I'm way out of my element here. What would someone....do with this? Use it to run JS on some embedded device where you can run C?

You have a C app, and want to allow to script parts of it via JS easilly. I use engine like this inside the milter daemon for my postfix mail server, to process mail during reception.

Re: QuickJS JavaScript Engine

#139
Does anyone know is this is x86 specific? It sounds like it’s just C but I’m not at a computer right now so I can’t dig in. It seems really interesting for embedded or mobile (iOS/Android) too
Post reply on HN