I have some practical experience in programming, but hardly any theoretical background. I have coded on the Commodore 64 (Basic, hexcoding, assembly, Pascal), tried coding on the PC (assembly, QuickBasic, Java, JavaScript) and the Mac (Python, Lua). Nothing substantial yet, just some small things I liked.
Now my limited background on programming is breaking me up. I don't seem to be able to
develop a program, instead of just writing code. I realize that writing code is just a part of development. So I've just started an online-course in program development with
How to Design Programs, which uses
DrScheme (a simplified version of Lisp) as a programming language. All freeware, of course, because it is still a hobby.
What do you say, is this a good way to develop the skills and discipline for me to be able to develop larger programs than what fits on a screen?
I'm keeping a blog about this in
I want to write programs, and have installed some additional programs, such as "J" (a simplified version of APL), LispWorks (free personal edition of Lisp), Free Pascal with Lazarus (open source version, compatible with Delphi), and F-Script (a light-weight version of Smalltalk, for use with the Cocoa framework on Mac OS X). All these programs seem to be well-documented, and free (I like free).
I have no aspirations to become a professional programmer, but I still want to be able to write professional software, which other people can use. Because I want to write for three platforms, Windows, Mac and Linux, the programming languages I use need to exist on all three platforms. Because I'm on Mac OS X, I want to write code specifically for that platform as well.
At the moment, I'm focusing on Lua, as a scripting language for
Anime Studio Pro and have written two scripts, people on Anime Studio forum seems to like. Both helper scripts will probably be used to sell through e frontier's website. I want to create more elaborate scripts and external software to help animators make better animation, but, like I already wrote, I lack the discipline and skill to develop bigger projects.