Introduction Programmers tend to think how they cant design and construct their own programming language in order to make their programming very easy since they believe that the language will completely suit their needs. The design and construction of the new programming language is possible as long as some common factor are put into consideration,McKeeman (2014). In order to create the best programming language, it is prudent enough to consider the following during the design process. a.If the programming language designing will be strongly or loosely typed. b.If the language will be able to give support to the object orientation hence referred to object oriented programming language. This means that the language will be supporting data abstraction and inheritance where the child classes will be able to take and use the characteristics of the parent class. c.To check if the language under construction will be able to make use of the static or rather dynamic scope rules. The static scope is also known as the lexical scope. d.To check the level of memory management of the language. e.To consider of the language will be able to give provisions of the closures in order to allow the functions of the language to be passed just the way variables are passed. f.Consider if the language will be providing the correction function of the source code. This can be done though the try – catch capability which throws exceptions for error handling. Putting this all factors into consideration, though not all factors to consider before designing and developing a programming language. The language being designed and developed for this case is named Edusec Programming Language. The language will suit the education sector since the features under this language will be considered as features to solve the problems of the educational sectors.
EduSec Programming Language Edusec programming language will be a language which will be developing education oriented online systems,Madsen(2013). The programming language will be having the following features in order to suit the purpose. 1.Will be complete supporting the graphical user interface 2.The language will be high level programming language supporting the data abstraction and also inheritance. 3.The programming language will have the ability to be connected with different databases which includes MySQL, NoSQL and MONGO database among others. This will enable developers to be able to create the client and server side supporting systems. 4.The language will be supporting theme and plugin construction therefore most of the education system features which in this case includes the registration module, the login module and the fee payment module , grading module and other related modules will be readily available in the language so make it easy for the developers to create the system. 5.Since the language will be running on browser and can be hosted online, the language will be able to support different transaction which are carried out on online portals which includes, online payments, online chatting systems and messaging, will be supported by almost all browsers available and also the language will be able to support upgrade and internet connection operations. 6.The language will be in a position to handle online resources for learning, the language will be able to support video sharing, video capture and video paly and also downloading. The same to audio as this is the primary level for education sector. EduSec Programming language compilation According toBerry & Gonthier (2012).A compiler is a computer based program or software which converts the high level programming language codes to a low level machine language which can be understood by a computer for execution. The compiler translation of the code creates the executable programs.
The language will be running on browser as earlier stated. Just like the way other programming language for developing online system are edited in IDEs, the EduSec programming language will be edited in the same IDEs which includes the following; the Notepad, Notepad++, phpstorm for jectbrains, sublime and any other IDE which can be used to edit the codes for online based programming languages. This are the same editors and compilers which will be used to edit and compile the EduSec programming language codes. EduSec Programming Language Memory Management EduSec Memory management According toRumbaugh(2011), Every computer program requires a memory to be allocated in order for it to run smoothly. The memory allocation is used for data storage and also data structures. For the program also to be stored, a memory is also needed for the same. In fact , if the language developed is able to allocate the memory and cannot free the memory, then the program developed used such a programming language will be running for a very long time , the execution and the run time will be significantly very long and lastly, the program will run out of memory and might even hand or crash down. The EduSec programming language will be having all the features to manage memory, this includes both memory allocation and freeing up the memory too. In order to make this more efficient, the language will be developed with an automatic memory management and garbage collection features so that the process could be efficient and effective enough. For this to be practical enough, the language will have the following elements which are very crucial for memory management. The Heap The EduSec programming language will have the heap which will be hosting the objects. The heap is normally created immediately the programs executes. When the data stores is full in that particular heap, the garbage will be collected. This is the data which are not in use at all or data whose function is over.
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
The Object allocation The language will have the feature to allocate memory for objects such as array and variable. When the program runs, some data will be stored in a temporary memory called the variable and others in an array, This objects are allocated memory to temporary storage. The garbage collection This is the method of getting the object and the heap freed up. The language will have this special feature in order to make the program developed run faster and smoothly. EduSec Scoping Features As far as programming languages are concerned, the scope is the variable and the method or function visibility in different section and parts of the program. The EduSec programming language will be having the scope feature which in this case is categorized into the local and the global scope. The language will be developed with the global scope so that this can be easy for the method of connection to the database to be reused n each and every class of the program being developed using the EduSec programming language. Specifications of EduSec Programming Language Simplicity In programming and software development, the simplicity of the programming language is the quality which is always desired by the users and the developer of the language too. Though this is not easy to users of the language. EduSec programming language will be simple and easy to lean. Its simplicity will be achieved in the following ways. ï‚·The syntax of the language will be easy to understand. ï‚·The libraries will be imported to the code automatically. ï‚·The code will be easily understood even by the non programmer.
The feature to handle errors using the error handling try catch handling will be incorporated, this will help in handling any error on runtime. The compile time error and execution error handling will also be handled. Orthogonality In programming language, orthogonality simple indicates that a little primitive constructors be combined together in little numbers in order to control and build the language data structures,Stefik & Bobrow (2017). It is believed that the more orthogonal the design is, then the more simple it is hence the exceptions will be further fewer in number. For the EduSec programming language, will be more orthogonal than any other language ever before. The small statements to execute huge results. From its proposed syntax, some of the simple commands that will inturn be executing huge results are as follows; $list- this will be the command to list all items available in any order. $list Ord- will be the command to list all items available in orderly manner. $Start- this will be the command to show that the execution of the program will be starting from the point. $end – this will be the command to show that the program execution will be ending at this point and any other code below the $end command will not be executed. $compute – this will be the command to compute any calculations available. Example: $ compute ( + 3 4 ) This sample code in EduSec will be computing the addition of 3 and 4. For the student portal version development. The code $regForm will be the code to create a full registration form . This will be very simple for the developers to create the system for the educational purposes.
Example: $start $regForm Name, Id , Password $$regForm $end This is a very simple code that will create the registration form with name, id and password fields. The programming language therefore will be more orthogonal since simple and fewer codes will be used to generate more results. Data types Data type are data that informs the compiler of the program the kind of data the developer has used or the kind of data which is supposed to be used. Some of the examples of data types includes String, integer, Boolean, character, Float any others. The EduSec programming language will have the capabilities of using all the data types including the above. Though the ese of this kind of data type will be very simple since the types will be abbreviated in a more understandable manner as follows. Boolean – Bool , String – str and Integer – int This will make it easy for the programmers to use such data types during the coding and development process. Syntax design The syntax of programming languages are set of rules which governs the operation of the language which in this case includes, symbols combinations,Rentsch (2009). The syntax of the language considers the following factors: 1.How to end a command line 2.How to get to the next line of command 3.How to comment on the program 4.How to start and end the program coding.
Secure Best Marks with AI Grader
Need help grading? Try our AI Grader for instant feedback on your assignments.
The EduSec programming language will have the following syntax as below: The program will begin with $start which shows that this is the point where execution of the program will be starting from.The command $end will stop the execution of the program. #comment# the hash command will show the beginning of the comment. Comment are not executed at all, they provide more direction and guide to non programmers on the functions of the code. All statements will be ending with semi colon ( ; ) this will show that the statement has come to an end and any other statement after the semi colon will be executed as the next line of code. The above are some of the syntax of the EduSec programming language and this are simple enough for the developer or the learner of the language to easily understand within a very short time frame. Support for abstraction Data abstraction as in object oriented programming languages, is the process of hiding data from the implementation mode from the user. Rather for this purpose, only the functionality of the code will be available for the user,Hoare (2010).. This simply means that for the data abstraction , the user is only able to see and know how the system works but cannot know how the system is developed to function the way it is functioning. Abstraction is among the features that EduSec programming language will be having. This will be made possible through the inclusion of the Interfaces into the language, the developer is able to hide the code by creating the interface like the Graphical User Interface for the users of the system to interact and transact on rather than interacting with the code itself. In the message confirmations also will be hidden.
Expressivity This term is used to refer to the language that is easy to write code which is easily understood by the human reader and the compiler reader too. For the language to be said to be expressive, then it must be easily readable and understood,Brady (2013). The EduSec programming language will be more expressive since the code will be easily understood by the developer and the compiler too. This will be done by adding more primitive constructs in the language. Type checking In programming languages, type checking refers to how the type errors are checked , this can be done at compile time or at run time or both,Halbwachs(2011). For the EduSec programming language, the language will have the type checking capabilities at the compile time an at run time as well. This is in order to reduce the number of errors as much as possible since this will make work more easier of the developer to notice the error as early as possible for correction. Exception handling This is a method used in programming for responding to anomalous conditions which might be needing the special processing. This is implemented also in EduSec programming language by the use of the try-catch exceptions,Cox (2016). This will help in catching the error which are sometimes external or error from the database code connection or linking to the EduSec programming codes. For all external and nested codes and commands, a try catch will be implemented to handle external error and abnormal conditions. Restricted aliasing This terms refers to the condition of data location in the memory which is gotten in various names in program. This helps in a such a way that one the data modification affects all the values which is associated with the name which is aliased,Bruce, K. B. (2008).The use of
the pointers in the EduSec programming language will actually make the achievement of this particular feature in order to fit the current Educational sector needs. Discussion As indicated above, the EduSec Programming Language development overview shows that this will really meet the need to all developers of the software and systems related to education. The language has all the features and traits of an object oriented language with capabilities of performing the following:The language will be able to hide data using the Interfaces as a method of data abstraction. The language is able to be connected with the database hence receiving and sending data is possible. The registration and the login capabilities is incorporated hence easy to implement the same. For this language, it is easy for this to be developed and implemented into the system. This can only be done through writing a very simple code $regForm and the whole model of the form appears. The payment mode has also been made easier in EduSec programming language as this has been implemented in the code too. The libraries are called for the payment and the whole function of payment with various payment methods incorporated in the same. Error handling method is good and best. The implementation of the try catch exceptions in the language makes it easy for the developer to detect external problems with the code hence this can be corrected easily and early. The type checking is also implemented in this programming language, more good enough, this process has been done in both at compile time and at run time. This is has made it very easy for the error detection and handling. The developer therefore is able to check the exact line where the error is and possible to correct the error. The EduSec programming language therefore is very much reliable programming language for the education sector software development and design. The writing of code is easy since most of the code are autocreated and therefore small data constructs and method can be used to execute big results.The syntax of the language is easily understood as seen above, the learning time for the starter is very short. Therefore, the code is easily readable.
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Conclusion EduSec programming language will therefore be the best language to be used in the development of the systems whose orientation is for the education. Most of the core features of the systems are incorporated in the language during its construction since its developed in order to suit education sector.It is therefore recommended that EduSec programming language is the most powerful language for the use in programming especially for the system development in educational sector.
References McKeeman, W. M. (2014). Programming language design. InCompiler Construction(pp. 514- 524). Springer, Berlin, Heidelberg. Berry, G., & Gonthier, G. (2012). The Esterel synchronous programming language: Design, semantics, implementation.Science of computer programming,19(2), 87-152. Hoare, C. A. (2010).Hints on programming language design(No. STAN-CS-73-403). STANFORD UNIV CA DEPT OF COMPUTER SCIENCE. Bruce, K. B. (2008). A paradigmatic object-oriented programming language: Design, static typing and semantics.Journal of Functional Programming,4(2), 127-206. Brady, E. (2013). Idris, a general-purpose dependently typed programming language: Design and implementation.Journal of Functional Programming,23(5), 552-593. McIver, L., & Conway, D. (2010, January). Seven deadly sins of introductory programming language design. InSoftware Engineering: Education and Practice, 1996. Proceedings. International Conference(pp. 309-316). IEEE. Halbwachs, N., Caspi, P., Raymond, P., & Pilaud, D. (2011). The synchronous data flow programming language LUSTRE.Proceedings of the IEEE,79(9), 1305-1320. Rentsch, T. (2009). Object oriented programming.ACM Sigplan Notices,17(9), 51-57. Smith, B. (2015). Object-oriented programming. InAdvanced ActionScript 3(pp. 1-23). Apress, Berkeley, CA. Pokkunuri, B. P. (2016). Object oriented programming.ACM Sigplan Notices,24(11), 96-101. Ten Dyke, R. P., & Kunz, J. C. (2016). Object-oriented programming.IBM Systems Journal,28(3), 465-478. Madsen, O. L., Møller-Pedersen, B., & Nygaard, K. (2013).Object-oriented programming in the BETA programming language. Addison-Wesley.
Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F., & Lorensen, W. E. (2011).Object-oriented modeling and design(Vol. 199, No. 1). Englewood Cliffs, NJ: Prentice-hall. Cox, B. J. (2016). Object-oriented programming: an evolutionary approach : Design, static typing and semantics.Journal of Functional Programming,4(2), 127-206. Stefik, M., & Bobrow, D. G. (2017). Object-oriented programming: Themes and variations.AI magazine,6(4), 40.