Over time I have produced several different programs and gained experience in a number of different languages. These
languages include C, Modula-2, Smalltalk,
Haskell, Java JDK 1.2.2, Visual Basic 5 & 6, VBA and JavaScript. I am most
competent in JavaScript and Java probably because I enjoy these the most and have
used these more extensively than the others.
In this section I hope to show you a little bit about my ability in
programming and the things I have learnt/created over the past few years.
I used Java throughout the final year of my university course and I
must say, I do enjoy it, and Java is very flexible, however, it does have
a few flaws: I think the documentation is extensive, but it is not always
easy to find what you are looking for, and when you do find it, the
explanations are sometimes pretty complex and take a fair bit of
understanding. It is also very slow, both in running and compiling (my
machine doesn't exactly help though!). But Java does have its plus points,
that is, it is very flexible and platform independent, and allows you to
create applets.
While in my final year, I wrote a few programs. The first was for
a module called Interactive Systems. The coursework was to produce a
program that would monitor conditions of a zoo's enclosures. The zoo had
sixteen enclosures and for each one, the temperature, oxygen and pressure
needed to be monitored. The program had to graphically simulate changes in each of
these conditions for each enclosure and fire an alarm whenever an upper or
lower limit of a condition was breached. You would then need the ability
to reset all values back to normal. Here is a mini screenshot of the finished
product:
Nothing too difficult really, but I got an 'A' for it, so
I suppose it can't be that bad. If you would like to see the
program running, you'll need the JDK 1.2.2 virtual machine which can
be downloaded from the Sun
website. All other relevant files are
in a zip file which can be |
downloaded here |
 |
Use the RunUnitMonitor class file to run the program.
The other program I wrote was my final year project. This was a very
important part of overall assessment for my university grade, so it
took a fair bit of time. The project I came up with was to create a
game in Java that would have two individual threads interacting with each
other through user control. I decided to have two
'robots' in an arena that would bash into each other attempting to destroy
the protective shields of the opponent. The amount of work that went into this was pretty
hefty, and I could talk all day about what was involved with solve certain
problems, but I won't. Lets just say, after creating something which is essentially
quite simple in principle, I don't envy the real games programmers out
there! Equation city! Anyway, this is a mini screenshot of the final game:
 |
Got an 'A' for this one as well! It's not the best
game in the World, but it was only really an experiment for me to
see what it would take to create a game and to explore some of
Java's functionality. If I was to write it again there would be a
number of things I would do differently.
If you would like to see the
program running, you'll need the JDK 1.2.2 virtual machine which can
be downloaded from the Sun
website. All other relevant files are
in a zip file which can be |
downloaded here |
 |
Use the RobotWars class file to run the game. A word of warning
though, this game
doesn't run that well on my machine which is a P166 running at 200Mhz with 48Mb RAM,
so if your machine's spec is lower, it will run pretty slow.
I have been using JavaScript version 1.1 recently while working for both Liberate and Two Way TV as an applications or games programmer. Unfortunately I never actually produced a game of my own for Two Way TV, and was mainly involved in fixing bugs and enhancements to already existing games. I developed four applications in six months while working at Liberate, these were experimental in their functionality and proved very successful. These involved communication to servlets as well as exploring many of the key features of the Liberate platform to enhance televeision viewing. Unfortunately, I can't really place any of the code or screenshots of these applications on this site due to copyrighting laws etc.
After a while of working at both these companies, I began to realise that many of the features of JavaScript 1.1 were limited and I had to create scripts to enhance its capabilities. Some of these things were repeated from application to application, so I started to write reusable scripts to perform particular common functionality. These are not copyrighted, but aren't exactly special in comparison with the applications I wrote. However, if you wish to look at these, they are the following:
Filename |
Description |
|
Download |
|
clock.js
|
This is an implementation of a clock. It has methods to set the format to display the time in, set the time, get the time, start the clock running, and another method to allow for a function call for every tick of the clock. Click here for a demonstration.
|
|
date.js
|
This is a single customisation of the JavaScript Date object. Basically it is one function that returns the amount of time between now and the end of the day.
|
|
debug.js
|
This is a simple function that provides a prioritisation of debugtext. By turning levels on or off, you can choose whether to view information, warnings or errors in the debugtext.
|
|
stopWatch.js
|
This is my implementation of a simple stop watch. It has methods to start, stop, reset and get the time of the stopWatch. I found this very useful for timing processes in applications, especially when testing optimisations.
|
|
string.js
|
This is a few customisations of the JavaScript String object. It has a function to replace the first occurrence of a substring with another. A function to replace all occurrences of a substring with another. A function to reverse a String, and the last function converts a String into an Array of characters.
|
|
I used VB in my time spent working for Microsoft. Before then, I barely
knew anything about it, but after working there for a while, I began to
learn a lot more. VB in my opinion is much easier to use than Java.
This may not be the case for all situations, but the IDE for VB is far
better than anything I have encountered for Java. Java do have Forte which I
know is good, but its written in Java itself and runs terribly slow. I
don't really have that much to show about my VB knowledge really. The main
things I wrote were small applications to perform certain tasks internally
to Microsoft's consultancy sector. One thing I can think of that I wrote
independently is a simple little application that generates a random
insult. I'd seen one before and wanted to create my own version. Here's a
screenshot of the finished program:
 |
Another thing I wrote was an Internet chat program. I only had a small
amount of spare time, so I didn't really get to explore many of the
possibilities that I wanted to. There are two applications to this; one a
client and the other a server on a different machine. All it does is allow
the client application to connect to the server application. The users
then have panels in which to write and receive messages. Both panels are
updated as the users type, so there's no need to click a send button. It
also allows users to change their font and colours, which are also updated
at the other end. Here is a mini screenshot of the two applications:
VB programs tend to be a fair bit larger than Java ones, so I won't put
the install sets up on the web, their not really worth it. However, if for
some strange reason you do want any of these applications, send an email
to ryanbearduk@yahoo.com and
I'll see what I can do.
Visual Basic for Applications
|
I only ever really used this when working for Microsoft. A number of
their key internal tools were written in VBA, and those I supported were
written in Access VBA and Word VBA. The language is much the same as
Visual Basic, but there is increased support for Office product
automation. A small example of code I wrote was for Access to query a
database, retrieve results and place them into a Word document template,
the document would then be printed out. The scope for automation is huge,
I only scratched the surface, but it gave me a good foundation to work
with when learning pure VB. As all my VBA work was internal to
Microsoft, I can't really show any examples.
All other programming has merely been a series of stepping stones to
the point where I am now. C and Modula-2 provided the earliest experiences
in programming for me. I have learnt some valuable lessons and I am now a
lot clearer on the direction of my career. I won't display examples of
older programming work as I simply do not have it in my possession, and
what I do have really isn't worth showing!
Top ^
|