Subscribe:

Ads 468x60px

Pages

Wednesday, December 28, 2011

PL-SQL Aptitude/ Interview Questions and Answers

PL-SQL Aptitude/ Interview Questions and Answers

  1. Describe the difference between a procedure, function and anonymous pl/sql block.
    Level: Low
    Expected answer : Candidate should mention use of DECLARE statement, a function must return a value while a procedure doesn't have to.

    2. What is a mutating table error and how can you get around it?
    Level: Intermediate
    Expected answer: This happens with triggers. It occurs because the trigger is trying to update a row it is currently using. The usual fix involves either use of views or temporary tables so the database is selecting from one while updating the other.

    3. Describe the use of %ROWTYPE and %TYPE in PL/SQL
    Level: Low
    Expected answer: %ROWTYPE allows you to associate a variable with an entire table row.
    The %TYPE associates a variable with a single column type.

    4. What packages (if any) has Oracle provided for use by developers?
    Expected answer: Oracle provides the DBMS_ series of packages. There are many
    which developers should be aware of such as DBMS_SQL, DBMS_PIPE, DBMS_TRANSACTION,
    DBMS_LOCK, DBMS_ALERT, DBMS_OUTPUT, DBMS_JOB, DBMS_UTILITY, DBMS_DDL, UTL_FILE. If they can mention a few of these and describe how they used them, even better. If they include the SQL routines provided by Oracle, great, but not really what was asked.

    5. Describe the use of PL/SQL tables
    Expected answer: PL/SQL tables are scalar arrays that can be referenced by a
    binary integer. They can be used to hold values for use in later queries
    or calculations. In Oracle 8 they will be able to be of the %ROWTYPE designation, or RECORD.

    6. When is a declare statement needed ?
    The DECLARE statement is used in PL/SQL anonymous blocks such as with stand alone, non-stored PL/SQL procedures. It must come first in a PL/SQL stand alone file if it is used.

    7. In what order should a open/fetch/loop set of commands in a PL/SQL block be implemented if you use the NOTFOUND cursor variable in the exit when statement? Why?
    Expected answer: OPEN then FETCH then LOOP followed by the exit when. If not specified in this order will result in the final return being done twice because of the way the %NOTFOUND is handled by PL/SQL.

    8. What are SQLCODE and SQLERRM and why are they important for PL/SQL developers?
    Expected answer: SQLCODE returns the value of the error number for the last error encountered. The SQLERRM returns the actual error message for the last error encountered. They can be used in exception handling to report, or, store in an error log table, the error that occurred in the code. These are especially useful for the WHEN OTHERS exception.

    9. How can you find within a PL/SQL block, if a cursor is open?
    Expected answer: Use the %ISOPEN cursor status variable.

    10. How can you generate debugging output from PL/SQL?
    Expected answer: Use the DBMS_OUTPUT package. Another possible method is to just use the SHOW ERROR command, but this only shows errors. The DBMS_OUTPUT package can be used to show intermediate results from loops and the status of variables as the procedure is executed. The new package UTL_FILE can
    also be used.

    11. What are the types of triggers?
    Expected Answer: There are 12 types of triggers in PL/SQL that consist of
    combinations of the BEFORE, AFTER, ROW, TABLE, INSERT, UPDATE, DELETE and
    ALL key words:
    BEFORE ALL ROW INSERT
    AFTER ALL ROW INSERT
    BEFORE INSERT
    AFTER INSERT etc.







Tuesday, December 27, 2011

Unix Directory Structure

Question: What is the standard directory structure on a UNIX computer?
Answer: The following is a generalized overview.
  • / — the slash / character alone denotes the root of the virtual filesystem tree.
    • /bin — stands for "binaries" and contains certain fundamental utilities, such as ls or cp, needed by all users.
    • /sbin — stands for "system (or "superuser") binaries" and contains fundamental utilities, such as init, usually needed to start, maintain and recover the system.
    • /etc — contains configuration files and system databases.
    • /dev — stands for "devices". Contains file representations of peripheral devices.
    • /dev/null — also known as the "bit bucket" or "black hole", this pseudo device discards all contents written to it, and is typically used to pipe away unwanted data.
    • /dev/random — this pseudo device returns pseudorandom numbers when read from.
    • /dev/urandom — similar to /dev/random, except it always returns (less cryptographically-strong) pseudorandom numbers, even if there is not enough entropy in the system noise available.
    • /home — contains the home directories for the users.
    • /mnt — contains filesystem mount points.
    • /lib — contains system libraries.
    • /root — the home directory for the superuser root.
    • /tmp — a place for temporary files. Many Unices clear this directory upon start up.
    • /usr — originally the directory holding user home directories, its use has changed, and it now holds executables, libraries, and shared resources that are not system critical, like the X Window System, KDE, Perl, etc.
    • /usr/bin — this directory stores all binary programs distributed with the operating system not residing in /bin, /sbin or (rarely) /etc.
    • /usr/include — /usr/include stores the development headers used throughout the system.
    • /usr/lib — stores the required libraries for executables within /usr or elsewhere.
    • /usr/local — resembles /usr, except that its subdirectories are used for additions not part of the operating system distribution, such as custom programs or files from a BSD Ports collection. Usually has subdirectories such as /usr/local/lib or /usr/local/bin.
    • /var — a short for "variable." A place for files that may change often.
    • /var/log — contains system log files.
    • /var/mail — the place where all the incoming mails are stored. The user can access his/her own mail only, unless he/she has admin rights.
    • /var/spool — spool directory; contains print jobs, mail spools and other queued tasks.
    • /var/tmp — A place for temporary files preserved between system reboots.
    • /proc — contains all processing data (Process information about a running operating system).
    • /opt — contains add-on software.
    • /media — default mount point for removable devices.
    • /srv — server data (data for services provided by system).
    • /boot — contains all the important files which are required for successful booting process.
    • /sys — contains information related to hardware.

