Premium Essay

Procedural Programming Compared to Object Oriented

In:

Submitted By MommySugar36
Words 924
Pages 4
Compare and Contrast Object Oriented Programming and Procedural Programming Languages
Object Oriented Programming 1
Marty Montgomery

Compare and Contrast Object Oriented and Procedural Programming Languages:
Object Oriented Programming and Procedural Programming are two programming paradigms. A programming paradigm is a fundamental style of computer programming, and they differ in the way different elements of the program are represented and how steps for solving problems are defined. As the name suggests, Object Oriented Programming focuses on representing problems using real-world objects and their behavior while, Procedural Programming deals with representing solutions to problems using procedures, which are collections of code that run in a specific order. (Gaddis, 2010)
Procedural Programming is a method of writing software. It is a programming practice centered on the procedures or actions that take place in a program. One of the main concepts of Procedural Programming is the Procedure call. A procedure also known as a subroutine, method or a function contains an ordered list of instructions to be carried out. A procedure can be called at any time during the execution by any other procedure or by itself. Examples of Procedural programming languages are C and Pascal. (Gaddis, 2010)
In OOP, the focus is on thinking about the problem to be solved in terms of real-world elements and representing the problem in terms of objects and their behavior. Object is a data structure that closely resembles some real-world object. Objects contain data fields and methods that represent attributes and behavior of real-world objects. There are several important OOP concepts such as Data abstraction, Encapsulation, Polymorphism, Messaging, Modularity and Inheritance. Some popular OOP languages are Java and C#. However, they can be used to perform Procedural

Similar Documents

Premium Essay

Procedural Programming Compared to Object Oriented

...Accessing the Internet with a Firewall The Internet's firewall is one of the most important features of the security of the browser when using the Internet. The firewall plays an integral role in preventing compromise to the end user of the Internet from malicious networks. When using the Internet, the traffic is either incoming or outgoing. The control between the incoming networks and the outgoing is managed by the firewall. The protection and the enhancement of the security of the browser through the firewall is done through the creation or formulation of an obstacle which prevents the browser and the network that they are using from other networks that could be potentially harmful to the browser (Siyan, & Hare, 1995). In its action in preventing harmful networks from malicious activities on the user's browser, the firewall prevents the private and potentially dangerous networks from private providers. The firewall has various points of checking, ascertaining that a given network is authorized and subsequently preventing or allowing access. This way, the Internet from the public cannot be capable of transverse the user's network (Chapman, & Zwicky, 1995). There are various types of firewalls, and each firewall serves in protecting the browser at different levels depending on the required level of security. The three types of firewall include the packet filter firewall, the proxies, and the application layer firewalls. Each plays a distinct role in facilitating...

Words: 835 - Pages: 4

Premium Essay

Mr.Travis

...OOP as Compared to Using Only PP Name University OOP as Compared to Using Only PP Object oriented programming is one programming ideal model that uses the idea of abstraction (as objects and classes) to make models focused at the environment based on the real world. An object oriented application utilizes a gathering of objects, which are conveyed by passing messages to ask for different services. These objects are fit for passing messages, getting messages, and handling information. The point of programs coded using object oriented programming is to attempt to build the adaptability and practicality of projects. Since projects made utilizing an object oriented programming language are measured, they might be less demanding to create, and more straightforward to see after the development of the program itself (Sintes, 2002). There are many arguments between the differences between object oriented programming and procedural programming. Many claim that the latter is much better than the former because of the latter’s advantages. To understand it more, let us put it this way. Projects are made up of different modules, which are considered as individual parts of a program that could be coded and tried out independently, and afterward collected to structure a complete system. In procedural programming languages such as C, these modules are known as procedures, where a system is a grouping of different statements. In the C programming language, for instance, the procedures...

Words: 904 - Pages: 4

Premium Essay

Algorithmic Programming

...What is procedural or algorithmic programming? Procedural programming is a programming methodology which divides a task into routines or procedures and process, one by one according to their relevance in task completion. Thus procedural or algorithmic programming is based upon concept of procedure call. Here procedures or subroutines are series of computational steps. It enables the programmers to specify simple interface, very suitable for reusability, and procedures are self-contained.  Because of reusability, different people can use the code written by someone. This also paves way to creation of programming libraries.   Procedural programming offers the following advantages: 1.       Ease of implementation 2.       Easier to keep track of program flow. 3.       Modularized 4.       Need less memory Disadvantage of procedural programming can be summed up as: 1.       Data is exposed to whole system. 2.       Real world object mapping is difficult. 3.       New user data type creation is very difficult. Reusability Procedural programming does achieve reusability of code within the same program as well as other programs. This is achieved by creating reusable chunk of code called procedures. Procedures can be declared and defined locally or globally inside a program. It enables the programmer to call the specific procedure at any point of the program. But here is a point to notice that local declaration permits reuse only within the local scope while a global...

