5 ms·
Is the next second language JavaScript?
- zachgalant 14y agoWe are teaching basic JavaScript to beginners at http://codehs.com 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!
- tcbawo 14y agoGetting 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).
- jchonphoenix 14y agoLogo 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
- Jare 14y agoI 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.
- tcbawo 14y agoWhat 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.
- sonabinu 14y agoTo understand coding at school is like learning basic mathematics in school. Once you know the basics, you can really build up from there.
- fourstar 14y agoLanguages change all the time. To single out one language in particular and label it as "the language" to learn is erroneous.
- akurilin 14y agoI 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.
- dantheman 14y agoI'd say the best 1st language would either be scheme or smalltalk.
- andrewvc 14y agoI 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.
- nonamegiven 14y agoThe 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 ...
- Mandatum 14y agoI think there's different types of developers. Those who are interested in the computing aspect, love maths, problem solving and learning the nitty-gritty of languages. And those who just want to make things. I'm not saying these are mutually exclusive! We've all got that hunger to create. But some of us prefer the theory, whilst others just want to bang shit together until it works.
- hugh4life 14y agoUnless 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.
- 1337p337 14y agoPersonal 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.
- happypeter 14y agoDon'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?
- tomasien 14y agoStart 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?
- 8ig8 14y agoI 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_Audit.pdf http://www.greatschools.org/catalog/pdf/2011_GreatSchools_Au...
- hzay 14y agoMarginally 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 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