I have programmed computers in assembly language since
ZX Spectrum (Z80). Then coded two demos on C64 (CPU 6502),
Amiga (great Motorola 680x0 family processors) and at last
I learnt Intel x86 assembly (after 680x0 it was not big
pleasure). Assembly language
was "a must" on ZX Spectrum and C64 machines, because both projects
and computer memory were small. My early Amiga programming
experience went into assembly language, because it was
demoscene oriented stuff that was expected to run real-time
calculated effects at constant framerate of 50 frames per second.
After exploration of Amiga sound and video hardware registers
I started AmigaOS system programming. But system programming
= C programming. Fortunately Amiga was powerful enough to run a
C compiler. I prepared Maxon C compiler on two floppies.
One of them was copied into RAM on system startup, so
system was small and fast. Later I bought Amiga 1200 and
connected a harddrive. Since then I used SAS C compiler.
I still have good memories about those days when I
wondered why point to something unknown (void* stuff)?
On Intel platform assembly became much less
important as processors came into great power and (most)
today compilers are very advanced in code optimisation, so
I need to code only small parts in low level language.
They are mostly related to protections and some time ago
primitive graphic routines like inner loops of
In 2001 I have passed my last exam on University
of Wroclaw and now I have my Master Degree in
Computer Science, spec. Software Engineering. My
Thesis was "Protecting Software from Illegal Users".
| Current events :-)|
| List of technologies I used|
API & Other tech
- CGI,DirectX,OpenGL,ODBC,JDBC,API Win32,Networking,MFC,ActiveX
| Visual C/C++|
C and C++ are my favourite languages (though
I like Java too :-). I started C programming
nine years ago. C is a nice replacement of assembly
language, as one can still use bytes
and pointers style to get maximum speed (I would
call this mode high level assembly) or use C++ classes level
to get clean code that is easy to maintain
and still quite fast.
My first Windows programs were written with plain Windows
API and Windows SDK under Watcom C/C++ compiler. Then my
choice of compiler went to Microsoft Visual C++ because
of relatively small overload of MFC classes over plain API
comparing with other solutions (eg. Borland Builder) and
MFC coding style was more related to Windows API functions
that I knew before.
Screenshot of my school project written on Priciples
of Computer Graphics course. Project TED (Three dimension EDitor)
written in Visual C++ with MFC classes. Click to see the
full size image.
I have met Java twice. Long time ago for the first time
and that meeting was rather sloooow :-). Well,
we have to take a break. Two CPU upgrades and for the
second time Java looked much better. Today I look at Java
as a clean and elegant way of programming. Sometimes it
hurts to leave some C++ features, but it can be taken
as an advantage when we do not have to read someone's pointer
There are also standard packages so strong that short
and clean Java program resolves problems
that are complicated in other languages. Dealing
with databases or networking is piece of cake in Java.
There is only one disadvantage in Java programming - Speed.
But I think it will get better... in worst case we still have C/C++. :-)