6.2. PROGRAMMING

 Back  Software development  Next


The previous chapter has already been said that the choice of language processors - tools for programming, one of the phases of software development. Which to choose? The choice is very wide. First we need to distinguish whether the software product to use on one or more platforms or whether to carry out:

  • DOS environment
  • Windows environment
  • Mac OS X environment
  • Unix environment
  • Linux environment
    (Unix-like in conception)
  • Games console
    (PlayStation, Nintendo, XBox ....)
  • Mobile device
    (mobile phones, tablets ....)
  • Multimedia device
    (home theather ....)
  • Specific environment
    (microcontrollers, music devices, toys ....)

Or one of the other environments, or must work to satisfy multiple environments. Then the platform of choice to choose the language processor that will provide the ability to create computer programs by default, all the necessary elements, for example, to execute in a Windows XP environment, allowing access to their own databases or databases can be accessed by other manufacturers, has support for data access on a server over the Internet and so on.

Good choice for the Windows XP platform was for instance 'Borland Delphi Studio', the company Borland Software Corporation, available as four different products for the production of software, as follows:

  • delphi_personal
  • delphi_professional
  • delphi_enterprise
  • delphi_architect
Technical criteria for the needy this software package are:
  • Intel Pentium 233 MHz or higher
  • 64 MB RAM (128 MB recommended)
  • 124 MB hard disk space (compact installation)
  • 520 MB hard disk space (full installation)
  • CD-ROM drive
  • SVGA or higher resolution monitor
  • Mouse or other pointing device
  • Microsoft Windows 98, 2000, and Windows XP

Possibilities of some of these products in 'Delphi' previous list, selected sequentially from 1 to 4 are given in the following comparative table:

BORLAND® DELPHI™ 7 STUDIO 1* 2 3 4
Interoperability and migration support for Microsoft® .NET
Delphi™ compiler warnings and hints for .NET compatibility
* * * *
Import any .NET assembly as a COM object * * * *
Use Delphi COM objects in .NET managed applications   * * *
Delphi for Microsoft .NET prerelease preview Visual Component Library
for .NET framework for migrating existing applications**
* * * *
.NET preview CIL compiler to create managed applications * * * *
.NET migration documentation * * * *
Model-driven design
Visual modeling and refactoring tool based on UML™ technology
    * *
Native Delphi integration, reverse engineering, and instant visualization     * *
Web application development. Deploy your application to the Internet,
utilizing drag-and-drop visual Web application development
  * * *
Add interactive content to your Web sites by rapidly and visually
building dynamic server-side HTML Web applications
  * * *
Transparently manages Web application details such as cookie,
session, and user management
    * *
Nevrona Rave™ technology. Powerful Rave Reports
Borland Edition visual report designer and code-based API
  * * *
PDF, HTML, RTF, and text rendering formats   * * *
Native support for VCL and Borland Component Library
for Cross-platform (CLX™) applications
  * * *
Bold® for Delphi™
Maintain less code with a true Model Driven Architecture™ (MDA™)
      *
UML technology: full support for class diagrams, tagged values, stereotypes,
associations, visibility, and mixed transient/persistent elements & classes
      *
Integrated support for Rational Rose® and ModelMaker;
import/export model information from/to Bold® Model Editor
      *
Windows XP™ Themes
Enable applications to take part of Windows XP™ Themes
* * * *
Borland Kylix™ 3 IDE in the Delphi language
Kylix 3 IDE in the Delphi language for cross-platform development on Linux®
  * * *
Borland BizSnap™ — Web Services with XML technologies
UDDI browser to visually locate and import registered Web Services
  * * *
Automatic UDDI client fail-over support   * * *
Rapidly build server-side W3C-compliant Web Services using
SOAP, XML, WSDL, and more
  * * *
* Delphi 7 Personal is not a studio product, and it is for noncommercial use only.
** Available as a download for registered users.
Table 6.2.1 Different versions of the tools 'Borland Delphi Studio'.

