| 5 comments ]

Intro
Since I'm not from IT/Computer Science background but from Electrical background,(to be precise Mechatronic) , my knowledge on high level programming language is not very strong. Especially on data structure. It has been a lot of problem for me.

Walking through hard road
I have a project which requires complex data structure (err maybe its complex for me, but not for others) . This project is developed using TCL\TK. In my place, there are very few people using TCL\TK. Some of my friend know TCL just because the language has been used for NS2. I know they are trying hard to help me, but of course they themselves have tons of work to do. So what is the choice? DIY is the answer.

Other than referring to TCL mailing list, web, tutorial and TCL books, the best way for me during that time is to use try and error methods, it works well for Microcontroller Programming, it should work here. Crude way to do develop an application!

Trying and Error have a very big disadvantages: Time Consuming!! A lot of it!
But it also have one important advantage : I understand better.

Data structure

Programming Books sometime missed to tell the basic of the basic, that is the problem for me as a newbie. Maybe I used the wrong book? I got first "easy-to-understand" statement about data structure after asking my friend, Pian (not a tcl-ers) which I write in my post "belajar data structure". Thanks a lot Pian.

Getting the basic of basic give a good undertstanding. But still a newbie need to learn a lot more. Retrieving data, storing data, is doable. But to implement it for an application take a lot of effort.

Especially a project which does not have a clear requirement. But it has to be done! Once again I tried the long way, trying and error. Another mistake! Another large amount of time spent!

Data requirement must be complete

I realize that when developing data structure, the project requirement must be complete. The problem is, the requirement of the project keep changing due to the fact that the knowledge of the data structure is not strong. A lot of chice, sometimes I feel using this data structure type is better, sometimes, using other type is better. I have tried a lot, byusing list, linked,list, array, and combination of array and lists and lastly the array + list. The last one work for me, but sure take a lot of time. Oh forgot to mention that this project is a part time project.

Documenting make it easy.

In Try and Error, documenting make it easy. (Another important lesson acquired). It helps me to reduce development time. Doing programming is a headache, when I have that headche, I document the code. It helps me to reduce the tension.

Do it right next time
The application is still buggy, but of course it works! I want to do it right. No more hard way!

Should I regret my journey? Of course not!

Wise Old Man: Who is the most fortunate man in the world ?
Prince : A king who can conquer the world.
Wise Old Man: Who is more fotunate than that King.
Prince: Who?
Wise Old Man: A traveller when he completed his journey.

I want to complete this journey! I want to be more than a King!


| 4 comments ]

One of the challenge in programming, is to translate an algorithm into a coding. from my observation algorithm can be divided into three categories:

  1. Logical
  2. Mathematical
  3. Combination of mathematical and logical.
In most cases I believe that most algorithm fall in 3rd category. So what is this mean?
It is simple.. since the algorithm consists of mathematical and logical, the most basic things for coding (in any language) is to be able to do mathematical equation and logical expression.

to make it simple, if a=b+c equation cannot be implemented, then there is no point to rush to solve more complex equation. The same goes to the logical expression.

Sometimes solving mathematical expression can be very hard, sometimes, it requires reading a lot of data and manipulating a lot of data. Some algorithm consists of series of mathematical equation which depends on logical expression and vice-versa . It can be very complex. Image processing, vector model, probability theory.. (just to name a few).

I read this e book Ikan Kecil Untuk Ikan Besar. It is for business actually. But the concept is applied here. In order to solve complex problem, solve the simple one first. Sorry. the book is in Malay

Just my 2 cent.