Tuesday, March 11, 2008

The lost code?

I still have some 5 1/4 and 3 1/2 floppies with some homeworks and early projects. Maybe a 70% is Turbo Pascal code and the rest C/C++.

Last tinme I made a backup, I saw a lot of toy examples. Some from books, and some from my head. The typical tiny program began with a problem sentence, and the coded solution was an algorithm. But in the middle there was the problem of the user interface. So the classic solution was to code a text menu with numbers to entre the options. Then someone came with one of those big "bible" books, were an author explain more less the trick to code some popup & pull down menus. Wow, that was really something.

But one of the first serious problems were the graphics. I remember one of my teachers asked us for a parabollic throw simulator. So the equations were easy, but because of the lack of technical info, I did it in text mode. Not bad, but looks ugly.

Then, when the group reacted and we started to plan about making some code library, a new language appeared: assembly.

Life is too short to program everything in assembly language, so a nice technique was the binding of macros in a library to use it with other languages.

And then came C/C++. Even with the power and speed of C, I remember that time was easely lost trying to find syntax errors and memory leaks. Even when C++ improves the logic, is hard to master it. The mother of my university projects: a Pascal compiler. One whole week programming day and night. And the best of all: it works.

And when Smalltalk appeared on scene, everything was beautyfull (all except my hardware). Great develoment enviroment, great power of expresion, and a networking simulator was completed in 3 days, without debbuging.

So, for some people toy samples may be a waste of time, but they reflect the essence of what it makes a good programmer: practice.

Friday, February 29, 2008

In the begginig: school days

First time I get interesed in computer programming was in the 80s after been exposed to films like Tron and some teen hackers dramas. However in Mexico it was hard and expensive to get a computer and tech literature. Someone in high school made us a promise about to have a computer lab, but that promise vanished with time.

It was before I entered to college that I had the opportunity to take a programming course using Pascal. It was great, but the problem of not having a computer and the software to practice tended to end the dream.

But when I started in college, one of the requisites was to have a compuer in home, so I sold my electric guitar to help my mothey to buy the computer. It was a i286 with 1 MB RAM and 20Mb of HDD. And it supported me for 5 years. It was a real advantage to have it at home to prectice; those were long productive nights of trials and errors, but is the only way to learn. We started using Turbo Pascal 5.5, a great tools considering it fits in a 720 kb floppy disk, and the IDE, help and examples were all there.

Some other languages appeared in scene: C, x86 assembly. A paradigm shift was the introduction of C++ and my first contact with Smalltalk. My computer started to have some difficulties to load this enviroments. Then came Prolog and Lisp. And by 1993 the Windows 3.1 started to spread and some interesting DB and A&D tools appeared.

Lots of code lines were written in those days. What happened to that code?

Tuesday, February 26, 2008

What is codink?

CoDInK is an acronym for Communication of Data, Information and Knowledge. It's a temptative for my future company. But deep inside is a way of life.

I love to write; I wrote a couple of thesis works in my academic life, but I don´t know how to write a novel. However, I know how to write software and turn ideas into interactive entities that people can play with or use for learn or work. It's an expression using the art & science of computer sciences.

The future is always a surprise, but somebody has to make it happend.

That is codink, and here I will be writing about turning ideas into software or something else. Yes, a little tech words will appear, but experience and innovation will move the fingers in the keyboard.