Development

This Week in Programming: Get Quantum with Q Sharp

16 Dec 2017 6:00am, by

While we’ve entered prime time for year-in-review (we have a few of those to peruse) and predictions-for-the-year-ahead articles, the big news this week might be Microsoft’s preview of its Quantum Development Kit, “which includes the Q# programming language, a quantum computing simulator and other resources for people who want to start writing applications for a quantum computer.” In case you were wondering, that’s “Q sharp” (not “R flat”) for short.

Ars Technica explains that the language is “intended to bring traditional programming concepts—functions, variables, and branches, along with a syntax-highlighted development environment complete with quantum debugger—to quantum computing” and “open up quantum computing to more than just physicists.” According to Microsoft’s blog post, the Quantum Development Kit will be deeply integrated into Visual Studio, with a local quantum simulator “that can simulate around 30 logical qubits of quantum computing power using a typical laptop computer.” While the blog post offers an inspirational video about quantum computers, chock full of theme music and people walking on the moon, the full introduction and step-by-step demo video is much more informative:

This Week in Programming News and Announcements

  • As Easy As Atom 1.23: Atom 1.23 has been released, bringing with it “a new feature for packages to register URI handlers, the ability to register hidden commands, as well as editor performance improvements.” In addition, Teletype 0.3.0 brings about some performance and connectivity improvements, while the beta of Atom 1.24 fixes an important bug: “Someone on the wrong side of the tabs vs. spaces debate wrote the initial Toggle Line Comment implementation, as it always inserted spaces. It will now honor your settings.”
  • Get Organized with GitHub Enterprise 2.12: GitHub announced the latest version of GitHub Enterprise, which brings “project board enhancements, global webhooks, repository archiving, and more.” New features include automated tasks, keyboard navigation, and notes for project boards, global webhooks for an entire enterprise instance, and automatic HTTPS deployment, among other things. The new version is available for download now.
  • IBM’s Curated, Open Source “Code Patterns”: IBM announced the release of more than 120 “code patterns”, which it says “are curated packages of code, one-click GitHub repos, documentation and resources that address some of the most popular areas of development, including AI, Blockchain, Containers and IoT.” The basic idea here being that it’s better to have some code you know you can trust – to avoid reinventing the wheel – and not have to dig through various unknown resources to find it. In addition to code patterns, the company has also announced a Bot Asset Exchange that offers a similar function as its code patterns, providing “ready-to-use, domain-specific conversation logic” for bot developers.

This Week in This or That

  • Who’s the Master Multi-Tasker? When it comes to building scalable Web applications, it’s important to pay attention to server-side I/O performance and how the language you choose affects that. The devil is in the details of how your language of choice handles syscalls — whether blocking or non-blocking. A good analogy would be like going to a bar. Blocking syscalls are when you have to wait in line to order from the one bartender. Everyone waits for the person in front of them to be finished, even if that person doesn’t know what they want by the time they get to the front. You’re stuck waiting for them, either way. Non-blocking syscalls are more like a bar where everyone comes up to the front and orders when they are ready and the bartender can help multiple people at once. Moving past my perhaps not perfect analogy, the blog post looks at Node vs. PHP vs. Java vs. Go and performs a series of benchmarks. Which one wins? Take a look for yourself.

From Geek & Poke: Click to see the original full-sized cartoon.

  • Your Programming Language Sucks: My favorite way to learn about a topic is often to watch someone post their unfiltered thoughts on a topic and then watch the resultant firestorm of offended Internet denizens. For example, these rants about programming languages hold nothing back and I find the Reddit discussion to be illuminating. JavaScript and Node.js? “Complete dogshit.” Python? “A cult.” Go? “Mental retardation.” Kotlin, however? “A breath of fresh air.”

This Week in The Year Past

  • Whither JavaScript in 2017? I don’t know about you, but I love interactive graphics that morph and add information as you mouseover them, and the State of JavaScript 2017 survey provides just that. The survey asked “over a hundred questions to more than 28,000 developers all over the world, covering topics going from front-end libraries all the way to back-end frameworks” and gives a look at the state of the JavaScript ecosystem. As noted in InfoWorld, “developers prefer ES6, React, and Express, while TypeScript, Vue.js, and GraphQL draw strong interest”. Google’s Angular framework, however, has seen a decline in popularity.
  • For You, From Facebook: While you certainly won’t find any mention of the hubbub around their licensing of React in this post, Facebook’s developer blog takes a moment to review its contributions to software across the stack. Summarized quickly, Facebook has been busy. It has released 113 new open source projects in the year past, adding up to to nearly 450 active projects, which “collectively had more than 100,000 commits, almost a third of which came from external contributors.” (Perhaps coincidentally, InfoWorld offered up a React tutorial this week that helps get you started with the open source JavaScript library for building user interfaces.)

This Week in Learning

  • If You Don’t Know a Stack from a Heap…then this GitHub based Coding Interview University is for you. The course’s author, who landed a job at Amazon in the end, comments that they “didn’t know a stack from a heap, didn’t know Big-O anything, anything about trees, or how to traverse a graph. If I had to code a sorting algorithm, I can tell ya it wouldn’t have been very good. Every data structure I’ve ever used was built into the language, and I didn’t know how they worked under the hood at all.” Designed “for new software engineers or those switching from software/web development to software engineering (where computer science knowledge is required),” the course offers daily lessons on all the stuff you probably never touched as a mere Web developer so you can make the transition to full-stack developer.
  • Secure PHP? What’s that? I have to admit, I clicked on the 2018 guide to building secure PHP software expecting a joke. Like, just a website, maybe with one of those 1990s animated “Under Construction Gifs”, and just “Nope.” in 48pt font, bold in the middle of the white page. That’s not really a statement on the actual security of PHP, just my osmosed, biased perception of the language that has run nearly every open source CMS and shopping cart site I’ve worked with since the turn of the century. Step one according to this article? “Discard many of [your] old practices and beliefs about developing secure PHP applications,” including the one where you do not even believe “such a feat is even possible.”

Microsoft is a sponsor of The New Stack.

Feature image: Panel from a Geek & Poke cartoon.

A newsletter digest of the week’s most important stories & analyses.

View / Add Comments

Please stay on topic and be respectful of others. Review our Terms of Use.