School of Engineering, Information Technology and Physical Sciences CRICOS Provider No. 00103D Page 1 of 4 ITECH5403 - Assignment 1 - Language Design Essay Due Date: 11:55pm, Friday of Week 7 This...

1 answer below »
Good afternoon, I hope you are doing well i need this assignment to be done on time any questions you can ask me feel free to call me 0452248821


School of Engineering, Information Technology and Physical Sciences CRICOS Provider No. 00103D Page 1 of 4 ITECH5403 - Assignment 1 - Language Design Essay Due Date: 11:55pm, Friday of Week 7 This assignment will test your knowledge of programming language design features, and is worth 20% of your 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/or try/catch exception handling 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 programming language for the problem domain of: Scientific Computations • Scientific computations are used to simulate real-world activities using mathematical models. • This is mainly achieved through the analysis of mathematical models implemented on computers. • Virtually any objects with known characteristics can be modelled and simulated. School of Engineering, Information Technology and Physical Sciences CRICOS Provider No. 00103D Page 2 of 4 • Simulations use enormous calculations and often require supercomputer speed. • As personal computers became more powerful, laboratory experiments can be converted into computer models that can be interactively examined by researchers without the risk and cost of the actual experiments. • It’s worth thinking about the aspects of a programming language designed for scientific applications in terms of a number of features, including: • Performance; • Data types and structures; • Maintenance / Reliability of code; and • Security requirements. With this in mind your task is to theoretically design a language suitable for the use within the scientific calculations 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 problem 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 legitimate, 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. IMPORTANT! Your essay should NOT be about the C/C++ or FORTRAN programming languages – or any programming language that currently exists. Your essay must be on the programming language THAT YOU DESIGN in terms of the features the language should have and the choices you make about what functionality, data types, compilation/interpretation, exception handling etc. that you decide should be included in the language to make it suitable for the specific problem domain. School of Engineering, Information Technology and Physical Sciences CRICOS Provider No. 00103D Page 3 of 4 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 must supply your completed essay in Microsoft Word DOCX format ONLY. 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 on Friday of week 7. When you upload your assignment, it will be checked by the “Turn-it-In” plagiarism detection service – this means that the content of your document will be compared to millions of other documents to see if any text in those documents matches the text in your document. Turn-it-In can detect these matches even if you have made re-phrasing changes to some aspects of the text. If you cite documents correctly, then this is a good thing – you are reading, learning and providing correct accreditation to the original authors of the work that you cite. If you DO NOT cite instances of where you have taken the work of others, then this is plagiarism and will be dealt with under the university’s plagiarism policy. The university takes plagiarism very seriously – you can read more about what is and is not considered plagiarism here: http://federation.edu.au/current-students/learning-and-study/online-help-with/plagiarism And the university’s official plagiarism policy can be found here: http://policy.federation.edu.au/university/student_plagiarism/ch01.php The mark distribution for this assignment is outlined in the provided marking sheet on the following page. Please use these marking criteria as the headings in your document, (with the exception of “References and APA referencing style” and “Spelling and grammar”) so you know that you need to cover each and every aspect that is being marked. http://federation.edu.au/current-students/learning-and-study/online-help-with/plagiarism http://policy.federation.edu.au/university/student_plagiarism/ch01.php School of Engineering, Information Technology and Physical Sciences CRICOS Provider No. 00103D Page 4 of 4 ITECH5403 – Comparative Programming Languages Assignment 1 – Language Design Essay Student Name: Student ID: Requirement Weight Mark Providing your programming language with a suitable name. 1 Introduction and explanation of language purpose. 10 Choice and justification of interpretation/compilation method(s) to be used. 9 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 [5 marks per item] 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: Due Date: 11:55pm, Friday of Week 7 Topic Overview Submission and Marking Process
Answered Same DaySep 03, 2021ITECH5403

Answer To: School of Engineering, Information Technology and Physical Sciences CRICOS Provider No. 00103D Page...

