From the day I started programming, I have been on different camps on the battle between strongly typed and weekly typed languages at different times.
For close to 2 years I was working on a java project and at that time I used to wonder why it was designed to be so strongly typed. I have to declare each and every variable, initialize them, cast them properly if I am converting their data type etc and at times I used to get frustrated at the type of errors the complier throws at me every time I try to compile them. I wished I could tell the complier to stop guessing what I was trying to do and that I am smarter than it.
But now I understand their importance. I have recently started working on an ASP project (yes it is not migrated to ASP.NET yet!) and in last week I spent around half a day trying to figure out what was wrong in my code. All I got was just a simple ‘type mismatch’ error. The same lines of code were working perfectly in another page but not on this particular page. It was just an assignment statement which was calling a method and was assigning the return value to a variable.
After hours of debugging (with lot of head banging’s and nail bytes) I found out that I have forgotten to include the file in which that method was declared. If it had been my Java dear then it wouldn’t have thrown the apt ‘Method not found’ error the very first time I complied it. And I would have saved some a couple of hours of my time (and also my head and nails) 😉
Ohh my dear Java, I miss you very much dear..