My response was immediate: Why?
Needless to say, I didn’t write the book. I kept coding on the web server and writing about my favorite technologies (usually C# and the .NET Framework). Years passed.
Then something strange happened.
And if the new coder-to-be is a kid, here’s an indisputable fact: kids and browsers are a tight fit. If you’ve watched a child at work on a computer (not a mobile device), you’ve probably noticed that at least 98% of their time is spent in a browser. They play games there, use social media, and review schoolwork through Google classroom and Google Docs. It’s only natural that the code they create is consumed inside the same browser world that they already inhabit.
Now for the problems…
Let’s look at the top four most common complaints.
Here’s an example of some code that’s doomed to fail:
var myNumber = 100;
myNumber = myNumbr + 1;
It’s hard enough to learn to code without needing to worry about the ways your programming language is sabotaging you at the same time. But, happily, type safety problems are easily fixed with the right development tool.
If you use the ts-check comment, Visual Studio helpfully underlines these potential mistakes:
Hover over one of these underlined areas with the mouse, and Visual Studio pops up an explanation of the problem:
Object-oriented programming (OOP) is a way to model and arrange code. Done right, OOP helps programmers create simpler, better organized code. It also makes it easier to reuse important bits of functionality.
Have you ever heard of Visual Basic?
Do you have your own opinions about the best first language for teaching kids to program? There’s no right answer (and I have my own sentimental favorites). Feel free to drop highly opinionated answers in the comments section below!
¹ Server-side code is the code that runs on a web server, far away from your computer. Client-side code is the code that runs right in your browser. For example, search for a product on Amazon and server-side code scours Amazon’s databases, generates the HTML with a list of possible matches, and sends it to your browser.
² Client-server applications are an older model of application that divides the work into two parts. One part runs on a desktop computer (the client), which communicates with the other part (the server) on another computer.