← Back to context

Comment by sramam

8 years ago

Congratulations!

I showed your project to my 12 year old son who has just started to learn programming (in JS no less!) and his jaw dropped.

In addition to being a programmer, you are now a role-model. Really well done.

Thanks a ton!

Tell your son that it took me a while, and a lot of work, but it feels great to finish something (there are a lot of projects that I don't finish...).

I began learning using Scratch a long time ago. They even featured me last year (the project was a solar system in which I used sine and cosine to calculate the rotation of the planets). I then used blocklike.js to move to JS.

I watch a lot of YouTube videos. I like The Coding Train, Carykh, and Code Bullet, and I get a lot of my ideas from their projects.

  • Startup Idea: Start a slack/discord group for aspiring students between the ages of [pick your age range, say (8-18)] and start a mentoring/support group with these like-minds...

    You'll learn, build relationships and some of you will go off and found companies together.

  • sine and cosine last year? Now I want to know what your parents are feeding you!!! ;)

    • I also picked up sine and cosine at around that age; it was thanks to programming.

      Various example BASIC programs (e.g. Lissajous curve and circle plotters and such) used those functions and from their behavior I kind of picked up the relationship to both undulation and the circle. I found out about the arctangent function, and from that I realized that it could be used for 3D projection. I made a proof-of-concept program that mapped some connected points in 3D (boxes and whatnot) to 2D by calculating the visual angles using arctangents: i.e. I plotted the angle between the line of sight and each point, rather than a simple planar projection. It resulted in the objects appearing in a very nice "fish eye" perspective on the screen, which was very pleasing. From all that I learned about radians also and how there are "two pi" of them in a circle, since the functions accepted radians and not degrees.

      You know how they say that necessity is the mother of invention; it's also the mother of learning trigonometric functions and whatever else.

      2 replies →

    • I learned how to use sine and cosine for drawing circles when I was probably 9 or 10. It was years before I found out what they actually mean and how they work. I didn't even know what the curves looked like.

  • I've got a 10 year old who's been making a lot of stuff in Scratch since he was 6. I've been trying to think of how to phase him over to less limited languages and wasn't aware of blocklike.js, so thank you for that idea.

    Having a lot of projects that you don't finish is completely normal, so don't worry about that.

>I showed your project to my 12 year old son who has just started to learn programming (in JS no less!)

It would be much better if he would start with Scratch, Processing, Smalltalk, or even Python.

On JS he'll have to lose time coping with complicated build tools, horrible package system, async etc.

  • Is this serious? I started programming around 9 or 10 on a Commodore 64. I would go to the local library to get programming books for it. Now you can hit F12 in your browser and get a powerful console into JS. JS is fine, encourage the thirst for knowledge.

    • JS is an objectively bad programming language. It is not fine, it is just annoyingly common and convenient. The main advances in its ecosystem are related to transpiling it from other, saner, languages. If he has fun writing JS, then great for him. He's 12, he'll do it if he wants. But it'd be doing him a disservice not to open his eyes to much wider, greener pastures of the programming world.

      9 replies →

  • This kid is practicing calculus at 12 years old. He will be able to handle a package manager.

    • It's still a waste of his time to deal with it. The brain has only so many ultra-neuroplastic years, why burn them on dicking around with npm when they could be leveraged to focus on more universal concepts?

      1 reply →

  • Isn't Liam's project proof that you don't need any complicated JS tooling?

    A simple `node index.js` can go really far.

  • You need none of those things to get started with JS development

    It’s still perfectly possible to just create a html document, shove in a script tag, and start developing

    And if you want to use packages from the npm ecosystem you can easily use https://unpkg.com/

  • The only thing you need to learn programming with JS is a text editor and some rudimentary HTML knowledge.

    Everything else is unnecessary, at least as far as the programming language itself is concerned.