Sunday, September 30, 2007

People I want to talk to :)

I want to talk to several people right now. Sometimes I want to teleport somewhere isolated and talk with my friends para lang sa peace na dati ko pang hinahanap. I think I may not have been such a peaceful person this year and I couldn't concentrate on my studies and Blablabla. Minsan gusto kong hanapin ang mga taong gusto kong kausapin para lang makamit yung peace na gusto kong mangyari. EMO! Hahaha. :)

Thursday, September 27, 2007

Postie

I don't like posting in Blogger. I'm seriously forced to post here... This sucks ._.

I used to like Blogger. But everyone's blogging today so it seems kinda boring now.. Now I have a Multiply YAY. XD Anyway, I don't think I'll be posting something decent here since we're only asked to post for the grade...

So.. Yeah.

Sunday, September 2, 2007

Generations of Programming Language // Programming Paradigms

Generations of Programming Language

First Generation
* The first generation of programming language is a machine-level language that makes use of the binary system (0 and 1) as codes for the program. The system would then convert these codes into instructions. Machine-level language was fairly quick in execution since it is directly instructed by the CPU; however it is fairly confusing to learn and to edit since the programming language uses numerical representations of instructions that do not appear significant to a human user.

Second Generation
* The second generation of programming language makes use of assembly language, meaning, it has a slight similarity with the human language, although it has to be converted into machine language (the binary system) in order to be executed. Each command is mapped into a set of binary codes, which the CPU performs in a similar way that it executes machine-level language. It has a significant speed advantage, although machine-level language is still quicker in execution due to its direct instruction into the CPU.

Third Generation
* Third generation programming languages are designed for easier human use. General representations of human arithmetic and other logical operations are represented in third generation languages.

Fourth Generation
* Fourth generation programming languages were made to remedy the third generation language's flaws. While third generation languages performed complex functions in the program, the fourth generation language's objective was to lessen the error and quicken the process of the execution of the commands. This kind of language was designed for specific purposes, such as mathematical problem solving or systems engineering.

Fifth Generation
* The fifth generation programming language was designed generally for the user's ease. The user does not specifically need to create an entirely new program, since the language is designed to solve the problems based on user input. The user does not need to worry about making the program; the program readily performs the required routine and algorithm with the necessary input. Fifth generation language is involved with artificial intelligence research.

***

Programming Paradigms

Imperative Progamming
* This refers to the style or type of programming wherein the language describes how a computation is done and performed, as compared to "what" should be computed. In a way, imperative programming is quite similar to imperative statements in natural language, since the language basically "commands" the computer on what to do, instead of just "describing" what should be executed. For example, HTML (although not a programming language) is declarative in nature since it states what should appear in the page, not how it should be done; therefore HTML is not imperative.

Functional Programming
* Functional programming emphasizes the use of functions in a program, instead of use of style similar to imperative programming. While imperative programming emphasizes the change of state in the program, functional programming avoids changing of data. Most of functional programming commands are based on mathematical equations (functions) that are written in the program itself.

Logic Programming
* This programming paradigm is generally involved with mathematical logic in programming. Logic is used as declarative representations. The programmer should ensure the program's truth in its logical representations. The programmer has to learn the behavior of the problem-solving methods of the program, so this programming paradigm is also dependent on the programmer's awareness. This type usually consists mainly of computational methods.

Object Oriented Programming
* This programming paradigm involves the use of objects instead of a usual list of programming "instructions." The objects can be viewed as independent sub-machines designed for a responsibility which receive and send messages to the main machine. Object oriented programming involves the interaction between several objects. It was intended to provide easier maintainability and is easier to use, due to the concept of having discrete units of logic.

Concurrent Programming
* This involves the concept of simultaneous execution of tasks. There may be several computational tasks performed at the same time and can be made to interact. In contrast to parallel programming, this programming paradigm emphasizes on interaction between these computational tasks. There are a few problems that can occur within the program, though, due to several processes interfering with each other. While some of these processes could be remedied using a different solution, some may still end up with a programming error.