Apart from this there are also more powerful and weaker language processors, and of course later described the family of tools. This example dates from 2002, but nicely illustrates what one professional tool for programming should include. Borlan the 2008th took over the company Embarcadero Technologies, which has continued to develop programming tools. Newer product of mentioned company for the rapid development of program support in Windows, Mac, iOS and Android environment is 'RAD Studio XE6' (Rapid Application Development), which combines the 'Delphi Object Pascal' and 'C++' programming tools in a unique programming environment for the development of user, client-server and Web software with support for a variety of different databases. Today, when almost ubiquitous graphical interface to choose a good language processor that is used just him, and that he possesses 'wizards', and the tools to quickly and easily create such a form for data entry, reports, etc., which is particularly useful for beginners. Experienced users can write source code in a simple editor such as 'Notepad' in the Windows environment, and the tools for 'linking' and 'compile' from him to make enforceable '.com' or '.exe' file for the Windows environment, which with associated system and / or made necessary libraries (software routines) makes the program.

A person who is developing computer programs often referred to as a PROGRAMMER, tools for creating computer programs that are used are called programming tools, and the process of program is usually called PROGRAMMING. Microsoft Company for the development of software offers the tools shown in the following pictures for free, with a registered user, if necessary, it is not important if you respect the rights specified in the license. The following pictures with a brief description of each of them acting as connectors to other sites where they can learn more about the individual software tools and download them.

 Visual Basic  Visual C#
 Visual C++  Visual Web Developer
 SQL Server Express Edition  Visual Studio Express Edition

'Express Edition' are simple programming tools easy to use and easy to learn. Products that are designed for those who have a hobby programming, students and non-profit organizations. As such, not all functions can be found in the full professional versions. Each 'Express Edition' edition contains good documentation that will help novice programmer to quickly learn the concepts that are necessary to build advanced applications. User interfaces are well organized to ensure the user-friendliness of the learning process. A new generation of development tools will definitely have to support the development of applications that will successfully take advantage of multi-core and multithreading processors, as well as the upcoming concept of successful use of GPU resources.

