Will JavaScript type annotations kill TypeScript?
The creators of Svelte and Turbo 8 both dropped TS recently saying that "it's not worth it".
Yes: If JavaScript gets type annotations then there's no reason for TypeScript to exist.
No: TypeScript remains the best language for structuring large enterprise applications.
TBD: The existing user base and its corpensource owner means that TypeScript isn’t likely to reach EOL without a putting up a fight.
I hope they both die. I mean, if you really need strong types in the browser then you could leverage WASM and use a real programming language.
I don’t know and I don’t care.
Software Development

This Week in Programming: For the Love of JavaScript

May 19th, 2018 6:00am by
Featued image for: This Week in Programming: For the Love of JavaScript

Okay, everyone — take a deep breath, you’ve made it through this year’s marathon of developer conferences and come out on the other side unscathed. I mean, I’m sure there are plenty more, but between Facebook, Microsoft, and Google, there were more tools released and announcements made in the last two weeks than you could possibly keep up with.

And while we tried to keep up with everything, we still missed out on some things — so this week, we’ll look at what’s new, and offer a little review of some of the news we had to skip last time around. But before that, let’s talk about your favorite language to poke fun of and build absolutely anything and everything out of — no, definitely not PHP — JavaScript.

This week, ever-present internet denizen Anil Dash asks a simple question — What if JavaScript wins? — and makes the case that, rather than being just an increasingly popular programming language, “JavaScript may be reaching escape velocity as a network, and as an ecosystem of related technologies.”

Two of my favorite takeaways from the article are, first, Atwood’s Law, which dictates that “any application that can be written in JavaScript, will eventually be written in JavaScript” and, second, the wonderfully resultant subreddit that puts these proof points on display and showcases JavaScript’s ubiquitousness of late. Add to that another comic that crossed my feed this week, which shows someone sitting down to code something in JavaScript and ending up with yet another JavaScript framework, and that seems to be the state of affairs in recent times. JavaScript everywhere you look.

Dash takes the argument a bit further: From Typescript to npm to Node to “the open language described in the ECMAscript standard,” “there are a lot of things that are considered ‘JavaScript’ these days,” he argues, and it’s this network effect that could mean that “it may make sense for forward-looking platforms to disproportionately invest in JavaScript for their futures.” It’s just that, well, with JavaScript being used for “everything from spreadsheet macros to Internet of Things hardware,” not to mention the “web browsers on billions of devices around the world,” it might just win.

For some things, it seems like it already has. Although another article about JavaScript this week – one that argues that JavaScript is good, actually — is met with rather some resistance over on HackerNews. So, if you’re thinking to yourself “this is a load of…” just wander on over there, read the comments, and feel justified. After all, you can always rely on HackerNews for the take down, can’t you?

And with that, it’s time to take a look at what’s been going on in the last week of news and ideas in the world of programming. But first, take a moment and head on over to a wonderful creation that brings us all back to the wondrous yesteryear of the Internet in the ’90s — a website that calls on us all to get over ourselves and Make Frontend Shit Again.

