Hacker News new | ask | show | jobs
by greggraham 5846 days ago
I learned to program in BASIC on an Apple II, and although it was my entry language, I don't see it as necessary now. The school I work at uses MIT Scratch with the 5th graders, and they love it. I'm teaching Java in a high school computer science elective because that's what is used on the AP Exam, and they're likely to start with in college. I think Python, Ruby, or Lua would be better choices, but Java is good enough.

However, I'm also exposing them to logic circuits, machine language, and assembly so that they have a better understanding of how the computer actually works. I want them to understand the basics of what the compiler and VM are doing so that Java is not completely abstract to them. As experienced developers know, these abstractions have leaks so it's helpful to know what's going on underneath. I see BASIC as a dead-end abstraction. I would rather use assembly to teach a low-level understanding, and then use modern languages at the higher level.