Absolute novice user will choose to learn some more simpler tool for creating computer programs, such as 'MS-DOS QBASIC' or 'MS-DOS QuickBASIC' (Quick Beginner's All-Purpose Symbolic Instruction Code) of company Microsoft Corporation. This tool has undergone a number of improvements and versions of which is the weakest called QBASIC 1.0 and as the most powerful QuickBASIC 4.5. In Windows 9X environment incorporates the language processor 'MS-DOS QBASIC' version 1.1, which can serve as a basis for learning of software support.

 Qbasic
Figure 6.2.2 Opening a window QBASIC program support.

The above program support, or programming tool, belongs to the group of interpreters in this version there is no possibility of 'compiling', i.e. creating executable files. This is in a way a free version of the tool that QuickBasic has previously mentioned ability. Fundamentals of software development, and 5 and 6 phase under Chapter 6.1, will continue to be displayed just the tool 'MS-DOS QBASIC' version 1.1. On the Internet you can find free tools similar to the above that fully comply with the syntax of BASIC and have additional options regarding creating forms and windows and even creating executable files, but adapted to the Windows environment, such as 'ThinBasic BASIC Interpreter', 'Emergence BASIC (EBASIC)' or the increasingly popular 'FreeBASIC compiler' designed in versions for DOS, Windows or Linux environment. New product from Redmond - 'Microsoft Small Basic', conceptually simple programming language, easy to learn with affordable developers 'Windows' environment which is basically an introduction to the 'Express' or 'Professional' tools, it is the best choice for beginners. It can also serve commercial tool 'PowerBASIC Compiler' for DOS and Windows operating systems, perfect for the novice programmer, the expert programmer, and most any level in between. From the standpoint of learning compatible with the descriptions that follow in subsequent chapters.

For professional use, they are quite popular MS Visual C++ and Java programming tools, and a new generation of career development tools .NET product group of the company Microsoft. For professional work is very important to know the programming tools 'work' with a database, one or more species, such as SQL or Oracle. Increasingly require web-like applications and the ability to work with PHP (Hypertext Pre-Processor) scripting language and database access located on a web server on it.

The program contains basically three parts. The first part of the mathematical model makes the task that program has to do that part usually occupies about 25% of program code. The second part is the creation of forms for data entry, was just over the keyboard and / or with the mouse, and output forms that give the user the results of treatment, and this part takes up about 25% of program code. Other waste and eliminate unwelcome prediction errors, type division by zero, exceeding the limit values of variables, and so forth. This third part of basically eliminating errors (error trapping) that could stop the flow of running the program. There will fall off and say part that controls whether in the form of input numbers are some letters. The program then not be interrupted, but the user should be shown a warning like: 'Warning, this is the only form of input numbers'. Therefore, testing is an important part in the development of computer programs is described as one of the stages of development of the program in the previous chapter. Suppose, on the mathematical tests; What is (1/3)*3? What to do when a division by zero? This means that the developer must very well to identify the problem of user, try to spot all his habits, such as how to use a computer, and a very good knowledge of language processor which is used in programming.




SUMMARY:

From what we have said it is clear that dealing with programming and software development, requiring education and the acquisition of knowledge and skills in order to develop the skills of abstraction, or the ability to articulate and address the problem or task with different approaches regarding its settlement with the separation of the essential from non-essential properties. Trivial example is the computation of trigonometric functions. Accepting 'final notice' virtual images without vision problems and possible methods to solve it, such as the value of the basic trigonometric angles without visualization capabilities circulation unit vector in the coordinate system, not a peculiarity which distinguishes effective programmers. Is the development of software for accounting service is essential to the accuracy of the estimates more than two decimal places? Or an entirely mathematical problem; 1/3=0.333333... <=> 0.333333...×3=1? Do you count 1, 2, 3... or 1.000, 2.000, 3.000... and when? The programmer should have a wide range of knowledge, must be resourceful, shrewd, clever, imaginative, creative, persistent, stubborn, and a systematic and steadfast love this job. Must constantly keep abreast of new technologies, and to learn from their own and others' mistakes.

Knowledge of English, mathematics, physics, technical drawing, art, music and similar 'unnecessary' knowledge of the following is not superfluous, nay permanent lifelong learning, school and independently, is a prerequisite for the successful work of good programmers where the programming can become a job. What kind of job? Say:

  • design and administration of databases,
  • design and programming interface (desktop)
  • programming web applications and web design,
  • programming network software (NOS)
  • programming device drivers,
  • programming service-supporting tools (utility),
  • multimedia programming tools,
  • programming and design games, simulators ...
  • programming development environment - tools,
  • programming operating systems,
  • programming microcontrollers,
  • programming the BIOS,
  • installation, maintenance and configuration .....
  • and much more .....

Software for accounting firms or mailroom, depending on the volume of business, number of employees in them and the available computer equipment, or it can contain quite a bit of this, and in the development of computer programs may participate one or more persons. Making quality of computer games, for example, requires advanced skills since its designing to making the source code for the operating system on which the game will use. It is very difficult for one person to expect success and enviable skill in multiple categories, and integration activities of skilled people in order to achieve the desired results, it is also art. Teamwork is essential. From the idea to its realization is a long way. Successful and relatively quick example of achieving the goal is the 'Google'. Have set themselves to do a good search engine and offer good services - and very successfully so. So, it takes considerable knowledge, skill in recognizing the problem or task, and a clear vision of its settlement.

It has been said on the program devised a set of instructions executed by the processor. Devised a logical point of view with the human side, but when viewed by 'eye' of the processor which never knows what the next instruction is, ENTROPY is sizeable. To be noted mitigated almost all of the computers devices used by some his own fast buffer (cache) that stores content related previous instructions or data, as some predict possible next tasks and thus achieves faster retrieval of needy.

 Back
 Search
 Next

 Content - Home
 Content  Informatics Alphabet
 
Citing this page:
Radic, Drago. " IT - Informatics Alphabet " Split-Croatia.
{Date of access}. <http://www.informatics.buzdo.com/>.
Copyright © by Drago Radic. All rights reserved. | Disclaimer