From the future
by Anthony Matarazzo
Translation

Absorbing the static void of the button bubble by clicking on the paint in Software Design and engineering is hard to do since you have so many strongly gifted individuals. These people understand that the key to writing a good technical document requires discipline; that which is unheard of in the mortal.

C++ code for example, does blister the eye of thousands when studying the details of the textual information. When programs are complete, the result should be considered a highly crafted technical document. Writing C++ programs can be likened to balancing descriptive words in a sequential logic. The document is a lightly based English one as most authors use decent names. This forms a flowing logic document called source code. Like English, these documents have sections that can be compared to paragraphs called routines. These source code documents have to be almost perfect to work correctly. When they are, you can compile them. The term compile means that the textual information is translated into a binary form; one that a digital computer can easily read.

In reality, compiling only increases the size of the information as the microprocessor instructions that unfold are more discrete steps. Compilation produces subset documents called object code that contain machine code. Digital computers can only execute machine code and they usually do so with small steps. Moving memory, adding a series of numbers, performing a search in memory or comparing two items for value are examples of small operations. It is usually by the comparison of values that most programs make decisions. A series of two dimensional decisions, also called a decision tree, can perform additional mathematics, transfer control of the program execution to another portion of the code or any desired programmer instruction within the given set.

Stack operations are important to modern object oriented programming. They facilitate transmission of data, or parameters, from one section of the code to another. These sections of code are called routines. Routines are small chunks of logic that are given to a specific task and at most times have a generalized reuse quality associated with them. In a stack, items are placed on the top with a push operation, and taken off the top with a pop operation. The routine, or snippet machine code actually uses the stack memory base address with an offset that points directly to the parameter data. When the machine code inside a routine requests a variable, the address of the stack parameter is given and thus is used for the memory operation. Now let us discuss how this relates to a network like the Internet.

Modern program execution uses a hybrid approach. Some of the programs that run are not considered direct machine code. A program has to run that interprets the intermediate code, better known as PCODE engine or a virtual machine. These specialized PCODE engines, usually have the design of an object oriented central processing unit - a sort of step above in simplistic microprocessor mnemonics. Dot Net and Java are the leading examples of this technology. This soft model of a CPU allows greater robustness, platform independence, smaller instruction payload (program size) and an objected oriented flexibility that just does not exist on pure machine instruction models like INTEL.

Since software engineering can make more robust design leaps quicker, that is soft, design patterns can be projected from the metaphorical, an object oriented approach has been utilized. Again, currently the two models for this are the Java Virtual Machine and the dot Net Virtual machine. since the block is authored as an object, as well as PCODE based, the code is only that much smaller. This makes it a better format for Internet transmission.

An addition to Java (new format) should be created. By expanding the instruction set for a softer model, applications can run with less transfer from client to host. Other characteristics may include that the stream is sorted for Internet execution allowing for heavy use of overlays. However, that main purpose for the new format, one that preserves both space and simplicity, is design. The program will be compiled locally on the machine. Inclusion of functionality within the Java Virtual Machine will be essential. However newer functions will have to be maintained. Device drivers stored in a web server database by product model identification will be transmitted over the Internet to the local computer. These programs will have to be compiled. By creating a robust library locally that is open source, Internet transmission of device drivers will be possible.

The future of computing has already been foreshadowed to be a networked and distributed processing resource. That is, computing with a decentralized processing capability. Future users will no longer have to carry around sophisticated equipment to do complex tasks. The main processing of the application will be off loaded to a server. Who wants to argue which operating system makes the best web server environment – Windows or UNIX. I say that both platforms have many things to offer computer users. And depending on the size of your implementation, a Micro computer may be the best platform.

The computer that modern users carry or have at home are very complex in nature, possessing many operating electronics. The mainframe computers of yesteryear are sometimes not as powerful when compared together. Yet in reality, the user does not need such a sophisticated laptop device to modify data. The users could just use a terminal. One that is specialized in graphic display, al la visual output and has the audio processing capabilities that are in modern PCs.

By pre-rendering the visual output on the modern mainframe computer and transmitting it in a specialized interface compression format, the modern computing Zen could be achieved. Simply put, it will be a light weight pCode format running on a Game box platform. Or for strictly business users a platform without game mechanics. In reality, most functions the user perceives can be accomplished within the video processor. Memory encryption, and networking assistance hardware on board the user's vehicle should also be an engineering factor. By abstracting the interface rendering from the object code, many facets of object oriented design would be furthered. Machine translation of interfaces is one. Or allowing specialized one purpose interfaces. Just dial in the Korg mainframe, for the planetary symphonic composition tools. The software and hardware combination locally takes a stereo feed from the Internet.

Some consumers will go with their desktop on a home connection. Perhaps further refining the structure of some homes with regards to security. But the software they run will be executed remotely. By separating the processing level from the user interface rendering, software companies could reduce the amount of code base they have to maintain giving developers greater extensibility for multilingual applications; ones that automatically translate. In addition, precious dollars could be better spent on research.

In conclusion, web server applications either running on a localized web server, or a vast mainframe computer will provide the user with the best detached laptop interface. Including connection technologies like VNC, would also be a benefit. This change will be global and involve many technology firms. It is my suggestion that one involve the Web Consortium and the American National Institute for Information Interchange. However, you must forgive my light knowledge on global computing resources and consider the many more in your plethora of knowledge. The end result is a consumer product, a Sony Play station, Nintendo or an Xbox platform. And for government and business users, a product that is less expensive and has only the rendering capabilities.


Resources:
Close Window