Live data from Hacker News

Fabrice Bellard Releases MicroQuickJS

github.com

521–530 of 594 posts

Re: Fabrice Bellard Releases MicroQuickJS

#521
post #492

Earlier quoted context omitted.

> Not OP, but the case can be made that it's still the same very ugly language of 10 years ago, with few layers of sugar coating on top. Let's talk specifics. As it seems you have strong opinions, in your opinion what is the single worst aspect of JavaScript that justifies the use of the word "ugly"?

https://dorey.github.io/JavaScript-Equality-Table/ https://www.reddit.com/r/learnjavascript/comments/qdmzio/dif ... or anything that touches array ops (concatenating, map, etc…). I mean, better and more knowledgeable people than me have written thousands of articles about those footguns and many more. I am not a webdev, I don't want to remember those things, but more often than I would wish, I have to interop with JS…

If type conversion and the new var declaration keywords are your top complains about a language, I'm sorry to say that you are at best grasping at straws to find some semblance of justification for you irrational dislike.

> I am not a webdev, I don't want to remember those things, (...)

Not only is JavaScript way more than a webdev thing, you are ignoring the fact that most of the mainstream programming languages also support things like automatic type conversion.

Re: Fabrice Bellard Releases MicroQuickJS

#522
post #513
post #497

Earlier quoted context omitted.

https://en.wikipedia.org/wiki/Go_(programming_language)#Hist... : "Go was designed at Google in 2007"

No. https://en.wikipedia.org/wiki/Alef_(programming_language) https://en.wikipedia.org/wiki/Limbo_(programming_language) https://en.wikipedia.org/wiki/Newsqueak https://en.wikipedia.org/wiki/Communicating_sequential_proce... https://doc.cat-v.org/bell_labs/new_c_compilers/new_c_compil... It was amalgamated at Google. Originally Go used the Ken C compilers for Plan9. It still uses CSP. The syntax it's from Limbo/Infer…

[deleted]

Re: Fabrice Bellard Releases MicroQuickJS

#523
post #510
post #67

Earlier quoted context omitted.

Down to -4. Is this generic LLM-dislike, or a reaction to perceived over-self-promotion, or something else? No matter how much you hate LLM stuff I think it's useful to know that there's a working proof of concept of this library compiled to WASM and working as a Python library. I didn't plan to share this on HN but then MicroQuickJS showed up on the homepage so I figured people might find it useful. (If I hadn't dis…

I appreciate all your work and I did not downvote you. One suggestion, though, is that the README looks very AI generated, which makes the project feel low effort, like you just said “hey Claude do a security analysis of this package”. I don’t think this is actually what you did, but it’s hard to know. It’s also very difficult to identify the highlights. Just a few handwritten sentences would be better.

The README is indeed AI generated, as is everything else in that simonw/research repository - it's my public demo of the asynchronous research process I use.

Re: Fabrice Bellard Releases MicroQuickJS

#524
post #523
post #510

Earlier quoted context omitted.

I appreciate all your work and I did not downvote you. One suggestion, though, is that the README looks very AI generated, which makes the project feel low effort, like you just said “hey Claude do a security analysis of this package”. I don’t think this is actually what you did, but it’s hard to know. It’s also very difficult to identify the highlights. Just a few handwritten sentences would be better.

The README is indeed AI generated, as is everything else in that simonw/research repository - it's my public demo of the asynchronous research process I use.