Words: 870 - Pages: 4

Premium Essay

Programming Language

...Programming Language Student’s Name Institution Affiliation Programming Language 1. A machine language involves collection of some patterns of bits that the central processing unit recognizes as instructions. Every CPU design contains its own machine language. For the microcomputer, the machine language of the CPU contains 75 instructions, and for the large mainframe computers, it contains hundreds of instructions. The instructions have patterns of 1s and 0s. An assembly language involves some collection of symbolic and mnemonic names that are contained in every instruction in the machine language of the CPU. It is usually tied to the specific CPU design. In addition, programming in assembly machine needs some intimate acquaintance with the architecture of the CPU. 2. Assembly language involves low level languages that are relatively easier to understand when compared to high level languages. Programs written in assembly languages are not portable, in addition, that their debugging process is also not very easy. The programs that are developed in this language are usually machine-dependent. On the other hand, high level languages are easily understood and their programs are portable. Debugging of their codes is easy, in addition, that the program written is not machine dependent. 3. Machine language is quite related to and understood by a computer. This is because computers get to understand binary...

Words: 579 - Pages: 3

Premium Essay

Reusability of Code

...Reusability of Code To be able to compare and contrast procedural programming modules and object-oriented programming, or OOP for short, we need to understand the two different styles. Procedural programming was the most commonly used programming language early on with a top-down model. This programming module places its attention on procedures or actions, which take place within the program. A few examples of procedural programming are FORTRAN and BASIC. OOP although has become the preferred method of use. OOP focuses on objects, which are self-contained unit containing date and data operations. When it comes to the reusability of codes OOP makes this task much easier. As procedural programming is a line-by-line programming style as if to be writing out simple instructions. OOP however allows the programmer to utilize inheritance. Inheritance gives the programmer the ability to create new classes, known as subclasses, based on an existing class, known as the superclass. This ability enables the programmer to utilize the data and methods of the original class or superclass. This whole process is where the programmer is able to utilize code that already was written saving them time and eliminating the opportunity for programming errors. Another benefit to OOP over procedural programming is security and the ability to hide code. Within OOP, the programmer is able to label certain data fields as private. Once these data fields are labeled as private, their data and methods...

Words: 621 - Pages: 3

Premium Essay

Unit 2 Research Assignment

...class-based, object-oriented computer programming language that is specifically designed to have as few implementation dependencies as possible. It is intended to let application developers "write once, run anywhere" (WORA), meaning that code that runs on one platform does not need to be recompiled to run on another. Java applications are typically compiled to bytecode (class file) that can run on any Java virtual machine (JVM) regardless of computer architecture. Strengths:WORA, popularity Weaknesses: Slower than natively compiled languages Sample syntax: class HelloWorldApp { public static void main(String[] args) { System.out.println("Hello World!"); } } C++ is a programming language that is general purpose, statically typed, free form, multi-paradigm and compiled. It is regarded as an intermediate-level language, as it comprises both high-level and low-level language features. Developed by Bjarne Stroustrup starting in 1979 at Bell Labs, C++ was originally named C with Classes, adding object oriented features, such as classes, and other enhancements to the C programming language. The language was renamed C++ in 1983, as a pun involving the increment operator. Strengths:Speed Weaknesses: Older and considered clumsy if compared to Java Sample syntax: #include using namespace std; void main(){ cout << "Hello World!"; } C# is a multi-paradigm programming language encompassing strong typing, imperative, declarative, functional, procedural, generic...

Words: 477 - Pages: 2

Premium Essay

Organization of Programing Languages

...or CMP 401 ASSIGNMENT | ORGANIZATION OF PROGRAMMING LANGUAGES | | ANZOTSA JOHN ALAKU | BHU/12/04/05/0042 COMPUTER SCIENCE 400 LEVEL | | | ABRSTRACT My objective for these research was to find out about different programming languages and paradigm in which they belong, the most important use in this research are text and journal by other researchers. After all studies where carried out, I came to a conclusion that one programing language can belong to more than one paradigm C++ C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. Some people say that C++ is a middle language because it has the features of high level and low-level language. As one of the most popular programming languages in the world, C++ is widely used in the software industry. C++ is also used for hardware design to analyze structure. Some of its application domains include systems software, application software, device drivers, embedded software, high-performance server and client applications, and entertainment software such as video games. AspectJ AspectJ is a general-purpose Aspect-Oriented extension to java programming language. It was created at Palo Alto Research Center Incorporated (PARC), now it is an open source project and part of the Eclipse Foundation. AspectJ has everything that Java has and more which...

