Object oriented programming vs. procedural programming - the pros and cons Computer programming as we know is an important engineering task in modern world where a maximum number of electronic equipment are based on microcontrollers and microprocessors. The cost of microprocessors and controllers have gone so low that the cost of entire electronic circuit which used to be sky high in 1970s and 80s, has now gone to down drastically. Even the simple microcontrollers we use today are able to perform complex arithmetic tasks along with several other tasks such as on chip network interface, wireless interface, etc. In order to utilize all the functions of a given processor, one must know the important programing procedures available today. In this research paper we will go through two distinct and most debated programming procedures – The object oriented Programming method and the procedural programming method. Let us first look at what Procedural programming is before jumping on to the Object oriented programming. Procedural programming uses the sequential flow of the instructions. Each statement or each instruction is executed sequentially. The program may call subroutines and other functions and execute them and then return to the main program flow. Different procedures are defined in the program which may be called at any point during execution. Procedural programming is also known as imperative programming because at certain times the variables or constants declared are specific to the processor’s registers. For example, a program written for the microcontroller ATmega328 would not work on TI LM4F120 because the register addresses, the address bus and memory interfacing would differ to a great extent. The most commonly known proc... ... middle of paper ... ... more readable which is helpful for maintaining the code well. Whereas this flexibility for the programmer has impact on the execution speed of the program. If the processor we are dealing with is powerful enough then the impact would not be felt at all, but if we use OOP on embedded systems, we have to take care that the memory footprint of the program is less. If this requirement is not met we can always use the procedural programming style which is very close to the hardware and has a very less execution time, making its way into the real time applications of life critical equipment and real time signal processing. Although procedural languages do not make the code very readable and maintaining it can be, at times difficult. As the processors get more and more powerful, the trend is towards OOP, but procedural programming style rules the world of embedded systems
This will make programming more interesting later on, as this course
Parsons, June J. and Oja, Dan. Computer Concepts 8th Edition. United States: Course Technology, 2006.
The more equations the program has to do, so the program is a lot bigger and needs a lot more power to do everything the game wants.
What do you think are the main advantages of specifying a computer-based system by means of such a structured specification?
The Ada language is the result of the most extensive and most expensive language design effort ever undertaken. The United States Department of Defense (DoD) was concerned in the 1970¡¦s by the number of different programming languages being used for its projects, some of which were proprietary and/or obsolete. Up until 1974, half of the applications at the DoD were embedded systems. An embedded system is one where the computer hardware is embedded in the device it controls. More than 450 programming languages were used to implement different DoD projects, and none of them were standardized. As a result of this, software was rarely reused. For these reasons, the Army, Navy, and Air Force proposed to develop a high-level language for embedded systems (The Ada Programming Language). In 1975 the Higher Order Language Working Group (HOLWG) was formed with the intent of reducing this number by finding or creating a programming language generally suitable for the department's requirements.
The programming language C++ can be used in many ways. It has exploded into the gaming community allowing PC game programmers to have access to a stabile, yet powerful, programming language, utilizing as little code as possible. It has also been used in other commercial software, such as word processors, audio players, screen savers, and other computer desktop tools.
Writability. Visual C++ allows for more expressivity while writing code. As in the previous example, incrementing a value can be done in several different ways. Implementing a binary tree in Visual C++ comes natural with the use of pointers. While this can be accomplished in Visual Basic with the use of references, it is more cumbersome. Overall, Visual C++ has higher writability than Visual Basic.
Compilers collect and reorganize (compile) all the instructions in a given set of source code to produce object code. Object code is often the same as or similar to a computer's machine code. If the object code is the same as the machine language, the computer can run the program immediately after the compiler produces its translation. If the object code is not in machine language, other programs—such as assemblers, binders, linkers, and loaders—finish the translation.
obect orientated programming has many advantages, one of these is the fact that the objects created : Jeffrey L. Popyack (2012) "can easily be reused in other programs." The Saylor Foundation also states that object orientated programming allows “Improved software-development productivity" and "Improved software maintainability” through the modular structure of the development.
During my under-graduate studies in Computer Science at Uttar Pradesh Technical University, subjects like ‘Compiler Designs’, ‘Principles of Programming languages’ and ‘Introduction to Web Technology’ were the ones that interested me the most. I designed and tested a simple function reading and mapping language using ‘JavaCC’ as a hobby activity. The sense of exhilaration I felt to see my own creation compile successfully cannot be described.
My interest in Computers dates back to early days of my high school. The field of CS has always fascinated me. The reason for choosing CS stream was not a hasty decision. My interest started developing in the early stage of my life, when I studied about the invention of computers. The transformation from the large size to small palmtops enticed me to know about the factors responsible for making computers, also the electronic gadgets so small. I was quite impressed after seeing a small chip for the first time in my school days, especially after I learnt that it contained more than 1000 transistors, “integrated circuits”.
Computer programming can as well be defined as a process that leads from an original formulation of a computer problem to execute problems. Computer programming is also referred to as programming. It encompasses other activities such as understanding, analysis and generally solving problems that result in algorithm, verifying the algorithm requirements and coding algorithm in a target program language. The program also involves the implementation of the build system and managing derived artifacts like computer programs machine codes. Most often, the algorithm is represented in human-parseable languages such as Java, Python, Smalltalk among others.
Software engineering encompasses various principles from both the computer science field and the computer engineering field to develop practical uses of software within hardware we use on a daily basis. With the passage of time, technology dependent on software has become increasingly prevalent. As a result, there will be a high demand for software engineers to sustain the eventual abundance of new and more complex computers.
Pascal programming language was designed in 1968, and published in 1970. It is a small and efficient language intended to encourage good programming practices using structured programming and data structuring. Pascal was developed by Niklaus Wirth. The language was named in honor of the French mathematician and philosopher Blaise Pascal. In 1641, Pascal created the first arithmetical machine. Some say it was the first computer. Wirth improved the instrument eight years later. In 1650, Pascal left geometry and physics, and started his focus towards religious studies. A generation of students used Pascal as an introduction language in undergraduate courses. Types of Pascal have also frequently been used for everything from research projects to PC games. Niklaus Wirth reports that a first attempt to merge it in Fortran in 1969 was unsuccessful because of Fortran's lack of complex data structures. The second attempt was developed in the Pascal language itself and was operational by mid-1970. A generation of students used Pascal as an introductory language in undergraduate courses. Pascal, in its original form, is a Procedural language and includes the traditional like control structures with reserved words such as IF, THEN, ELSE, WHILE, FOR, and so on. However, Pascal has many data structuring and other ideas which were not included in the original, like type definitions, records, pointers, enumerations, and sets. The earliest computers were programmed in machine code. This type of programming is time consuming and error prone, as well as very difficult to change and understand. Programming is a time-consuming a process. More advanced languages were developed to resolve this problem. High level languages include a set of instruction...
Software, such as programming languages and operating systems, makes the details of the hardware architecture invisible to the user. For example, computers that use the C programming language or a UNIX operating system may appear the same from the user's viewpoint, although they use different hardware architectures. When a computer carries out an instruction, it proceeds through five steps. First, the control unit retrieves the instruction from memory—for example, an instruction to add two numbers. Second, the control unit decodes the instructions into electronic signals that control the computer.