(I'm going to add disclaimers to the top of every one of those posts, currently you have to navigate to the report homepage to find that out.)

Update - added that here: https://github.com/simonw/research/pull/53

Re: Fabrice Bellard Releases MicroQuickJS

#526
post #492

Earlier quoted context omitted.

https://dorey.github.io/JavaScript-Equality-Table/ https://www.reddit.com/r/learnjavascript/comments/qdmzio/dif ... or anything that touches array ops (concatenating, map, etc…). I mean, better and more knowledgeable people than me have written thousands of articles about those footguns and many more. I am not a webdev, I don't want to remember those things, but more often than I would wish, I have to interop with JS…

If type conversion and the new var declaration keywords are your top complains about a language, I'm sorry to say that you are at best grasping at straws to find some semblance of justification for you irrational dislike. > I am not a webdev, I don't want to remember those things, (...) Not only is JavaScript way more than a webdev thing, you are ignoring the fact that most of the mainstream programming languages als…

> you are at best grasping at straws to find some semblance of justification for you irrational dislike.

You seem so emotionally-involved that the whole point whooshed above your head. JS is a language that gives me no joy to use (there are many of those, I can put Fortran or SQL in there), and, remarkably, gives me no confidence that whatever I write with it does what I intend (down to basic branching with checking for nulliness/undefinedness, checking for edge-cases, etc). In that sense it's much worse than most of those languages that I just dislike.

> Not only is JavaScript way more than a webdev thing, you are ignoring the fact that most of the mainstream programming languages also support things like automatic type conversion.

Again, you are missing the point. JS simply has no alternative for webdev, but it's easy to argue that, for everything else, there are better, faster, more expressive, more robust, … languages out there. The only time I ever have to touch JS is consequently for webdev.

Re: Fabrice Bellard Releases MicroQuickJS

#528
post #149

Earlier quoted context omitted.

Not "never exploit"; Reason and BuckleScript are examples of different "language skins" for OCaml. The problem with "skins" is that they create variety where people strive for uniformity to lower the cognitive load. OTOH transparent switching between skins (about as easy as changing the tab sizes) would alleviate that.

> transparent switching between skins (about as easy as changing the tab sizes) One of my pet "not today but some day" project ideas. In my case, I wanted to give Python/Gdscript syntax to any & all the curly languages (a potential boon to all users of non-Anglo keyboard layouts), one by one, via VSCode extension that implements a virtual filesystem over the real one which translates back & forth the syntaxes during…

I wanted to give Python/Gdscript syntax to any & all the curly languages (a potential boon to all users of non-Anglo keyboard layouts)

Neo makes it really easy to type those

https://neo-layout.org

Re: Fabrice Bellard Releases MicroQuickJS

#529
post #178

If this had been available in 2010, Redis scripting would have been JavaScript and not Lua. Lua was chosen based on the implementation requirements, not on the language ones... (small, fast, ANSI-C). I appreciate certain ideas in Lua, and people love it, but I was never able to like Lua, because it departs from a more Algol-like syntax and semantics without good reasons, for my taste. This creates friction for newcom…

I don't love a good deal of Lua's syntax, but I do think the authors had good reasons for their choices and have generally explained them. Even if you disagree, I think "without good reasons" is overly dismissive. Personally though, I think the distinctive choices are a boon. You are never confused about what language you are writing because Lua code is so obviously Lua. There is value in this. Once you have written…

JS has required proper tail calls (PTC) for a decade now. Safari's JavascriptCore and almost every implementation except v8/spidermonkey (and the now defunct chakra) have PTC.

v8 had PTC, but removed it because they insisted it MUST have a new tail call keyword. When they were shot down, they threw a childish fit and removed the PTC from their JIT.

Re: Fabrice Bellard Releases MicroQuickJS

#530

Earlier quoted context omitted.

I honestly think the single file thing is best reserved for C, given how bad the language support for modularity is. I've had the inverse experience dealing with a many thousand line "core.php" file way back in the day helping debug an expressionengine site (back in the php 5.2ish days) and it was awful . Unless you have an editor which can create short links in a hierarchical tree from semantic comments to let you o…

C has no problems splitting programs in N files, to be honest. The reason FB (and myself, for what it is worth) often write single file large programs (Redis was split after N years of being a single file) is because with enough programming experience you know one very simple thing: complexity is not about how many files you have, but about the internal structure and conceptually separated modules boundaries. At some…

Reminds of one time when I was pair programming and the other chair said “let’s chop this up, it’s too long” and when I queried the motivation (because I didn’t think it was too long), it was something like, “I’m very visual, seeing the file tree helps me reason about internals”. Fair enough, I thought at the time, whatever makes us more productive together.

On reflection, however, I’m unsure how that goes when working on higher-order abstractions or cross-cutting concerns that haven’t been refactored, and it’s too late to ask.

Post reply on HN