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 »
words should be between 3000-4000


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 23, 2020ITECH5403

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

Ashish answered on Aug 29 2020
154 Votes
Introduction
Banking sector is the sector where anyone can ask for the help any time or we can say that it is a sector where the customer available 24*7 there is no timing. So this sector requires a language which is safe, robust, fast etc. And for this Java, Scala, C++ etc are the best example. After the globalization when everything going to be online than why the banking sector remain backward? With the help of the internet and web application your bank is 24*7 available to you. You can check your account any time; you can withdraw\ deposit your many and many facility.
The private and
commercial sector banks actively operate their software. Computer languages or sometime we called the programming languages are the languages which are used to write any program. Programs is the collection of instructions and many program on a single platform makes the software so we can say that while developing any software programming is very important. In modern era, there are many programming language and they all have their one specific quality.
A programming language is a set of instruction which gives instruction to the computer to perform specific task. The term programming language generally refers to the high-level language. There are many different language used nowadays. C, C++, Java, php, .Net etc are some of the best language of the modern time. Python is another very important programming language used nowadays. Small talk is the only programming language which is fully object oriented.
Safety is the major concern nowadays, hackers mostly attacks on the computer to stole valuable data and in this regard software must be developed as strong as possible and to develop such software highly secure language must be used. Banking is the such domain where the sensitive works performs like withdrawal, transaction etc and by a little mistake you can loss all your money and banking may also suffer so to stop such activity strong and powerful software must be made and deployed so that such activity can be stopped.
Choice and justification of interpretation\compilation method (s)
Plankalkul was the first programming language developed by Konrad Zuse between 1942 and 1945. As discussed in the question there are many programming languages which have its own specific domain and have its own set of decision and decision. For example some programming languages;
1) Are Strongly typed and loosely typed
2) Supports object oriented paradigm
3) Provide memory management (i.e., garbage collection)
4) Enables functions to be passed around like variables
5) Enables easy access to array slices and those which do not
6) Perform internal correctness of data and those which do not
7) Provides diverse built-in functionality and those have limited set of features
Each of the above decisions makes every programming language useful and different from other programming languages. Robustness, speed, and general suitability are some of the important quality of programming language. The above special qualities and decisions helps to deal with operating system, Artificial intelligence, video games etc.
The language which is useful from the banking point of view is ‘Java’. Although java is not fully Object oriented programming language but a very important language nowadays. Java is partial ‘OBJECT ORIENTED PRIOGRAMMING LANGUAGE’. And in banking sector Java has a strong base. Other than Java .Net, C++, Scala etc are also important language used in the banking sector.
Before designing programming language developer must keep the following thing in mind;
1) Familiar with technology
2) Familiar with terminology
3) Aim and Vision must be clear
4) Semantic of the problem
· What are the data type of your language
· What type of language you want to design static or dynamic?
· Is the language design domain-specific or general purpose?
· What is the memory management? (Garbage collector or manual memory management)
· What will be the procedure to handle concurrency? (Simple threading\locking model or complex model like Linda)
· Does language support primitive function or everything comes from the library?
· What will be the main paradigm of the language? Functional? Object-oriented? Scripting? Template oriented? Or something totally different?
· If someone is developing domain specific then interface with the existing libraries and languages must be clear and good.
5) If you are developing a programming language for any specific- domain then it must perform the entire task efficiently.
6) Experiment with the syntax ideas
7) Work on formal grammar for syntax
8) Decide whether the language compiled or interpreted
9) Use the parser information to write object code
10) Use executor or code generator
11) Test program to test the language
12) If you want that your language should use the standard library then you will have to write it.
13) Consider how the user will debug their program
14) At last publish it (programming language), along with specification.
So before designing the programming language, designers and developers should keep the above things in mind.
Banking encompasses the number of sectors including finance, transactions, customer relation etc. so the programming language for banking system must be designed like this that it should fit in all the aspects including performance, use of data types, maintenance of code, flexibility and design, safety and robustness. Today in banking sectors Java is the first choice because it fits in all aspects. Although Java is a partial object oriented language, but have many good and advantageous features. So we will design a language that will fit in all the aspect.
Memory management and scoping features
Memory management is another very important concept.
Different languages have many different memory management features.
· BASIC has quite powerful string handling operation and requires garbage collector...
SOLUTION.PDF

Answer To This Question Is Available To Download

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here