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 »
.


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 17, 2021ITECH5403

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

Mohd answered on Aug 26 2021
134 Votes
Comparative Programming Languages
Report
Table of Content
Introduction……………………………………………………3
Language purpose………………………………………….4
Method, scoping and memory....……………………………...4
Readability……………………………………………………..5
Realiabily………………………………………………………5
Writiabilty……………………………………………………..6
Simplicity………………………………………………………6
Orthogonality………………………………………………….7
Justification……………………………………………………8
Data types……………………………………………………...9
Syntax design…………………………………………………..9
Support for abstraction and Expressivity…………………..10
Type checking………………………………………………...11
Exception handling & Restricted aliasing………………….11
Discussion…………………………………………………….12
Reference……………………………………………………..13
Introdu
ction
In this language setup essay, we will depict the language we use to structure the money related application. Our standard stress to develop the bank system is prosperity and reliability in the whole deal. By and by multi-day if we research the web to make bank application we will find most of the monetary application using the thing arranged programming language to develop the bank application, for example, Java, C++, Dot Net, etc. We need a PC programming language to develop the monetary application which can be adequately consolidated with the Microsoft thing like Microsoft Office, Microsoft Excel, etc. We also require the programming language which supports web organizations (Oracle Java Documentation, 2018). We need to check the programming language execution and moreover the practicality of the PC programming language. Arranging and working up the bank application relies upon some reality like security and profitability workplaces which we provide for our customer.
Language purpose
Banking district direct manages the private budgetary information, and in the cash related space it is imperative to play out the majority of the exercises by banking programming will run successfully and with no-slip. Banking space performs different cutoff points like moving the store, saving the hold; cause the uniformity request, to can see exchange history, support withdrawal and some more. In this paper, we are going to structure a language for the issue of an area of Banking. JAC++ around the beginning of the arrangement is used as a retail use of language. In this way, clear and can use essentially progressively little contraptions, for instance, pos terminals. These new features join, gives the altered relationship of memory, programming fashioners need to choose and free memory in the program, the stunning memory task. Disregarding the C/C++ language in the confusing and screw up slanted "pointer", use various ways to deal with oversee offer a sort of reparation..
Method-(Interpretation-Compilation), scoping and memory
For banking application, we need to manage the application repayment and the closeness of the application, in light of the way by which that the money related application used in the wide zone, and we need the application which isn't the stage subordinate and moreover organized running when all is said in done coming about thankfulness without any changes. Also, I found java gives the cross-organize programming language what's more, it doesn't go under the basic changes with each new release. C++ and Java are most commonly used programming tongues. Java has a solid impact of C++ as it was made after C++ and both help OOP (Object Oriented Programming) impeccable models. The urgent capability which disconnects both of the programming vernaculars is that C++ is stage subordinate while Java is sorted out autonomous. Java source code is changed over into bytecode when sorted out. At runtime, the mediator executes this bytecode and gives yield. Generally, Java is a deciphered language and all things considered stage free. Then again, C++ utilizes a compiler to gather and run the source code. It changes over source code into machine level language; along these lines, C++ is stage subordinate.
Method and utmost over-stacking are strengthened by C++ where they share a practically identical name yet have parameters that adjustment in number or type. Access specifiers are utilized to drive epitome by restricting the receptiveness of class individuals (frameworks or information) in three one of a kind ways: to strategies for the class itself (private), the class and its subclasses (ensured), or any class/methodology/work (open). The majority of the restraints are performed on classes no on the things. C++ namespace gives a semantic development to pictures, in any case, doesn't affect the availability of noticeable substances.
Regardless, in Java, packs are responsible for managing the classes and offering a degree to identifiers. Same as C++ get to specifiers, Java gets to modifiers keep the transparency of properties and systems, private offers intraclass find the opportunity to, open gives complete access and secured stretches out access to subclasses depicted outside to their parent class' gathering. Dismissing the way that, java importance of checked is somewhat stand-out in association with C++. C++ uncovered its memory the authorities to the architect, which engages flexible memory allocation systems.
Readability
Now and again you can form code that gets used for a piece and a short time later disposed of. Usually, you aren't so blessed. Over the long haul you have to return and examine it, or someone does. In case you understand you're leaving the association soon, and you despise your colleagues, you should consider a language like Intercal or C++, with lavish accentuation and much dynamically uncommon semantics. Of course, if conceivably's you might be stuck keeping up the code, or you need the alternative to exhibit it to different people without adjusting your head in disrespect, the cognizance of the language is huge. A lot of components go into choosing if a language is lucid. The most obvious is acknowledgment. The human character is commonly fantastic at alteration, and normally it's confounding what the mind will see as "average." Familiarity just begins from consistent presentation, in any case, which suggests that vernaculars with respectably clear sentence structure become conspicuous even more quickly. Stammer is at one phenomenal, with only a solitary syntactic form. It's definitely not hard to get settled with Lisp, though understanding the colossal Common Lisp standard library is another issue. C++ is the outstanding language at the different unbelievable.
Realiabily
Ground-breaking infers strong and no programming language can really ensure steadfast quality. Java puts a lot of highlight on early checking for potential errors, as Java compilers can recognize various issues that would initially show up during execution time in a long time. Constancy of a programming language suggests how crash-check is the code written in that...
SOLUTION.PDF

Answer To This Question Is Available To Download

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here