09.27.06

ALPHA – An Update At Last

Posted in ALPHA, Programming at 11:49 am by Nick

Time: 1 hour
Total: 2 hours
—————

So, I realize I’ve been very relaxed about updating my ALPHA project. This is soon to change, as ALPHA is as much a class as anything else. I’ll work harder on updating it.

That said, I have quite a few assignments from CS III that I will post later tonight when I am at home. The teacher has seriously been pulling at some painful nerves for many people, but I must say I’ve learned a lot of Ada syntax and methodology quite quickly. The techniques are really nothing new (I’ll be excited if we do talk about newer stuff, I like learning new programming techniques), but we are incrementally learning how to use Ada.

Ada itself is a very lengthy programming language. Printing out text to the screen is no short function call (Ada -> Ada.Text_IO.Put_Line(“Look, text!”); C++ -> cout < < "Look, text!\n"; C -> printf( “Look, text!\n”); ) and is generally harder to type because of the capital letters and underscores. However, its strong typing and extreme flexibility (and lack of pointers to keep track of) is pretty nice. Arrays in Ada allow you to specify the index! This is amazing since in C/C++ all index’s start at 0, and they must be numbers. It is nice in Ada to be able to use any discrete data type for an index.

I still have a feeling I can emulate some of the strong data type features of Ada in C++ using classes and data types. It may not be as pretty, but it will be good none the less. Many errors occur from range checking on integers, so that will be one focal point. The goal here is to have C++ programmers program, but not use -any- built-in data types. Integers, Characters, Floats, Doubles, Shorts, Longs will all be recreated classes. I expect this will slow down just about all programs using it, but I doubt the actual speed loss will be signifcant nor noticable.

There is much planning to do yet. I also need to find a large block of free time to commit to this cause. Supposing this turns out well, I will use it to finally work on Kaladea, which will be a rather large scale test of it. Then again, Kaladea is a long project. Speaking of which, it is techinically part of this project I have some design specs I still need to work out. I’m also working on updating the KaladeaMUD web site, which will contain most KaladeaMUD developments. Which also reminds me I need to work on a MySQL inteface in C++ for KaladeaMUD. Chances are I need to look into getting Ruby to work with KaladeaMUD as well, or at least design an interface to call the script interpreters.

Since KaladeaMUD will be query for -ALL- information now (very little should be kept in memory) it allows me to leave out interaction between the server and the scripts (apart from calling the scripts) and the sharing of memory. This was a huge problem before (it is incredibly hard to share data between programs), but now it should all be peachy if implemented correctly.

1 Comment »

  1. Nick May said,

    October 6, 2006 at 5:42 pm

    Yay for updates! I can read your programming posts now not only with interest but also with a fair degree of understanding.

Leave a Comment