This Week in Programming

  • Vim 8.1’s Asynchronous Terminal: Building on some of the asynchronous features that were introduced with Vim 8.0, the release of Vim 8.1 adds one new, exciting feature — support for running a terminal in a Vim window. The terminal window can be used to run a “make” command while continuing to edit, a shell to execute other commands, or even to use the new terminal debugger plugin for debugging inside Vim.
  • Get Your .app Here! Just a quick follow-up on a recent Google announcement — .app is now open for general registration. .app is a top-level domain that sets itself apart by making HTTPS required to connect to all .app websites.
  • Updates to the Slack GitHub Integration: While I have yet to believe in many of the chatbot tools out there, where they really seem to shine is in the world of developers. And the GitHub integration on Slack is no exception. This week, the two have announced some improvements to the Slack and GitHub integration, which allows developers to “take action on pull requests, issues, and more.” With the new features in the GitHub and Slack app, you can now “start on next steps from Slack with slash commands for common GitHub actions, using/github [action] [resource]” and “preview content by sharing links from private GitHub repositories.”
  • Rust Departs its Terrible Twos: Well, fine, it seems that the language that has “been voted the Most Loved Language on StackOverflow for all three years since it shipped” hasn’t really had a terrible year in its life. And now the language is celebrating its third birthday with a blog post summing up just how awesome it’s really doing. For example, take the fact that “the official teams that oversee the project doubled in size in the last year” and that it is now used by Google, Facebook, Twitter, Dropbox, Microsoft, Red Hat, npm and, of course, Mozilla, and made it to the the top 15 languages this year on GitHub. In fact, people are even getting paid to code in Rust these days. Of course, as we’ve discussed many times before, 2018 will see a big new version of Rush, which will “bring together improvements in every area of the project” as detailed in the roadmap. Summed up, the “next couple of releases will include stable SIMD support, procedural macros, custom allocators, and more.” Read on, for our quick summary of things we missed last week, for details on Rust 1.26.
  • Build Your Own X: Just a quick link to this one, as it’s self-explanatory and seemingly very useful — a GitHub repository that’s merely a list of tutorials on how to build your own… well, everything. 3D renderers, blockchains, programming languages, bots, frameworks, you name it.
  • TypeScript 2.9 Release Candidate: It’s been several months since 2.8 was announced and now the TypeScript 2.9 RC has been unveiled. InfoWorld summarizes all the changes, including ones that might break your existing code, so take note: “The release candidate features support for object literals and numeric types, via the keyof operator and mapped object types. Keyof, which already is part of TypeScript, provides a way to query property names of an existing type. But this operator has predated TypeScript’s ability to reason about unique symbol types, so it never recognized symbolic keys. TypeScript 2.9 changes the behavior of keyof to factor in unique symbols and literal types. Also, mapped object types such as Partial and Readonly can recognize symbolic and numeric property keys; properties named by symbols will no longer be dropped.”

This Week in Overshadowed News

  • Rust 1.26 Arrives: Amidst all the Facebook, Google, and IBM hubbub, the Rust team announced Rust 1.26 last week, which it called “possibly the most feature-packed release since Rust 1.0.” First, the release comes with the second edition of “The Rust Programming Language,” which is available for free online or, if you prefer, “you can pre-order a dead tree version of the book from NoStarch Press.” Beyond that, however, there are a number of new features you can look forward to, which are detailed in the post and in the detailed release notes.
  • In The Name of Research: Following the lead of some other companies, like Facebook and Google, Netflixed announced the Netflix Research Website last week, where it will provide “an overview of the research that we do here at Netflix.” Netflix has long lead the way with handling massive scaling issues and recommendations engines, and now they’ve “created this website to provide a broad overview of our research” in the hopes that it “provides more insight into some of the areas we work in, the research that we’ve done, and the challenges we face in continuing to make Netflix better.”
  • GitHub’s Checks API: GitHub also announced its Checks API, which has been released in public beta. The API “allows you to build sophisticated tools for continuous integration (CI), linting, and acceptance testing on GitHub” and “works with the GitHub REST API, with GraphQL support coming soon.” For more details, make sure to read the Application Developer Times summary of the new API.
  • Amazon Lets You Turn Back Time: Cue the Cher sing-along, because Amazon announced Aurora Backtrack last week, giving developers what they say is “as close as we can come, given present-day technology, to an Undo option for reality.”
  • The Future of C#: And finally, one last thing from Microsoft — a talk on the future of the C# language. Soon to come features include nullable reference types, recursive patterns, asynchronous streams and more.

Google and Microsoft are sponsors of The New Stack.

Feature image via Pixabay.

Group Created with Sketch.
TNS owner Insight Partners is an investor in: The New Stack, Dash.
THE NEW STACK UPDATE A newsletter digest of the week’s most important stories & analyses.