One of my colleagues made a great additional point, that there's not really such a thing as "letting d8 replace node" -- Google could theoretically build d8 into an npm-compatible node competitor, but then that's really just xkcd:927 <https://xkcd.com/927/>.
- Leszek On Fri, Nov 13, 2020 at 10:21 AM Leszek Swirski <[email protected]> wrote: > Simply put, because Node.js is huge and does a _lot_ more than just > running Javascript. d8 is very much just a simple internal debugging tool, > and we want it to stay that way -- otherwise it'll be hard to tell if the > issue we're seeing is in "d8 Node" or in V8, and it'll be harder to add > support for new language features (since hacking them into d8 is way easier > than properly wiring them up in Node). It's definitely the case, for > example, that we find it easier to add new features to d8 than to Chromium, > even though both are "official" embedders! We do support Node.js as a > first-class client though, we help when they have V8 issues and we run a > Node.js build as part of our "commit queue" so that every V8 commit is also > tested against Node.js. > > Besides, there's value in Node.js being separate from V8. For example, > there's a fork of Node that uses ChakraCore > <https://github.com/nodejs/node-chakracore> (from IE) as the JavaScript > engine instead of V8, and there's similar projects using JSC (from Safari) > and SpiderMonkey (from Firefox); this sort of thing would be harder if Node > was part of V8. Also, people associated with Node this way don't have to be > associated with Google, and can represent Node's interests better in, for > example, TC39 when discussing the JS language. > > Overall, TL;DR, it's good to have big projects be separate, and keep small > test runners small. > > - Leszek > > On Fri, Nov 13, 2020 at 9:55 AM anlex N <[email protected]> wrote: > >> why not let d8 replace nodejs? d8 is official and can add nodejs >> strength, such like npm. by the way, there is deno <https://deno.land/> in >> js world that also use v8. oh my god, so many embedders. i hope google can >> have official embedders such like d8/nodejs/deno. >> On Friday, November 13, 2020 at 4:34:04 PM UTC+8 [email protected] >> wrote: >> >>> Hi, >>> >>> You can think of V8 as a library used for compiling and running >>> Javascript. Chrome/Chromium, d8 and Node.js are all "embedders" of V8, i.e. >>> applications that use this library. d8 is a very simple, minimal wrapper >>> around the library that we use primarily for debugging, testing, and as a >>> "demo" of how to use the V8 API. Node.js is a larger application that adds >>> a whole bunch of stuff on top of V8, for example 'requires' for module >>> loading, file access APIs, all the server stuff, etc etc. You can think of >>> the difference as "d8 runs Javascript code" and "Node.js runs programs >>> written for Node, using Javascript as the language". If you just want to >>> run an algorithm written in Javascript, d8 is fine, but if you want to run >>> something that uses npm packages, you need Node. >>> >>> Hope that helps, >>> Leszek >>> >>> On Fri, Nov 13, 2020 at 9:25 AM anlex N <[email protected]> wrote: >>> >>>> i am fresh student that learning v8 and nodejs source code, today i am >>>> learning v8 docs step by step, i know v8 have built in d8 *that can >>>> directly run javascript file*, but i don't know *why we still need >>>> nodejs run javascript file.* >>>> >>>> -- >>>> -- >>>> v8-dev mailing list >>>> [email protected] >>>> http://groups.google.com/group/v8-dev >>>> --- >>>> You received this message because you are subscribed to the Google >>>> Groups "v8-dev" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected]. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/v8-dev/62dcd603-069a-46bc-98d3-615aa9b16596n%40googlegroups.com >>>> <https://groups.google.com/d/msgid/v8-dev/62dcd603-069a-46bc-98d3-615aa9b16596n%40googlegroups.com?utm_medium=email&utm_source=footer> >>>> . >>>> >>> -- >> -- >> v8-dev mailing list >> [email protected] >> http://groups.google.com/group/v8-dev >> --- >> You received this message because you are subscribed to the Google Groups >> "v8-dev" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/v8-dev/cc4b992c-48b2-43fa-8e24-e29bc59de17dn%40googlegroups.com >> <https://groups.google.com/d/msgid/v8-dev/cc4b992c-48b2-43fa-8e24-e29bc59de17dn%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> > -- -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev --- You received this message because you are subscribed to the Google Groups "v8-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/v8-dev/CAGRskv_uUFCnY6NXydszNeY-ghG6wJdw9TWoTcnBN%2BdFTBU2Ag%40mail.gmail.com.
