I program and I am dyslexic. My vision is excellent. I do poorly processing symbols and am a visual thinker.

When I code, I'm slower than normal people because I am unpredictably unaware of the errors I make. I am learning python and the text only development environments cause me a lot of visual stress; I am using Wingware which is somewhat helpful, but cant complete assignments in the time given.

Can you suggest an accommodation that would help me?

What adaptations would be helpful to me?

Is there any way I can automatically find, highlight and fix these kinds of errors?

Proofreading, I see what I expect to see or something familiar. I don't notice typos, skip lines etc and the bugs turn up in testing. Even copy & pasting I can miss lines and cause errors.

Blocks of text from margin to margin give me headaches as do some color combinations

I do not process text as symbols, rather as objects that can be rotated, transposed so that the digits in a number move to different places, I may perceive "123" AS "132", THE LETTERS "pddq", look the same to me. I think of these as tricky - the same shape rotated and reflected.


5 Answers 5


If you are dyslexic, maybe you should start by leaning a statically typed language such as C, C++, C#, or Java. Since you are forced to declare variables in these languages and there is type checking, the compiler and IDE will throw errors if by mistake you do something like:

var aux; //declaring a new variable
xau = 5; //mistake assignment. In python this will create a 2nd variable

For dynamically typed languages such as Javascript, Python, PHP, you get get away with these mistakes, and you lose a lot of time trying to understand what's going on. That is why people often advise you to use test-driven methodologies, so that you can catch these errors more quickly.

If you really need to learn Python, then I probably you should try Visual Studio. It currently offers support for Python development. Or try JetBrains PyCharm.

  • 7
    Static typing is great for this. Nothing drives me more nuts than staring at PHP arrays with misspelled class names for hours trying to hunt down bugs that would take 10 seconds to find if proper types were used instead of string array keys. Jan 25, 2014 at 1:18
  • Note that var aux; is also not valid C# and would also cause a compiler error. var is only usable when there is an assignment, because the compiler infers the type of var based on what the type of that assigned value is.
    – Flater
    Jun 21, 2021 at 10:21

I do not know what language you are trying to develop in, but in any good IDE you should be able to change the default font to use Open Dyslexic which may help to some degree.

I personally use WebStorm/PHPStorm from JetBrains which does a great job of pointing out coding mistakes and syntax errors.

You may also want to focus a lot of your time practicing a good test-driven methodology so that any mistakes will be caught early. For JavaScript I use Mocha or Jasmine to do testing.


Some things that help are:

  • Use light text on a dark background. A soft font colour other than white can really help as well (green on black is really good, and retro too!)

  • Autocomplete is a huge boon. You should just be typing the first couple of letters of a variable and then pressing your autocomplete button.

  • Static languages tend to work better for code completion and compilation checks than dynamic languages.

  • If you do use a dynamic language, use Test Driven Development. Find your errors as soon as possible.

  • Don't use cryptic names for variables and functions (which is sadly all too popular).


Semantic Highlighting

zwabel provides a great explanation in the post C++ IDE Evolution: From Syntax Highlighting to Semantic Highlighting:

The additional structure [of semantic highlighting] splits the code-blobs up, and makes them perfectly readable.

[...] my favorite part of the semantic highlighting: Local Variable Colorization. That colorization assigns a semi-unique color to each variable in a local context. This allows much easier distinguishing those variables, largely without reading their full name at all.

(emphasis mine)

This will (hopefully) allow you to recognize a miss-type due to the instant colour feedback when a variable is highlighted differently.

IDEs which support Semantic Highlighting

(based on a cursory Google search):


I suffer from the same issues as you. Dyslexia has always made odd challenges but it isn't anything that can't be overcome!

I personally use Dreamweaver for all of my development - you can customise the code styling to the Nth degree. I have mine set up for a off white - off black background/text combination.

I know Dreamweaver isn't the cheapest, however it is good at picking up errors which has helped me extensively. You can also get it if you are a student for a significantly reduced amount; and it is worth every penny.

  • 1
    Does dreamweaver work for any languages besides html, css and javascript?
    – Racheet
    Jan 24, 2014 at 9:21

Not the answer you're looking for? Browse other questions tagged or ask your own question.