Hacker News new | past | comments | ask | show | jobs | submit login
Is the next second language JavaScript? (greatschools.org)
14 points by sonabinu on Feb 17, 2013 | hide | past | favorite | 17 comments



Marginally relevant story:

A few months ago I was trying to get my siblings interested in "doing things with computers". I decided to do this by showing them how powerful a few lines of code could be. I had already tried to get them into programming puzzles [topcoder, etc.] and that didn't go anywhere, and they were being taught boring things[1] like string manipulation at school.

I showed them some html and css tricks [because I'd recently picked up css] and they were strangely unimpressed. While they watched I wrote a quickie chrome extension that moved the Compose button in gmail to a different location. Change facebook chat box size. No reaction. These were bright kids who'd never shown the slightest interest in programming and I was once again despairing that they never might[2]. At a whim I created a rails twitter clone while they watched and fidgeted, and told them to go to http://192.168...:3000/twitter on their computer and post a status message. They did that and it showed up on my computer. Their reaction was astonishing - they simply could not believe how little it took to get that to work!

I don't know exactly why that particular example worked but they were hooked instantly. Now they have written chrome extensions and launched tiny websites and are checking out some new things. :)

My takeaway was to get to the aha moment as soon as possible while trying to get someone interested in something.

[1] boring for someone who hasn't programmed before and doesn't see the point of learning to manipulate strings

[2] not that anything is wrong with not programming but I want them to give it a chance


I wonder if JS is perhaps a bit too high level and internally complex to be a great first programming language to be taught to people with no CS fundamentals. Fully internalizing front-end development is no trivial task, and teaching JS out-of-context just by itself might not be super helpful, even though it's probably better than jumping straight to Java, which is also quite magical internally.

On the other hand I can see someone making the same argument about a low level language like C. One could claim that without full understanding of assembly, compilers, the ISA, and hardware-level optimizations you don't really gain much insight into computing.

Reminds me of the never ending debate about whether they should teach Java or assembly as first language in a CS curriculum.

There's probably no right answer, you just got to start somewhere and you'll figure things out on the long term. The web is ever more relevant and JS won't go away for a long time.


I'd say the best 1st language would either be scheme or smalltalk.


I have mixed feelings about this. On the one hand, I agree completely, on the other, being a 'first language' has really hindered scheme in the minds of programmers. Many (ridiculously) think of it as a ridiculous teaching language they were forced to learn.


The best first language is one that your friends use, so you can get help from friends. If you're in a community of schemers or smalltalkers, great. Otherwise ...


Don't care if it's JS or anything, as long as programming, or as I love to say, crafting is taught at schools, it will be great.

First of all, Making money by creating beautiful and useful things is such a good lifestyle.

Secondly and more importantly, it's about how to be better educated. Back to the years when I was at schools, I was told taking exams are of top importance, everything I learned seemed so boring. Things changed when I was 20sth, and I started to make things, that's when I really start to love knowledge, be it art, writing, music, because everything now starts to make sense.

Back to JS, there is no better place than the web to meet smart people, show them what you make, have fun and be cool. So JS, why not?


I found this organization more interesting than the article. I was curious due to the density of advertising. According to their 2011 audit, the site generated more than $2.6M is advertising revenue that year.

> Website activity income generated on the Organization's website from advertisement placements is a function of website page views and price. The Organization's current partners are education- related firms, real estate and mortgage professionals, consumer companies, and Google. Website activity income is recognized as it is earned and for the year ended December 31, 2011 amounted to $2,671,405. Related website activity expenses are recognized as incurred and consist of expenses allocable against website activity income based on managerial assumptions. Website activity expenses amounted to $873,813 for the year ended December 31, 2011.

Source: http://www.greatschools.org/catalog/pdf/2011_GreatSchools_Au...


We are teaching basic JavaScript to beginners at http://codehs.com

We've made some simplified libraries that make everything a bit simpler to get really cool results, and kids have been loving it and learning a lot!


Unless you're in a hurry to teach someone RIGHT NOW how to program, I'd wait till next year when JS.Next, Kotlin, and Dart are ready and stable.


Personal opinions about Javascript aside, it does cover several fundamentals, is available on every platform, and is established enough that it will probably (sadly) not be going away any time soon. If you're going to teach kids a language, maybe one that isn't gone by the time they're out of school (which is a distinct possibility for the languages you've named; a lot of good languages died within years of their arrival) would be best.


To understand coding at school is like learning basic mathematics in school. Once you know the basics, you can really build up from there.


Languages change all the time. To single out one language in particular and label it as "the language" to learn is erroneous.


Start the "no, it should be insert my preferred language here debate".

Yes, it should be Javascript, and probably starting with some basic jQuery stuff.

Yes, Javascript syntax sucks, but if you

1. Set up a basic text document correctly 2. Load jQuery 3. Right some really basic html/jQuery 4. Open it in ANY browser

It works. Boom. That's it. Every browser in entire world, every single time.

My personal suggestion would be to stick to front-end coding for web pages (HTML/CSS/JS/jQuery) and then for server side teach Python, because the syntax is easier to think about but actually deploying it is reasonably interesting and teaches some important concepts. But to get kids excited, it's gotta be about the front end. Why do you think so many kids these days got their start editing their Myspace pages?


Getting kids interested in programming is a good idea. But, this should be done early and in stages. Little kids should do something simple like Logo (maybe with a 3D printer for fun).


Logo is a terrible concept. I tried it at school as a little kid and it almost turned me off to programming because of how stupid it was


I keep reading comments in HN about Javascript being too complex for beginners, and I have no idea what they are smoking. Of course students will need some 'training wheels' to get started getting results, but the basic pieces to handle and compute data are dead easy to understand.


What I meant was that it needs to be part of a curriculum that begins with early childhood. IMHO, JavaScript is too complex for most four and five-year-olds. There should be a progression with Logo, MIT's Scratch, etc. building up to more general purpose languages/frameworks.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: