Object Oriented Programming Analysis

Improved Essays
Object-oriented programming has opened the possibility that software components can be constructed and re-used with more credibility. Software developers can create software objects that model real-world objects, and then create variables and methods that constitute the object they are developing. Programming utilizing real-world like objects makes the development process easier and more relatable for the individual or team overall by making it easier to understand how objects are interconnected with one another. The end goal of the program becomes clearer to visualize as the interconnection of objects begins to form a unified system of parts that form a product. This is referred to as encapsulation. Object-oriented programming has also opened up the notion of more flexible software that is able to adapt dynamically to the needs of the application at run-time. This is because making one change in an object-oriented programming language can affect the program globally rather than having to make many changes to affect a program globally like with C. Let us compare and contrast two different object-oriented languages, C# and C++ (Craig, 2007).
C# is
…show more content…
Everything in C# is an object. C# also has its own memory management called a garbage collector, very much like Java which the language was originally modelled after. Therefore destructors are not necessary in C#, while they are necessary in C++ to avoid memory leaks. Both languages also utilize different libraries, as C# mainly utilizes the .NET Framework. This makes sense for the C# language as it was developed with the intent on using the .NET framework efficiently. As a result of this, C# is utilized more commonly for web-development over C++. C++ utilizes more libraries in common with the libraries that C utilizes, and as a result is backwards compatible with C. C# however, is not backwards compatible with C (Gaudioso,

Related Documents

  • Improved Essays

    Having the all of the classes in the same document can be cluttering though so java implementation allows code to be broken up easier. Another difference is in the looping of each language Java has while, do while, and for loops. While Python only has while and for loops. Some of the key similarities between java and python are there garbage collection system which is used for managing memory. This garbage collector is very useful as it allows programmers not to worry about freeing allocated memory the language has it built in.…

    • 779 Words
    • 4 Pages
    Improved Essays
  • Improved Essays

    The true threshold for understanding is reached when a developer, unacquainted with the code, can make meaningful changes to the code to produce positive results. The speed of understanding can be affected through multiple metrics. For example, measuring how close to a standard format the code adheres will indicate an increased understanding. Fowler (2008) states that there is a direct correlation between the readability of the code and the quality of the developer. He states: “Any fool can write code that a computer can understand.…

    • 896 Words
    • 4 Pages
    Improved Essays
  • Improved Essays

    2.2. The goal of Human-Machine Interaction The Human-Computer Interaction is the study of the ways that a human user will make use of computational artefacts to interact with the system and infrastructures. In doing this, much of the research results will seek to improve the interaction between the human and the computer system by improving the usability of the interface. The usability would have to be understood in the context of how it will relate to the other social and cultural values and when it might not be a desired property of the system interface. The main goals of the Human-Computer Interaction would be to produce a usable, safe and functional system.…

    • 1396 Words
    • 6 Pages
    Improved Essays
  • Superior Essays

    As a model that is based on algorithms, cloud robotics greatly reduces costs in computing through the utilization of expandable resources capacities scalability and on-demand provision of resources that require no upfront infrastructural costs (Prentice, 2010). Cloud robotics in essence allows robots to have advantage of the increase in data transfer rates in order to offload tasks with no real-time requirements. However, numerous risks are involved in the use of this and other kinds of technology which is internet based. Consequently, algorithms come in to solve these risks which bring about the need for security to realize the desired…

    • 1403 Words
    • 6 Pages
    Superior Essays
  • Great Essays

    The control shell can decide which module is the most suitable for the task at hand, making the product more efficient 4. Software reuse – the already built modules can easily be used again in future projects 5. If you are a big team of developers it’s easier to distribute your work by having small teams work on different modules 5. Disadvantages Blackboard systems are not used very often. This is due to some of the following reasons: 1.…

    • 1228 Words
    • 5 Pages
    Great Essays
  • Superior Essays

    WHAT IS OBJECT ORIENTED PROGRAMMING? Object oriented programming in a methodology of software development that allows for the designation of functions to be applied to data structures such as classes, these classes are referred to as objects, hence the name. Object-Oriented coding is one of multiple major programming paradigms. These include but are not limited to; Imperative, Logical, Functional and Object oriented. Problems that can be solved by one of these paradigms can normally be solved by the others, however each paradigm has its own advantages and disadvantages for using them in different scenarios from reasons such as ease of use to how easy the code after is to understand.…

    • 1119 Words
    • 5 Pages
    Superior Essays
  • Improved Essays

    C++ was developed several years before Java, which allowed for Java to be heavily influenced by it (“Saylor.org” n.d.). Though Java was influenced by C++, it has many notable features that distinguishes it from C++, including garbage collection, and the fact that Java is platform independent. Another major difference between the languages is that Java is a WORA language, while C++ is a WOCA language. Java and C++ also share several similarities in their syntax, as both languages were influenced by C (“Cornell.edu” n.d.). Given that both languages are object-oriented languages, they are guaranteed to have many similarities, however, the current differences between the two languages is exceedingly evident, and will be continuously increasing for years to…

    • 847 Words
    • 4 Pages
    Improved Essays
  • Superior Essays

    The availability and presentation of information, influence managers positively, and negatively, and consequently, the aim of the decision support system has been one of the motivation to reduce biases. Therefore, managers use the readily available decision support systems to change the decision-making environments and generate a need for a better decision support. Types of Decision Support Systems There is so many ways to categorize computer systems, although the most practical one is to group them regarding what the user does with them (Power, n.d). Any person using decision support systems instigates each occurrence of system usage, either indirectly or directly. Usually, information gathered from the decision support systems can be comparative figures, accessing all information assets, projected figures based on assumptions or new data, and consequence of various decision choices or alternatives generated in a particular context in an experience.…

    • 1450 Words
    • 6 Pages
    Superior Essays
  • Improved Essays

    The many advantages to agile software development can improve the quality of work for a software development company. While there can be some disadvantages if the client does not want to be involved in the entire process or the team is not good at communication, these issues can be worked out as the team gains experience with the process. Agile software development companies are on the rise as more research shows it is a productive method of producing usable and effective…

    • 788 Words
    • 4 Pages
    Improved Essays
  • Great Essays

    Distributed Data Processing (DDP) departs from the centralized model in multiple ways. Advantages of DDP are Responsiveness, Availability, Resource Sharing, Incremental growth, increased user involvement and control End-user productivity. These systems improved performance of a computing system and individual users through parallel execution of programs, load balancing and sharing, and replication of programs and data. The problem is how to formalize the development of distributed computing. The above shows that the main issue of distributed computing is programs in execution, which are called processes.…

    • 1122 Words
    • 5 Pages
    Great Essays