Mirror Magazine

 

Techno Page

Make IT your slave
By Harendra Alwis
Information Technology has become a key phrase we use often in our day-to-day lives; sometimes without giving much thought to its underlying meaning. What is Information Technology? Is it the computer sitting on a table in your office or home? Is it about the cell-phone you carry around? Is it about fibre optics buried beneath or satellites orbiting above? These gadgets are all part of the world we've built, but they have little or no relevance whatsoever to our daily lives as ordinary people living in a third world country. IT itself is much more than that.

Information Technology is about you and me and all the people we work with or care about. Information Technology should facilitate interpersonal communication and foster good relationships among people. It should help us build better friendships and better understand the people who matter in our lives. Information Technology should be about spreading messages of peace and love. As much as it facilitates the growth of your business, it should also help you grow personally, both in mind and spirit. IT should make better people out of those who use these marvellous technologies. These new technologies should be aimed at giving ourselves more time to relax, to spend time with our families and entertain us instead of tying us down with more work.

Information Technology has become a driving force in the global community that we too are a part of and that force should be put into use to make the world a better place for all. It is time we focused this power into making tomorrow an improvement from today. Are you addicted to computer games? Does that make you neglect those people around you that matter to you? We must seek to master Information Technology and be careful not to be slaves to our own creations.

This is my view, but you are welcome to share your thoughts with us and the rest of the readers of Techno Page by writing to us @ technopage_lk@yahoo.com

Hackers and crackers
Someone who enjoys exploring, using and extending technology, (particularly but not exclusively computer technology) would be a 'Hacker' by definition. This is a simplification of the issue, however, and the debate continues as to who actually a hacker is and who qualifies for membership of the somewhat elite hacker community. Some people think that, to be a true hacker, a person must be an enthusiastic programmer, preferably for the UNIX operating system. Others maintain that an expert or enthusiast of any kind qualifies. Perhaps the most useful definition is simply someone who enjoys intellectual challenges and creative problem-solving, especially within the context of technology.

One generally recognised truth is that people who call themselves hackers are probably not true hackers at all. The 'honour' should rather be conferred by their peers rather than by the individuals themselves. The word 'hacker' is often used to describe someone who is actually a Cracker, which enrages the hacker community. As Eric Raymond says in his enlightening essay, 'How to Become a Hacker', "hackers build things, crackers break them". And build things they do: UNIX, USENET, the World Wide Web and the Internet itself are all the work of hackers.
Sent in by D. Lloyd

Java Vs C++
Java and C++ have many advantages over other programming languages. They are object-oriented which allow programmers to design reusable components easily. They closely resemble C which makes the language very easy to learn for anyone who has experience programming in C. Unlike VB and some other visual languages, they have more flexibility and give enough freedom to the programmer. Although they have common features, each one has its own advantages and drawbacks.

Platform independence: Java generates a platform independent code after the compilation of a programme. That is, a programme written and compiled in one platform (e.g. UNIX machine) can be run on a computer having any other operating system (e.g. Windows or Mac OS). That's one of the reasons why the World Wide Web has been invaded by Java.

References vs. Pointers: In C++, there is a separate variable type that contains addresses of data and functions called pointers. In Java, this is not so. Instead, references are used in the variable names of objects themselves.

Automatic variables: In C++, memory for variables declared within functions (i.e., local variables) will normally be allocated automatically, on the stack. In Java, all memory for non-intrinsic data objects must be acquired with the new operator.

Dynamic memory management: In C++, memory is dynamically assigned by the programmer (using the new operator) and must also explicitly be freed (using the delete operator). In Java, a garbage collection process automatically locates the memory associated with any object that is no longer referenced within the programme, meaning no explicit deletion is required.

Global data and functions: In C++, data and functions can be declared outside of any class definition. (In C, all functions are declared that way). In Java, all data and functions must be declared within class definitions. Like C++, however, a static declaration may be used in Java to make member data/functions object independent.

Inheritance: Unlike C++, Java permits only one parent per class (doesn't support multiple-inheritance). Many benefits of multiple inheritance be achieved, however, using Java Interfaces. Java class constructor functions can also explicitly invoke parent constructors with the super keyword.

Operator overloading: This is a very powerful and useful feature in C++, which cannot be found in Java language.

Vectors: Vectors are used to hold sets of reference type variables in Java. Sometimes they are known as arrays with a variable length. In C++ there is no Vector class. But we can experience some features of Vectors using Linked-lists in C++.

Boolean Expressions: In C++, Boolean (false/true) expressions translate to 0, nonzero integers. In Java, tests are done with the Boolean data type. As a result, expressions containing && (and) and || (or) stop evaluating an expression once its results are known to be true or false, referred to as a 'short-circuit'. The '&' and '|' operators, in contrast, evaluate both sides of their expressions even if the final result is already known (e.g., the left side of an '&' expression is false).

GUI components and graphics: Using C++ (or c), we can only make console applications, which are driven on command prompt. That is because pure C++ doesn't have GUI components in its own standard libraries. Microsoft's Visual C++ uses Microsoft Foundation Classes to create GUIs. Java has very powerful GUI packages such as AWT (Abstract window toolkit) and Swing and has a collection of graphic supported packages, like 2D API, 3D API etc.

Efficiency: Compared to Java, C++ programmes are more efficient. Standard testing methodologies show that a normal console application written in Java can be 8 times slower than the same programme in C++. This is attributed to the fact that Java byte code has to be interpreted by the Java virtual machine before it can be executed.
Sent in by Chamith Siriwardena


Back to Top  Back to Mirror Magazine  

Copyright © 2001 Wijeya Newspapers Ltd. All rights reserved.
Webmaster