Content

The internet is a tutorial machine (programming)

Page is part of Articles in which you can submit an article

written by owen on 2015-Nov-03.

I spend alot of time programming, ALOT OF TIME. I spend more time programming than I spend reading articles on the internet about things that are going to big in the "future". It is hard to find good articles on the internet. Most articles are tutorials about the future, wearable tech, virtual reality, self driving cars. Usually written by 2 kinds of people;
1: "Future Geeks" who spend all their time reading/testing out new evolutionary "web tech" that is going to "change how we think about computers/IoT".
2: The second set are people who exist only to write/disseminate bait articles about things that programmers "should" be doing as opposed to the things people are actually doing.

Both these people write certain kinds of articles: mostly tutorials that promote one thing or the other that they think everyone should be doing. Here is a round up;

Basic Tutorial Articles

These are standard "new programmer" articles that try to say that everybody on the planet should learn programming because it is a basic human need like food and shelter or reading or math. These articles usually start off as a quick guide to help a clueless person male or female become interested in computer science by offering fantastical images of the glory in learning programming - "look you can write a todo list in 2 weeks!"

Some will get it but most will not. Programming is hard but tutorials are easy to write, so we get tons of them. These tutorials most often will send people to some kind of online learning website - dead end - without any kind of direction as to what they should do with this new found skill.

Articles for people who kinda know what they are doing

These are the articles that say "hey, you kinda know what you are doing, but you should really be doing this OTHER thing!". These articles usually try to get you to do something that the article thinks is a good thing - you should stop what you are currently doing and do this other thing "immediately" because "it is the future!" or it will help you be awesome or something like that. Reach you true potential edge case. Most of these articles never really say anything of substance and are usually written by designers and team managers who hope that everyone on the planet was as cool as they are. Hey you should be using bootstrap because its the best! Hey you should be using bootstrap 4 because its the best! It never ends. All they do is feed carrots. They lead, you follow.

Feature list articles

The standard feature list article; Why you should learn Go. A quick browse would make you think "yeah GO sounds pretty cool, maybe I should take some time and learn it so that I can do some awesome things with it". However some red flags pop up right off the bat;

As technology evolves, so does the number of new programming languages. Trends such as ubiquitous multi-processor devices, the explosion of mobile devices and the current IoT revolution have helped drive this explosion. But whatever the cause, developers are now living in an increasingly fragmented world.

This article is telling you what you should be doing. That alone is not bad but if you scroll through the article there is not a single line of GO code or any examples of what will result from you learning this new "thing". What can I do with GO? Can I write a game in go? No? Can I write a web page in go? Can I build a database? Can I build a mobile app in GO? What does GO run on? Windows? Mac? Linux? Does GO have app store? These are important questions that are relevant to programmers! None of these questions are answered.

"Go currently has around 25 keywords, as opposed to 50 or more for languages like Java and C#.". yeah cool, so? 50% less is more?

Yeah so I should learn GO because its awesome at having half the features of every other language? Sounds like fun. Sounds like something I need to be doing. /sarcasm

That being said the smart tutorial reader will go out and look for an opposing article to try to get some sort of balance. A quick google search for "Go sucks" provides some interesting results. Anti-cheerleading articles tend to be more concise and thorough - I am not exactly sure why - maybe its the people who write them.

Articles for people with experience

Using the magic of google surprisingly the first entry points directly to Why Go’s design is a disservice to intelligent programmers. The difference between this article and the previous one is that it is clearly written with a purpose other than blow air up your bass. It is not trying to sell you on the virtues of the future "internet of things". The article is speaking specifically about a topic as it exists in its current context, today, not about some future dystopia or potential use cases that you might run into. The article contains what any good article should have examples and lessons. Clear definitions of the problem space are essential to providing the reader with some kind of direction rather than just saying "hey, look at this its cool! Look, Look! It can make you do stuff that you have never dreamed! Stuff that you should be doing!".

Bandaid Articles

At some point the internet will begin to catch on to these article writers and thier bull. At this point they will start to writing articles about things that were "fixed". "Oh, this thing that love and everybody hates is fixed now, you can use Promises or X feature in the latest build!". Oh you hate callback hell? Here is the solution! There are ways to avoid it by using best practice X, grunt and this custom build script that I used to read NPM in a special way. Right tool for the job! To each his own! Are signs of a bandaide article written by someone who spends more time writing/reading articles than using the tools than they talk about. They spend all their time trying to fit a square peg in a round hole and try to alleviate you worries with one-size-fits-all solutions to deep rooted problems.

If you use bable/traceur, you can even use the async/await syntax which is cleaner still.. in effect the async function is something like a promise bearing coroutine that continues execution at the point of await... and returns the promise value into injection. You can also use ES6 generators to avoid callback hell!

Conclusion

These articles are doing a disservice to programmers. They do nothing more that publicize niche tools for the sake of building a following - hoping to create a ground swell of something - push enough people off a cliff and some might live to fly. The others be damed to the rocks below. The articles add pointless bloat to job postings and management meetings. As I said before: if something is good it will prove itself good in due time and on its own accord (or by the amount of hate it gets).

Alot of time and effort is being diverted from technical pursuits, algorithms, and howtos in favor of chasing carrots, self-driving cars, VR games, cloud services, APIs that you can use if you have a billion users. Majority of these articles would rather teach people how to use the FaceGram API than to help them build a FaceGram API themselves. Would rather lead people into a bottomless pit of documentation and requirements that they most certainly will not survive. Leaving them to fend for themselves. Another brick in the idiot wall.

These articles are not valuable contributions to anyone. They will not bring more people into the field of computing. Computing, programming is hard, it is a fact of life and at some point social media needs to graduate from being a domain of noobs, idealists, bandaids, cheerleaders and speculators to a domain of people who solve problems and make cool stuff.

permanent link. Find similar posts in Articles.

comments

    Comment list is empty. You should totally be the first to Post your comments on this article.


comment