Technology Articles/FAQs

Technology Articles/FAQs
The technological advances of the last decade have brought about hitherto unimagined changes in the way we go about our lives.

Technology Articles/FAQs

What is Technology?
The Oxford Dictionary defines technology as the application of scientific knowledge for practical purposes, especially in industry. In other words, it can be said that it is an effort to put in practice the knowledge of tools, techniques, crafts, and methods to find a solutions of a particular problem.
The word technology is derived from Greek meaning, "art, skill, craft", and logia meaning the discipline of or "study of-". The term is used generally or in context with particular fields like information technology, Industrial technology and others.
Technology enables people to adjust with their natural surroundings, in other words, it make their adjustment simples and hassle free. If a particular technology makes things complex rather than making it simple it can't survive for long. Right from invention of wheels to super computer and methods of natural cure to genetically engineered medicine, the whole efforts are streamlined to make human adaptation with nature simples smooth and hassle free.
Technology Tutorials:
This advancement in technology has opened new vistas for human being and information technology is spearheading this change. The age of messenger is passé, now we have invented a swifter messenger in the form of emails. We are living in the age where any information is just a click away. The Internet is acting as an information super highway that connects every destination, big and small. This advancement in technology has made life of peoples simple. We appreciate the role of technology, but we can?t get content as a lot is still left to be done.
  • GPS Technology
    Best information on GPS.
      
  • What is GPS?
    The technological advances of the last decade have brought about hitherto unimagined changes in the way we go about our lives.
      
  • How GPS Works
    GPS or Global Positioning System is a technology for locating a person or an object in three dimensional space anywhere on the Earth or in the surrounding orbit. GPS is a very important invention of our time on account of the many different possibilities it brings.
      
  • Benefits of GPS
    GPS or Global Positioning System was originally developed as a military navigation tool. However the technology has grown along with a sub set of supporting technologies to serve other requirements within consumer budgets.
      
  • GPS Tracking and its Applications
    GPS technology was originally developed for defense purposes and later brought to the consumer market as a navigation technology.
Networking
1.        What is OSI Layer?
The OSI Model is used to describe networks and network application. Different layers of OSI Model has described.  

1.        What is WiMaX?
What is WiMAX? Simply put WiMAX is, Worldwide Interoperability for Microwave Access, a technology standard that enables high speed wireless internet.
 
2.        Why WiMAX?
WiMAX is an acronym for Worldwide Interoperability for Microwave Access. It is an assortment of technical specifications called 802.16. The technology used in WiMAX enables wireless transmission of broadband internet over distances in the range of up to 50 km.
 
3.        Will WiMAX Replace DSL?
There has been a lot of hype about WiMAX as the next generation technology that will wipe out wired internet connectivity. The contention is that, it is far easier and more cost effective to set up transmission towers than continuously extend the cables for last mile connectivity.
 
4.        Will WiMAX Replace WiFi?
Enthusiasts of WiMAX are of the view that this powerful technology will soon overtake WiFi, which looks feeble. This need not be the case, as both can have their separate applications.
 
5.        Is WiMAX Safe?
WiMAX enabled devices emit radio frequency electromagnetic waves when in use. These waves have been part of our everyday life for decades now, in the use of devices such as radio, television and mobile phones.
  
6.        WiMAX Billing ChallengesImagine being able to access your emails and attend an urgent office conference while you are holidaying in a remote hill station of India! It is this kind of possibility that makes WiMAX an irresistible contestant to the title ?the technology of tomorrow.? WiMAX has finally made high speed wireless internet access a reality no matter where you are or whether you are on the move.
1.        Internate Telephone Services
VoIP or voice over internet Protocol is that technology which makes it possible to make phone calls through the internet. This technology is given many common names as internet phone service or digital phone service or broadband phone service.
    
2.        VoIP History
VoIP stands for Voice over Internet Protocol. This phenomenon has made a profound change in the world of telephone communications. The traditional method of making calls the landlines are being fats replaced by this technology that has taken the world by storm.
    
3.        VoIP- What is VoIP?This section introduces you with the VoIP technology and its benefits. VOIP is so beneficial that is saves hundreds or even thousand of dollars if used extensively. That is the reason behind VOIP Popularity. Many Companies are using VoIP for communication and saving thousands of dollars.
    
4.        VoIP Phones
List of VoIP Phones that you can use to make VoIP Phone calls.
  
5.        Complete Guide to Setup VoIP on Linux Machine
Voice Over IP is a new communication means that let you telephone with Internet at almost null cost. How this is possible, what systems are used, what is the standard, all that is covered by this tutorial.
  
6.        VoIP Software Phones
VoIP Software Phones are basically a software for making VoIP calls using computer. Software phones are usually less expensive and it offers a better options for Computer Telephony Integration (CTI). Find free VoIP Software Phones for you home and business.
    
7.        Free VoIP Gateways
Here you will find the list of Free VoIP Gatways that you can use to connect the VoIP network to your public telephone network (PSTN). In this way, you can make calls and receive them, from your PTSN, even if you are using an IP-based system, just like your traditional phone.
  
8.        Free VoIP Gatekeepers
Here you will find the list of widely used free Gatekeepers for your VoIP system. These Gatekeepers provide centralized call management functions such as user location, authentication, bandwidth management, address translation, etc. along with bandwidth management.
 
9.        Free VoIP Software Development Library
These VoIP Software Development Libraries are being used for the development of VoIP software.
  
