Increasing the Profitability of Your Business
From the concept to the integration, we develop intelligent, dynamic Web-based internal and external management information systems across entire organizations.
Our Analysts automate activities to facilitate the flow of information between all your business functions. From customer relations over inventory management, billing, accounts receivable and payable systems, our solutions cover all crucial sections of your business.
Coming up on the third decade of company success, our collective knowledge makes us the industry's foremost coding and technology experts. We make it our goal to raise your productivity. Whether we design software from scratch or use turnkey solutions,
our software design abilities and programming power will increase the
efficiency of your work-flow, and your profit.
Software Design
For new custom programming projects we choose the language, database and platform depending on your business model and objectives. Each language has been developed using a special design or philosophy. Currently the most common for Web development are ASP (.net) and PHP allowing the creation of highly customized CMS (Content Management Systems). Every language has it's own advantages...
Customization of pre-defined Content Management Systems (CMS) such as Drupal, Joomla, PrestaShop, Wordpress, Prestashop, other e-Commerce systems and blog sites require in most cases business-oriented software programming skills.
Each language has been developed using a
special design or philosophy. Some aspect or another is particularly stressed by
the way the language uses data structures, or by which its special notation
encourages certain ways of solving problems or expressing their structure.
Since programming languages are artificial languages, they require a high degree
of discipline to accurately specify which operations are desired.
Programming
languages are not error tolerant; however, the burden of recognizing and using
the special vocabulary is reduced by help messages generated by the programming
language implementation. There are a few languages which offer a high degree of
freedom in allowing self-modification in which a program re-writes parts of
itself to handle new cases.
Typically, only machine language, Prolog,
PostScript, and the members of the Lisp family (Common Lisp, Scheme) provide
this capability. In MUMPS language this technique is called dynamic
recompilation; emulators and other virtual machines exploit this technique for
greater performance.
There are a variety of ways to classify programming languages.
The distinctions
are not clear-cut; a particular language standard may be implemented in multiple
classifications. For example, a language may have both compiled and interpreted
implementations.
In addition, most compiled languages contain some run-time interpreted features.
The most notable example is the familiar I/O format string, which is written in
a specialized, little language and which is used to describe how to convert
program data to or from an external representation. This string is typically
interpreted at run time by a specialized format-language interpreter program
included in the run-time support libraries. Many programmers have found the
flexibility of this arrangement to be very valuable.
Languages
There are a variety of ways to classify programming languages. The distinctions are not clear-cut; a particular language standard may be implemented in multiple classifications. For example, a language may have both compiled and interpreted implementations.
Some aspect or another is particularly stressed by the way the language uses data structures, or by which its special notation encourages certain ways of solving problems or expressing their structure.
PHP / MySQL
PHP is a Server Side scripting language. PHP has become the environment of choice for quickly creating simple and complex custom Web Applications. Our developers are exposed to a variety of environments and industries. This makes them well-rounded programmers, and business-sensible professionals, applying knowledge from one industry to another, and advising our clients about the optimal flow to perform certain tasks.
ASP (VBScript, .net)
Active Server Pages (ASP) allow powerful web site creation by combing
programmatic code with standard HTML. It is commonly referred to as Server Side
scripting by web professionals because the server executes the code and converts
the instructions to 100% HTML before sending output to the web browser. ASP /
VBScript is our primary programming platform. Our e-cart shopping cart system is
a great example of what can be accomplished using ASP and VBScript.
JAVA SCRIPT
Use of Java Script is now common in most of today's contemporary web sites. It
is used to create a myriad of visual effects like navigation rollovers as well
as useful features like client side form validation. Java Script is also an
integral part of DHTML and can be used to create pages that can react to user
input and integration. Page elements can be animated or hidden until the user
needs to see them, creating some pretty impressive effects.
PERL CGI
PERL CGI programming services are available upon request. Our PERL CGI services are
typically restricted to the installation, modification and setup of existing
PERL CGI programs on the client's server.
Database Development
As we are a full-service database design and development company headquartered in Las Vegas. We create and provide database services ranging from simple to complex Web database creations and conversion to the more complicated ones called Legacy Applications to Client server architecture.
MySQL now is the most common database for Web developments as it has the most advantages.
Because a business' processes are constantly changing, a database needs to be designed with expandability in mind. The requirement for both speed and expandability forms a crux of what database design is all about. We provide database services ranging from simple to complex like conversion of
DB2 to Oracle or MS SQL, more complicated ones are Legacy applications to Client
server architecture.
We are one of the luckier Database Programming companies since we had an
opportunity to see large demand for our database services quickly evolutional
from simple to complex.
Most organizations find their data becomes duplicated across different
applications which have their own databases. Often databases are on different
platforms with different database schemas involving databases on the web.
Integrating many data sources can be a daunting task with many hidden costs.
PHP is a scripting language used to add executable content to Web pages. This
course covers the fundamentals of programming in PHP and Web-related issues such
as linking a series of forms together into a session, maintaining state if
multiple users are on your site at the same time, cookies, security and other
matters. We also cover PHP's interfacing to relational databases in some depth,
with a particular study of MySQL.
Programming
Lateley we focus on scripting using PHP. PHP is a widely-used general-purpose scripting language that is especially suited for Web development and can be embedded into your Web site.
We can undertake the installation and custom modification of popular open source products such a drupal, wordpress, os-commerce, phpbb forums, and many more. We create interactive database driven modern web sites. Why we prefer to code in PHP than ASP. In today's computing environment PHP is considered overall economical to implement than ASP. The Open Source tag helps and provides great value to everybody.
A lot of components are available free to download thereby
eliminating the need to pay for licenses and continuous upgrades.There are already several applications written in PHP and are available free to
download that reduces overall project duration substantially. PHP is highly
versatile so we can easily customize it to suit our requirement.
Technically PHP is considered faster than ASP because of incorporation of a
parsing engine and the HTTP GET and POST variables are created automatically by
PHP as global variables, unlike as in ASP where each compiler runs its own
processes.
PHP is platform independent so it can perform well on both Linux and Windows
operating system, allowing you to easily shift between servers while or after
uploading the application.
What is Programming?
In the broadest sense, all the technical and non-technical activities involved
in the production of an application is called programming. By non-technical
activities are talent oriented tasks. In its narrowest
sense, however, writing a code for an application is called programming.
What is a Program?
A series of statements put all together to ask the computer to have a specific
behavior is called a program. It might be as long as millions of lines or as
short as a
single line.
Who is a Programmer?
Programmers are people just like the rest of the human beings; the only
difference (being so modest) is that they have got the ability and disposition
to program.
There's no limitation in their genders, ages, and colors. They could be a man or
a woman, as young as 14 years old, or as old as 78. There's no
difference. They all have got the same goal: programming.
After the microprogramming that the programmer's building blocks are ones and
zeros in this language, the assembly language is the actual programming tool
that programmers were faced with.
Programming Classifications
Each language takes units of these well-behaved statements
and combines them using some ordering system. Depending on the language,
differing methods of grouping these elementary statements exist. This allows one
to write programs that are able to cover a variety of input, instead of being
limited to a small number of cases. Furthermore, beyond the data manipulation
instructions, other typical instructions in a language are those used for
control flow (branches, definitions by cases, loops, backtracking, functional
composition).
{{ Array programming language }}
{{ Concatenate programming language }}
{{ Concurrent programming language }}
{{ Declarative programming language }}
{{ Domain-specific programming language }}
{{ Dynamic programming language }}
{{ Educational programming language }}
{{ Esoteric programming language }}
{{ Functional programming language }}
{{ General-purpose programming language }}
{{ Logical programming|Logic programming language }}
{{ Object-oriented programming language }}
{{ Procedural programming|Procedural programming language }}
{{ Scripting programming language }}
Programming History...
The development of programming languages, unsurprisingly, follows closely the
development of the physical and electronic processes used in today's computers.
Charles Babbage is often credited with designing the first computer-like
machines, which had several programs written for them (in the equivalent of
assembly language) by Ada Lovelace.
In the 1940s the first recognizably modern, electrically powered computers were
created. Some military calculation needs were a driving force in early computer
development, such as encryption, decryption, trajectory calculation and massive
number crunching needed in the development of atomic bombs. At that time,
computers were extremely large, slow and expensive: advances in electronic
technology in the post-war years led to the construction of more practical
electronic computers. At that time only Konrad Zuse imagined the use of a
programming language (developed eventually as Plankalkül) like those of today
for solving problems.
Subsequent breakthroughs in electronic technology (transistors, integrated
circuits, and chips) drove the development of increasingly reliable and more
usable computers. The first widely used high level programming language was
Fortran, developed during 1954–57 by an IBM team led by John W. Backus. It is
still widely used for numerical work, with the latest international standard
released in 2004. A Computer Languages History graphic shows a timeline from
Fortran in 1954.
Dennis Ritchie and Brian Kerninghan developed the C programming language,
initially for DEC PDP-11 in 1970. Later with lead of Bjorn Stroustrup
programming language C++ appear starting from 1985 as the Object oriented
language vertically compatible with C. Sun Microsystems developed Java in 1995
which became very popular as the initial programming language taught at
universities. Microsoft presented the C# programming language, which is similar
to Java, in 2001 to fight Java's popularity.
Programming Layers
As you see, the first programming layer, Microprogramming, is located in the
hardware level. This is the layer that talks directly to the physical devices.
For example, this layer handles where to store the result of the two numbers to
be added, and thereafter provides the upper layer with a cleaner interface, such
as ADD.
A series of instructions that the micro-program interprets is called the machine
language. At the top of this layer, the operating system is located which its
job is to provide the upper layer with a classified set of tools so that the
hardware layer is transparent to him. On top of the operating system, compilers,
editors and command interpreters are located, which in turn provide the upper
layer with another set of abstract tools.
From the technical point of view, a programmer who does microprogramming is
called a micro-programmer. Then it comes to the system programmer that his job
in turn is to develop system programs. Thereafter, we come to the application
programmers who program the applications, such as MS-Office, Internet Explorer,
and the like. Suffice to say that most of the world's existing programmers fall
in this group.
It is amazing, though, to know that each of the programmers mentioned in those
three categories feel that they are real programmers in comparison with the
other programmers at top layers; i.e., a system programmer believes that the
main job is done in his layer by himself and application programmers are just
some fun junkies trying to use his set of tools to develop some fancy
applications.
The same thing runs within the application programmers' world. Since the
programmers use different tools (actually languages) to develop a program, there
has been always a contact between the users of low-level languages and the
high-level ones.
The truth is that the programmers of each of those above-mentioned layers need
to interact with the computer in a suitable language of their own choice. For
example, to develop a lightweight applet to be placed on top of a web page, a
programmer chooses Java as his programming tool because Java is developed for
such purposes. He could use C++ to do the same thing but he certainly has to go
deeper to the subject. It goes without saying that a C++ programmer cannot solve
this problem as fast as a Java programmer, because of the available tools in his
programming language.
This, however, doesn't mean that C++ programming is trivial. The actual answer
lies behind this fact that all the companies are in need of performing their
projects in the shortest possible time. That is why we are faced with Rapid
Application Development or RAD these days. In most cases, project managers
expect their team members to develop this or that in the possible minimum time,
although they verify if a specific tool is suitable for such developments.
Modern Tools
This, in turn, brought a new edge of programmers to life: Visual Basic
programmers. In spite of its glamour abilities to do things as fast as possible,
I actually don't understand the usefulness of a programming language suffering
from the lack of pointers. As girls are the sweet candies of this world,
pointers are the candy tools in the hands of a programmer. Now, what if they are
not available in a language? How can you hang on with such programming
languages?
Philip Kahn, the Borland companies cofounder, says that the BASIC language
belongs to the 1960's, no matter which variety of this language is on the market
today. Back to those days of DOS programming, there was no wizard to Less the
details from the programmer, and programmers had to know how to program their
logic in their favorite programming language. If they didn't, they could never
develop a software. But today, everything is changed. You run the compiler,
point your mouse cursor to the File menu, and you select a new project item.
Within less than some seconds, everything is setup for you! Just compile and let
it go! Is it actually called programming? You judge!
There are many modern programmers who even don't know how to interact with the
operating system they are programming for. When they do not have any idea about
the actual environment they are programming for, how can they develop an
error-free full functioning program under that environment?
The truth is that everything has been done in the lower layers and the result is
dedicated due to the optimal series of functions to the programmers. These
functions are called Application Programming Interfaces, or APIs. Since much of
the complexity is hidden from the users of APIs, they cannot ruin the
application, unless in some certain circumstances.
In spite of this encapsulation, however, we are still faced with programs that
ruin the operating system due to their weak functioning. How many times have you
restarted your Windows without knowing the actual reason for its malfunctioning?
Huh?
Due to the great improvements in hardware technology, Giga Hertz speeds are
handy today. The modern programmers in turn do not think about the speed of
their logics they are going to program. Imagine the Karl Gauss' scenario: less
than a minute against more than 47 minutes!
That's why you run Windows Media Player 7.0 under a Pentium 133Mhz, and you have
to wait for more than 30 seconds or so until the hard disk activity finishes and
the program settles on the screen.
I recall those days that we could see a video CD on Windows 3.1 under our 66MHz
CPU with a Xing player or the like. Now the CPU speed, in this example, is
increased by means of 67MHz, but the player speed is decreased by means of 50%.
Why is that then?
"Real" Programmers
There are a variety of thoughts judging a real programmer: some believe that
"Real programmers don't use Pascal", and others say, "Real programmers hate
COBOL". To put these malicious opinions aside, a real programmer is the one who
cares about his software at three stages: design, development, and maintenance.
By design, I mean he tries to get peoples' opinions and their logics at design
time. Some people don't understand programming but they have got great abilities
to solve different problems on the paper. A real programmer advantages such
opinions and welcomes any criticism.
By development, I mean he tries to keep his eyes open on what he is developing.
He never says that his program will run under Pentium III, so it doesn't matter
if he loads and unloads some DLLs back and forth during the lifetime of his
program. He, instead, tries to avoid such things when possible.
By maintenance, I mean he accepts that he is a human being and he might do
things wrong. So, he welcomes his clients' criticism, and tries to solve any bug
in his software gracefully.
Most of the programmers around the world are philosophers! They usually try to
impose their thoughts to others and they enjoy talking about their abilities and
dispositions. Some of them even do not have a joy in their life, and all they
have got is their computers and their books.
Go and read articles about
programmers by yourself; about those who reside at Silicon Valley. It is a sad
story, but that is the truth.
Look before you leap! If you plan to start programming and be classified as a
programmer, keep in mind that everything is possible when quality is no object.
Being a good programmer is hard. You have to learn new technologies day
by day, mostly by yourself, and you have to keep yourself up to date after being
a professional in one or more categories about programming.
The very important thing you should never forget is the day you are going to
start! Most of the professional computer programmers are usually self-taught and
has been at the same position you are today. But after some years, they start
believing in themselves! They will become proud of this or that and their
abilities and they think they are really something! So they start to stop
questioning which in turn results of being obsolete after some years.
CGI or Common Gateway Interface is a means for providing server-side services over
the web by dynamically producing HTML documents, other kinds of documents, or
performing other computations in response to communication from the user. In
this assignment, students who want to interface with the Oracle database using
Oracle's Pro*C precompiled language will be using CGI.
Java Servlets are the Java solution for providing web-based services. They provide a very
similar interface for interacting with client queries and providing server
responses. As such, discussion of much of the input and output in terms of HTML
will overlap. Students who plan to interface with Oracle using JDBC will be
working with Java Servlets.
Both CGI and Java Servlets interact with the user through HTML forms. CGI programs reside in a special
directory, or in our case, a special computer on the network
(cgi-courses.stanford.edu), and provide service through a regular web server.
Java Servlets are separate network object altogether, and you'll have to run a
special Servlet program on a specific port on a Unix machine.
Java Output Let's look back at our Java code example. You'll see a number of differences
between the Servlet code and the CGI approach. Output is all handled by the
HttpServletResponse object, which allows you to set the content type through the
setContentType method. Instead of printing the HTTP header yourself, you tell
the HttpServletResponse object that you want the content type to be "text/html"
explicitly.
HTML is returned to the user through a PrintWriter object, that is retrieved from the
response object using the getWriter method. HTML code is then returned line by
line using the println method.
Assuming that you all have a basic background in Java, so we won't provide a
detailed treatment of exceptions here, but do note that IOException and
ServletException both must either be handled or thrown.
At the Microsoft Professional Developer's Conference in March 1996, Microsoft
hailed a new era of software development that will concentrate on intranets, the
Web, ActiveX, HTML, applets, browsers, and Java. Microsoft emphasized the
integration of tool sets for the various versions of Windows and
Internet/intranet application development. It also revealed a unified shell and
browser that may become a universal client.
ODBC and JDBC Multidatabase APIs have gained favor with developers working with SQL databases.
Microsoft's ODBC and JavaSoft's JDBC let you use one API to write programs that
operate on various SQL databases. Java developers can also use Microsoft data
access APIs where the target execution environment is 32-bit Windows. Presently,
ODBC or JDBC is the best choice for developing multiplatform programs. Let's
examine ODBC and JDBC to see what that choice involves.
ODBC is the most widely used call-level interface for accessing SQL databases.
JDBC is a new API that provides an object layer that works with ODBC drivers to
abstract SQL programming for Java developers.
The ODBC and JDBC architectures include loadable database drivers and a driver
manager. Database drivers are conceptually similar to printer drivers because
database drivers let you expand a program's functionality without rewriting its
source code. The database drivers are libraries that the driver manager invokes
when your program connects to an ODBC or JDBC data source. Your program can use
drivers that work with a specific database management system (DBMS), such as
Oracle, or drivers that connect to ODBC and JDBC servers. Although these servers
can connect to multiple data sources, clients use only one driver to connect to
the server. This server-based architecture produces a thinner client by
replacing multiple drivers, client libraries, and protocol stacks with one
driver and network transport. When your code uses ODBC or JDBC, a driver manager
validates the arguments in your call and loads the appropriate driver for the
data source to which you are connecting. The UNIX and Macintosh versions use
shared libraries for the driver manager and drivers, whereas NT, other Windows
versions, and OS/2 use DLLs.
Dozens of ODBC drivers already exist, so INTERSOLV developed bridge software for
JavaSoft to let JDBC applications use ODBC drivers. Figure 1 illustrates the
JDBC architecture that includes drivers, a driver manager, and a bridge for
accessing ODBC data sources.
All ODBC and JDBC data access uses SQL queries to define and manipulate database
tables. ODBC and JDBC drivers understand the same SQL (ANSI SQL with X/Open
escape clauses) and models for query preparation and execution.
The Basics of Java
Java is well known for creating Web applets that you download with HTML pages,
but you can also use it to program applications, including SQL applications.
Java programs are of two types. Java applets are components embedded in Web
pages that a browser executes. Java applications are main programs that the Java
interpreter, the Java virtual machine, executes. Java supports a distributed,
client/server computing model, and today's Web-orientation exemplifies this
model. Applets run as clients and conform to strict client security rules.
Applications usually execute at a server, but they can run anywhere a Java
virtual machine exists.
In a typical scenario, a Windows NT server can support
PC, Macintosh, OS/2, and other clients. To embed an applet in an HTML document,
you specify an <APPLET> tag, but other scenarios will soon appear. Microsoft
applications will soon use applets in a way that is similar to how they use
Visual Basic custom controls (VBXs), Object Linking and Embedding custom
controls (OCXs), and ActiveX controls.
Computer Language
Ever since the inventionof Charles Babbage's difference engine in 1822, computers have
required a means of instructing them to perform a specific task. This means is
known as a programming language. Computer languages were first composed of a
series of steps to wire a particular program; these morphed into a series of
steps keyed into the computer and then executed; later these languages acquired
advanced features such as logical branching and object orientation.
The computer
languages of the last fifty years have come in two stages, the first major
languages and the second major languages, which are in use today.
In the beginning, Charles Babbage's difference engine could only be made to
execute tasks by changing the gears which executed the calculations.
Thus, the
earliest form of a computer language was physical motion. Eventually, physical
motion was replaced by electrical signals when the US Government built the ENIAC
in 1942. It followed many of the same principles of Babbage's engine and hence,
could only be "programmed" by presetting switches and rewiring the entire system
for each new "program" or calculation. This process proved to be very tedious.
In 1945
John Von Neumann was working at the Institute for Advanced
Study. He developed two important concepts that directly affected the path of
computer programming languages. The first was known as "shared-program
technique" (www.softlord.com). This technique stated that the actual computer
hardware should be simple and not need to be hand-wired for each program.
Instead, complex instructions should be used to control the simple hardware,
allowing it to be reprogrammed much faster.
The second concept was also extremely important to the development of
programming languages. Von Neumann called it "conditional control transfer"
(www.softlord.com).
This idea gave rise to the notion of subroutines, or small
blocks of code that could be jumped to in any order, instead of a single set of
chronologically ordered steps for the computer to take. The second part of the
idea stated that computer code should be able to branch based on logical
statements such as IF (expression) THEN, and looped such as with a FOR
statement. "Conditional control transfer" gave rise to the idea of "libraries,"
which are blocks of code that can be reused over and over.
In 1949
a few years after Von Neumann's work, the language Short Code appeared
(www.byte.com). It was the first computer language for electronic devices and it
required the programmer to change its statements into 0's and 1's by hand.
Still, it was the first step towards the complex languages of today. In 1951,
Grace Hopper wrote the first compiler, A-0 (www.byte.com).
A compiler is a
program that turns the language's statements into 0's and 1's for the computer
to understand. This lead to faster programming, as the programmer no longer had
to do the work by hand.
In 1957
the first of the major languages appeared in the form of FORTRAN. Its
name stands for FORmula TRANslating system. The language was designed at IBM for
scientific computing. The components were very simple, and provided the
programmer with low-level access to the computers innards. Today, this language
would be considered restrictive as it only included IF, DO, and GOTO statements,
but at the time, these commands were a big step forward.The basic types of data
in use today got their start in FORTRAN, these included logical variables (TRUE
or FALSE), and integer, real, and double-precision numbers.
Though FORTAN was good at handling numbers, it was not so good at handling input
and output, which mattered most to business computing. Business computing
started to take off in 1959, and because of this, COBOL was developed. It was
designed from the ground up as the language for businessmen. Its only data types
were numbers and strings of text. It also allowed for these to be grouped into
arrays and records, so that data could be tracked and organized better. It is
interesting to note that a COBOL program is built in a way similar to an essay,
with four or five major sections that build into an elegant whole. COBOL
statements also have a very English-like grammar, making it quite easy to learn.
All of these features were designed to make it easier for the average business
to learn and adopt it.
In 1958, John McCarthy of MIT created the LISP Processing (or LISP) language. It
was designed for Artificial Intelligence (AI) research. Because it was designed
for such a highly specialized field, its syntax has rarely been seen before or
since. The most obvious difference between this language and other languages is
that the basic and only type of data is the list, denoted by a sequence of items
enclosed by parentheses.
LISP programs themselves are written as a set of lists,
so that LISP has the unique ability to modify itself, and hence grow on its own.
The LISP syntax was known as "Cambridge Polish," as it was very different from
standard Boolean logic (Wexelblat, 177) :
x V y - Cambridge Polish, what was used to describe the LISP program OR(x,y) - parenthesized prefix notation, what was used in the LISP program x OR y - standard Boolean logic
LISP remains in use today because its highly specialized and abstract nature.
The Algol Language
was created by a committee for scientific use in 1958. It's
major contribution is being the root of the tree that has led to such languages
as Pascal, C, C++, and Java. It was also the first language with a formal
grammar, known as Backus-Naar Form or BNF (McGraw-Hill Encyclopedia of Science
and Technology, 454). Though Algol implemented some novel concepts, such as
recursive calling of functions, the next version of the language, Algol 68,
became bloated and difficult to use (www.byte.com). This lead to the adoption of
smaller and more compact languages, such as Pascal.
Pascal was begun in 1968 by Niklaus Wirth. Its development was mainly out of
necessity for a good teaching tool. In the beginning, the language designers had
no hopes for it to enjoy widespread adoption. Instead, they concentrated on
developing good tools for teaching such as a debugger and editing system and
support for common early microprocessor machines which were in use in teaching
institutions.
Pascal was designed in a very orderly approach, it combined many of the best
features of the languages in use at the time, COBOL, FORTRAN, and ALGOL.
While
doing so, many of the irregularities and oddball statements of these languages
were cleaned up, which helped it gain users (Bergin, 100-101). The combination
of features, input/output and solid mathematical features, made it a highly
successful language. Pascal also improved the "pointer" data type, a very
powerful feature of any language that implements it. It also added a CASE
statement, that allowed instructions to to branch like a tree in such a manner:
CASE expression OF possible-expression-value-1: statements to execute... possible-expression-value-2: statements to execute... END
Pascal
also helped the development of dynamic variables, which could be created
while a program was being run, through the NEW and DISPOSE commands. However,
Pascal did not implement dynamic arrays, or groups of variables, which proved to
be needed and led to its downfall (Bergin, 101-102). Wirth later created a
successor to Pascal, Modula-2, but by the time it appeared, C was gaining
popularity and users at a rapid pace.
C was developed in 1972 by Dennis Ritchie while working at Bell Labs in New
Jersey. The transition in usage from the first major languages to the major
languages of today occurred with the transition between Pascal and C. Its direct
ancestors are B and BCPL, but its similarities to Pascal are quite obvious.
All
of the features of Pascal, including the new ones such as the CASE statement are
available in C. C uses pointers extensively and was built to be fast and
powerful at the expense of being hard to read. But because it fixed most of the
mistakes Pascal had, it won over former-Pascal users quite rapidly.
Ritchie developed C for the new Unix system being created at the same time.
Because of this, C and Unix go hand in hand. Unix gives C such advanced features
as dynamic variables, multitasking, interrupt handling, forking, and strong,
low-level, input-output. Because of this, C is very commonly used to program
operating systems such as Unix, Windows, the MacOS, and Linux.
In the late 1970's and early 1980's, a new programing method was being
developed. It was known as Object Oriented Programming, or OOP.
Objects are
pieces of data that can be packaged and manipulated by the programmer. Bjarne
Stroustroup liked this method and developed extensions to C known as "C With
Classes." This set of extensions developed into the full-featured language C++,
which was released in 1983.
C++
...was designed to organize the raw power of C using OOP, but
maintain the speed of C and be able to run on many different types of computers.
C++ is most often used in simulations, such as games. C++ provides an elegant
way to track and manipulate hundreds of instances of people in elevators, or
armies filled with different types of soldiers. It is the language of choice in
today's AP Computer Science courses.
In the early 1990's, interactive TV was the technology of the future. Sun
Microsystems decided that interactive TV needed a special, portable (can run on
many types of machines), language. This language eventually became Java. In
1994, the Java project team changed their focus to the web, which was becoming
"the cool thing" after interactive TV failed. The next year, Netscape licensed
Java for use in their internet browser, Navigator. At this point, Java became
the language of the future and several companies announced applications which
would be written in Java, none of which came into use.
Though Java has very lofty goals and is a text-book example of a good language,
it may be the "language that wasn't". It has serious optimization problems,
meaning that programs written in it run very slowly.
And Sun has hurt Java's
acceptance by engaging in political battles over it with Microsoft. But Java may
wind up as the instructional language of tomorrow as it is truly object-oriented
and implements advanced techniques such as true portability of code and garbage
collection.
Visual Basic is often taught as a first programming language today as it is
based on the BASIC language developed in 1964 by John Kemeny and Thomas Kurtz.
BASIC is a very limited language and was designed for non-computer science
people. Statements are chiefly run sequentially, but program control can change
based on IF..THEN, and GOSUB statements which execute a certain block of code
and then return to the original point in the program's flow.
Microsoft
...has extended BASIC in its Visual Basic (VB) product. The heart
of VB is the form, or blank window on which you drag and drop components such as
menus, pictures, and slider bars. These items are known as "widgets." Widgets
have properties (such as its color) and events (such as clicks and
double-clicks) and are central to building any user interface today in any
language. VB is most often used today to create quick and simple interfaces to
other Microsoft products such as Excel and Access without needing a lot of code,
though it is possible to create full applications with it.Perl has often been described as the "duct tape of the Internet," because it is
most often used as the engine for a web interface or in scripts that modify
configuration files. It has very strong text matching functions which make it
ideal for these tasks.
Perl was developed by Larry Wall in 1987 because the Unix
sed and awk tools (used for text manipulation) were no longer strong enough to
support his needs. Depending on whom you ask, Perl stands for Practical
Extraction and Reporting Language or Pathologically Eclectic Rubbish Lister.Programming languages have been under development for years and will remain so
for many years to come. They got their start with a list of steps to wire a
computer to perform a task. These steps eventually found their way into software
and began to acquire newer and better features.
The first major languages were
characterized by the simple fact that they were intended for one purpose and one
purpose only, while the languages of today are differentiated by the way they
are programmed in, as they can be used for almost any purpose. And perhaps the
languages of tomorrow will be more natural with the invention of quantum and
biological computers.
List of Program Languages
2.PAK , 20-GATE , 473L Query , 51forth , A+ , A++ , A-0 , ABAP
, ABC , ABC_ALGOL , ABLE , ABSET , ABSYS , ACC programming language , Accent ,
Acceptance, Test Or Launch Language , Action! , ACS , ActionScript , Ada , Aleph
, ALGO , ALGOL , AmigaE , AMPL , APL , AppleScript , There are many array
programming languages. , ARS++ , ASP , ASN.1 , AspectJ , Assembly , Atlas
Autocode , Aubit-4GL , AutoIt (http://hiddensoft.com) , AutoLISP , AWK (awk,
gawk, mawk, nawk) , Languages needing attention; , Actor , Alan , Alphard ,
AREXX , Autocoder , BASIC - see also List of BASIC dialects (by platform) , bc ,
BCPL , BETA , Bigwig , Bistro , BLISS , Blue - rejected prototype for Ada , Blue
, boo , Bourne shell (sh) , Bourne-Again shell (bash) , Business Process
Execution Language (BPEL) , BUGSYS , BuildProfessional , C-- , C++ , C# , Caché
ObjectScript (see also Caché Basic) , Caml , CeeBot , CSS , Cecil , Cg , CHAIN ,
Charity , CHILL , ChucK , Cilk , Clarion , Clipper , CLIPS , CLOS , CLU , CMS-2
, ColdFusion , COBOL , CobolScript , COMAL , Component Pascal , Concurrent Clean
, CORAL66 , Common Intermediate Language (CIL) , Common Lisp , COWSEL , CPL , C
shell (csh) , Cue , Curl , Cyclone , DASL , Databus , Dataflex , dBASE , dc ,
Delphi , Dialog Manager , DIBOL , Dylan , Edinburgh IMP , Eiffel , ElastiC ,
Elan , Emacs Lisp , Elf , Enterprise Generation Language (EGL) , Erlang ,
Escapade (server-side programming) , Esterel , Euphoria , Euclid , Euler , EXEC
, EXEC2 , F# , Factor , FALSE , Felix , Ferite , FL , FLOW-MATIC , FOCAL , Focus
, FOIL , Forth , Fortran , FP , Frink , Frontier , G-java , GAMS , GML , Gclisp
, Gema , GEMBASE , GENIE , GJ , Godiva , Gödel , GPSS , Green - prototype for
Ada , Groovy , HAL/S (real-time aerospace programming language) , HAScript ,
Haskell , Heron , HLA - "High Level Assembler" , High Level Assembly , Hugo ,
HyperTalk , ICI programming language , Icon , IDL programming language , IMP ,
Informix-4GL , Inform , Information Processing Language (IPL) , Intercal , Io ,
JADE , Java , JavaScript , JCL , JOSS , Joule , JOVIAL , Joy , Jython , , Kid ,
Kielix , Kiev , Kogut , KRYPTON , LabVIEW , Lagoona , LaTeX , Lava , Leda ,
Leopard , Lexico , Limbo , LINC , Lingo , Lisp , Logo , LPC , LSE , Lua , Lucid
, Lustre , LYaPAS , M4 , MAD , MADCAP , Mary , MATLAB , Mathematica , METAL ,
Miranda , Miva , Mercury , Mesa , Microcode , Mindscript , ML , Moby , MODCAP ,
Modula , Modula-2 , Modula-3 , Moto , Mouse , MSIL (deprecated name for Common
Intermediate Language) , MUMPS , Natural , Nemerle , NESL , NGL , Nial , Nil ,
Nice , Nosica , o:XML , Oberon , Objective-C , Objective Caml , Object Pascal ,
Obliq , Occam , OPS5 , Organiser Programming Language (OPL) - cf. Psion
Organiser , Oz , Pascal , Free Pascal , Object Pascal (Delphi) , Turbo Pascal ,
PEARL , Perl , PHP , Pico , Pike , PILOT , Pizza , PL-11 , PL/SQL , PL/B , PL/C
, Plankalkül , PL/I , PL/0 , PL/M , Pliant , Poplog , POP-11 , PORTRAN ,
PostScript , Povray , Powerbuilder , Processing , Progress 4GL , Prothon ,
Prolog , Turbo Prolog , Proteus , Python , QuakeC , Rascal , Ratfor , Ratfiv ,
REBOL , Red - rejected prototype for Ada , REFAL , Report Program Generator
(RPG) , Revolution , REXX , Rigal , Rlab , Robot Scripting Language (RSL) , RPG
, Ruby , S2 , S-Lang , SAIL , SAKO , SAS , Sather , Scala , Scriptol , Scheme ,
Sed , Self (or "SELF") , SETL , SIGNAL , SIMSCRIPT , Simula , SISAL , SMALL
Machine Algol Like Langanuge , Small , Smalltalk , SML , Snobol , Snowball ,
SPARK , SPITBOL , SP/k , SQL , Squeak , SR , SSL , SuperCollider , TACL , TACPOL
, TADS , Transaction Application Language , Tcl , teco , TELCOMP , Tempo , Today
, Tom , tpu , Trac , Turing , Tutorial D , TXL , Ultra 32 , Unicon ,
UnrealScript , Verilog is a hardware description language , VHDL is a hardware
description language , Visual DataFlex , Visual DialogScript , Visual FoxPro ,
Visual Objects , Water , XOTcl , XPL , xHarbour , XUL , XBL , xbScript
(xBaseScript , XSLT and XPath , YAFL , Yellow - rejected prototype for Ada ,
Yorick , Z is a program specification language, like UML. , ZPL , ZZT-oop , ZOPL
, ZUG
|
|