This is a post about the worst beginner programming post I've ever read...
I've been hounded by someone, I'll call them "LN" they have mailed me and told me that they really like one of my articles from June 2012... Checking my clock, I've posted a whole host of other stuff since. However, they seem fixated on that pretty old post and strangely have mailed me that it makes perfect reading for "juniors as well as experienced programmers".
I'm really not sure what they're referring to in that month of posts I go from inappropriate references to Ghost Busters, to peoples awful toilet habits to talking about the English football team and shit... Yes, I have a post titled "Hyperdefecation".
In essence this emailer is full of utter crap, so what are they trying to do? Well they've references another blog I do frequent "coding horrors", but again their comment is off the mark...
Then they ask me to look at their 3000+ word post, except this article is not written by "LN" it's written by one Geoffrey Barnes... And good old Geoff is very quick to reply to comments on his article, he loves his article... He maybe loves it enough to start hassling folks through e-mail, or even setting up mail spam bots to hassle folks with this supposed programming experience? Maybe...
The problem with this? Well, he's hassled me... The article isn't very good, and I'm going to review it... Right now... So, get a cuppa, take a seat, and lets digest the glorious fail that is:
Because, yes folks, it's not actually very insightful and draws from some very dubious sources...
For example, it quickly attempts to establish weight for the arguments to come, with the statement:
"according the U.S. Bureau of Labor and Statistics, in the United States"
Fabulous, the US government... Except, the link does not go to the US Bureau of Labour and Statistics (yes, I'm English and spell Labour correctly) no the article goes to the "webopedia" website, think of a lower market wikipedia here with less over sight.
This page on webopedia does indeed have the above "fact", however it's attributed to "Hour of Code" not the US Government. And Hour of Code is part of "Computer Science Education Week" and it-itself does not state this, at least not clearly, anywhere... So that's article argument number one blown right out of the water, just by a little clicking. I was at this point immediately put off this article which is trying to give itself false gravitas.
I persisted in reading however, clearly LN wanted to convey some message to me... The very next paragraph then called out to me:
"most beginning computer programmers spend too much time deciding on which programming language to learn first to the point that much time is wasted choosing the programming language…"
This is what we call an oxymoron you are not a computer programmer until you can program, therefore you must have picked a language to be a computer programmer, so you can't as a computer programmer spend anytime to pick your first language... Does anyone get my drift here? This is sloppy, poor writing, seemingly just to add another link to another "Loud Programmer" article, it's sham within sham right now.
"…time that could have been spent actually coding something useful."
I feel this about the time I've spent reading this article, but let me continue, because we're just getting warm. And we actually have a valid point... I was hoping for the first of many... "the key point that helped me choose.... was to decide on the particular field I was interested in"... this is exactly right, this is the exact way you choose a programming language, just as you choose any other tool, you have to make sure the tool is fit for purpose, it's no good trying to be a system software engineer (like myself) in a language like Java, you can't write a near bare metal requirements demanding system in Java. But you can write one in C or C++... So you chose that language to fit your purpose! This however is not terribly insightful, it's common sense.
What's next in the article then? Well they present this wonderful graph...
Which tells us the square root of fuck all... "Trends"... Okay... And the vertical axis... "Occurrences"... Right, where were these "Occurrences"..... Python, C++, HTML5 and C all get 6... Six ... What does this mean? Its complete and utter gibberish nonsensical tosh.
Before the language points begin there's yet another ill thought out quote:
"Almost all major software including mobile applications, desktop applications and web applications have a web based back end, including your anti-virus software."
We're still not enlightened as to whom shat out this thought provoking turd, but lets pick through it...
Everything has a "web back end", no... What most everything has is some form of remote server based resource, that is we must differentiate between "web" and "networked / intranetworked / internetworked", for you see long before there was an internet as we know it today there was "client-server" computing and before that there was time-sliced multiplexed computing with everyone sharing the same machine, so many writers in technology ignore this history they confuse and cloud their writing by simply jumping to "web", it's not the web, and I hate you saying it's the web, the "web" is perhaps what you view in your browser; that why they're called web-browsers; and yes the server your anti-virus talks to to update it's signatures could be connected to the web, but that does not mean it's back-end is on the web, nor does any of this tell you that almost all programs have web-back-ends at all, they have servers perhaps, but this is just a leap too far, and sets the tone for the following passage.
For the author takes to the high-road, talking about people bashing PHP, but he clearly loves PHP... Personally, I love the security loop-holes in old PHP and it has been superseded on the back-end by better technologies. But when done right it has a use, and of course that use is in serving dynamic web content easily. However, the author says it's "THE" (yes the capitols) the most popular programming language... This is in red, just to lend emphasis, clearly he really likes PHP... But then the points to back this argument up... "80% of the web is powered by the one programming languages, PHP"... Really? Who said? What stats, I can't find this statistic anywhere. They also state Facebook is powered by PHP, this is not strictly true, it's written in XHP runs on HipHop for PHP on the back-end, but on the client-side is full of Javascript and I believe there's some Erlang in there. The author though is set on his premeditated PHP kicker so none of this is mentioned.
"As a PHP Developer you have a large pool of web development projects"... yawn, all you have is web development, that's all you can use PHP for. Is it useful? Yes, is it the "BEST" for freelancing? No, not really, would you get lots of work? Sort of, but you need so so many supporting skills, HTML, JavaScript, CSS, not to mention some experience in setting up the back-end server services you require to actually run the PHP. Is PHP a good place to start? Hell no, the price of entry is HUGE, and you're going to see no return on this initial investment until you're very very good.
His next point?... JavaScript... Well I've already explained this is a huge helper in PHP, but it's a huge helper in any web development task you have, however, there's some huge leaps here... Angular JS and a whole host of other libraries are mentioned, but there's just no getting over the author has literally ignored the biggest draw to Javascript, it's cost of entry is zero, you literally write some code and run it in your browser... The problem? They've utterly ignored HTML, you have to write javascript into an HTML document within which to load into your browser, without this basic understanding this most elementary concept no-one can make the choice to learn Javascript, like PHP it's an also ran with HTML, so your actual time to entry is quite large, cost zero, but time huge.
I do however agree with their comment "learning Javascript programming will simply make your life easier", yes it will. But alone it won't make you a programmer.
We do get our first editorial cockup here, there's a "Note" here. A note appears in text when it's optional to read, or you read it without it causing any impact on the flow of the topic at hand.
NOTE: Get milk tomorrow.
You continue your writing as though the reader has no idea about the content of the note, the author of this article however utterly and totally misses this point, and continues to converse with the reader immediately.
Also the content of this note, dubious, not backed up with any points of reference, it is (just as all my writing it) the opinion of the author, yet it's juxtaposition-ed to have this faux gravitas to the lay reader.
Python comes next, perhaps the first language even I would have to allow them to call a programming language for real, rather than a scripting language or presentation language (even if you do write python "scripts" rather than compile it down). I like python, lots of people do... The author however has a bit of a fantasy splooge here though. He says that python is the most popular technology on Stack Overflow... Or rather he rips off someone else's diagram saying this, lets look at this:
Unfortunately, again there's no source given for this statistical testicle, I however can present you with this page from stack overflow themselves, with the most recent developer survey where the % categories visited is listed thus:
Python is on there, it gets a whopping 32% but it's not first on the searches. That's how you quote a reference Geoff.
So who's next?... C# and the .NET framework... It allows you to build web applications for the Microsoft Internet Server. No, it doesn't, C# (as well as others) are languages which let you write programs which run on the .NET framework. Which is (I'm ignoring Mono.NET) written by Microsoft to run on all their platforms, desktop, server, internet information services. Microsoft created .NET as a virtual machine to run their .NET byte-code as a competitor to Java, in terms of market role the two are very similar, both have their own pro's and con's. As we touched on at the start of the whole article they are yet another tool in your arsenal, however the author pretty much gets .NET all wrong, most least as he's suddenly talking in the present indicative about his not having ambition to learn this language, as he's never wanted to work in a big corp or Microsoft friendly environment.... Dear author, none of your writing thus far makes me want to employ you as a programmer, well at least not as anything other than a web programmer, and even then I'm not too sure from the page's simplistic presentation.
Next up? Java.... Erg, Gets this totally wrong and is talking personally. My biggest gripe is with the comment "API back end for most mission critical applications like banking". I've interviewed for roles in back-end banking, they do not use Java, banking, trading, stock exchange. Hell even home crypto-mining uses C++ or at a push C, and have done since the 1970's with little plans to change. Mission critical is not Java's forte.
However, here's comes the authors hard on for web development once again, as he's talking about "Java programming for web development". Utterly ignoring Java on the desktop but still failing to make the distinction between java as a service (e.g. Jakarta/Tomcat or WebSphere et al) and the classic applets.
What's the hate on Java? Some crass commentary about not everyone getting on with it... Excuse me, were you not trying to introduce people to programming? I've created articles about just that, with Java... and they're magnitudes better than this horrible article, check them out here.
To be honest I'm loosing the strength to go on, for next we have a passage on "Mobile Application Development" there's another statistic mentioned, this time with a reference from Statista, which is a valid reference... Except the reference itself is second hand, the author is quoting a second-hand source as direct fact, it's not. This is not correct writing, but on the statista reference page there's a "Show Source" link, where does this go? What font of all knowledge does statista pull its facts?... Well we can't find out, the link goes to the "buy access to us", so their source is themselves? And good-old Geoff has quoted this as a first hand source?
Who's next on the hit parade?... Swift... From Apple... It's easier to learn than Objective C... As a beginner programmer reading this article, this is yet more utter tosh, they have no point of references, Objective C... You may as well say Swift is easier to learn than Quantum Physics.
But as a beginner you follow a tutorial, so the tutorial for Swift maybe good and the tutorial for Objective C bad, alas I will never know, and nor will the reader of this article.
Moving swiftly on "Java for Android"... Same article smell, new day. Java is Java right? The android bit?... Well you're writing Java code to put through something like Buildozer to get an Android app. I have so many issues with this whole bit that it could be it's own post here on my now longest blog post ever.
The major problem with this idea of writing just one language for Android demeans the android platform, since I've written Python and compiled it to run (with Kivy) on Android. And Java is intrinsically cross-platform so has nothing directly related to Android.
So the red text greeting "in order to build Android applications you need some skills in Java" no, no you don't, you can write Python or HTML or Javascript and do lots with Android, Android is just an operating system like Windows. My major problem with this? This article is meant to be about encouraging beginner programmers, limiting their options is NOT a good move.
And now the biggest steamiest pile of shite? C++... "C++ is the best programming language for developing computer games".... No, C++ is the one of the better ones for producing fast code, as it's closer to the metal of the computer than anything mentioned thus-far in this whole article, that's why game developers often opt to use C++ for their most low-level components such as developing the graphics engine.
Our Geoff here has a very narrow and limited experience with programming, he's clearly a web or game guy with nothing in between, because in mentioning C++ he's not mentioned C, between the two they've been used to write all the operating systems he's been using to write this very article, all the compilers to create the software he's been working with, the PHP, Java, Pearl, Javascript and python, all of those interpreters are written in one or the other.
There's in fact so much missing in his mention of C++ as to be an insult to programmers everywhere.
The last ticket point on this parade of in practicality?... C#... Again... What gives? I'm only going to comment that it says... "C# is a dream choice... to learn a multi-purpose programming language"... Multi-purpose, that's games and web then... Thanks Geoff.
His conclusion... I want to rip my own arm off just to have something to smash his keyboard into splinters of plastic to save any poor fuckers from reading such twoddle ever again.
Does he give any tips on which language to pick? Nope, does he give any clues as to resource to start from? No! Does he answer the question where to begin? Yes...
Yes, he answers... with a Question...
"What is your best programming languages to learn for a beginner?"
We were reading your fucking article to get that answer you schmuck! You just wasted everyone's time... And what the fuck is wrong with Coffee?
Addendum: I've had a look through who our little Geoffrey is, seems he is "Loudprogrammer.net" and he has lots of other article... I took a look at one other... His list of influential programmers, and I noted next to Don Knuth he had a link for his boot... Which he used to sell for $22... But now gives away free, this book will show you how to become a $50 an hour earning programmer... in 7 steps... and he has a lovely quirky plaid jacket and glasses on in his picture... Except, on this page his name has changed to Geoffrey Bans... Not Barnes any more... If this guy can't consistently spell his name don't buy his book, don't read his articles.
Oh and when his spam bot bitch starts to nag mail you.... Blog about it, because this guy is a dick.
No comments:
Post a Comment