As computer technology evolves, the technology to program the computer also takes new forms. There are many companies in the field of programming languages. There is Microsoft, Sun Microsystems, Apple to name a few. There are many challenges that a programmer faces while programming an application which is easy to use and so robust that it does not breaks down under demanding conditions. Previously when the technology behind the design of programming language was in nascent stage, it was very hard to program a computer. Mainly the arcane assembly language was used. But programming assembly meant you had the ability to learn a new language syntax which resembled sanskrit or latin!! Due to technological complexity , it was not an average programmer who programmed for the clunky machine called computer. In those tough times , you had to deal with the hardware directly. Whether it was primary memory storage or secondary storage device operation like saving on floppy or hard disk, one had to deal with the hardware directly in language and the language itself was very terse to comprehend and write code into. Then came the so called mother of all language C. With advances in the computing technology the programming languages also started to take on a new form in which one could program in english like language. But the scenario was more or less the same. Specially , dealing with memory was largely an uncharted territory for an average programmer. Memory leaks were very common in softwares and a real killer.
Memory leaks refers to the situation when an executing program claims a patch of memory but forgets to free it. As a result there is a large amount of unclaimed memory in the primary memory area. This makes less and less resources available to an executing program. Obviously this was a very serious problem as the softwares behaved erratically. Many programming guru suggested that in place of depending on latest technology to solve these type of problems , we should tackle these problems by adopting good programming practices. Like if you have claimed a memory from computer , you should free it too, use memory with caution and use it as and when really required. Not many heeded to the advice as a group of programming folks were of view that going too far in adopting these practices will result in a bloated code. Thus something new in computer technology was again expected to solve these perennial problems. Newer and more sophisticated programming languages came into being and with each advance there was something new , something improvised but the problem of memory leaks was more or less the same. Many languages did not introduce any radically new thing but these languages introduced new syntactical sugar which allowed improved structure of code. But again these technological advances could not solve the problem associated with memory leaks.
Then a miracle happened in latest computer technology world. The most popular language Java was invented and this technology changed the programming paradigms forever. The language even today has a cult following and is perhaps the most advanced programming technology. Java solved the problem of memory leaks for good. Java employs the garbage collection technology for this. Garbage collection technology employs an algorithm in which a lightweight process runs in the background when the program is executing. The moment there is a patch of memory which is unused the garbage collector reclaims it. And thus avoids memory leak. This technology is being used by many latest computer language like C# from Microsoft. Thus we see that Java technology has changed the programming world for good.
No comments:
Post a Comment