Words: 3773 - Pages: 16

Free Essay

Php for Social Solutions

...Object-Oriented Programming with PHP5 Learn to leverage PHP5's OOP features to write manageable applications with ease Hasin Hayder BIRMINGHAM - MUMBAI Object-Oriented Programming with PHP5 Copyright © 2007 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, Packt Publishing, nor its dealers or distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book. Packt Publishing has endeavored to provide trademark information about all the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information. First published: December 2007 Production Reference: 1031207 Published by Packt Publishing Ltd. 32 Lincoln Road Olton Birmingham, B27 6PA, UK. ISBN 978-1-847192-56-1 www.packtpub.com Cover Image by Karl Moore (karl.moore@ukonline.co.uk) Credits Author Hasin Hayder Reviewers Kalpesh Barot Murshed Ahmed Khan Proofreader Development Editor Nanda Padmanabhan...

Words: 10232 - Pages: 41

Premium Essay

Comparison of C, C++, and C#

...Jason Latham Comparison of C, C++, and C# IADT Seattle The C family of languages has been a cornerstone in the programming field for years. So exactly what is the C family? It includes the C, C++ and C# (pronounced sharp) languages. Now that we know what they are, what are the differences between the three? Well, that is what will be discussed here. C is a minimalistic programming language because it could be compiled in a straightforward manner by a relatively simple compiler. C offers low-level access to memory via pointers and the ability to access specific hardware addresses. C generates only a few instructions of machine languages for each of its core language elements and does not require extensive run-time support. It can be concluded that C language is suitable for many systems-programming applications that had traditionally been implemented in assembly languages (Gabb, 2012). With its inherent low-level memory access and small run-time support, using C for embedded hardware systems is ideal. Many devices such as robots, machinery, and electronic tools are programmed utilizing its ability to access specific hardware addresses. However, as C is structured oriented programming language and focuses on the procedural programming paradigm, it is relatively hard to control the large-scale program. As C language has high level and machine level mixed programming capacity, it is used in most hardware related applications. It is very suitable for writing programs in embedded...

Words: 1038 - Pages: 5

Free Essay

.Netframework

...of .NET 1.0 were released. The Common Language Runtime (CLR) is the virtual machine component of Microsoft's .NET framework and is responsible for managing the execution of .NET programs. .NET is an object-oriented language. You use namespaces to get specific classes you need to use to do your work, and you use subroutines and functions to determine how the server processes user input. ASP.NET is an object-oriented, event-driven programming model for Web pages. Like all .NET programs, you can write ASP.NET pages in any of the four supported languages. 1.APL - is an interactive array-oriented language and integrated development environment, which is available from a number of commercial and noncommercial vendors and for most computer platforms. It is based on a mathematical notation developed by Kenneth E. Iverson and associates that features special attributes for the design and specifications of digital computing systems, both computer hardware and software. 2.ASNA Visual RPGRPG.NET - ASNA Visual RPG for .NET (AVR) is the only RPG compiler available for .NET. It produces native, verifiable, .NET assemblies and integrates very tightly with Visual Studio 3.Boo Codehaus Boo – python inspired syntax - Boo is a new object oriented statically typed programming language for the Common Language Infrastructure with a python inspired syntax and a...

Words: 1902 - Pages: 8

Premium Essay

Programming Languages

...Unit 1 Research Assignment 1: Exploring Programming Languages Computers don't do anything without someone telling them what to do, much like the average teenager. To make the computer do something useful, you must give it instructions in either of the following two ways: * Write a program that tells a computer what to do, step by step, much as you write out a recipe. * Buy a program that someone else has already written that tells the computer what to do. Ultimately, to get a computer to do something useful, you (or somebody else) must write a program. A program does nothing more than tell the computer how to accept some type of input, manipulate that input, and spit it back out again in some form that humans find useful. Table 1 lists some common types of programs, the types of input that they accept, and the output that they produce. Essentially, a program tells the computer how to solve a specific problem. Because the world is full of problems, the number and variety of programs that people can write for computers is practically endless. But to tell a computer how to solve one big problem, you usually must tell the computer how to solve a bunch of little problems that make up the bigger problem. If you want to make your own video game, for example, you need to solve some of the following problems: * Determine how far to move a cartoon figure (such as a car, a spaceship, or a man) on-screen as the user moves a joystick. * Detect whether the cartoon figure...

Words: 3836 - Pages: 16

Free Essay

Programming

