School of Science, Engineering and Information Technology CRICOS Provider No. 00103D Page 1 of 3 ITECH5403 - Assignment 1 - Language Design Essay Due Date: 5pm, Friday of Week 7 This assignment will...

1 answer below »
please follow the pdf file


School of Science, Engineering and Information Technology CRICOS Provider No. 00103D Page 1 of 3 ITECH5403 - Assignment 1 - Language Design Essay Due Date: 5pm, Friday of Week 7 This assignment will test your knowledge of programming language design features, and is worth 20% of your non-invigilated (type A) marks for this course. Topic Overview Since the development of Plankalkül back in the 1940s, a large number of programming languages have been designed and implemented - each for its own specific problem domains and made with its own set of design decisions and compromises. For example there are languages which:  Are strongly typed and loosely typed,  Provide support for object orientation / abstraction of data types,  Use static or dynamic scoping rules,  Provide memory management (i.e. garbage collection) or allow the developer fine-grained control over heap-allocation and recycling,  Provide closures to allow functions to be passed around like variables,  Allow easy access to array slices and those which do not,  Perform internal correctness checking of data and those which do not,  Provide diverse and comprehensive suites of built-in functionality and those with a more limited set of features,  Use pre-processors and macros to selectively expand or substitute source code, etc. Each of these decisions can have a profound effect on the usefulness of a programming language in terms of factors such as its speed, robustness and general suitability to create programs of a certain type, such as for operating systems, or in the areas of business, scientific computation, artificial intelligence or video games. The topic of your essay is to design a language for the problem domain of Banking. Banking encompasses a number of areas including aspects of business, finance, and customer relations. It is worth thinking about the aspects of a banking system in terms of a number of features, including:  Performance;  Use and precision of data types and structures;  Maintenance of code;  Flexibility of design and implementation; and  Robustness requirements in such a critical domain. School of Science, Engineering and Information Technology CRICOS Provider No. 00103D Page 2 of 3 Even though security aspects are worth considering, the features of the language are the primary concern in this essay. With this in mind your task is to theoretically design a language suitable for the use within the banking domain. The actual implementation of the language and tool set is obviously outside the scope of this course, but you must express and justify the design decisions behind your programming language in terms of:  The features and functionality that will allow your language to be suitable and useful within the banking domain (including what differentiates it from existing languages),  The programming paradigms, such as procedural, object oriented, logic and functional programming. You are free to design your language to be either interpreted, compiled or to work in a hybrid manner, but you must thoroughly justify your decision. All language design choices must be sound, rational decisions which are backed up by robust discussion of the subject area. In addition, your document should include numerous references to back up any and all specific claims that you make. All references should be made in the APA referencing style. Submission and Marking Process Your essay should be between 3,000 and 4,000 words inclusive and may contain diagrams or images as you see fit. All diagrams, charts, images or other externally created materials incorporated into your essay must be appropriately referenced. You may supply your completed essay in either Word or LibreOffice/OpenOffice format in which the document can be edited – no proprietary Mac specific formats, please. Assignments will be marked on the basis of fulfilment of the requirements and the quality of the work. In addition to the marking criteria, marks may be deducted for failure to comply with the assignment requirements, including (but not limited to):  Incomplete language feature coverage,  Incomplete submissions (e.g. missing subject areas – see the marking guide),  Poor spelling and grammar, and  Incorrect adherence to the APA referencing style. Submit your document to the Assignment 1 Upload location on Moodle before the deadline of Friday of week 7 at 5pm. The mark distribution for this assignment is outlined in the provided marking sheet on the following page. School of Science, Engineering and Information Technology CRICOS Provider No. 00103D Page 3 of 3 ITECH5403 – Comparative Programming Languages Assignment 1 – Language Design Essay Student name: Student ID: Requirement Weight Mark - Introduction and explanation of language purpose. 10 - Choice and justification of interpretation/compilation method(s) to be used. 10 - Discussion of memory management and scoping features. 10 - Specification and rationale for major language features in terms of: - Simplicity, - Orthogonality, - Data types, - Syntax design, - Support for abstraction, - Expressivity, - Type checking - Exception handling, and - Restricted aliasing. 45 - Discussion of the readability, writability and reliability of the language based on the language characteristics as chosen. - 15 - References and APA referencing style. - 5 - Spelling and grammar. - 5 Assignment mark total / 100 Contribution to unit mark (out of 20%) % Comments:
Answered Same DayAug 25, 2020ITECH5403

Answer To: School of Science, Engineering and Information Technology CRICOS Provider No. 00103D Page 1 of 3...

Vidhi answered on Aug 28 2020
142 Votes
ITECH5403 – Comparative Programming Languages
Assignment 1 – Language Design Essay
Student name: Student ID:
1.Introduction and Explanation of language purpose:
For the banking purposes the best coding language which can be chosen is object oriented language and in object oriented language we can use Java++ and according to the specifications and competency I prefer the language c++ so to begin with I will first introduce the object oriented language and then I will discuss
about c++.
· Object Oriented languages : Object oriented languages are basically defines the concept of classes and objects and it deals with following properties if any language follows the following properties then it is known to be the object oriented language
· Classes->if in any program everything is defined inside the class then it said to be following the feature of object oriented language as class is defined as the container for the data members(variables)and member functions(functions )and the keyword for defining class is ‘class’
· Objects->Object is defined as the instance of the class as when class is defined no memory is allocated to the data members and member functions but when particular class is instantiated then the memory is allocated to the members of the class,In c++ we can define the object for any particular class as :’class name object name ;’
· Inheritance->Inheritance is the concept defined for the object oriented language which says that if any particular class is derived for the parent class and can access all the features of the parent class then there is inheritance exist between those two classes.
· Encapsulation->The wrapping up of data into a single unit is known as the Encapsulation ,and in Object oriented language we wrap up all data inside the class then it is known as the concept of Encapsulation
· Abstraction ->showing only essential features without including the background details is known as the Data Abstraction.
· Polymorphism -> polymorphism defines as to exist in different forms. In simple words, polymorphism is the ability of a function or message to be displayed in many forms or more than one form.
Real life consideration of polymorphism, suppose there is a person at same time can have different characteristic. Like a man at a same time is a father, a husband, an employee. So same person can exist in many forms in same time this is called polymorphism.
· Data Hiding ->Using Object oriented language we can hide the data using the access specifiers like if we do not want our class data members to be accessed by other classes member functions then we can use private Access Specifiers and if we want our data members to be accessed by all other classes then we can use the public Access specifiers, and there another specifier available is protected which says that there will be accessibility of the data members within the derived class. So according to our requirement we can us the access specifier and can hide our data whenever required.
· Message Passing-> In object oriented language we can also pass the message form one class to another using the objects and can make two or more classes communicate with each other.
OOP’s concepts can be shown graphically as:
C++:
C++ is a universal object-oriented programming (OOP) language, developed by Bjarne Stroustrup, it is the updation of the C language and it follows the syntax of c. Hence possible to code C++ in a "C style" or "object-oriented style." In some tasks, it can be implied in either way and is thus an effective example of a hetero language.
C++ is considered to be a general purpose language, as it abstract both high level and low-level language features. The language was called "C with classes" as it had all the properties of the C language with an additional concept of "classes." However, it was renamed C++ in 1983.
It follows the concept of Object oriented language and also basic features of c language hence it is easy to implement and easy to understand also hence I have chosen this language for banking purposes as whenever I want to use the concept of classes I can use that and whenever I want to use the simple syntax of functions then I can choose that also hence it will be very easy for me to implement the code using c++.
C++ also follows the concept of modularity as we can make functions also and we can also make the classes also hence modularity is achieved in this as it will be very helpful in designing the code and understanding it.
2. Choice and justification of interpretation/compilation method(s) to be used.
The language chosen as c++ is justified with 100 percent compatibility as Banking encompasses a number of areas including aspects of business, finance, and customer relations. It is worth thinking about the aspects of a banking system in terms of a number of features, hence I am defining the language considering the points taken care for banking system and overall performance for the banking system including:
· Performance : C++ is very simple to use and it can run in any c++ compiler in nay operating system it can run in g++ compiler or it can be run in Turbo c++ compiler also there is online compiler available for compiling running the c++ programs which can be installed anywhere anytime they can be installed in mobile also hence c++ ‘s performance is very good as it can be run very easily in any operating system and also there is IDE available for making c++ programs building up and running that visual c++ IDE is available for running c++ programs , and it can run within nano seconds hence performance wise it is very good.
· Use and precision of data types and structures : As I have already stated that c++ is very simple to use because it follows the simple syntax of procedural language c, and also it follows the modularity and various concepts of object oriented language as it is partly object oriented language and partly...
SOLUTION.PDF

Answer To This Question Is Available To Download

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here