Your essay should NOT be about the Java programming language, or the C++ programming language – 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 includ ed in the language to make it suitable for the specific problem domain. Topic Overview S ince 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 ar e 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 contro l 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 an d 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 pr ogramming 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. T he topic of your essay is to design a programming language for the problem domain of : Multimedia Multimedia encompasses a number of areas including the display/playback of animated graphics, images, video, and sound/audio. It is worth thinking about the as pects of a multimedia language in terms of a number of features, including: ï‚· P erformance; ï‚· D ata types and structures; ï‚· M aintenance of code; School of Science, Engineering and Information Technology CRICOS Provider No. 00103D Page 2 of 4 ï‚· F lexibility of design and implementation; and ï‚· R obustness requirements . Even though security aspects are worth consideri ng, 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 multimedia 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 (includi ng 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, bu t 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.