"Learn To Code, Get a Job" According To CNN 688
An anonymous reader writes "CNN is running an opinion article that talks about Michael Bloomberg's taking part in CodeAdacemy's CodeYear program, which aims to teach average people to learn enough to work as a Software Developer by year end. I'm trying to not be elitist in judging this article and those involved, but I'm curious as to what /. thinks of this questionable plan."
We think it's sort of a dupe (Score:2, Informative)
NYC Mayor Bloomberg Vows To Learn To Code In 2012 [slashdot.org]
Re:In a year? (Score:4, Informative)
In my experience... (Score:5, Informative)
Programming is like driving a car, everyone thinks they are really good at it but everyone else sucks.
Re:Whats the big deal? (Score:5, Informative)
It's what much of the industry has settled for. Just look at any CSS code. Or try designing a website with CSS. I have a little website on the side that I recently did some CSS/Javascript/jQuery/PHP work on, reusing some other code I found and making massive changes to it. As I have lots of experience with assembly, C, C++, and Perl, I usually don't have much trouble learning new languages. On this project, the PHP was easy. The Javascript and jQuery, also not very hard, though not quite as easy as the PHP. HTML wasn't hard of course. But the CSS, for making everything look right, and also doing some simple animations? Holy shit, what a nightmare! I've never seen anything so horribly designed in my life. Doing anything meaningful with it is basically a big hack.
Re:Whats the big deal? (Score:5, Informative)
CSS...Doing anything meaningful with it is basically a big hack.
You can thank the browser vendors for that. Many of my design decisions are based on what it's going to take to make it look right in ALL browsers. What works right in one browser, will probably look horrible on others. Mind you, I wrote those sentences to be non-specific - in reality, all but one of the current browsers function in roughly the same manner where CSS is concerned. You can guess which one.
Now, if LESS [lesscss.org] could become the standard...
Re:Whats the big deal? (Score:5, Informative)
Never heard of less but it looks very very interesting, will give it a try in one of my projects.
Actually I was hoping I would stumble upon something like this eventually.
Writing good CSS for dynamic websites can become very cumbersome programmable elements....
(thinks of Facebook's 18MB of css...)
Re:Elitism (Score:5, Informative)
If I started coding today I think I would go about it roughly thusly:
1) google "Game coding tutorial HTML5" or similar,
2) Find the code listings, run them, modify them a little to see what happens but eventually be annoyed that I don't really know what the magic incantations in javascript etc mean
3) Google "javascript introduction" and spend some time just writing "Hello world" apps and such, trying to learn basic javascript, until I got bored with that.
4) Return to the game code, be absolutely gratified by discovering I indeed understand a little more of the magic incantations, do a bit more targeted modifications of the code to see if I can actually predict the outcomes at all....until I got bored with what I could do with my current level of understanding and return to the course in basic javascript to learn more (repeat from 3, basically). At some point you may know so much general javascript that you can continue learning more about javascript itself by looking directly at the game code and realize how it must work.
As long as you find some little "loop" like that where you actually have fun all the time while learning, chances are good you will end up knowing quite a lot about how to program.
Re:Story time (Score:4, Informative)
I disagree. A bit of knowledge is a very dangerous thing at times, because little knowledge often comes with a lot of confidence. Better be ignorant and know it, thus avoiding a fight whenever possible, than being overconfident and receiving a beating.
It's a bit related to the old joke between electronic engineers and software engineers. Says the electronic engineer: "What's the most dangerous thing in a lab? A software engineer reaching for the soldering iron!". Says the software engineer: "What's the most dangerous thing in the office? An electronic engineer discovering the C compiler!"
Seriously: I saw some source code written by some highly qualified electronic engineers, and it was awful. They just have a different mindset. In electronic engineering for mass market products, cost-efficiency and real-live performance is probably *much* more valuable than re-usability and maintainability, since every cent saved on one device repays million-fold. In Programming readability / maintainability is among the highest priorities, and the runtime complexity of algorithms (http://en.wikipedia.org/wiki/Big_O_notation) is often way more important than current real live performance, because for later product iterations the amount of data might grow exponential, leading to extremely different "real live" performance.
I can only imagine what pain the ee's suffer when they have to watch an se with a soldering iron...