Hacker News new | ask | show | jobs
by vinceguidry 4245 days ago
It's going to lower the barrier to entry for young people who want to get into more than just the kiddie stuff. I know when I was a kid, I was smart enough for BASIC and Pascal but C++ just looked weird and complex and hard. HTML, CSS and Javascript were awesome and I jumped into that instead. Neat integrated tools are great for beginners.

What drives a divide is when you go build an entire ecosystem and hand it off to a cloistered priesthood. Then you make the toolchain so long and complex that you need 5 years before you even gain the first feeling of accomplishment.

4 comments

> I know when I was a kid, I was smart enough for BASIC and Pascal but C++ just looked weird and complex and hard. HTML, CSS and Javascript were awesome and I jumped into that instead.

When I was a kid, C++ was easy and I didn't start learning javascript until a few years ago. I also learned TI-BASIC in AP Calc, and Java (CS II-Honors) was presented at my school as harder than C++ (CS I). A lot of what is labeled difficult is very very subjective. A coworker of mine stumbled over Intro to CS/Programming because he was stuck trying to understand how to program hello world without understanding how the compiler worked first. Without a teacher to talk to, this very intelligent student could be seen as one who can't even grasp 'the basics'. I stumbled over my programming languages class because I confused the machine interpretation of Scheme, while we developed a interpreter in Scheme. I'm still confused over it.

> What drives a divide is when you go build an entire ecosystem and hand it off to a cloistered priesthood.

It's not so much that it's handed off to, it's more that people aren't very vocal about what they don't understand. This leads sort of to a 'survival of the fittest' cycle of development, on a macro scale, with the people who have a direction, at all, making important decisions, and the people who are most cautious, staring blankly in confusion. The reality is that everyone is probably missing some part of what is considered 'the basics' to someone else.

A responsive community dedicated to bringing people into development is also what lowers the barrier to entry. Students that are so afraid of their teachers and the 'scary aesthetic' of the material raises the barrier to entry. If you have someone to ask "what does this symbol mean?" or "am I thinking in the right direction, or am I making this lesson more complex than it was intended to be?" then complex and hard become more approachable (not more simple, however). Sometimes having a person reply back, "I don't know" can actually help a lot.

When I was just learning to program, I was afraid to ask questions, to talk about what I knew or thought. I don't know if many young developers struggle with that today, given how much the landscape has changed. Then I wonder, has it changed so much, or did it just take me about 15 years to become comfortable in chaos?

Just some thoughts.

> When I was just learning to program, I was afraid to ask questions, to talk about what I knew or thought.

I suppose you're right. When I was learning, there was no one to ask questions to. Glad that's changed.

I don't think I'm right or wrong. I still have problems asking people for help.

Your point about this is poignant:

> Then you make the toolchain so long and complex that you need 5 years before you even gain the first feeling of accomplishment.

Given that I started writing (and still write) webpages with nothing more than a browser and a text editor, I think the "barrier to entry" has always been quite low. It's only if you want to make a full "web app" using JS and all the latest frameworks/libraries/etc. that the complexity becomes overwhelming, and I wouldn't consider that "entry level" anymore; anyone who is doing that sort of stuff should already be well-versed in writing basic static pages.

(And given how unfriendly to deep linking, accessibility, archiving, and sharing these increasingly popular JS-only single-page web apps are, it would be better if more people, including the beginners, stayed with simply styled, accessible and readable, static pages.)

Lower the barrier? The barrier IS lower enough even for kids... Javascript is the basic of this generation. There aren“t any barriers for new programmers to just sit and learn programming. The tools are already available in the browser. You can learn web programming with your PC, mobile, chromebook, macbook, "any"book.

But yes, I would really like to have more mature and integrated developer tools.

I think the big difference today is that the runtime (often cloud) and toolchain are much more involved. Nothing is self-contained any more. Dependencies are out of control.

Web apps make it easy for the user to access almost any service from almost any device. Unfortunately, this puts the burden on the developer to handle ongoing delivery, hosting, cross-platform compatibility. This can be intimidating, even insurmountable, for young developers in training.

It's a complicated world, these days.

When I started coding at the age of 10, typing hexadecimal dumps from magazine listings was the alternative to BASIC.

C++ is way more user friendly than that.