This Week in Programming: Requiem for a Programming Language
This week, we pour one out for all those languages that have served us over the years, but serve us no longer.
Actually, that can be a bit difficult to find, can’t it? Are any languages truly dead? So many languages have come and gone from popularity, but even those that have faded still run some obscure program out there somewhere, don’t they?
Taking a quick look at all the languages tracked by the language popularity tracking TIOBE Index, I was surprised to find even those obscure, assumedly long-gone languages of yesteryear. As a matter of fact, rather than disappearing to complete obscurity, some languages are still serving to employ aging developers as younger developers move on to the trendy, shiny new languages of the future.
One language, however, we know is actually done and gone, as over its lifetime, it was only used by a small team of developers and for just one company — the New York Times. This week, Brian Hamman, vice president of engineering at the Times, offered up an obituary of sorts for the language that “helped shape the digital New York Times” — a language that breathed its last breath in March 2018 after 17 years of service.
According to the tale, it all started with a simple request: “Context was born in 2001 in the office of Scott Meyer, then general manager of The New York Times’ website. Meyer wanted to make the New York Times website more personal by adding readers’ usernames to the top of the homepage. At the time, nytimes.com was a static site that could not be customized for each person, but Meyer wanted that to change.”
Although PHP and CGI were options, the team had their doubts that these languages could handle the quickly growing NYTimes web presence and future customization needs. So, instead, “they created Context, a lightweight language that was compiled to run on The New York Times’s servers and optimized for speed” that got “speeds a hundred times faster than CGI in early tests.”
The next thing you know, Context was serving personalized ads, paginating content, and doing all the things we’ve come to expect from the modern web. But, as Hamman notes, “it never ventured outside the walls of the building; it was never open sourced or sold.” And so it remained for 17 years, the loyal steed. While Context may be one of the few languages to die a real death for this reason, Hamman also points to this as the basis for its longevity — and maybe this is a point of interest to those teams out there now developing new languages.
“But perhaps that isolation helped keep it alive until earlier last year. With only a handful of contributors, the language was spared being pulled in different design directions. Fewer than a dozen engineers knew how the build system worked. Maybe a hundred engineers learned to ever write Context code,” writes Hamman. “Without a large community of engineers, Context was spared from the drag that new features can add to a system, which meant it stayed small, nimble and able to scale to meet the growing traffic of The Times for a decade after its creation.”
In the end, the Times has rewritten the site using newer technologies, including React, Relay and GraphQL, and Context quietly faded out of use. So this one’s for you, Context — it sounds like you served your creators well.
Annoyingly, “good software engineer” has been co-opted by SV interview culture to mean “someone who’s memorized everything from sophomore-year algorithms class”
— Randall Koutnik (@rkoutnik) February 20, 2019
This Week in Programming
- Get Your .dev Domain Here: Google is currently offering an early access period for its new .dev top-level domain. By the time of this publication, you’ll be able to get a domain for an early access fee of $350, plus the standard $12/year — or you could just wait until the end of the month and pay just the yearly fee. I guess it just depends on how likely you think your .dev domain is to go before then… and how much you’re willing to pay for it. One interesting fact — Google writes that, just like its “recent launches for .app and .page, this new domain will be secure by default because it requires HTTPS to connect to all .dev websites.” To get yours, visit get.dev.
- Keeping Your Android Apps API Compliant in 2019: Android developers, pay attention — Google has outlined its expanded target API level requirements in 2019 in a blog post offering “more information about the Google Play requirements for 2019, and announcing some changes that affect apps distributed via other stores.” The company has made API level 26 required since November 2018 and will start requiring level 28 for new apps in August 2019 and for existing apps by November 2019. The post also lists dates for apps stores in China and elsewhere. The company shares that more than 95 percent of the “spyware we detect outside of the Play Store intentionally targets API level 22 or lower” and that “Google Play Protect will warn users when they attempt to install APKs from any source that do not target a recent API level.” For reference on how to change your API target level, visit Google’s migration guide or check out the following video.
- A Deeper Dive Into Go: The New Stack’s David Cassel continues with his deeper look at Go, this time focusing on its status as the Programming Language of the Cloud, again offering details from an interview with Steve Francia, who joined Google in 2016 to become its product lead for Go. The interview offers new details on the “Go Cloud Development Kit,” which Francia calls “more or less the standard library for cloud applications.” Beyond this, Cassel writes that Francia delves into “the proposition that not only is Go the language of cloud infrastructure, it’s also even becoming the language of the entire cloud,” quoting Francia as saying that “it’d be reasonable to say that the modern cloud is written in Go. A number of years ago an analyst wrote that Go is the language of cloud infrastructure, and I think that has been proven overwhelmingly true — most cloud infrastructure things have been written in Go.” And while you’re here, here’s another rather worthwhile read making the Golang rounds this week — Go project member Dave Cheyney offers up some real-world advice for writing maintainable Go programs.
- GitHub Ups the Bounty: GitHub’s content department is always at it, blogging about language and package popularity, and I tend to find it a good read, no matter the topic. Did you catch the October 21 post-incident analysis perchance? It was a thrilling, if technical, read. This week, the GitHub blogging team offered a look at the last five years of the GitHub Bug Bounty program, and one of the more thrilling points, beyond the numerous bugs found in the past year, includes the increased bounty for the year ahead. The company lists rewards ranging from $617 (that’s random) to more than $30,000 and has expanded eligibility to “all first-party services hosted under our github.com domain.” For full details, and a nifty leaderboard, check out the GitHub Bug Bounty site.
- Google Offers a Discount for Data with Speech-to-Text Service: For those of you out there willing to sell your data to Google’s data-logging program, Google now offers a 33 percent price cut, according to a story over at TechCrunch about Google Cloud’s speech APIs. In addition, the updates to its Cloud Speech-to-Text and Text-to-Speech APIs include “new features that should be especially interesting to enterprise users, as well as improved language support and a price cut.” Beyond pricing, Cloud Text-to-Speech is “getting a major update with 31 new WaveNet and 24 new standard voices. The service now also supports seven new languages: Danish, Portuguese/Portugal, Russian, Polish, Slovakian, Ukrainian and Norwegian Bokmål. These are all in beta right now and extend the list of supported languages to 21 total.”
- Adieu, Free CodeAnywhere: Free tier CodeAnywhere users just received an email stating that as of March 1, the free tier will become a free trial and limited to seven days because, put simply, “the increasing demand from our user base to boost the performance of our container service forced us to increase the operating cost of running our service, and with that, a forever for free plan is no longer feasible.” The company is offering a 40 percent lifetime discount for those who convert to a paying account now.
Integration tests that take two weeks means you won't be able to integrate.
— Jaana Dogan ヤナ ドガン (@rakyll) February 21, 2019
Feature image: Pulp Librarian.