Thursday 23 July 2015

A Thought On IDEs

This post should really have a subtitle of 'I am the worst blind person ever' - more on that later.

So to further the brief background in the previous post, I'll give a bit of programming history.

Programming History

So, like most, I've been programming since I was quite small - 12 or so I think. I started with Pascal and was amazed at what I could do. Again, like most, I built a text-based RPG dungeon crawl type thing and had the best time figuring out how to do combat and pull descriptions from text files and so on. After a little while I switched over to HTML/CSS/Javascript during school and did the usual extremely poor-looking websites about Runescape and other such things of the time.

I quickly decided, however, to just go ahead and start learning something useful. I kept being irritated by how limiting some of the languages were - how I couldn't quite do everything I wanted to do in them. So in the end I settled on C++.This was maybe not my greatest of decisions aged 14, but I stuck with it, and set about self-teaching C++ to fulfill all of my wildest programming dreams.

I've stuck with that until this day, occasionally dabbling in Java, Python and a number of others, but never really falling for any language quite like I did for C++. This likely makes me far too focused to be a truly superstar developer, but I'll stick with what I know for now. I sure as hell don't know everything there is to know about it, so why stop learning?

For the past four or so years I've been focusing on the wxWidgets framework in an attempt to be able to produce high-quality, useful desktop applications. As a bonus, they're all cross-platform so I've switched back and forth between Windows and unix-based systems more times than I can count. This all inevitably leads on to...

IDE Choice

So as a primarily C++, pirmarily wxWidgets developer (pigeon-hole, I choose you!) I inevitably stumbled upon wxDev-C++.As it turns out, this is a terrible, outdated IDE and I spent far more time using it than I'd like to admit to. Such is the way of the self-taught isolated programmer I suppose - I had nor eal idea why it was bad for a long time.

After deciding to dump the dead weight, I fooled around with Eclipse for varous things, MonoDeveloper in an attempt to start learning C# and using Unity, and Visual Studio 2013. These were all okay, but didn't quite cut it for me in terms of the interface. I enjoy simplicity - having detail locked behind menus and dialogs is fine, but when I right-click a source file in the project tree and the drop-down menu is too big to entirely fit on my zoomed-in screen, I have some problems (I'm looking at you VS13).

So all of those aside, I eventually pitched my tent in the Code::Blocks camp. I spent a while discovering the menus and learning how ti link libraries and other relevant information, decided its menubars and context menus were helpful and compact, and off I went. This is where it turns otu I'm a really, really terrible blind person.

IDE Customization

So we skip ahead maybe a year or two of using Code::Blocks happily - struggling with the white page and dark text, but otherwise enjoying the environment. My eyesight has gotten worse again this past year or two, gone through a period of degeneration as I like to say, so I've ended up using fully high-contrast themes and enlarging everything I can get my hands on. My IDE, however, still looking eye-burning white with relatively small black text. It never really occured to me that I could just change that, somehow I thought it was some kind of arcane software that could nto be altered in any way. As it turns out, nope! I was just being really dumb.



So after using it in a difficult, awkward way (see above) for far longer than I should have, I set about improving it. As is turns out, it's extremely easy! There's a whole slew of menus for changing the editor nad making it look nicer. After some fiddling and some googling, I ended up with this:


For those interested, the menu is in Settings->Editor and the particular sub-menu for changing the editor area itself is called Syntax Highlighting and looks like this:


So here we are, this is my current IDE and setup. There are many like it, but this one is mine.

(Fun fact: I actually see all of these images inverted, so my 'bad IDE' one looks good, and my 'good IDE' ones look bad. This is due a Chrome plugin I use called HackerVision. I'll go into more detail about general accessibility next time.)

1 comment: