Assignment title: Information
DQ1 - Structured and object-oriented programming The development of new programming languages is a continuous endeavour to better represent binary machine code as natural human thought. However, due to the ambiguity of thought (assumptions, inferences, sub-conscious actions, etc.), no ideal solution has been found for emulating real human thinking. Nevertheless, computer scientists have made vast improvements in programming languages over the years. One of the newer paradigms of programming languages is ‘object-oriented programming’ (OOP). Unlike the hierarchal nomenclature of structured programming, OOP focuses on describing objects (chunks of data) and combining them with functions that manipulate data. Is OOP the next step in mimicking human thought? What are the advantages and disadvantages of OOP versus structured programming? For this Discussion, you will analyse these nuances as you attempt to explain OOP to those of a non-technical background. To prepare for this Discussion: Review your Weekly Learning Resources with a focus on objected-oriented and structured programming. (attached in the uploads) Research the usages of objected-oriented and structured programming today. Reflect on how you think and how well objected-oriented and structured programming imitate that thinking. Identify examples of OOP and structured programming. Identify at least five key OOP concepts. Reflect on how to explain OOP concepts to a non-programmer. To complete this Discussion: Post: Create an initial post in which you compare object-oriented programming to structured programming. Address the following: Summarise the key concepts behind OOP and structured programming languages as if you were explaining them to a non-programming, non-computing individual. Use real-world analogies (e.g., you could say that the technique of inheritance is analogous to the inheritance of biological traits from parent to child in that certain characteristics and physical structures carry from one generation to the next). Analyse OOP and structured programming languages. Identify the advantages and disadvantages of each language type. Explain each advantage and disadvantage. Use examples of OOP and structured programming languages to support your analysis. Explain the perceived preference of OOP languages over structural programming languages in the computing industry today. Evaluate whether OOP languages better reflect the human way of thinking and conceptualising. Explain your reasoning. Fully state and justify any choices, assumptions or claims that you make using the suggested Learning Resources for this Week and/or your own research.