---
title: "What if JavaScript becomes the default programming language?"
publication: "JavaScript Weekly"
issue: 386
published_at: "2018-05-18"
canonical_url: "https://javascriptweekly.com/issues/386"
---

This week's JavaScript news       

#386 — May 18, 2018 

[Read on the Web](https://javascriptweekly.com/issues/386)   

JavaScript Weekly   

_Psst.. there's a cool graph at the bottom of this issue showing what testing tools JavaScript developers prefer to use.._   

[What If JavaScript 'Wins'?](https://medium.com/@anildash/what-if-javascript-wins-84898e5341a) — Reflections on JavaScript’s continuing growth and how _network effects_ could see it essentially become the ‘default’ programming language. 

Anil Dash   

[A First Look at Angular Ivy](https://www.telerik.com/blogs/first-look-angular-ivy) — Ivy is the forthcoming new render engine for Angular. This article takes a closer look at how it works and what it means for Angular developers. 

Sam Julien   [![\](https://copm.s3.amazonaws.com/eb251311.png)](https://frontendmasters.com/courses/advanced-react-patterns/) 

[Learn Advanced React Component Patterns](https://frontendmasters.com/courses/advanced-react-patterns/) — Simplify large React applications by separating your component logic, state and display properties to make React components more flexible and usable. This course is part of our [Complete React Learning Path](https://frontendmasters.com/learn/react/). 

Frontend Masters sponsor   

[Debugging Modern Web Applications with Firefox](https://hacks.mozilla.org/2018/05/debugging-modern-web-applications/) — The Firefox Dev Tools team are adding lots of new features to help you work with modern tools like Babel and Webpack while debugging with Firefox. 

Mozilla Hacks   

▶[Web Performance Made Easy](https://www.youtube.com/watch?v=Mv-l3-tJgGk) — A talk from Google I/O covering lots of useful stuff like auditing page assets, code splitting, image optimizing, minification, and more. 

Ewa Gasperowicz and Addy Osmani   

[Using Trampolines to Manage Large Recursive Loops](https://blog.logrocket.com/using-trampolines-to-manage-large-recursive-loops-in-javascript-d8c9db095ae3) — A _trampoline function_ wraps a recursive function in a loop to better manage how it runs. 

Benjamin Johnson   

[Data-Forge 1.0: A JavaScript Data Wrangling Toolkit](http://www.data-forge-js.com/) — Inspired by Pandas and LINQ, Data-Forge is designed to be a ‘goto tool for slicing and dicing data’. [v1 release post.](http://www.the-data-wrangler.com/data-forge-v1-launch) 

Ashley Davis   

[Introducing the Microsoft Edge DevTools Protocol](https://blogs.windows.com/msedgedev/2018/05/11/introducing-edge-devtools-protocol/) — Edge has gained a Chrome-like DevTools protocol for providing access to external developer tools. 

Brendyn Alexander (Microsoft)   

[Announcing TypeScript 2.9 RC](https://blogs.msdn.microsoft.com/typescript/2018/05/16/announcing-typescript-2-9-rc/) — Highlights include `import()` types and support for symbols and numeric literals in `keyof` and mapped object types. 

Microsoft  

💻 Jobs  

[Senior Frontend Developer at Nested.com, a London Based Startup](https://nested.workable.com/jobs/407370) — We're looking for frontend developers to join our growing team. We're using technology to reinvent the broken industry that is UK property. 

Nested   

[Sr. Fullstack Engineer (Remote)](https://www.stickermule.com/careers) — Sticker Mule is looking for passionate developers to join our remote team. Come help us become the Internet’s best place to shop and work. 

Sticker Mule   

[JavaScript Expert? Sign Up for Vettery](https://www.vettery.com/tech?utm_source=newsletter&utm_medium=cooper-javascriptweekly&utm_term=tech&utm_content=grouped&utm_campaign=ad-24220) — Top companies use Vettery to find the best tech talent. Create your profile to get started. 

Vettery  

📘 Tutorials and Opinions  

[How The New Vue CLI Simplifies Development](https://blog.pusher.com/new-vue-cli-simplifies-development/) 

Chris Nwamba   

[ES2018 Regular Expression Updates, an Opinionated Summary](http://www.zsoltnagy.eu/es2018-regular-expression-updates-an-opinionated-summary/) 

Zsolt Nagy   

[Vue.js Chat with AWS Lex on PubNub ChatEngine](https://www.pubnub.com/tutorials/chatengine/vuejs/chat-app/?utm_source=OnlineAdvertisement&utm_medium=CooperPress-JavaScript-Weekly&utm_campaign=OE-CY18-Q2-Cooper-Press-JavaScript-Weekly-May-18) — How to build a Slack-like chat application using Vue.js and ChatEngine - global & private chat, and chatbots. 

PubNub sponsor   

[A Simple Guide to ES6 Promises](https://codeburst.io/a-simple-guide-to-es6-promises-d71bacd2e13a) — We’ve seen a few subscribers lament they’re too new to JavaScript to understand many of the links we include.. if that’s you, you should find _this_ tutorial useful :-) 

Brandon Morelli   

[Comparing async/await with Generators and Promises](https://hackernoon.com/async-await-generators-promises-51f1a6ceede2) 

Chanakya Bhardwaj   

[Turn Sublime Text 3 into a JavaScript IDE](https://css-tricks.com/turn-sublime-text-3-into-a-javascript-ide/) — Visual Studio Code appears to be the most popular editor in the JavaScript world lately but Sublime Text remains fast and capable and can be tweaked to work well as a JavaScript IDE. 

Lorenzo Pichilli   

[Type-Safe Object Merging in TypeScript 2.8](https://spin.atomicobject.com/2018/05/14/type-safe-object-merging-2-8/) 

Tyler Hoffman   

[Understanding Proxy, the ES6 Feature](https://www.atyantik.com/proxy-javascript-es6-feature/) — Includes some JSFiddle examples to play with. 

Yash Thakur   

[Playing with MIDI and the Web Audio API in JavaScript](https://medium.com/swinginc/playing-with-midi-in-javascript-b6999f2913c3) 

Kacper Kula  

🔧 Code and Tools  

[Signale: A Highly Configurable Console Logger](https://github.com/klauscfhq/signale) 

Klaus Sinani node   

[fast-copy: A 'Blazing Fast' Deep Object Copier](https://github.com/planttheidea/fast-copy) 

Tony Quetano   

[Free Planning Template for Upgrading MongoDB](https://www.mongodb.com/collateral/upgrade-planning-template?jmp=cpress&utm_campaign=WW_CP_newsletter_sponsorship_FY19Q1&utm_content=20180511&utm_medium=display&utm_source=javascriptweekly) — Running an older version of MongoDB? We put together this template to help you plan out your upgrade process. 

MONGODB sponsor   

[Lynt: A Zero Config JavaScript Linter](https://github.com/saadq/lynt) — ..with support for React, Flow, and TypeScript. 

Saad Quadri   

[Dinero.js: Immutable, Chainable API to Work with Monetary Values](https://github.com/sarahdayan/dinero.js) 

Sarah Dayan   

[React Native DOM: An Experimental Port of React Native to the Web](https://github.com/vincentriemer/react-native-dom) 

Vincent Riemer   

[Hotkeys: Keyboard Input Capture with No Dependencies](https://github.com/jaywcjlove/hotkeys) 

Kenny Wong   

[Slack’s Developer Conference is Coming – Watch Livestream](https://slackhq.com/get-ready-spec-our-conference-for-builders-is-almost-here-a4171418671c) 

Slack sponsor  

Results of the Front-End Tooling Survey 2018   

Over 5,000 frontend developers took part in this survey, and [here are the results](https://ashleynolan.co.uk/blog/frontend-tooling-survey-2018-results) covering what tools and techniques front-end developers are using right now. 

Here's a quick sneak peek - what testing libraries do JavaScript developers prefer to use?  

[![\](https://res.cloudinary.com/cpress/image/upload/w_800,e_sharpen/qh1bqivzdywuhkvkcmpv.png)](https://ashleynolan.co.uk/blog/frontend-tooling-survey-2018-results)   

But there's a lot more, including [what task runners people use](https://ashleynolan.co.uk/blog/frontend-tooling-survey-2018-results#js-task-runners), [preferred frameworks](https://ashleynolan.co.uk/blog/frontend-tooling-survey-2018-results#js-framework-usage), and [linting tools.](https://ashleynolan.co.uk/blog/frontend-tooling-survey-2018-results#js-linters) 

Till next week.. :-)         

Curated by [Cooperpress](https://cooperpress.com/) and [Peter Cooper](https://twitter.com/peterc) 

'JavaScript' is a trademark of Oracle Corporation in the US
We are not endorsed by or affiliated with Oracle. 

[Change your email address](https://javascriptweekly.com/edit_subscription/*|UID|*) or[Stop getting this newsletter](https://javascriptweekly.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
