Live data from Hacker News

The Little Coder's Predicament

whytheluckystiff.net

61–70 of 107 posts

Re: The Little Coder's Predicament

#61
post #48
post #45

Earlier quoted context omitted.

(as a web programming novice) I think the problem with the web in this context is there are still some significant hurdles to getting set up, e.g. getting a server to host your webpages (unless you only want your friends to be able to see it when your PC is on). If you could get rid of these barriers... I think if someone could provide a browser-based all-in-one solution with language+IDE+hosting+tutorials, then that…

"If you could get rid of these barriers..." What you don't think there are enough ridiculously bad programmers using PHP/javascript already? Barriers to entry are good . It sorts the people who really want to do it because they love it, from the rest.

OK, perhaps I should have written a bit more here.

The issue is, there is pretty much no barrier at all to programming at the moment. That's why there are so many bad programmers who have just heard there's money to be made. Add to that the fact that identifying bad programmers is sometimes hard, and you have a bad situation.

Raise that barrier for entry, and perhaps someone who thinks "Wow there's money to be made in programming, I better get a job in it", will fall at the first hurdle.

If you're interested in it enough, there's plenty of easy to start development environments around for any beginner.

Re: The Little Coder's Predicament

#62
post #37
post #4

I get his point, but can't get away from the idea that he's describing the web... and php. New distribution system, larger audience, same idea.

Hmm, _maybe_ Javascript. You really need to be able to jump in and see results - visual results. The visual feedback of Logo was definitely instrumental in getting me into programming.

Like maybe a tutorial that helps you build a breakout clone, where all the code is live and interactive in an editor in your browser?

http://billmill.org/static/canvastutorial/

Re: The Little Coder's Predicament

#63
What _why describes is half the problem. (Maybe a bit more than half.) In the Good Old Days, you could take your Spectrum/Amiga/BBCmicro/C64/whatever, and (1) write a program that (2) did something comparable to the games you could buy. (Less polished, sure, but not a million miles off.)

Nowadays, #1 is harder because there's no programming language bundled with the system, because it doesn't drop you into a REPL when you boot it up, and because the programming languages you can easily get hold of don't have nice easy facilities for graphics and suchlike. That's _why's point.

But of course #2 is harder too, because modern PCs are capable of all sorts of astonishing 3d moving graphics and stuff, and the games you can get for them exploit that. But that stuff is really difficult for a novice, and poorly supported by learner-friendly programming languages, and really difficult to do well even for experts.

So, for most people, the amount of gratification you get from writing your own code is less relative to what you get from just using other people's software, even if we solve #1 comprehensively. So the motivation to learn to program is less.

