[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [school-discuss] Dyslexia and Programming



On Thu, Oct 11, 2012 at 4:30 PM, Joel Kahn <jj2kk4@xxxxxxxxx> wrote:
> In connection with this, I strongly encourage everyone to read the *entire* text of a 2006 article by David Brin:
>
> http://www.salon.com/2006/09/14/basic_2/

Nice article.  I started out programming in BASIC.  My interest was
mainly game writing at the time and I did it outside of school on my
own.  I don't think I would have enjoyed doing it within the school
environment as it was typically to rigid and often stifled my
creativity.  Using BASIC is a great way to learn the basics of
programming.  The switch to object oriented programming wasn't that
hard for me.  I do see a lot of new college graduates coming out of
school who do bad designs with object oriented programming though.
They treat everything as objects and end up with tons of code to
support when they could write one object to handle similar concepts.
(Conceptually, why treat a poodle different from a dalmation when both
are essentially dogs?)  With programming the simplest approaches work
the best.  I think the big loss in programming was with the switch to
multi-tasking systems.  When Windows came in, you now had to learn a
huge Win32 API and there's no easy way to simply get a line of text or
draw a line on the screen.  (You should have seen how many lines a
Win32 program typically needed to do the simple "Hellow World"
example.)  I've been looking for cross-platform GUIs that supply that
type of simple functionality for years and I've yet to find one I
like.  Speaking of cross-platform GUIs, my ideal cross-platform GUI
(which I've been wanting for over a decade now) would work very much
like a web browser.  Feed it code similar to HTML and let it draw the
screen.  It can support languages/internationalization.  If you can
connect that with the code (algorithms and data structures) behind the
scenes, you'd be in business.  Recently, I've been working on doing
something just like that:
http://www.distasis.com/cpp/lmbld.htm#lmbldui

To me, JavaScript is the new BASIC.  The syntax is very C like so you
can eventually switch to other languages like C, C++, Perl, Java, etc.
 There's support for object oriented programming (although it is
different conceptually from C++).  It works cross-platform and you can
use the results and share them with others.  Programs written in
JavaScript can be run in a browser from the web or locally if you have
the code on your system (unless you have Chrome or Chromium which has
severly crippled this).  Twiddlywiki is a nice example of running code
locally (on your machine) in a cross-platform manner.  There are
several server side JavaScript implementations in the works.  A couple
of drawbacks though, no HTML/graphical support for most and while
there's a spec (CommonJS) for the language, most implementations
currently don't fully comply with it.  Windows has HTAs (HyperText
Applications) which I think are an excellent way to learn programming
and write something that could be useful.  Many of the browsers and
the W3C had plans for desktop and web based applications using HTML,
CSS and JavaScript.  These evolved into the gadgets in Windows.
Unfortunately, none of the groups involved could agree on standards.
Google dropped support for the idea.  Opera which isn't Open Source is
the only browser supporting the W3C specifications.  The other browser
developers do it their way (Mozilla, Microsoft) or don't even try to
support it.  I would love to see the equivalent of HTAs on systems
other than Windows.  It would provide a quick cross-platform way to
develop GUI applications.

JavaScript can pretty much do anything BASIC can do from an algorithm
and data structure standpoint.  With W3C support for SVG, JavaScript
and browsers could do simple line drawing like BASIC.  It can handle
things like drawing sprites.  It's easy to display bitmaps and there
are several examples of graphics galleries and slide shows available
on the web.  There's support for internationalization.  It's easy to
get up a Hello World example in HTML.  With CSS, you'd have quick and
easy support for concepts like skinning applications.  That would be
my ideal way to go for simple programming.  Unforuntately, as I
mentioned, not all the pieces are in place, especially on Open Source
operating systems.  If anyone were interested in investigating this
further, would be glad to discuss or brainstorm on this topic.

Marilyn wrote:
>My little boy, Sam, whom I just started on home school, not only is profoundly dyslexic, but has dysgraphia, and is color-blind.

Just thought I'd add, I find this a nice resource for web designers or
programmers who are trying to make their applications user friendly
for people with color-blindness:
http://www.iamcal.com/toys/colors/

Sincerely,
Laura
###
To unsubscribe from the schoolforge-discuss mailing list:
Send an e-mail message to majordomo@xxxxxxxxxxxxxxx with no subject
and a body of "unsubscribe schoolforge-discuss"