Neha answered on Sep 11 2021
143 Votes
Student Name:
Unit Name:
University Name:
Date
Contents
Introduction    3
Language purpose    4
Compiler    4
Interpreter    4
Memory Management    5
Scope    5
Features    7
Orthogonality    7
Simplicity    7
Data types    8
Abstraction    9
Syntax design    10
Expressivity    11
Exception handling    12
Readability    13
Restricted aliasing    15
References    15
Introduction
This report is based on designing a new programming language. This language I have mainly design to help the management Department of the organization. the management Department needs to maintain the record of all the products, commodities, supplie
rs and the customers it is important for them to have a shortest response time and high availability of the system. The basic idea to develop a new language is to take different attributes from different languages like Java, shisha, Python or PHP and develop a new language with new features in it. There are many imperative languages which can help the business management Department to solve different issues in no time it is important for the programmer to understand what type of data will be provided as the input into software, how the process will work and what results will be produced from the software.
Input: The software will receive input as the data from the external sources. The input can be provided using keyboard or records present in the database or click over an image using mouse.
Processing: The information will be managed as per the logic present in the software. The input will be processed by the software. The processing can be off adding some number together to map it with the climate of earth.
Output: The software will process the input and well reduce information as the output. The output will be shown on the screen call in a hardware format. A proper algorithm will be followed to process the import using a flow chart. Once the algorithm is created the programmer can check it for the logical errors. The algorithm can be tested by providing input to it and manually calculating the output.
In this report I have already also discussed about the memory management by the language and how it will work with the memory. This report also includes information about the compilers and interpreters switch will be used by the language and reason behind it. I have designed a very simple, reliable , readable and writable language the main focus of the developer is on the different characters of the language which can help to create a more reliable and readable language for stock the basic idea is to increase the simplicity , Centex design, exception handling, type checking , data types , language support abstract, restricted aliases and exception handling.
Language purpose
The basic purpose of writing a programming language yes to write instructions which can control the functions performed by different parts of machine. The humans just have to write few numbers in binary format to provide instructions to the machine but it is difficult also because sometimes there is a big problem for which we need to write a long code to manage the machine. Programming languages were developed to solve this issue. The programming language handles only a few sets of terms and grammatical specifications which can be used by the instructor to assign certain tasks to the computers. The language which I am designing is a hybrid language.
Compiler
The compiler can be defined as a phenomenon which is used to clarify the methodology which is written in the programming language and it is helpful for converting the programming language into machine code which can be maintained by the processor of the computer or any machine.
Interpreter
If we run the compiler hey it will execute the programming language but the compatibility between the other programming language does not change. The Interpreter is similar to the compiler as it also has no understanding of the code. The interpreter is used to generate a easy to understand code and it can execute statements one by one on the computer. The interpreters are flawless as they are not repaired to check for any structure of the code.
actually, when we execute my language it will be compiled into the bytecode using the compiler and then the interpreter will track the bytecode on the computer. A hybrid compiler can be defined as that compiler which can be kept the understandable source code into the middle part of any road bytecode which can be used in future. Bees type of compilers are also known as just in time compilers. Hence this can help the business management to solve the problem which is present on the operating systems like windows, Linux or Mac. the new programming language is helpful because the source code is first converted into the bytecode and then it is interpreted for the particular platform using the interpreter.
Memory Management 
The memory management is used to manage the physical memory or random-access memory of the computer. Each computer has a principal memory which is pre-installed in it to process the running applications and their management. Even if we have a great memory limit, we cannot always make all the projects in our running state. The memory management will work do allocate important memory spaces for each process and the memory will be shifted between the hard computing and memory to reduce the demand and general Association of the items. The memory management is generally performed and supervised by the mainframe work framework. In the new programming language, we will also have automatic garbage collection which can delete the car garbage in the compiler and make it free. We can use the heap structure to manage the storage of items at runtime.
Scope
The scope of variable is very important when we write any programming language. I have taken the idea of scope from the Java language so we can have one global scope and 2 different local scopes for the variables in the programming language.
Local scope:
This type of variables will be...
SOLUTION.PDF

Answer To This Question Is Available To Download

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here