(Of course, there's a small minority who fall in love immediately with the very idea of programming. But it is a small minority.)

Re: The Little Coder's Predicament

#64
post #17
post #11

I learned to program on my TI-83. Over the past few decades, computers have built more and more walls between typical users and programming, whereas on my calculator, it was right there... on a whim, I could, say, make a program to calculate the area of a trapezoid. At the time, if you asked me to do the same thing on a desktop computer, you'd be getting a blank stare. Graphing calculators today are essentially the n…

Yeah, I learned on my TI-89. Ironically, made a DnD character stat generator and a function to calculate the first 6 elements of an infinite series... (calc class was quite boring). I abused the GOTO statement, though... hey, it wasn't like you were going to care about elegant code design at age 14 on a TI...

Same here, I made some pretty complicated games on the TI-85, tetris for example with all of the blocks drawn with "0"s, that was a HUGE mess of gotos and especially when you can only see like 8 lines of code on the screen at a time gotos to far away can get very confusing.

Re: The Little Coder's Predicament

#65
post #14
post #12

I miss how difficult it is to get into graphics programming nowadays. DirectX and OpenGL have somewhat high learning curves for new programmers (especially kids). Even the "simplified" graphics libraries are usually OOPified and take some learning. I miss the days of mode 13h!

try scratch or alice for kids programming try processing or openframeworks for graphics

Since you're the only one who's mentioned it, I second Alice. ( http://www.alice.org/ ) I learned about it from Randy Pausch and his "Last Lecture" (it's also mentioned in his following lecture). It's a way to simply drag and drop java until you want to drop it and type on your own. You control animations. From their site.

Alice is an innovative 3D programming environment that makes it easy to create an animation for telling a story, playing an interactive game, or a video to share on the web. Alice is a teaching tool for introductory computing. It uses 3D graphics and a drag-and-drop interface to facilitate a more engaging, less frustrating first programming experience.

They've even gotten EA on board to allow use of their Sims 2 characters. Good stuff.

Re: The Little Coder's Predicament

#66
post #50

As a general note, consumers are not supposed to fiddle with the product , since customizations are supposed to be sold as services related to the mass market item. Exploration and learning should be restricted as much as possible (see Digital Restrictions Management, and the Right to Read). But then again, dumbing down consumers does fire back in the end... So when users do finally get to program, the supported way…

I know you're being flippant, but there really is a critical underlying problem with making everyday technology intentionally arcane.

If people are unable to easily learn how something works, they will, for all intents and purposes, treat things as black boxes or "magic" and learn to distrust them (and those who do understand them) when things go wrong. This problem isn't unique to computing. My father grew up in an era where automobiles could still be serviced by end users, and learned to appreciate doing things like changing the oil or replacing parts himself. As such, he knew the limitations of the machine and could be more helpful to mechanics when bringing in a vehicle that was too broken for him to fix. Even more importantly, he knew when a mechanic was trying to snowball him with bogus repair suggestions.

The distance most people have from our food production processes is another example. A century ago, vegetarianism, when it was rarely practiced, was usually a religious choice and not regarded as a threat by meat eaters, or vice versa. Nowadays, its a full blown political movement which I suspect is in no small part due to the shock some people have growing up when they first learn where meat comes from late in their life (and in conditions most people feel have to be hidden.) I've seen kids who vehemently deny that meat comes from animals. When they grow older and finally learn/accept the truth, the impact would be much more shocking that a child who sees farm animals from a very young age.

Back to the original topic, even if most end users don't bother to learn to program, the perception that it is easy to get into is very important, in that it insures that they might know somebody who does.

I wish I could write more, but the gist I'm trying to get at is very hard to put into simple words. Hopefully, somebody else here will understand my underlying point and enunciate it better than I can.

Re: The Little Coder's Predicament

#67
Yeah, that would be great, but I don't see it happening. In 1982, little geeks like me wanted to spend time playing with their computers, but there was almost nothing you could do with them, so you /had/ to become a hacker to have any fun. And the hardware was more accessible. We wrote code in real mode with no protections, and the peripherals were simpler. I wrote my own banner printer when I learned I could control the pins of my dot matrix printer individually. Now you have to learn postscript or something comparable just print "Hello World," or you have to write a kernel driver to talk to the thing directly.

The bar to get the machine to do interesting things is too high, and the distractions are too many. You can spend weeks with your computer without running out of websites to explore.

P.S. If anyone does figure this out, please be sure not to implant damage that must be undone later. The mental leap from line-numbered BASIC to structured programming was a big one.

Re: The Little Coder's Predicament

#68
post #51

Earlier quoted context omitted.

I'm an experienced developer, but when I wanted to write a Jabber 'bot in Python, well, it took longer to get an account for it from our Domain Admins than it took to write. In 50 lines I had something that was doing useful work (in this case, relaying alerts from the monitoring system into a Jabber conference). This sort of thing is incredibly accessible to anyone who wants to do it. The stuff an 10-year-old with a…

It's not as accessible as BASIC on a TI calculator, where many kids are introduced to programming. I don't think it's a coincidence that the situation was similar on Commodores/Ataris. Deciding that you need a programming language installed and then picking one and installing it is a very big step. It was a fluke that many of the people posting in this thread discovered programming. They stumbled upon the editor, tap…

Well it is a matter of perspective. If you're a kid and your family has a Mac you just sit down and type python and you're in. Whereas how many 10 year olds even today have graphing calculators? Do kids even use calculators any more or is it all "new maths"?

Re: The Little Coder's Predicament

#69
post #45
post #4

I get his point, but can't get away from the idea that he's describing the web... and php. New distribution system, larger audience, same idea.

(as a web programming novice) I think the problem with the web in this context is there are still some significant hurdles to getting set up, e.g. getting a server to host your webpages (unless you only want your friends to be able to see it when your PC is on). If you could get rid of these barriers... I think if someone could provide a browser-based all-in-one solution with language+IDE+hosting+tutorials, then that…

Heroku? Google App Engine?

Re: The Little Coder's Predicament

#70
post #5

Truth. I got my start in programming with BASIC via DOS. Today, I find that the biggest mental block to learning a new language is the difficulty of setting up a development environment. It's at least a little bit surprising that platform developers don't put more of an effort into making coding for their platforms more accessible. One might assume that Microsoft would have a lot to gain from a generation of young pr…

So true. It took me months to get a emacs on a mac.
Post reply on HN