Saturday, August 25, 2007

Programming is not An Engineering Discipline

Yeah... That's it ! At the moment, I strongly believe it.
Maybe it's offensive or maybe not,but when you think about a program (a web application for example) , you don't need to calculate the fundamentals , you don't need mathematical design and.... In the best form, you design an UML chart(albeit with prior thinking) , collect your coders, discuss with them about the code(if you have experienced coders) and start to code in tomorrow morning :)
But Engineering is not like this. In power engineering or Vision/Image processing, you need more and more info about the "nature" of your problem. Just when you understand the mathematical nature of a problem, you can estimate the solutions. It's not just transaction to DataBases !!!
I'm very pleasure to switch to "Vision" and more for studying "Electrical Engineering". They taught me the "style of thinking". I can break ANY problem to it's elements at the moment ,Cause my mind is trained in a logical form. It's hard at the first glance,but has a lot of Fun. Self trained Hackers don't switch to the stuffs like these, because of Math I think :)
What about you? Do you like hard sciences inasmuch as more challenging problems???


Anonymous said...

Are you kidding?
Look at Game programming.
Look at Machine Learning Programming
Look at Physics programming.
x 10000 other fields
I think your understanding of programming is totally screwed up.
There is hardcore math and "first principles" algorithms involved in so many programming fields that they cant be counted.

And by the way transaction to Databases is not "just" anything. Look at google. They have to perform a search query in 0.0001 seconds over hundreds of terabytes of data. They use super math optimizations to do this one data base query.

You need to read some books outside your own field.

Vahid said...

Dear Anonymous...
I am agree with your idea! That's why I draw a discrimination line between some fields like computer vision and similar stuff ( i.e. Machine Learning, Bioinformatics,
etc).But you talk about "Optimization". optimization is completely math:) Google is optimizing the transactions to DB day by day. As you see it's not just a simple "select" query to database (What is a regular duty for any PHP programmers :)
And the last point ... I have read some books about these fields ;)