design a language for the problem domain of Banking

User Generated

CenzbqZnnqunz7

Computer Science

Description

The topic 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.

Unformatted Attachment Preview

School of Science, Engineering and Information Technology 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. CRICOS Provider No. 00103D Page 1 of 3 School of Science, Engineering and Information Technology 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. CRICOS Provider No. 00103D Page 2 of 3 School of Science, Engineering and Information Technology ITECH5403 – Comparative Programming Languages Assignment 1 – Language Design Essay Student name: Student ID: Requirement Weight - 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 Contribution to unit mark (out of 20%) Mark / 100 % Comments: CRICOS Provider No. 00103D Page 3 of 3
Purchase answer to see full attachment
User generated content is uploaded by users for the purposes of learning and should be used following Studypool's honor code & terms of service.

Explanation & Answer

Attached.

Running Head: PROBLEM DOMAIN OF BANKING

Problem Domain of Banking
Institutional Affiliation
Date

1

2

PROBLEM DOMAIN OF BANKING
Introduction.
It is quite evident that different programming languages exist in the world today. When
planning for a software solution your choice of programming language can depend on many
factors. In a situation where the system being developed is meant for personal use or for leisure

purposes, one can settle for a language he or she is familiar with. However, if the desired system
is for solving critical solutions, there is a need to look for a programming language with the
utmost efficiency and easy development for your project. When choosing a programming
language you cannot settle for a single factor in determining the best programming language, this
is due to the fact that, no single language is the best choice, though certain factors can be given
preferences in determining the language to settle for, like performance, robustness, language
elasticity, ability to learn and use, security, the ability of software reuse, portability, and
encapsulation among other factors. In the world of banking the technology used should be
selected in a relatively conservative way, the programming language chosen should be stable,
secure, fast in performance, easily modifiable, robust and flexible among other factors (Kumar
&Lynn, 2014)
The banking system needs to be robust, user-friendly, performance should be efficient,
flexible, therefore the programming language selected to design the system should possess all of
the above features, if not more. Most Banking systems are probable to use C# (.Net), Java, and
C++ for the most part. Modern banks are probably more competitive than conventional banks so
they would likely have more impenetrable languages in play, such as Python, JavaScript, Scala,
Erlang etc. as needs dictate. In this paper, I will try to explain how to design a language suitable
for the use within the banking domain, hypothetically. The programming language of my choice
is Python. This owes to the fact that the python language to me appears more ideal for building

PROBLEM DOMAIN OF BANKING

3

banking system which encompasses finance, customer relations, and business features, presents
lots of advantages like greater development strategies, it is very convenient and user-friendly,
and, has uncomplicated programming syntax giving the reason why many developers love it.
Interpretation/Compilation Method(s) to be used.
The enormous advantage of Python lies in the rapid code compilation of the application
being developed, the matching Python Library libraries such as Cython or Numba give
developers important functions which help in compiling Python code dynamically or statically.
This, in turn, increases the processing speed and hastens the development of the application. The
compilation method used is used if the python code is in the string or is in an AST object, and
you would wish to convert it to object code. The object obtained after conversion by the
compiler can later be called using the method like; exec, and eval which dynamically execute the
produced python code. (Sanner, 1999)
Memory management and scoping features.
In a computer set up memory is arranged in a hierarchical way, the lowest memory
storage being a register, followed by the cache memory, then Random Access memory, hard
drive going up. How computer memory is organized is important reason being most program
require more memory than they are used to use. Program variables are the connection between
the concept represented by a computer program and the computer physical memory unit
The memory in a computer is organized in a hierarchical way. The lowest level memory
unit is a register, followed by the cache memory, then the RAM, hard driver, and so on. This
organization of the computer's memory is specifi...


Anonymous
I was struggling with this subject, and this helped me a ton!

Studypool
4.7
Trustpilot
4.5
Sitejabber
4.4

Similar Content

Related Tags