Saturday, January 8, 2011

Java Pass By Reference or Value and the state of our programming cumminities

I was reading an article by a very frustrated programmer and I have to say I feel the frustration of the author.

The question that irked him was a discussion group posting if java is a pass by value or by reference language.
his posting on the serverside.com

I have to side with the author on the technical aspects of this. Java is indeed pass by value but the outcome of passing an object is indirectly allowing people to see it as pass by reference. In my last few years of working I have come across many such articles that had made me think that most Computer Science Engineers have become mere programmers and dont have end to end understanding of the products they are building.

There were the days back then when an engineer would not be satisfied with just writing a program but to understand how the program gets interpreted by the compiler, then the operating system calls involved that need to be made and then what happens on the driver to eventually print the output on screen.

This thought process has halped us make good choice on design and reducing programmer effort and coding just becomes the last thing that comes to mind.

The days of now are of abstraction :- write one line of code and run a command to build an executable or a package deployable to the Application Server. These abstraction have taken out the deep end to end understanding that engineers needs to have when designing real world applications..

People are more used to using the code completion functionality of IDE's without even reading the documentation. The pressure of producing a working program quickly has led to many engineers become programmers.

I rarely see real engineers anymore and cherish the few real discussions I have with them............................... :-(

Tis a sad but true state of our programming world.


(It seems more likely that a C++ programmer with network programming understands more e2e working of a web-application than a good percentage of web-developers)