10.     Free VoIP Proxy
Here are the list of Free VoIP Proxy that you can use with your VoIP System
1.        What is WiFi?
WiFi is a globally used wireless networking technology that uses the 802.11 standard. The term WiFi is an abbreviation of ?wireless fidelity?. The technology used in WiFi was developed in 1997 by the Institute of Electrical and Electronics Engineers (IEEE).
 
2.        Why WiFi?
WiFi, or Wireless Fidelity, is a technology standard developed in 1997 by the Institute of Electrical and Electronics Engineers (IEEE). WiFi is all about high speed wireless internet access.
  
3.        WiFi Internet
WiFi, the short form of Wireless Fidelity, is a technology that allows you to connect to the internet without a cabled network. WiFi technology uses the 802.11 standard developed by the Institute of Electrical and Electronics Engineers (IEEE) and commercialized by the WiFi Alliance.
  
4.        What is WiFi Phone?
A WiFi phone is a wireless device that gives you the dual benefits of wireless connectivity and the cost savings of VoIP. It can be used in any areas- hotspots- where WiFi connectivity is provided.
  
5.        How to Become WiFi Hotspot?
WiFi technology is one of the hottest and fastest spreading worldwide. More and more businesses and individuals are setting up WiFi hotspots. Here are a few useful tips for those who are considering a hotspot as a business tool.
  
6.        What is WiFi Finder?
A WiFi finder is a device used for locating wireless hotspots without actually turning on the laptop or PDA. WiFi finders are small, battery operated and portable. A WiFi finder typically detects a hotspot within a radius of 200 feet and also determines the strength of the signal.
 
7.        Security for Home WiFi Network
Security is a huge concern for anyone setting up a WiFi network, as anyone who is close enough to the hotspot can break into your system and access the information.
 
8.        Security for Public WiFi Network
Wi-Fi hotspots present a unique set of security problems, quite different from the security issues involved in home and office networks. These hotspots have unknown computers accessing them. And in this case, the very nature of a public hotspot demands that it broadcasts its SSID.
1.        What is HSDPA?
HSDPA is an acronym for High Speed Downlink Packet Access which is an advanced protocol for mobile telephone data transmission. HSDPA is an evolved form of W-CDMA (Wideband Code Division Multiple Access) technology. HSDPA promises to provide download speeds.
 
1.        Location Based Service (LBS)This is one of the most popular services based on a different navigation technologies provided by the mobile communication network.
  
2.        Basic Components & Functionality of LBSConsists of basic electronic instruments like mobile phone, smart phone, laptop and other personal digital devices (PDA) for accessing information.
 
3.        How does LBS work?Location based service (LBS) is the application that users use to locate its own position with the help of some basic components like mobile devices, mobile communication network, service provider like the Global Positioning Service (GPS), data and yellow pages for the service station.
  
4.        How is LBS useful?LBS is designed to provide valuable information to the users based on location or position.
  
5.        Application of LBS in Different FieldsThe popularity of location- based service makes it one of most essential and useful asset in almost all industries. However, its market is divided into various categories including navigation, emergency assistance, tracking, advertising, billing, management, games and leisure.
 
6.        Types of LBSLocation based service enables us to find the geographical location of a mobile device with its user and provide various services related to the location information.
  
7.        Relation between GIS and LBSTechnological advances like Geographical Information System (GIS) and all kinds of location-based services like GPS have brought tremendous change in the lifestyle of people especially the way we communicate.
 
8.        Location Based Service (LBS) in TourismIn a simple way if we have to define LBS then we can say that it is a service that determines where a mobile device and its user are geographically located and also acts as an information gateway for the user by providing various kinds of services.
  
9.        Pros and Cons of LBSLocation based service is one of the most important technological innovation in today's world as it contributes a lot in bringing changes in society.
  
10.      Security and Privacy Issues in Location Based Service (LBS)Location Based Service (LBS) is primarily based on user?s location to provide other value added services by means of a wireless device functioning through common cellular network or radio stations.
 
11.     Wi-Fi as a part of LBS
Wi-Fi Positioning System (WPS) uses wireless fidelity network instead of GPS or cell tower systems or location beacons to determine position.  
1.        What is Business Intelligence
Business Intelligence is a form of business management that takes business forward by the proper use of available information and data.
   
2.        History of Business IntelligenceThe 20 th and 21 st century are known as the information and technology (IT) age where everything depends on the availability of information and innovation of new technology.
  
3.        Business Intelligence ToolsWe have already discussed that Business Intelligence is a process to collect data and extract information and then analyzing them in developing new and innovative business ideas but the whole method is based on different computing tools.
 
4.        Business Intelligence Value ChainIn competitive marketplace it is vital for every business enterprise whether small or big to cope with the pace of the market growth. Intelligence is the ability to learn and understand new situations by updating yourself with current information.
  
5.        Business Intelligence in Decision MakingToday Business Intelligence is the primary tool to collect and analyze information for developing a successful business strategy.
 
6.        Privacy and Security Issues in BIWITH THE GROWTH of Business Intelligence market, the privacy and security issues are also growing concern over business community.
 
7.        The Future of Business IntelligenceInformation and communication technology has offered a single platform to world market irrespective of geographical position. Growing number of consumers with varied demand and expectation make it very difficult to conduct any kind of business.
    
8.        Business Intelligence in HealthcareTo make a profit driven business decision, every company depends on their strategic planning and decision-making ability and that depends on the kinds of information available and the ability to sort out the relevant ones for analysis.
 
9.        Business Intelligence in Insurance
Success in today's business world is defined by the ability to access sophisticated data and derive information that is now primary need to survive in the competitive market place. This is also true in insurance business that deals with rich and complex data structure and most of them are real-time.
Vehicle Tracking
1.        Vehicle Tracking TOC
VEHICLE TRACKING SYSTEM or Automatic Vehicle Location System (AVL) is now one of the most hot topic. Learn more about Vehicle Tracking here..
 
2.        Vehicle Tracking In India
Vehicle tracking system in India is mainly used in transport industry that keeps a real-time track of all vehicles in the fleet. The tracking system consists of GPS device that brings together GPS and GSM technology using tracking software.
 
1.        What is SCADA?
SCADA or Supervisory Control And Data Acquisition is a large scale control system for automated industrial processes like municipal water supplies, power generation, steel manufacturing, gas and oil pipelines etc. SCADA also has applications in large scale experimental facilities like those used in nuclear fusion.
  
2.        Why SCADA?
SCADA is an acronym that denotes Supervisory Control And Data Acquisition. SCADA is a control system with applications in managing large-scale, automated industrial operations. Factories and plants, water supply systems, nuclear and conventional power generator systems etc are a few examples.
    
3.        SCADA Programming
SCADA or Supervisory Control and Data Acquisition is a distributed measurement and control system for large-scale industrial automation. SCADA has applications in automated operations like chemical manufacturing and transport, supply systems and power generation.
     
4.        SCADA in Future
Elsewhere on this site we saw the fundamentals of SCADA and how it has emerged. In this article we will examine some of the challenges and applications that need to be met in order for SCADA to remain relevant to the new needs.

Saturday, May 28, 2011

List of computer Laguages

  INFORMATION OF COMPUTER PROGRAMMING LANGUAGES.

Computer programming languages are used to write programs that define the behavior of a computer system. They are based on certain syntactic and semantic rules, which define the meaning of each of the programming language constructs. The syntactic and the semantic rules of every programming language define the language implementation. Programming languages provide the computer programmers with the means to express computer algorithms.

List of the Different Types of Computer Programming Languages

Interpreted Programming Languages
The programming languages that are implemented by means of an interpreter are known as interpreted languages. Interpreters execute the source code directly by translating the source code into an intermediate representation.

APL: It is an array programming language. It can work simultaneously on multiple arrays of data. It is interpretive, interactive and a functional programming language.

AutoIt: It is a freeware automation language for Microsoft Windows. It's main intent is to create automation scripts that can be used for the execution of certain repetitive tasks on Windows.

Basic: The name is short for Beginner's All-purpose Symbolic Instruction Code. It was developed by John George Kemeny and Thomas Eugene Kurtz at Dartmouth in 1964. It was designed with intent of giving the non-science people an access to computers. It became popular in the 1970s and the 80s. Microsoft Visual Basic is based on Basic. Some dialects of BASIC are compiled computer languages.

Eiffel: It is an object-oriented programming language that is ISO-standardized and used to develop extensible and reusable software. It is a development platform for many industries such as finance, aerospace and video gaming. Sather is a computer programming language that was formerly based on Eiffel and has now evolved to include many functional programming features. Ubercode is a high-level platform-sharing language. Its design is derived from Eiffel and BASIC.

Forth: It is a structured imperative programming language, which bases its implementation on stacks. It supports an interactive execution of commands as well as the compilation of sequences of commands.

Frink: It was developed by Alan Eliasen and named after Professor John Frink, a popular fictional character. It is based on the Java Virtual Machine and focuses on science and engineering. Its striking feature is that it tracks the units of measure through all the calculations that enables quantities to contain their units of measure.

Game Maker Language: It is an interpreted computer programming language intended to be used in cooperation with Game Maker, an application for game creation. Mark Overmars, a Dutch computer scientist, designed this language.

ICI: ICI is a general purpose interpreted computer programming language. It supports dynamic typing, flexible data types and other language constructs similar to C. It was designed by Tim Long in 1992.

J: Ken Iverson and Roger Hui developed this programming language that requires only the basic ASCII character set. It is an array programming language that works well with mathematical and statistical operations.

Lisp: It is the second-oldest high level computer programming language that has a fully parenthesized syntax. The name, Lisp is derived from 'List Processing Language'. One of the important data structures that Lisp supports is linked list. Lisp programs deal with source code as a data structure. Lush is an object-oriented form of the Lisp language. It can be used for network programming and administration tasks. Common Lisp, Dylan, Logo and Scheme are the dialects of Lisp. Common Lisp is a language specification. It supports multiple paradigms and is a general purpose programming language. Dylan is another multi-paradigm dialect of Lisp that supports both functional and object-oriented programming. Logo and Scheme support functional programming. Guy Steele and Gerald Jay Sussman developed Scheme as a multi-paradigm programming language. MultiLisp is a dialect of Scheme that supports parallel programming and shared memory.

Lua: Members of the Computer Graphics Technology Group developed Lua in 1993. It is an imperative and procedural programming language that was designed as a scripting language. It is known for being simple yet powerful.

M: M is short for MUMPS, a programming language created for the health care industry. Neil Pappalardo, the founder of medical information technology and his associates developed the M language.

Pascal: It is a procedural programming language that was intended to use data structuring and structured programming. Niklaus Wirth, a Swiss computer scientist designed this language and it was named after Blaise Pascal, a French mathematician and philosopher. Object Pascal is a branch of the object-oriented derivatives of Pascal. It later came to be known as Delphi.

PCASTL: It is a high level language developed by Philippe Choquette and falls under the class of interpreted computer programming languages. It is specially designed for self-modifying code.

Perl: Perl is a high level interpreted programming language that supports dynamic programming. Larry Wall, a linguist who served as a systems administrator at NASA developed Perl. It provides the programmers with text processing facilities and has a blend of features adopted from various languages like C, Lisp and Awk.

PostScript: It is used in the desktop publishing field and is known as a page description language. It is a dynamically typed stack-based programming language developed by John Warnock, an American computer scientist and Charles Geschke, a notable figure in the field of computer science. These developers went on to found the very well-known company, Adobe Systems.

Python: It is a high-level programming language that supports imperative, object-oriented and functional programming paradigms. In its features like the dynamic type system and automatic memory management, it is similar to Perl. Originally released in 1991 by Guido van Rossum, a Dutch computer programmer, Python is an open community-based language whose development is managed by the Python Software Foundation.

REXX: Short for Restructured Extended Executor, REXX is an interpreted language developed by IBM. It was designed with an intent to be an easily learnable and readable language. CMS EXEC and EXEC 2 were the predecessors of REXX. NetRexx is the IBM's implementation of REXX that offers object-oriented programming. Object REXX is an object-oriented scripting language that is based on REXX.

Ruby: The efforts for developing this language initiated in Japan in the 1990s. Similar to Perl, it has a dynamic type system and an automatic memory management. It supports multiple programming paradigms and is a dynamic object-oriented language.

S-Lang: Originally developed as a stack-based language, S-Lang has evolved as a language similar to C. It was developed by John E. Davis.

Spin: It is a multitasking object-oriented programming language whose compiler converts the Spin code into bytecodes. Multiple Spin code threads can run at a time, thus enabling multitasking. Spin was developed by Chip Gracey of Parallax.

Functional Programming Languages
These languages define every computation as a mathematical evaluation. They focus on the application of functions. Many of the functional programming languages are bound to mathematical calculations.

Charity: It is a purely functional, not-Turing-complete language, which means that all its programs are guaranteed to terminate. Charity was designed at the University of Calgary, a public University in Canada.

Clean: It is a purely functional programming language that supports portability across platforms, automatic garbage collection, multiple data structures and referential transparency, which means that a function with a given input will always give the same output.

Curry: It is a functional logic programming language that implements functional and logic programming as well as constraint programming, wherein the relationships between variables are stated in the form of constraints.

Erlang: It is a concurrent programming language that includes a sequential subset, which supports functional programming. Ericsson developed Erlang as a distributed soft real-time and fault-tolerant language and released it as an open source computer programming language in 1998. It is one of the most popularly used functional programming languages.

F#: It targets the .NET Framework and supports both functional as well as imperative object-oriented programming. Don Syme at the Microsoft Research developed this language, which is now being developed at the Microsoft Developer Division. F Sharp, as it is called, will soon be integrated into the .NET Framework and Visual Studio.

Haskell: Named in honor of Haskell Curry, a logician, Haskell is a standardized purely functional language. It supports pattern matching, definable operators, single assignment, algebraic data types and recursive functions.

Joy: It is a purely functional language that is based on a composition of functions. Manfred von Thun of La Trobe University in Australia developed this language.

Kite: It came up in 2006 with a feature set consisting of a blend of object-oriented and functional programming features. It is a fast-running language. Interestingly, Kite uses the pipe character for functional calls rather than using the period or arrow characters in other languages.

ML: Robin Milner and his associates at the University of Edinburgh came up with ML in the 1970s. It is an impure functional language as it supports imperative programming. Standard ML is popular among compiler writers and is a modular, functional programming language. Alice is a dialect of Standard ML, which supports distributed computing, multithreading and constraint programming. Caml is another dialect of ML and is a statically typed language that supports automatic memory management. Ocaml is the implementation of Caml that is developed as an open source project. JoCaml is a version of Ocaml based on join-calculus.

Nemerle: It is a statically typed programming language that is designed for the .NET platform. Programs in Nemerle are compiled into an intermediate language bytecode. It supports functional, imperative and object-oriented programming.

OPAL: The name stands for Optimized Applicative Language and is a functional programming language developed at the Technical University of Berlin.

OPS5: It is a rule-based production system computer language that became the first language to be used in an expert system.

Q: It is called Q for being an equational programming language. It is an interpreted functional language that was designed by Albert Graf at the University of Mainz in Germany. It can be described as a set of equations used to evaluate expressions.

Compiled Programming Languages
These programming languages make use of a compiler for the execution of code. Compilers can translate source code into machine code and thus bring out the implementation of the programming language instructions.

Ada: It is a statically typed, structured, imperative programming language that is based on Pascal. A team of CII Honeywell Bull that was led by Jean Ichbiah developed Ada. The Ada compilers are validated for mission-critical systems. Ada is an internationally standardized computer programming language.

ALGOL: Algorithmic Language, as it is called, is actually a family of imperative programming languages that was developed in the middle 1950s. It proved instrumental in the creation of programming languages like BCPL, B and C. Simula, representing Simula I and Simula 67 is a superset of Algol 60. Ole-Johan Dahl and Kristen Nygaard of the Norwegian Computing Center in Oslo were the brains behind Simula.

C: Dennis Ritchie at the Bell Telephone Laboratories developed C to be used on the Unix platform. It is a general purpose, cross-platform, procedural, imperative programming language. It is used for implementing system software and application software and is one of the most-used computer programming languages of today. The development of C++ and C# was influenced by C.

C++: It consists of a combination of high-level and low-level language features and is hence considered as a middle-level programming language. Bjarne Stroustrup of Bell Labs developed C++ as an extension of the C language. Originally known as 'C with Classes', it came to be known as C++ from 1983. It is a multi-paradigm language that supports procedural programming, generic programming, object-oriented programming and data abstraction.

C#: C Sharp is a multi-paradigm programming language that supports imperative, generic and object-oriented programming. It is a part of the Microsoft .NET Framework. It is similar to C++ in its object-oriented syntax and is also influenced by Java and Delphi. Polyphonic C# extends C#. MC# is an extension of Polyphonic C# that can work on the .NET platform. C-omega is an extension to C# that succeeded Polyphonic C#. It enables access to data stores and includes constructs that support concurrent programming.

CLEO: It is known as the Clear Language for Expressing Orders and is a computer language for the LEO computer.

COBOL: The name stands for Common Business-Oriented Language that is designed for the business and finance domain. COBOL 2002 standard supports object-oriented programming. It is one of the very old programming languages that are still in use.

Cobra: It is an object-oriented programming language that runs on .NET and Mono frameworks. Chuck Esterbrook developed it. Its design is influenced by languages like Python and C#. It supports static and dynamic typing and is suited for unit tests. Today, it is an open source project.

D: Originally designed as an enhancement of C++, it is also influenced by Java, Eiffel and C#. It is an object-oriented, imperative, multi-paradigm system programming language developed by Walter Bright of Digital Mars.

DASL: Acronym of Distributed Application Specification Language, it is a high-level, strongly typed programming language that was developed at the Sun Microsystems. It was created with an intent to be used for developing web applications.

DIBOL: Acronym of Digital Interactive Business Oriented Language, DIBOL is a general purpose procedural imperative programming language. It is fairly similar to COBOL as is best suited for the development of Management Information Systems.

Fortran: It is a procedural, imperative, general purpose computer programming language that works well for scientific computations and numeric operations. After IBM developed it in the 1950s, it soon gained popularity in programming. It is very popular in the field of high-performance computing. F is a structured and compiled programming language that is a subset of Fortran95. Fortran 2003, a revised version of Fortran supports object-oriented programming.

Java: Sun Microsystems developed Java and released it in 1995 as a part of the Java platform. Java applications are compiled to bytecode, which can run on any virtual machine, thus making Java programs platform-independent. It is very popular language of the modern times. Groovy is an object-oriented programming language for the Java platform. It is a dynamic programming language, which can also be used as a scripting language. Join Java is a programming language that extends Java by adding join methods, asynchronous methods and order class modifiers to Java. X10 is a computer programming language developed by IBM that supports parallel programming, arrays and concurrency. It is seen as an extended subset of Java.

JOVIAL: It is a high-order computer programming language similar to ALGOL. It is best suited to the design and development of embedded systems.

Objective-C: It is a reflective object-oriented programming language that adds messaging services to C.

SMALL: The name stands for Small Machine Algol-like Language. It provides the programmers with abilities to write an ALGOL-like code that can be run on small machines.

Smalltalk: It is a reflective, object-oriented programming language that supports dynamic typing. Alan Kay, Adele Goldberg, Dan Ingalls, Scott Wallace, Ted Kaehler and their associates at Xerox PARC developed Smalltalk. They designed it for educational use and it soon became popular. VisualWorks is a prominent implementation of Smalltalk. Squeak is a programming language that is in the form of an implementation of Smalltalk. Scratch is a visual programming language based on Squeak.

Turing: It was developed by Ric Holt and James Cordy of the University of Toronto, Canada, in 1982. It was named in honor of the British computer scientist, Alan Turing. This Pascal-like language is a freeware since 2007.

Visual Basic: It is an event-driven programming language that is packaged with an integrated development environment. It inherits many of its features from BASIC. Its graphical development features make it easy for beginners to learn VB.

Visual FoxPro: It is an object-oriented and procedural programming language derived from FoxPro. It is integrated with a relational database system of its own and does not require an additional programming environment. It supports dynamic programming.

XL: It is created with an intent to support concept programming, a programming paradigm that focuses on how concepts residing in a programmer's mind can be transformed into code constructs. Programmers can reconfigure XL's syntax and semantics.

Procedural Programming Languages
Procedural programming is synonymous with imperative programming, which implies specifying the steps that the programs should take to reach to an intended state. It is a programming paradigm that involves procedure calls. A procedure is a group of statements that can be referenced through a procedure call. Procedures help in reuse of code. Procedural programming makes the programs structured and easily traceable for program flow.

Apart from the very well-known languages like COBOL, BASIC, Fortran, Ada, C, C++, C#, Visual Basic and Java, there are many other languages that follow procedural programming. Take a look at them.

Bliss: It is a system programming language and was one of the best-known languages of this type till C came up. W.A. Wolf, D. B. Russell and A. N. Habermann of the Carnegie Mellon University developed Bliss. It includes exception handling mechanisms, coroutines and macros while it excludes the goto statement.

ChucK: It is a concurrent and strongly timed audio programming language that runs on Mac OS X, Linux as well as Microsoft Windows. It is especially known for the ability it gives to the programmers to do some modifications even in the running programs.

CLIST: It is a procedural programming language in the form of a set of commands that need to be executed in a sequence like that of a batch file.

HyperTalk: It is a high-level programming language that was intended to be used by programmers at the beginner's level. The programmers of this computer language were known as authors and the act of writing programs was called scripting. HyperTalk was designed by Dan Winker in 1987. Structurally, it resembles Pascal.

Modula-2: It is a general purpose procedural language created in 1978 by Niklaus Wirth at ETH. It is similar to Pascal and has systems programming and multiprogramming features.

Oberon: Niklaus Wirth, the man behind Pascal and Modula came up with Oberon in 1986. It was designed as a part of the Oberon operating system. It is similar to Modula-2 but smaller than it.

Component Pascal: It is a programming language that seems to be related to Pascal, but is actually incompatible with it. It is actually a variant of Oberon-2. Lagoona is an experimental programming language that supports component-oriented programming, a paradigm of decomposing a system into logical or functional components. Michael Franz, a student of Niklaus Wirth developed Lagoona. Seneca, better known as Oberon-2 is an extension of the Oberon programming language.

MATLAB: It is a numerical computing environment and a programming language that enables matrix computations, function plotting and algorithm implementation. It can also be used for user interface creation. MathWorks created MATLAB.

Occam: It is an imperative procedural language that was developed by David May and his colleagues at INMOS. It is similar to Pascal. Occam-pi is a variant of Occam that has been extended to include nested protocols, recursion, protocol inheritance, array constructors and run-time process creation.

PL/C: It was developed for being used to teach programming. It was created at the Cornell University in the 1970s.

PL/I: It is an imperative computer programming language targeted at scientific and engineering applications. Mainly intended to perform data processing, it also supports structured programming and recursion.

Rapira: It is a procedural programming language that was used in teaching computer programming in Soviet schools. Developed in the USSR, initially this language had Russian-based keywords. English keywords were incorporated later.

RPG: This programming language is used for business applications. It is available with the IBM's System I midrange computers.

Scripting Languages
Scripting languages are programming languages that control an application. Scripts can execute independent of any other application. They are mostly embedded in the application that they control and are used to automate frequently executed tasks like communicating with external programs.

AppleScript: It is a scripting language that is built into the Mac OS.

Awk: Awk was born in the Bell Labs in the 1970s. It is used for processing text-based data in data streams and files and uses the string datatype, arrays and regular expressions.

BeanShell: It is a java scripting language that is syntactically similar to Java and runs on the Java Runtime Environment along with scripting commands and syntax.

ColdFusion: It is an application server and software development framework that comes with an associated scripting language known as ColdFusion Markup Language. It is known as CFML and is similar to HTML in terms of its syntax.

ECMAScript: It is a scripting language from the Ecma International specification. It is widely used on the web. ActionScript that is used in the development of websites and database applications is based on ECMAScript. DMDScript scripting language is the Digital Mars ECMAScript engine. ECMAScript for XML extends ECMAScript by adding XML support to it. JavaScript is used for web development at the client's side. It is a weakly typed, prototype-based dynamic language. Jscript is another dialect of ECMAScript, which is Microsoft-based. Both these dialects are widely used in web development.

F-Script: It is an object-oriented scripting language that is closely similar to Smalltalk with an additional feature of array programming.

JASS: It is an event-driven scripting language that provides the programmers with an extensive API.

Maya Embedded Language: Abbreviated as MEL, it is a scripting language that is used to support tasks on the Maya software. Its syntax resembles that of Perl.

Mondrian: This scripting language is aimed for Internet use and is looked upon as being a combination of Haskell and Java.

PHP: PHP is one of the very popularly used general purpose scripting languages. It is developed for creating dynamic web pages and supports a command line interface capability.

Revolution: It is a rapid application development language that is based on HyperTalk. It is a cross-platform language that supports dynamic typing.

Tcl: It is a scripting language, which is believed to be easy to learn. It is used for rapid prototyping and has found utility in embedded systems.

VBScript: It is an active scripting language that Microsoft developed as a variation of Microsoft Visual Basic. VBScript is a default component with each of the Desktop releases of Microsoft Windows.

Windows PowerShell: It is Microsoft's command line shell and a scripting language. Released in 2006, it is available with Windows XP, Windows Vista as also with Windows Server 3003 and Windows Server 2008. It works in collaboration with Microsoft .NET Framework by means of executables, forms of standalone applications, regular .NET classes, cmdlets that are specialized .NET classes and scripts, the compositions of cmdlets and imperative logic.

Markup Languages
A markup language is an artificial language that uses annotations to text that define how the text is to be displayed.

Curl: It is a reflective object-oriented programming language. It is a markup language similar to HTML and also an object-oriented programming language supporting multiple inheritance.

SGML: Standardized General Markup Language (SGML) has descended from IBM's Generalized Markup Language. It is an ISO standard metalanguage that can define markup languages for documents. It was designed with an intent of sharing machine-readable documents of large projects that had to be retained for long years.

HTML: Hypertext Markup Language, abbreviated as HTML, is the most prominent markup language that is used for web pages. It is written in the form of HTML tags that are surrounded by angular brackets. HTML tags describe the appearance of the text in a document and can be embedded into certain other code to affect the web browser behavior. HTML uses the SGML default syntax.

XML: The name stands for Extensible Markup Language. It is extensible because it allows the users to define their own XML elements. It supports the sharing of structured data over the Internet and the encoding and serializing of data. It originated as a subset of SGML. XPath is the XML Path Language that is used to select nodes from an XML document. It supports the computation of values. XQuery is used to query the collections of XML data. Extensible Stylesheet Language Transformations (XSLT) is an XML-based language that is used for the transformation of XML documents into human-readable formats. Apache Ant is a tool for the automation of software build processes. It uses XML to describe the build processes.

XHTML: It is a markup language that is similar to HTML and follows the XML syntax. It is midway between HTML and XML. XHTML documents allow automated processing of data.

Logic-based Programming Languages
Logic programming is the use of mathematical logic for computer programming. Logic-based programming languages specify the attributes for a solution and also the steps to arrive at the solution.

ALF: Algebraic Logic Functional Programming Language is a multi-paradigm programming language that is a combination of functional programming and logic programming. ALF program statements are compiled into instructions of an abstract machine. An emulator written in C executes the programs of the abstract machine.

Fril: Fril language was designed by Trevor Martin and Jim Baldwin at the University of Bristol in the 1980s. It is for first-order predicate calculus. It supports fuzzy sets and metaprogramming and is based on the Prolog syntax.

Janus: Janus supports concurrent and constraint programming.

