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 »
Need as soon as


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 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
Answered Same DaySep 01, 2021ITECH5403

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

Kuldeep answered on Sep 04 2021
152 Votes
Programming Essay
Contents
Introduction of the code    2
Simplicity    6
Orthogonality    6
Datatypes    7
Syntax design    9
Support for abstraction &Expressivity    11
Exception handling, Type checking, and Restricted aliasing    14
Reference    18
Introduction of the code
Pokemonj is a Java-based language.My design, it will get many advantages of JAVA.The code seems to have nothing to do with theWindows NT, Windows 9 x, MacOS platforms, Solaris and Linux, Codex. The “write once, run everywhere” feature makes itusedbroadly on the Net. Server logic
Joshua Herndon (Joshua Herndon) mentioned Java/libgdx, considering th
e amount of borrowing from Ingress (previous name), this is likely to be the case, and given that they clearly mentioned in "Job Opportunities" This is almost certainly the case. Niantic pages are part of its software engineer-server infrastructure role. It is well known that Google (the Niantic team mainly comes from here) loves Java.
Database
The database is the NoSQL, as well as given that they utilize Google Cloud Services, also it is likely to use Cloud Bigtable (if funds are available) or Cloud Datastore (if used conventionally). How they accurately store data is still up in the air.
The internet
Unlike most present applications that utilize RESTful APIs, and Pokemon Go uses RPC interfaces and protocol buffers (used to easily use many diverse languages, however, they may still stick to Java) for server interaction. This is likwise Google-y, so it's not surprising here.
Client
Similarly, from the "Employment" page, they seem to use the Unity 3Dimensional engine that supports C#, UnityScript (a variation of the JavaScript) and Boo for mobile application development, and they are most likely to use C#.
Niantic Lab's mobile game "Pokémon Go" not only caused damage to the game function, but also caused serious damage worldwide due to its social influence and people playing games on the street without observing traffic rules. An Augmented reality adds fun to this game, as well as a new generation of players has gone crazy at least after 2016 from the day the game was released. Game creation is provided on Google's PaaS, which provides a mobile backend. Niantic Labs uses Google Cloud Data Store's NoSQL database to store and index the PokémonGo data in the game. The game uses Libgdx as an application framework, as well as uses Java, C++ and C# as the coding languages. In making this game, a variety of cutting-edge technologies were integrated. PokémonGo uses a game engine product Unity to support create particularly multiplayer online games, which are based on real-world maps and combine reality and virtual characters. Niantic uses the Google Analytics to calculate the performance of the game. Niantic Lab is able to take advantage of the new augmented reality feature, allowing players to see a character through the smartphone camera. The game likewise uses GPS functions by mapping and tracking player movements in real time. Players stumbled upon different types of Pokémon in different places. Although new technologies are rare in the mobile gaming industry, the success of Pokémon Go games will bring them to various other applications. Some analysts also claim that the game is likely to be based on Java/libgdx because it has borrowed a lot from Ingress (the earlier name of this game project) and is based on guesses about employment opportunities. Java is an interpreted language. Unlike C / C ++, programs written in Java run less efficiently and more slowly. But PokemonJ Can achieve the same C / C ++ efficiency.
it is built on JAVA, the hole scanner run free on a small device. As long as 40k can have one of the simplest translators, even with the nomal threads as well as standard library, just 175k is enough.
Languagepurpose
PokemonJ was used for retail language use at the beginning of its design, so it should be more accurate and clearer than Java code and can use smaller devices (such as pos terminals).
I believe first and foremost in its new features.
These new features include:
1) Provide automatic memory management, programmers should allocate also free memory in program, the errors of memory distribution will not bother you again;
2) In addition to the problem language and C / C ++ errors in the "pointer", other methods can also be used to modify;
3) Avoid misunderstandings between statement of purpose (such as a = 4) and statement of logical operation (such as a == 4);
4) Multiple inheritance of complex structures is canceled.
interpretation/compilation method, scoping features and memory management
The mentioned mechanism is one reason why I chose JAVA with its simple syntax, powerful functions from the Internet to the built-in and versatile desktop. Compared to C, C ++, Java, this language is very simple. Java indexes are deleted. This is well understood and the automated garbage collection mechanism is also very good. This was greatly improved after the launch of JDK1.5. Circumstances call for: Converting a language to C language Java, not language C. This Java is enough to show the advantages of easy learning. Then, I also mentioned the powerful features of Java.The EJB3.0 output makes Java the first choice for large projects. There is no doubt about the role of J2ME in the development of mobile games.
Most importantly, as a finance graduate, JAVA is the only way to communicate with me by language.
Therefore, I fully extend JAVA memory mechanism:
PokemonJ divides the memory into 2kinds: one is cup memory and the other is hill memory. Some basic types of variables also object variables defined in a function are function in the stack, when a variable is defined in a code block, PokemonJ allocates memory space for the mutable in the stack when the variable is larger, PokemonJ memory space for the variable automatically releases the partition and the memory space also can be allocated directly by the other.
The hill memory is used to store objects and arrays that are built with the new memory allocated on the hill and are managed by automatic Java virtual machine waste collectors. Create a...
SOLUTION.PDF

Answer To This Question Is Available To Download

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here