Live data from Hacker News

Scriptc by Vercel: TypeScript-to-Native compiler, no JavaScript engine in binary

github.com

161–165 of 165 posts

Re: Scriptc by Vercel: TypeScript-to-Native compiler, no JavaScript engine in binary

#161

Earlier quoted context omitted.

What we do is absolutely engineering, there’s just a lot less credentialing upfront and rigor before something is released, because usually people’s lives do not depend on it and it’s easy to release updates. But it is indeed engineering, and that’s OK.

The credentials and rigor are what Professional Engineering is supposed to include. The credentials help give bite to Ethics Boards and other tools used to keep the entire profession honest and safe. The rigor is supposed to include things like making sure that you are solving the right problems. Many people's lives do depend on software today. Insurance software dictates who gets treatment and who doesn't; that's re…

Doing engineering with processes that are suboptimal with respect to a subset of the goals of engineering doesn’t somehow make it not engineering.

Re: Scriptc by Vercel: TypeScript-to-Native compiler, no JavaScript engine in binary

#162

Earlier quoted context omitted.

The credentials and rigor are what Professional Engineering is supposed to include. The credentials help give bite to Ethics Boards and other tools used to keep the entire profession honest and safe. The rigor is supposed to include things like making sure that you are solving the right problems. Many people's lives do depend on software today. Insurance software dictates who gets treatment and who doesn't; that's re…

Doing engineering with processes that are suboptimal with respect to a subset of the goals of engineering doesn’t somehow make it not engineering.

Sure, I think many of us are doing the best engineering work that we can given the industry situation. I've also seen so many of my peers, some of our brightest minds, waste their careers on stuff that a proper Ethics Board might stop or at least ameliorate. I can work to be the best engineer I can be and still wish we were an industry that actually respected engineering, not just used the title like a party favor that has no inherent meaning.

Re: Scriptc by Vercel: TypeScript-to-Native compiler, no JavaScript engine in binary

#163
post #22

Earlier quoted context omitted.

Either it is only accepting a subset of TypeScript, or it is still interpreting the parts that don't have enough types. Given other comments here it sounds like the later.

No idea about this project, but it is very possible to compile a dynamically typed language, without large VM/runtime. See Common Lisp, Julia

Yes, and JavaScript itself is JITed. I used interpreted here as a shorthand for interpreted and/or JIT compiled at runtime.

Re: Scriptc by Vercel: TypeScript-to-Native compiler, no JavaScript engine in binary

#164

Earlier quoted context omitted.

Why is it engineering what makes it engineering

We use science and technology to design, build, and maintain complex systems that solve real-world problems. Do you have some other definition of engineering that excludes SWE?

That’s the thing we don’t need to invent a vague definition to attempt to cast a wide net

Here is the definition https://dictionary.cambridge.org/dictionary/english/engineer...

Re: Scriptc by Vercel: TypeScript-to-Native compiler, no JavaScript engine in binary

#165

This look very promising. We are increasingly using a subset of typescript in our backend so as to be amenable to a tool, in the long run, which can convert the ts subset to rust source code. This project will enable an alternative of that vision earlier - except of course without the parallelism. Also I am curious as to whether this will compile to a static lib which can be linked to an existing cpp app to be run on…

Does that tool already exist, so do you have a specific TS subset in mind you are aiming for? Or you are simply trying to use fewer complex features?

No the tool does not exist. Its medium to long term vision.

Our backends are structured on isolated units - what we call "features". Features invoke another features via fully qualified names using a standard Features.send(...). in-process/inter-replica/inter-service and even seperate functions inside the same js files are all invoked likewise.

Only a few specific helper functions for a feature exist for direct invocations.

The complexity of ts2rust tool is thus greatly reduced because of the discipline of the architecture.

Post reply on HN