This Week in Programming: What’s the Point?
Fine, I’ll admit it — despite years in the business of technology news, they got me again last week. While I knew for sure that Google wasn’t actually going to identify my ramen — wait, that one was real, I think — I mean, Google wasn’t going to pair me with my ideal hummus, when I read that C++ will no longer have pointers, I thought to myself “Whoah, that sounds like a big deal.”
Of course, the last time I even attempted programming in C++ was sometime in the early 1990s…
As the (admittedly faux) article points out, “those ancient creatures are a barrier to entry to C++, and a burden for those who braved the barrier.” While their removal from the language may not be true, this statement might be one you agree with nonetheless. Pointers are often a cause for exception.
(See what I did there? Eh? Eh? NullPointerException, anyone?)
Sure, most of you were way quicker to note the obvious April Fool’s joke, but it got me thinking about pointers, which are simply referred to as “references” in other languages. It seemed like no coincidence, then, that an article outlining the basics and pitfalls of pointers in C would cross my feed.
“Pointers — you either love them, or you haven’t fully understood them yet,” it begins. “Pointers are indeed a polarizing subject and are both C’s biggest strength, and its major source of problems.”
So, if you found yourself to be as gullible as this author, or perhaps just in need of a refresher on pointers, give that guide a read for “some real-world scenarios of where and how pointers are used”, including examples of “regular pointers, their basics and common pitfalls, and some general and microcontroller specific examples.”
Or else, if you simply breezed past that obviously dubious headline, read on for some more programming news and thoughts of the week past.
Sidenote, I find myself wondering now if writing should follow the same practices as programming. Should I have offered you, dear reader, an early exit, as discussed in last week’s discussion of else considered harmful? Alas, I saved the error handling for the end.
Read a lot about the removal of raw pointers in C++20. But what will stay, if all the C is removed from C++? It’s just ++ 🤔
— Christian Schmidt (@cwschmidt) April 1, 2018
This Week in Programming
- Amazon Now Translates and Transcribes: Amazon announced at its AWS re:Invent conference last year the existence of two new, exciting tools, and this week it has announced their general availability. Both Amazon Transcribe and Amazon Translate are now available to all developers to make the transcription of audio to text and the translation of text from one language to another. Amazon Transcribe is available now in US East (N. Virginia), US West (Oregon), US East (Ohio) and EU (Ireland) and the free tier gives you 60 minutes of transcription for free per month for the first 12 months with a pay-as-you-go model of $0.0004 per second of transcribed audio after that, with a minimum charge of 15 seconds. The latest version also allows for identifying different speakers in the transcription and custom vocabularies for industry-specific words and phrases. As for Amazon Translate, also available in the same areas, the free tier offers two million characters monthly for the first 12 months and $15 per million characters after that. Currently, Amazon Translate allows you to translate text to or from English, to any of the following languages: Arabic, Chinese (Simplified), French, German, Portuguese, and Spanish, with Japanese, Russian, Italian, Chinese, Turkish, and Czech on the way.
- Amazon’s Gadgets Skill API Goes Beta: In further Amazon news this week — no, we’re not talking about the Trumpian feud with Bezos — the company launched its Gadgets Skill API into beta. According to ProgrammableWeb, the API “allows developers to build game skills for Echo Buttons that work in conjunction with Amazon’s Echo, Echo Dot, Echo Show, Echo Plus and Echo Spot devices.” From the sounds of it, the API lets developers turn the Echos into fancy, more savvy versions of Simon Says, wherein users press buttons to play games and “Echo Buttons can illuminate in an animated fashion.” As a matter of fact, the article offers up on classic example of the APIs use — “One participant is toy manufacturer Hasbro, which created Simon Tap, a reimagining of its popular Classic Simon.”
Oh boy … pic.twitter.com/4qGPcsqM2L
— nixCraft (@nixcraft) April 6, 2018
- The Death of the Instagram API: Also on ProgrammableWeb this week comes a report that Instagram has effectively killed its public API. “Instagram has deprecated much of its public API effective immediately,” they write. “In a changelog published today, the popular Facebook-owned social media sharing platform announced that the endpoints for Follows and Relationships, Public Content Commenting, Likes and User Search have been removed. Instagram also deprecated subscriptions, which allowed for notifications when new media is posted.” Further details on what it calls “Instagram’s dramatic move” include a reduction from 5,000 API calls per user hour to just 200, which came unannounced and “caught many developers off guard and caused apps to break.” While the article points to Facebook’s ongoing data scandal as a possible cause, the death of Instagram’s API may seem to some like just another example of the dangers of building apps that are fully reliant upon the data of another service. We know it’s been a while, but anyone remember those 2011 antics around the Twitter API?
- Ol’ Perl’s Having a Hard Time: According to the TIOBE Index, which examines programming language popularity on a monthly basis, Perl is having a hard time. Not like we didn’t already know that. According to the article, “the fork of Perl 6 (and its delays for decades) together with the unclear future of what was going to happen to the language was the main reason for engineers to look for alternatives such as Python and Ruby.” Read on for the full analysis of what’s coming and going in the world of programming languages. Also of note, JAXEnter remarks that SQL has rejoined the index after “a long hiatus.”
- CockroachDB 2.0 Brings The Speed (Among Other Things): CockroachDB announced version 2.0 this week, and according to JAXEnter, version 2.0 of CockroachDB is all about speed. The publication excitedly asserts (with two, count them, exclamation points) that CockroachDB “is an open source project that was inspired by Google Spanner and as some have argued, it managed to outrun it! With this new release, CockroachDB promises to go even further with an increase of 500% of the response times! Let’s have a closer look at all the improvements and additions.” SDTimes points out that the latest version “includes geo-partitioning features to keep data close to the customer, performance benchmarks, and support for JSON,” as well as “GDPR compliance, native support for storing, indexing and querying JSON and 62 percent more transactions per second than version 1.1.”
- Glitch Leaves Beta and Goes Open Source: Finally, for news this week, Glitch, our favorite Web-based tool for “real-time collaborative editing, instant deployment and automatic secure hosting” has announced that it has left Beta and open-sourced itself. Included in the full version are Glitch for Teams, Glitch Embeds, which allows you to embed Glitch apps anywhere on the web, and new developer tools like full-stack view source, which lets you can see the complete code-behind apps running live on the web. In addition, Glitch itself is now opened up to the community as open source.
8 yo: We're learning to make websites at school.
Me: Awesome, are you using Google Sites or something.
8 yo opens a text editor and types in 6 valid lines of html.
8 yo: Dad, why are you crying?
— Ethan White (@ethanwhite) April 2, 2018
This Week in Learning
- Collaborating on Machine Learning: Two announcements this last week show some progress in the world of machine learning. First, Google introduced TensorFlow Hub for reusable machine learning models, which is “a library designed for publishing, discovering, and consuming reusable parts of machine learning models.” According to the announcement, “modules contain weights that have been pre-trained on large datasets and may be retrained and used in your own applications. By reusing a module, a developer can train a model using a smaller dataset, improve generalization, or simply speed up training.” Along similar lines, Techcrunch covered the launch of Comet.ml, which it says “wants to do for machine learning what GitHub did for code.” So, for those of you getting into machine learning, heads up.
- Git For Noobs: For you noobs out there (I count myself among you), I thought this was a good one to include. Git from the bottom up takes a look at Git, that favorite of code repositories and versioning tools, and explains the whole thing in layperson’s terms, attempting to “reveal a bit of the simplicity underlying it — however dizzying its array of options may seem from the outside.”
- Roadmaps to Being a Developer: A while back, we included the visual roadmap to being a developer. Well, the image’s creator has gone on to extrapolate and go into a bit more detail, so for those of you wondering about which tools to learn, there are two more articles to peruse. The Modern Frontend Developer in 2018 and the Modern Backend Developer in 2018 go into a good bit more detail on each.
- C# Smorgasbord For Free: This one is that simple. The author of C# Smorgasbord offers a brief history of the effort behind the materials and announces that C# Smorgasbord is now free. While you can still purchase the paperback copy, the book is now available for free as PDF, EPUB, or MOBI.
Feature image: Album cover for Harry Nilsson’s “The Point” (RCA).