This Week in Programming: Is Code Necessary to Coding?
Some news everyone seems to be interested in this week is the general availability of Google’s “low-code environment App Maker,” which promises to make it “easy for your team to iterate from prototype to deployed app,” regardless of their lack of coding experience and formal training in the fine art of computer programming.
For most developers out there, I have to imagine that the reaction to this sort of news, as with most “low-code” solutions of the sort, falls somewhere between “good luck with that” and “thank goodness, now I don’t have to do it.” For me, whenever I see one of these new, low-code options, it makes me rethink what it really means to be a developer, coder, programmer, or whatever else we want to call ourselves.
I’m always brought back to those early days of manually copying BASIC code out of the back pages of Discovery magazine. That was the essence of learning to code. That and accidentally corrupting my boot sector by dabbling with assembly code, or destroying some essential data while learning to read and write to files, or whatever else. It involves some essential level of inaccessibility and difficulty — almost like a hazing. That was the cost of admittance to the high society of computer programmers.
Is any of that really necessary to be a developer, though? Or is it more simply a way of thinking?
All too often, these low-code offerings seem to offer the promise of easy app development to the unskilled, but I dare to say that the skill is not in knowing the code, but rather knowing HOW to program the computer – how to tell the computer what to do and interact with the human on the other end. Surely, there are deeper levels of coding and understanding (that far outpace my own meager understanding, as well), but even developing a simple “line-of-business” app, as the announcement calls it, takes more than a technical understanding of code. These days, I watch as my nine-year-old niece learns to “code” using MIT’s Scratch, and while she doesn’t have to struggle with these same terrible initiation rights, she is learning how to think through every step and possibility. She is learning to account for edge use cases and how one step leads to the next and how she can’t take anything for granted. The computer does exactly what she tells it to do, nothing more and nothing less. And anyone hoping to build an app for their business — no matter their knowledge or lack thereof of actual “code” — needs to embody exactly those skills.
Google even acknowledges this line of discernment in its introduction of App Maker:
Code does not make the coder, but rather the way of thinking. These low-code solutions are opening up the world of coding to people who won’t take the time to understand code, but will take the time to learn how to think like a coder. In the meantime, low-code seems to make life easier for those who already understand how to code, as well, which is… well… pretty awesome, if you ask me.
Mother: can you please fix my computer
Me: *leans back in chair* well… well … well … if it isn’t Miss ‘Get Off That Computer’ Years 1994 to 2006
— Cheish (@TheCheish) June 13, 2018
This Week in Programming
- TypeScript Hits Its Stride: If the TIOBE Index is any indicator, TypeScript has finally hit its stride as it finally joined the TIOBE top 100. The TIOBE Index tracks language popularity and JAXEnter reports that “TypeScript finally debuts at #93,” remarking that “while many are vocal about their love for this MS language, it’s never been too popular across a widespread audience.” Read on for a look at the other movements in language popularity this time around, including a notable rise in the use of PHP and Visual Basic, of all things.
- Fo Brings Functional Programming Features to Go: And another story from JAXEnter introduces us to Fo, an experimental superset for Go. According to the article, Functional Go, or Fo, has one feature so far — type polymorphism via generics. In essence, this feature makes “it possible to write flexible higher-order functions and type-agnostic data structures” and “gives us a glimpse into what Go would look like with some new language features and allows us to explore how those features interact and what you can build with them.” Really, Fo is just in its initial experimental phase, but it definitely caused a stir among the Go community this week, it would seem.
— Kelly Vaughn (@kvlly) June 13, 2018
- Facebook’s Sonar Goes Open Source: Next up, SDTimes reports that Facebook has open sourced Sonar, its extensible debugging tool that was “originally created to help Facebook engineers manage the complexity of working with multiple different modules.” According to Facebook’s announcement, Sonar provides “a highly flexible, intuitive way to inspect and understand the structure and behavior of their iOS and Android applications… by providing a more visual and interactive experience that is extensible to fit engineers’ specific needs.” The tool is now available on GitHub and Facebook offers a quick guide on how to implement Sonar plugins.
- No More Third-Party Chrome Extension Installs: Google is putting the kibosh on third-party Chrome extension installs and Techcrunch explains to us why we can’t have nice things anymore. Essentially, up until this announcement, “developers who publish their apps in the Web Store could also initiate app and extension installs from their own websites,” which they did deceptively at times. Starting September 18, 2018, those inline installs will be no more, and Chrome users will instead be redirected to the Chrome Web Store instead to install the extension.
- The Snapchat Snap Kit Rumors are True: Rumors were swirling that Snapchat was working on an SDK, and ProgrammableWeb reports that they are indeed true, as Snapchat Launches Snap Kit, calling it “a big announcement based on the company’s previously walled-off approach to third-party developers.” Snap Kit employes “a series of APIs to give developers access to Snapchat features within third-party apps” and includes four basic pieces: Creative Kit, Login Kit, Bitmoji Kit, and Story Kit. These kits give developers access to the Snapchat camera, the ability to login into third-party apps with Snapchat credentials, use Snapchat Bitmoji stickers within integrated apps, and embed Snapchat stories within third-party apps, respectively. Apply directly with Snapchat to request access.
- Deploying Node.js to App Engine: Google announced this week that you can deploy your Node.js app to App Engine standard environment, which lets you “you deploy web and mobile applications without worrying about the underlying infrastructure” and enjoy “zero-config deployments, zero server management and auto-scaling capabilities.” Google also offers a quickstart guide on how to get started with Node.js on App Engine.
You say "VP of Engineering", I hear, "hasn't coded in 5 years".
— I Am Devloper (@iamdevloper) June 9, 2018
Feature image via Pixabay.