Let’s build a JavaScript Engine in Rust by Jason Williams | JSConf EU 2019

  Рет қаралды 52,764

JSConf

JSConf

Күн бұрын

Пікірлер: 81
@ZapOKill
@ZapOKill 5 жыл бұрын
if your name is json you have to write a js engine
@marc-alexandrelaroche6632
@marc-alexandrelaroche6632 5 жыл бұрын
Haha! Very funny. 👏👏👏
@matthewburson2908
@matthewburson2908 5 жыл бұрын
😂
@Tubeman777
@Tubeman777 5 жыл бұрын
lol😂
@MakuDraw
@MakuDraw 5 жыл бұрын
haha, i love you funny bastard
@srijonroy7084
@srijonroy7084 3 жыл бұрын
That's like the best comment ever😂
@Yetipfote
@Yetipfote 5 жыл бұрын
Q: So what do you do for a living? A: coding Q: So what do you after work? A: coding
@jasonmondesir8758
@jasonmondesir8758 2 жыл бұрын
This is exactly how my conversation went with someone from the business team, lol
@Mephistel
@Mephistel 5 жыл бұрын
Finally, a way to run JS in the browser! /s Seriously though, this was really amazing to see, I'm learning Rust now and the possibilities like this fuel me.
@qcpresto
@qcpresto Жыл бұрын
This was a very good presentation; very good display of Rust's capabilities!
@LNTutorialsNL
@LNTutorialsNL 5 жыл бұрын
I would love to have a runtime/engine that runs Typescript natively
@geeksy2278
@geeksy2278 5 жыл бұрын
That would absolutely make no sense 🤔
@SimonBuchanNz
@SimonBuchanNz 5 жыл бұрын
Deno embeds the typescript package (sort of) to transpile the code in the fly (sort of - caching etc...). Possibly good enough, but it has its own issues. Ideally the parser could be updated to simply skip typing related tokens, which would simplify a lot of current dev workflow nonsense, with the assumption that you're independently checking the types, so similar to the current Babel typescript workflow. I've been considering the issues related with this (and there are several!) while thinking about putting together a proposal, but I suspect that interest at least initially from TC39 would be pretty low, for a bunch of reasons: technical, philosophical and political (don't forget Flow exists....)
@KhoaNguyen96
@KhoaNguyen96 5 жыл бұрын
@@geeksy2278 Why not? Node origin creator is working on deno, which is secure typescript engine (which is written in Rust btw).
@matthewburson2908
@matthewburson2908 5 жыл бұрын
Already exists, created by the guy who made Node: Deno. Written in Rust as well. Surprised to see this video when something like this is already being done.
@norman784
@norman784 5 жыл бұрын
@@matthewburson2908 There's some gotchas with deno, first of all it uses V8 and other dependencies, yes for sure you can run js and ts out of the box, but the issue (at least for me) is that it still uses C++ (iirc v8 is written in C++), so you still have the possible memory issues (highly unlikely because all the engineers working on it, but still), I think what OP wanted (or I can say I want) is a lightweight typescript runtime/engine, it can be done easly in pure rust, but what will take time is build all those optimizations made in the well known js engines. So a quick recap, deno still uses C++ and isn't pure rust, using pure rust give you the advantage of having one tool to build in all platforms, I find annoying that you cannot use easly the same c/c++ compiler in all platforms and having different build tools make harder to integrate each other, you need to build more complex build pipelines, etc. Yes this is a bit of my rant :)
@thekwoka4707
@thekwoka4707 10 ай бұрын
Functions declared in the outside scope with the function keyword are generally parsed/compiled immediately, not only once they are run.
@vilmm
@vilmm 5 жыл бұрын
Cool project, well done!
@alekseysoldatenkov5675
@alekseysoldatenkov5675 5 жыл бұрын
I hope Rust takes over the world (no pun intended) so that memory management and the vulnerabilities that often result from it, are a thing of the past.
@perc-ai
@perc-ai 5 жыл бұрын
nope I hope Golang takes over the world
@vectorhacker-r2
@vectorhacker-r2 5 жыл бұрын
@@perc-ai I hope both Rust and Golang take over the world.
@khai96x
@khai96x 5 жыл бұрын
@@perc-ai Unlikely. Go isn't even a "better C". It is easy to learn for a C programmer, but it lacks the feature-completeness of a programming language. C, C++ and Rust don't require dynamic GC, yet Go does. Most typed languages have some kind of Generic Programming -(it is possible in even C thanks to type-cast)- but not Go. Go was designed to do one thing and good at that one thing only. It lacks the quality necessary to take over the industry.
@SimonBuchanNz
@SimonBuchanNz 5 жыл бұрын
@@khai96x I always found the "better C++" claim of go hilarious, given that it has basically nothing in common with it other than curly braces!
@aNotoriousPhD
@aNotoriousPhD 5 жыл бұрын
@@perc-ai golang is an under-featured language imo
@RY-gj8yb
@RY-gj8yb 5 жыл бұрын
When you started the talk I started thinking about that final demo. And you made it. Is it an updatable JS engine? Future is beautiful.
@softwarelivre2389
@softwarelivre2389 4 жыл бұрын
It is being worked on as of today, but still requires lots of work in order to fully comply to the TC39 spec. If you're interested in contributing, please check it out! You can find it out at github.com/boa-dev/boa/
@impssngr
@impssngr 5 жыл бұрын
That's so exciting! Thanks for this talk!
@thekwoka4707
@thekwoka4707 10 ай бұрын
What would be the difference in using the Gc that you have vs just a Rc from std? Is there a real benefit?
@lannesromain1453
@lannesromain1453 5 жыл бұрын
Great and inspiring talk!
@ermagerdh
@ermagerdh 5 жыл бұрын
Revolutionary concept
@matthewburson2908
@matthewburson2908 5 жыл бұрын
github.com/denoland/deno
@Tunec_s_hlebom
@Tunec_s_hlebom 7 ай бұрын
Bro, are you amazing) I have making js runtime, but on c++) I was started it just like hobby. Rust is exotic thing for me)
@priyankpathak3917
@priyankpathak3917 5 жыл бұрын
Rust it is!
@kjakobsen
@kjakobsen 5 жыл бұрын
So his name is Json Williams? ;-)
@qazyhn94
@qazyhn94 5 жыл бұрын
super interesting presentation, thank you!
@sagojez
@sagojez 4 жыл бұрын
What is the name of the theme of his vscode dough. Is beautiful hahaha
@philippejean1102
@philippejean1102 5 жыл бұрын
aw Super coool, great presentation !!
@dravidkumar1492
@dravidkumar1492 5 жыл бұрын
Really awesome
@vladislavsadretdinov
@vladislavsadretdinov 5 жыл бұрын
what is vs code theme he using?
@sagojez
@sagojez 4 жыл бұрын
That’s the tal question here hahaha
@saiqulhaq
@saiqulhaq 5 жыл бұрын
let conf = 'RustConf Eu'
@jincyquones
@jincyquones 5 жыл бұрын
Neat
@artahir123
@artahir123 9 ай бұрын
can anybody confirm ? he just translated that js code into rust code ? thats it ?
@googlr214
@googlr214 4 жыл бұрын
why stop there, thinking of building an interpreter(engine) for python, scala, f#, sql
@lagimmediafiles6478
@lagimmediafiles6478 5 жыл бұрын
I love JS and Python 3! And im a IT Professional.... Software Engineer Soon!
@travelmoustache
@travelmoustache 5 жыл бұрын
I know some of those words
@Viviko
@Viviko Жыл бұрын
I’m that one weirdo that actually wonders how this stuff is built. I may build my own engine actually. But, I’ll make it run on TypeScript instead. Maybe I can make it so we can run TypeScript on the browser without transpiring to JS. Lol. Idk. All I know is I wanna build my own engine and/or my own language.
@twothreeoneoneseventwoonefour5
@twothreeoneoneseventwoonefour5 Жыл бұрын
deno already works with typescript natively
@zakariachahboun
@zakariachahboun 5 жыл бұрын
Awesome!
@nikhilsharma2804
@nikhilsharma2804 6 ай бұрын
Now know as 'BUN" , lol
@bobweiram6321
@bobweiram6321 3 жыл бұрын
So if you're a rust programmer, you can no longer get away with saying you're rusty.
@ZachBradyisBrachZady
@ZachBradyisBrachZady 5 жыл бұрын
can't find this guy on twitter what the heck
@algoseekee
@algoseekee 5 жыл бұрын
twitter.com/jason_williams , no problem :-)
@0xhhhhff
@0xhhhhff 9 ай бұрын
Its a nixe talk learnt a lot but my god is your choice of theme trash 😢
BAYGUYSTAN | 1 СЕРИЯ | bayGUYS
36:55
bayGUYS
Рет қаралды 1,9 МЛН
coco在求救? #小丑 #天使 #shorts
00:29
好人小丑
Рет қаралды 120 МЛН
When you have a very capricious child 😂😘👍
00:16
Like Asiya
Рет қаралды 18 МЛН
Chain Game Strong ⛓️
00:21
Anwar Jibawi
Рет қаралды 41 МЛН
What's Coming Next to JavaScript? by Nicolò Ribaudo
31:58
Rust's Journey to Async/Await
48:46
InfoQ
Рет қаралды 87 М.
Mathias Bynens - V8 internals for JavaScript developers
27:32
CSSConf Australia
Рет қаралды 23 М.
So what's exactly a JIT Compiler? - GeekCampSG 2019
36:53
GeekcampSG
Рет қаралды 18 М.
Considering Rust
1:03:57
Jon Gjengset
Рет қаралды 192 М.
Rust at speed - building a fast concurrent database
52:54
Jon Gjengset
Рет қаралды 214 М.
JavaScript Visualized - Event Loop, Web APIs, (Micro)task Queue
12:35
Rich Harris - Rethinking reactivity
36:45
You Gotta Love Frontend
Рет қаралды 322 М.
BAYGUYSTAN | 1 СЕРИЯ | bayGUYS
36:55
bayGUYS
Рет қаралды 1,9 МЛН