Years ago, when I was in the University (spending my time with my friends, doing anything legal but study), I had a friend who was like a genius. He was spending the same time as the rest of us having fun, while was able to keep his grades high (very high). I don’t care if he did it because he was a genius (was a very intelligent person, I must admit), because he was working hard at home or because a merge of both.
One thing I remember from him is the programming practice in Fortran…
Few of us were natural born programmers. I mean, we were programming from our early years for some different reasons (mine was having a computer without games). It was supposed that he was one of us. All made our practices and few of our friends’ ones. Not sure about how these things are passed in the rest of the world, but in Spain is a common practice. It’s easy to find a person who is a IT engineer and never wrote a single line of code. Sadly.
The guy I am talking about had a lot of luck with his practice: the requirements were write a program able to say how many of each numbers (0-9) had a 10-digit natural.
The rest of us had more or less luck than him (I hated my practice about some calculations over a 10×10 random matrix), but he had a lot of problems we have not.
We were talking a lot about Fortran those days. About its calculation power, its structure, its potential for games programming, and those kind of things we never will admit now we were talking about. He was silent about the theme, a strange thing coming from him.
Few days before the delivery date, we were speaking about the problems we found in our programs. He explained (at last) that he was not able to make it run fine. His compiler at home worked pretty fine, all his tests were running fast and clear, but he was not able to get nothing else than an error message from the Uni’s server. We decided to help him, in exchange of the many times he helped us with other problems.
The program itself was amazing. Few windows (in DOS) were animated to get an input dialog using ASCII animation. Then the user was able to enter the 10-digit number and the program wrote the answer in nanoseconds. Why it was not working in the Uni’s server, then?
The Uni’s server was an old 3090 (I think, I’m not able to remember those kind of things, because that kind of servers never have been part of my interests). The working process was easy:
– write your program
– send it to a batch job
– get your results through the printer
Just a question: How the hell can anyone perform an ASCII animation through a printer?
This “short” tale is just a sample (maybe a paradigm) about how many people tend to code. Complex object-oriented programs who are made of thousand of lines, with impressive routines and calls almost impossible to debug nor understand for common folk. Programs able to make the work in a fraction of the time used for non-genius coder’s programs.
The point is: Those 3 seconds your program runs faster than mine (what does its job in less than a minute) is worth the effort of that arcane coding? What will happen when you will left your workplace? Who will be able to maintain that miracle of programming?
My answer is “no”. Maybe yours is different.
Make it easy.