Leda: This computer programming language is a blend of logic-based, functional, imperative and object-oriented programming. It is thus one of the multi-paradigm languages.

Oz: It is a multi-paradigm language that supports functional, logic-based, imperative and object-oriented programming. Oz also supports concurrent and distributed programming. Constraint programming that is supported by Oz is one of the strengths of this language.

Poplog: It is a powerful multi-paradigm software development environment whose core language is POP-11. All the languages of this development environment share a common language editor and are incrementally compiled programming languages.

Prolog: It is a general purpose programming language that supports logic programming and is often linked with artificial intelligence and computational linguistics. The language is declarative and the program logic is expressed in the form of relations. Mercury is a functional logic programming language that is based on Prolog. Strawberry Prolog is a dialect of Prolog, which is supposed to be easy to use. Visual Prolog is a strongly typed extension of Prolog that supports object-oriented programming. It is a compiled logic-based programming language.

ROOP: It is a multi-paradigm language that is built on C++. It is intended to be used with artificial intelligence systems. Its features offer a blend of procedural, logic-based and object-oriented programming.

Concurrent Programming Languages
The concurrent execution of multiple tasks is known as concurrent programming. It is implemented by the means of processes or threads spawned by a single program. Communication between the concurrent components of a program occurs either by means of shared memory or through message passing mechanism. Java, Ada and Erlang are some of the well-known concurrent programming languages. Concurrency is achieved in Java by means of shared memory and concurrency-based monitors. Here is a list of the other concurrent programming languages.

ABCL: It is actually a family of Actor-Based Concurrent Languages, which was developed in Japan during the 1980s and the 1990s. ABCL/1, ABCL/R, ABCL/R2 are some of the members of the ABCL family.

Afnix: It is a multi-threaded functional programming language. Its interpreter is written in C++. Its runtime engine supports both 32 and 64 bit platforms.

Cilk: Created at the MIT Laboratory in 1994, Cilk supports multithreaded parallel programming.

Concurrent Pascal: Per Brinch Hansen, a Danish-American computer scientist created Concurrent Pascal for writing operating systems and programming real-time systems.

E: It is an object-oriented programming language that supports distributed programming. Mark Miller, Dan Bornstein and associates at the Electric Communities developed E in 1997. Its syntax resembles that of Java.

Joule: Joule is a concurrent dataflow programming language that preceded the E programming language. It is used for distributed applications.

Limbo: Developed at the Bell Labs, Limbo is used for programming distributed systems. Its striking feature is its compiler's ability to generate architecture-independent object code. Limbo is used for applications running on Inferno operating system. Alex that was initially a part of the Plan 9 operating system is the predecessor of Limbo.

Pict: It is a statically typed programming language, which is in the experimental stage today.

SALSA: Short for Simple Actor Language System and Architecture, SALSA supports concurrent programming, message passing and distributed computing. It uses Java code for portability.

SR: Acronym of Synchronizing Resources, SR is a concurrent programming language.

Object-oriented Programming Languages
Object-oriented programming languages support the object-oriented programming techniques like encapsulation, abstraction, inheritance and polymorphism. Object-oriented programming makes use of classes, objects and the interaction between objects. Many computer programming languages of the present times support object-oriented programming. Some of the widely used programming languages that offer object-oriented programming features are C++, C#, Java, Perl 5, PHP, Python and Ruby. Look at the other object-oriented programming languages.

Agora: It is a prototype-based object-oriented programming language features message passing mechanisms.

BETA: It is an object-oriented programming language wherein classes and procedures revolve around the same concept and classes are defined as attributes of objects. It has strong abstraction mechanisms. BETA also supports nested classes.

Cecil: This object-oriented language was created by Craig Chambers at the University of Washington. It is similar to Objective-C and Modula-3.

Lava: Lava is a visual object-oriented interpreter-based programming language.

Lisaac: It was the first compiled object-oriented programming language that was based on prototype concepts. It also supports system programming.

MOO: It is a dynamically typed prototype based programming language that supports object-oriented programming. It supports exception handling mechanisms and looping constructs.

Moto: It is an open source server-side programming language that comes with state and session management objects and database connectivity.

Object-Z: It was developed at the University of Queensland, Australia. It extends the Z programming language by adding object-oriented features to it.

Obliq: It is an interpreted computer programming language that offers object-oriented programming features. It supports untyped variables and was designed for distributed and multithreaded computations.

Oxygene: Based on Object Pascal, Oxygene is an object-oriented programming language with a rich feature set. Previously, it was known as 'Chrome'.

Pliant: It is based on a dynamic compiler and comes with a unique ability of supporting low-level instruction lists as well as high-level expressions.

Prograph: It is a visual object-oriented multi-paradigm language that uses symbols to signify the actions to be performed on data.

REBOL: REBOL is the acronym given for Relative Expression Based Object Language. It is designed for use on distributed platforms and in network communications.

Scala: The name Scala stands for Scalable Language. It is a multi-paradigm programming language, which offers object-oriented and functional programming features.

Self: It is an object-oriented prototype-based computer programming language. NewtonScript is used to write programs for Apple Newton and is largely influenced by Self.

Slate: This object-oriented programming language that is based on the concept of prototypes. It derives some of its features from Smalltalk and some from the Self language. The Slate design is intended at providing the programmers with an operating system-like environment.

XOTcl: It is an object-oriented extension of the Tool Command Language that supports metaclasses and dynamic classes and methods.

IO: It is a pure object-oriented programming language having a prototype-based object model. It is small in size and can be executed on small portable virtual machines.

This was an extensive list of computer programming languages. Different programming languages offering different programming features serve as the means of communication between humans and computer systems.