Hacker News new | ask | show | jobs
by zersiax 1264 days ago
Hoo boy, this is a fun one :)

Disclaimer: Fully blind programmer, have been for several years,learned as a teenager, later went on to teach various blind individuals as a side hustle for a while, culminating in a 2 month course done for the folks who make CodeJumper. With all that out of the way, let's go.

First, let me just comment on that comment by @conviencefee999. Kindly do your research before chiming into a discussion you quite clearly know very little about. I don't know your unique set of circumstances, but stating that one of the most viable career paths for a blind individual is not a viable career path is rather against the current and, as you yourself helpfully point out, anything but helpful. While it is true that the barrier to entry is still somewhat present, particularly for the age group OP is asking about, it can absolutely be done. Case and point being myself, as well as various others I know of. There are discussion groups about this topic, mostly in the form of the admittedly rather antiquated mailing list. An example is program-l over at freelists.org.

Second, re: Python's indentation situation. I would actually argue that Python is a great starting point, because screen readers are able to either verbally or audibly indicate indentation levels when required, particularly on Windows and up to a point, in a more limited fashion, on Mac OS. This makes the "invisible characters" issue somewhat less problematic, and a braille display alleviates this issue even more, provided the blind computer user in question has access to one, which is more common in Europe than it is over in the States.

Now as for a couple recommendations.

Scratch works on the principle of instant gratification first and foremost: you do, you see. Right away. And it can be difficult to replicate that experience non-visually, particularly for younger children. I haven't really found a 100% equivalent alternative.

I worked with a group of researchers several months ago that is working on an accessible interface to Blockly, a Scratch competitor in a lot of respects, which came as close as I can think of a fully analogous experience. Unfortunately, I have no idea how that project is faring at the moment and if they ever made it further than the prototype I got to test back then.

The things I can think of that come closest are:

* Swift Playgrounds (mac/iPad): VoiceOver, Apple's screen reader, supports these environments rather well, describing the visuals within the game worlds you work in, so this could be something to look into.

* Freecodecamp/codecademy: I myself started learning how to program by writing HTML back when I was 10 or so. I liked the idea of writing some arcane things into a notepad and seeing it come alive on the page in front of me, and FreeCodeCamp essentially does that same thing, but gamifies it a bit more. That could be something to look into.

* SonicPie: SOnicPie is a ruby environment for creating music using code. There's a pretty accessible tutorial for newcomers that could work for, say, a 10-year-old I think, provided they have a love for music and sound. Could be another avenue to try, although the sonicPie editor isn't as accessible as it could be and takes a bit of getting used to.

I hope this helps a bit :)

2 comments

> First, let me just comment on that comment by @conviencefee999. Kindly do your research before chiming into a discussion you quite clearly know very little about. I don't know your unique set of circumstances, but stating that one of the most viable career paths for a blind individual is not a viable career path is rather against the current and, as you yourself helpfully point out, anything but helpful. While it is true that the barrier to entry is still somewhat present, particularly for the age group OP is asking about, it can absolutely be done. Case and point being myself, as well as various others I know of. There are discussion groups about this topic, mostly in the form of the admittedly rather antiquated mailing list. An example is program-l over at freelists.org.

As a formerly blind and currently visually impaired person who programs, I'd even go so far as to argue there are some benefits to being blind. Humans are visual creatures, but computers aren't, and one of the stumbling blocks for humans learning to speak computer is wanting or needing visual representations of things and building layers of abstraction in part to deal with that need. We separate 'where', 'when', and 'why' a lot easier, I think.

> one of the stumbling blocks for humans learning to speak computer is wanting or needing visual representations of things and building layers of abstraction in part to deal with that need.

I'm not blind, but fairly recently (couple of year; I'm 47) realised I have aphantasia. I didn't even know it was a thing or that others could see things in their minds eye - I thought people spoke metaphorically.

After learning that I realised that the way I "see" software structure as abstract relationships without a visualisation was very alien to a lot of people, who tend to rely on seeing the code.

Visual layout helps me build that abstract model rapidly, but once I have that model in my head I can mentally plan out code changes without looking much at the code, so I totally agree that needing visual representations can be a massive hindrance.

I am not blind but I am a visual thinker and have no trouble seeing how a computer works. I can easily visualize memory, data, code structure and so on.
I'm not blind, but a relative turned blind relatively early in their life (when I was still a child), so it's been present in my thoughts at least. I love the take that there is an advantage - building stronger conceptual skills is what I'd say you're describing. In my experience it's quite difficult to find programmers with strong conceptual skills, so this rings true to me.
Blockly isn't really a Scratch competitor since it just provides a block editor and no runtime. Scratch actually uses a modified version of it.