...TeamLRN Robert Lafore Teach Yourself Data Structures and Algorithms in 24 Hours 201 West 103rd St., Indianapolis, Indiana, 46290 USA Sams Teach Yourself Data Structures and Algorithms in 24 Hours Copyright © 1999 by Sams Publishing All rights reserved. No part of this book shall be reproduced, stored in a retrieval system, or transmitted by any means, electronic, mechanical, photocopying, recording, or otherwise, without written permission from the publisher. No patent liability is assumed with respect to the use of the information contained herein. Although every precaution has been taken in the preparation of this book, the publisher and author assume no responsibility for errors or omissions. Neither is any liability assumed for damages resulting from the use of the information contained herein. International Standard Book Number: 0-672-31633-1 Library of Congress Catalog Card Number: 98-83221 Printed in the United States of America First Printing: May 1999 01 00 99 4 3 2 1 EXECUTIVE EDITOR Brian Gill DEVELOPMENT EDITOR Jeff Durham MANAGING EDITOR Jodi Jensen PROJECT EDITOR Tonya Simpson COPY EDITOR Mike Henry INDEXER Larry Sweazy PROOFREADERS Mona Brown Jill Mazurczyk TECHNICAL EDITOR Richard Wright Trademarks All terms mentioned in this book that are known to be trademarks or service marks have been appropriately capitalized. Sams Publishing cannot attest to the accuracy of this information. Use of a term in this...

Words: 10065 - Pages: 41

Free Essay

Linux

...2 Adaptive and Reflective Middleware 2.1 Introduction Middleware platforms and related services form a vital cog in the construction of robust distributed systems. Middleware facilitates the development of large software systems by relieving the burden on the applications developer of writing a number of complex infrastructure services needed by the system; these services include persistence, distribution, transactions, load balancing, clustering, and so on. The demands of future computing environments will require a more flexible system infrastructure that can adapt to dynamic changes in application requirements and environmental conditions. Next-generation systems will require predictable behavior in areas such as throughput, scalability, dependability, and security. This increase in complexity of an already complex software development process will only add to the already high rates of project failure. Middleware platforms have traditionally been designed as monolithic static systems. The vigorous dynamic demands of future environments such as large-scale distribution or ubiquitous and pervasive computing will require extreme scaling into large, small, and mobile environments. In order to meet the challenges presented in such environments, next-generation middleware researchers are developing techniques to enable middleware platforms to obtain information concerning environmental conditions and adapt their behavior to better serve their current deployment. Such capability...

Words: 10610 - Pages: 43

Free Essay

Analyzing Anti-Pattern Detection

...comprehension and maintainability of a software system, and thus, understanding and detecting Anti-patterns provides the knowledge to prevent or recover from them. This paper discusses the anti-patterns of object oriented design, their symptoms, and consequences and issues related to their detection. This study also discusses some of the tools and approaches that are currently being developed and used in the software industry to detect anti-pattern. Towards the end, this paper also highlights some of the problems that are still open, to drive future research direction in this field. 1. Introduction Now-a-days, most of the software projects deal with large number of components that make the software more complicated and hard for novice designers to design. A design pattern is one of the most simple and powerful techniques used to improve the software design. Unfortunately, due to a number of market/customers constraints, anti-patterns may get introduced into the software systems and deteriorate its software quality. Hence, anti-patterns need to be carefully detected and monitored and, consequently, refactoring operations should be planned and performed to deal with them. In this paper, we will focus to present the different types of anti-patterns in object-oriented design, their symptoms and consequences, and the challenges and issues...

Words: 4918 - Pages: 20

Free Essay

Management Concept

...Software Engineering: A Practitioner's Approach Copyright © 1996, 2001 R.S. Pressman & Associates, Inc. For University Use Only May be reproduced ONLY for student use at the university level When used in conjunction with Software Engineering: A Practitioner's Approach. Any other reproduction or use is expressly prohibited. Chapter 1 The Product CHAPTER OVERVIEW AND COMMENTS The goal of this chapter is to introduce the notion of software as a product designed and built by software engineers. Software is important because it is used by a great many people in society. Software engineers have a moral and ethical responsibility to ensure that the software they design does no serious harm to any people. Software engineers tend to be concerned with the technical elegance of their software products. Customers tend to be concerned only with whether or not a software product meets their needs and is easy to use. 1.1 The Evolving Role of Software The main point of this section is that the primary purpose of software is that of information transformer. Software is used to produce, manage, acquire, modify, display, and transmit information anywhere in the world. The days of the lone programmer are gone. Modern software is developed by teams of software specialists. Yet, the software developer's concerns have remained the same. Why does software take so long to complete? Why does it cost so much to produce? Why can't all errors be found and removed...

Words: 43682 - Pages: 175