While there are alternatives (Atom -> Sublime or Notepad++) for many of these services, the bundling of this all together should present students a logical next step instead of hunting around for a service right away.
While there are alternatives (Atom -> Sublime or Notepad++) for many of these services, the bundling of this all together should present students a logical next step instead of hunting around for a service right away.
I see all these services listed, and all I think is "they are hooking these guys to a service oriented approach", a "pay $25 and you don't have to worry about X". Thing is, what you learn while trialling technologies is invaluable and should not be replaced by a preselected list of SaaS, many of which I would tell any beginner to stay away from.
To figure out desktop programming, you have to download a compiler and hope there is a good tutorial on some random blog which most likely gave up after part two of a five part series. To figure out web programming you need a server and a domain name and wait what language are you using but then again what framework are you using and for the love of god how do I deploy I don't even know where Ubuntu keeps the /www folder and all of the tutorials I find expect me to know what an Angular is when I just learned what a Javascript is and I worked with Codecademy so I know Javascript but not how to use it to make a web page and I know Python but I still need to know HTML, CSS, and Javascript so I give up.
What's new on Netflix?
You are right in that the umbrella term "programming" is incredibly daunting to a person who has never written a line of code. Everyone knows that more options does not translate to better outcome all of the time. To step into the world of programming today is to step into a dictionary of dictionaries. It's scarily awesome.
Is that a problem? From a professional perspective, it seems ideal to not pollute the field with people who are uninterested in such things, as they would very quickly run into issues keeping their knowledge up to date. The field has been and always will be in flux.
From an amateur perspective, I think it's fine if people are dissuaded, amateurs should do things they find enjoyable. If learning about your hobby isn't enjoyable, programming will offer little utility beyond minor entertainment.
While having a multitude of choices can make choosing difficult, it can also make it very easy, just pick anything. With not preconceived notions about how you want to program, all of the popular languages and frameworks are essentially equal to you. As you actually start to program, you'll be exposed to new concepts that you may or may not like. If you don't like them, you be able to trivially search for alternatives with your newfound knowledge of knowing what you like/dislike.
>...or magazines that teach you programming from start to finish with code samples included.
There's a stupid amount of free and non-free literature for getting into programming. Searching for just about any popular language and/or framework will get you at least one book on Amazon and an amazing amount of tutorials/walkthroughs/guides/etc from Google.
As for the free education, I wrote a whole section on the terrible state of teaching programming, from free blogs to Codecademy. There are many better-worded arguments saying that programming education falls short of what it should be as well.
We should be encouraging more people to program, especially if it means they can do it without a college degree. The amount of people in the world without access to a college education is appalling, but we still want them contributing. What we don't need is elitism.
There are a lot of interesting problems that can be tackled with simple tools (how about writing a toy compiler in C, for example). Will such things be useful? Probably not, but the learning experience is very valuable. And that's already a good outcome for someone who is only getting their feet wet.
(That said, I'm a relative beginner myself, and I'm kind of itching to make something that is actually useful, at this point. But things like learning language specific package managers, make tools, and other stuff that are needed can be taxing.)
So now we have all this computing power and these powerful and easy to use languages and a broad distribution network and thousands of developers and teachers and applications to learn from and programming has only gotten harder. Think about that one. We've stepped back from BASIC to make programming harder. Because we expect more from our programs now, but we haven't put any effort into making it easier to do even the most simple thing.
I'm still drawing interfaces with tens of lines of code. In Visual Basic, I just drew them on the screen. In Java, I'm fighting to get things aligned or sized right or in the right order, to the point where in my Java class I took there was two weeks dedicated to getting to grips with Swing. So we abstract the hard stuff away... with more code. And though we abstract it away to make it easier, we still look down on language like Visual Basic, because real programmers don't draw their interfaces with a mouse, they do it in code with vim or emacs.
Just look at the mindset of one of the other people who responded to me. "We want to make it harder so amateurs can't do it". Fuck that shit. We have the power to make it easier but we don't.
I know this GitHub is geared toward helping students getting ideas up, running, and selling, so toward the latter, it's invaluable, and actually quite generous. I'm still an old fuddy-duddy, and think that it's best to understand how to build the mechanism before buying it off the shelf.