[CVALE] Idea for a C Programming Project...TuxScribble

Landon Blake lblake at ksninc.com
Thu Jun 15 12:33:52 PDT 2006


I've been learning tidbits of C programming here and there. My latest
excursion with C involves writing a Python extension module. That got me
to thinking about a C programming project that I would like to try. It
is something that will give me an opportunity to learn the ins and outs
of the language and become familiar with low-level programming.

 

I want to create a new programming language for Linux.

 

Now I know your probably thinking, "This guy must be crazy. Does he know
what that entails?" I might be a little bit crazy, but I do have an idea
of what's involved. I've learned some about compilers and interpreters,
and the different types of languages. (I even bought a book about
creating programming languages, though I've not read much of it...) I
think I'm ready to give this a shot.

 

So what type of language will I create? I want to create something that
might actually be useful, in addition to providing me the learning
experience. I want to design the type of programming language that I
would have like to have found when I first migrated to Linux. The
language will be named TuxScribble. It will be:

 

Object-Oriented

Statically Typed

Interpreted (Not Compiled)

Implemented in C

 

What will make TuxScribble different from other programming languages
available on Linux? I actually hope to model it on two other languages
that I am familiar with, Java and Visual Basic. Now I know some of you
cringed when I said "Visual Basic", but give me a chance to explain. The
target user for TuxScribble would fit one of the following descriptions:

 

[1] A "casual" programmer that recently migrated from Microsoft Windows
to Linux. They're familiar with VBA and maybe Visual Basic, and are
looking for similar option on Linux. These are people that like eye
candy and who don't know much about low-level programming. (C
programming really scares this type of person. Hey, it still scares me.)
:] 

 

[2] A Linux user that would like an easy introduction to programming on
Linux. This type of person doesn't have any previous programming
experience, but wants to learn. Or they want a quick way to build some
useful GUI applications.

 

TuxScribble won't be the fastest language, but I will try to keep its
memory footprint small. It won't have the support and large code base of
established languages like Python. What qualities will it have that
might make it an appealing alternative to existing languages?

 

[1] It will be a purely object-oriented language with a very simple
syntax. A very, very, simple syntax. In fact, all statements will take
the form object.methodcall(). Even statements that just add two numbers.
This should make the language very easy to learn.

 

[2] A full featured IDE. Something like Eclipse, but scaled back
quite-a-bit. I want a graphical program that includes all the tools
needed to design in the language.

 

[3] The language will integrate very tightly with the GTK libraries. I
want users to follow the "Visual Basic Philosophy" for programming, in
which you first build the GUI and then write the code that makes it
work. I hope I can integrate Glade into my IDE. If not, I'll write a
parser for GladeXML that will allow use of Glade with my IDE, but not a
part of it.

 

[4] The language will be well documented for beginning programmers. I
will also document the actual inner workings of the language
implementation itself, for others like me that are curious about that
stuff.

 

[5] The language will be extendable with the C programming language,
much like Python. You'll be able to wrap any library of C functions and
use these from TuxScribble.

 

Let me know what you guys think of the concept. Remember, it is mostly a
learning experience for me, but if you have some comments on how I might
make it more usable, I'm listening. If I decide to go forward with this
I could explain the obstacles I encounter and what I've accomplished at
a few of the CVale meetings. That way we can all learn together!

 

You never know, in 5 years you may find TuxScribble integrated into one
of your favorite Linux applications.

 

Landon

 

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.fire2wire.com/pipermail/cvale/attachments/20060615/fbe46070/attachment.html


More information about the cvale mailing list