Hacker News new | past | comments | ask | show | jobs | submit login

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."


It wasn’t sarcasm. I was being sincere.

I believe you, but a comment like that is going to pattern-match to the internet default, which is snark, in nearly every reader's mind.

I think you are overreacting here, his comment was definitely not interpreted as sarcastic. Quite the opposite, it was showing appreciation for what an achievement QuickJS is.

I was not being sarcastic!!

Is it hand-written as a single file, though? I'm assuming the release is the output of some script that does concatenation.

Some editors, like Emacs, make it very easy to work with one huge file, because you can have multiple independent views ("windows" in Emacs parlance) into the same file. It is - or maybe has been - quite common to work like this in LISP communities.


As an Emacs programmer, I much prefer working in one 10kloc file than 20 500loc files. The later I find pretty overwhelming.

To bring some balance to the universe - as a vim user, I tend to prefer doing the same.

From a cursory glance, it doesn't look like it's a bunch of files concatenated together.

It's C so it's harder to tell than other languages, since it doesn't have separate namespaces for everything. You can just write a bunch of functions and global variables in separate files and then act like they're all in the same file, and there's really no difference.

You could, but I'm not seeing any code duplication across files so that would mean that he's not included the files that make up the "mega file", which would be rather strange.

Not really that strange. You can have one C file that #includes the separate files that make up the big translation unit. The compiler will give you an error if a declaration is out of order.

Any chance he has a super loooong screen? XD

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact