DEV Community

Cover image for Say yes to Deno?

Say yes to Deno?

Simon Pfeiffer on February 26, 2021

Let’s talk about Deno and why it may be the better alternative to Node.js. Before we start, what is Deno? Deno is a command-line runt...
Collapse
 
vincenthavinh profile image
Vincent Ha Vinh

What’s up with the sandbox security problem ?

node was designed to ”leverage” javascript as a real language that can interact with the system.

By saying node opened a security breach, you re just saying every computer language is flawed.

Collapse
 
soremwar profile image
Steven Guerrero

It is not a thing that Node introduced, but it has been one of the most affected by far, with increasing numbers of malitious packages being published to NPM

The reality is that when using third party libraries nobody guarantees they are safe to use, so at least the sandbox gives you the option to debug these issues, something no other system (that I know of) has allowed you to do before

Collapse
 
simoncodephere profile image
Simon Pfeiffer

What I meant with the problem with node and security is that when we use NPM to install a package for our node app, we are not always aware of what is happening. It can in a sense do something unauthorized.
There has in the past been a scandal with NPM packages. If you want to read more on that: javascript.plainenglish.io/the-big....

Meanwhile, Deno does not rely on NPM at all.

Collapse
 
strottos profile image
Steven Trotter

Potentially you could say this is a problem with all modern languages that Deno at least partially fixes. I mean how do I know if I run some random Python thing from github on my machine that it won't just remove all my documents on my computer other than it never has happened to me personally? Bad things have happened in Node though I understand, whether it's their fault or it's the fault of open source software doesn't matter. I could read all the code thoroughly but that's still no guarantee I'll catch everything (or even anything). Maybe Deno is genuinely breaking new ground here as with Deno I could deny it the security required to do so. Just because none of the other languages have acknowledged it doesn't mean it isn't a problem.

Collapse
 
romfrolov profile image
Roman Frolov

I think it's less about criticizing Node.js or any other programming language, and more about highlighting a problem that Deno team addresses.

Collapse
 
promikecoder2020 profile image
ProMikeCoder2020

Deno.is cleaelt the better choice. I just hope that the community adopts it so that we can use in production

Collapse
 
ug02fast profile image
Arthur Zhuk

The community already adopted it.

Collapse
 
promikecoder2020 profile image
ProMikeCoder2020

Not quite. The node community is many times larger

Thread Thread
 
ug02fast profile image
Arthur Zhuk

That doesn't mean the community hasn't adopted it. What is your definition of community?

Thread Thread
 
promikecoder2020 profile image
ProMikeCoder2020

Stackoverflow questions, youtube videos, articles, etc

Thread Thread
 
okikio profile image
Okiki Ojo

What is required is community parity, so everything node supports you want node to support as well, for example a Gulp alternative on deno.

Thread Thread
 
promikecoder2020 profile image
ProMikeCoder2020

But videos and stackoverflow questions on the core packages such as io and event system are necessary

Thread Thread
 
okikio profile image
Okiki Ojo

Yeah, they are nesscarry but that isn't what people mean when they say they want community support, what they mean is that they want community parity between node and deno.

Collapse
 
simoncodephere profile image
Simon Pfeiffer

There's definitely room for growth in regards to spreading more awareness about the benefits of Deno!

Collapse
 
barelyhuman profile image
Reaper

I went through the syntax the base setup and while I like everything , I'm going to wait for a few more major releases before I start using it in prod.

The same applies for a lot of languages that I wish to try.
There's V , deno, even nim.

Though in case of nim , a lot of programmers already consider it a primary language, i think it'll get even more stable and i'm just waiting for that before I dive into it.

Collapse
 
romfrolov profile image
Roman Frolov • Edited

I've actually never tried nim, but now I'm very curious to give it a shot.

Collapse
 
barelyhuman profile image
Reaper

I wanted to try nim because of my requirement to build GUI apps and that's one languages that's kinda aiming towards being able to build customized native apps without configuring a lot.

As for V, the same reason applies and the developer has built a lot of things using V, there's a github alternative, there's a few compilers, tools, a package manager, the language's compiler itself is partially in V. So i'm rather impressed at the developer's work and wish to use it soon. Following that language quite closely, should probably help him but I really have 0 idea about actually writing compilers, could help him in the github alternative

Thread Thread
 
romfrolov profile image
Roman Frolov

That sounds like an interesting project to work on and contribute to. Best of luck in your efforts! Writing language compilers is interesting. I used to work with blockchain VMs and had to interact with their languages on the opcode level. Interesting stuff.

Thread Thread
 
barelyhuman profile image
Reaper

It definitely is.

Collapse
 
romfrolov profile image
Roman Frolov

Very interesting. May be we should write articles about V and nim.

I, personally, am waiting few more major releases for Deno. I also want to have stable standard libraries.

Collapse
 
swagwik profile image
Sattwik Sahu

Hmm... Deno does sound interesting. Could you suggest any good resources to learn how to use Deno?

🦖🦖🦖🦖🦖🦕🦕🦕🦕

Collapse
 
romfrolov profile image
Roman Frolov

Their official documentation is on point. Check it out: deno.land/manual@v1.7.5/introduction

Collapse
 
simoncodephere profile image
Simon Pfeiffer

I personally have only watched videos on Youtube, and there's definitely a lot more to learn.

Collapse
 
alimobasheri profile image
MirAli Mobasheri

That was an interesting and well-written article. Thanks!
Now I'm curious to learn more about Deno.js 👍

Collapse
 
simoncodephere profile image
Simon Pfeiffer

Thank you, really glad you enjoyed it! Please share your experience when you do :)

Collapse
 
christian0cfg profile image
Christian Siemoneit

Love the article!

Collapse
 
simoncodephere profile image
Simon Pfeiffer

thanks Christian!

Collapse
 
okikio profile image
Okiki Ojo

The problem with Deno as I see it is that it's missing client side build tools, so I can't switch my current setup for Deno.

Collapse
 
romfrolov profile image
Roman Frolov

That's a very important point for so many of us.

Collapse
 
okikio profile image
Okiki Ojo

I no longer even use node js for servers but the build tools collection node has is unmatched by every programming language.

Collapse
 
congnguyendinh0 profile image
cong nguyen-dinh

Great article!

Collapse
 
simoncodephere profile image
Simon Pfeiffer

thanks Cong! :)

Collapse
 
romfrolov profile image
Roman Frolov

Amazing article, Saji. Bravo!
Thanks for sharing.

Collapse
 
simoncodephere profile image
Simon Pfeiffer

Means a lot, thanks Roman! :)