Do you need this or any other assignment done for you from scratch?
We assure you a quality paper that is 100% free from plagiarism and AI.
You can choose either format of your choice ( Apa, Mla, Havard, Chicago, or any other)
NB: We do not resell your papers. Upon ordering, we do an original paper exclusively for you.
NB: All your data is kept safe from the public.
Language Design And Implementation
Abstract
The purpose of this study is to find out the new features that can be included as a new code in the existing programming languages. The modern hardware is fast compared to the old ones with larger storage capacity as well as network capacity is also increased. The availability of compilers, editors and debugger is also more than sufficient for supporting a new language.
Introduction
There are different paradigms in programming language. There are two types of main camps, along with the language in front. One of them is static languages and another one is dynamic languages. To avoid too much history and any sort of in-depth analysis, this article will simplify things with a number of assumptions. One is written in static languages are compiled to machine code, while programs that are written in dynamic languages run in an interpreter. The purpose of this paper is to find how to develop a new code as all the facilities are available like more CPU speed, modern hardware, great network capacity. The paper will also discuss about the way design a language and its implementation. Therefore, the newly designed languages are making machine learning and use of artificial intelligence to the technology reliable for the developers as well as for its users too.
Languages for mobile software development or AI
There are so many coding languages for mobile app development. To build up a mobile app some necessary tools will be needed. Five top most programming languages for mobile app development are BuildFire.js, Python, Java, PHP and C++.
Python is one of the most popular programming languages. It is used by the top app development companies, Python is a professional coding language and it is for the development of software. Due to its simplicity, Python is always considered in first place compared to other AI development languages. The syntaxes that belong to python are so simple, easily learnable and the developers can also implement the AI algorithms easily. Python takes less time for development compared to other languages such as Lisp or Prolog.
Collaborative software development
Collaboration software is designed basically for enhancing the productivity within the organizations or within one group of the individuals. In this concept of collaborative software development an organization divide a work among a group of people and there will always a team leader, during the work progress each member should report the team lead about the progress update. Collaborative software development makes the management or development of a software much easier because the whole work is divided to expertise persons only.
Effective IDEs and tools
An IDE or Integrated Development Environment is dedicated program specially designed to develop software. Most of the IDEs support so many different types of coding languages and can have so many features. Therefore, the IDEs can be large and it will take time for downloading as well as for the installation. Requirements for good environment for coding:
- Reload and save code files: The IDE must save the code for later access for the user. As the file must be saved in the main memory for reopening.
- Debugging support: Debugging is the core feature of IDE.
- Syntax highlighting: The ability of spotting keywords quickly, symbols and variables in the code makes the understanding and reading much easier.
- Automatic code formatting: In IDE or any editor, the colon must be recognized at the end of the for or while statement and the next indented line should be known.
Garbage collection vs performance
There are two types of garbage collection: one is automatic garbage collection and another one is manual garbage collection. Most of the common problem in performance associated with programming such as python related to the garbage collection mechanism. If the heap size is just too large to handle, it must be kept outside the main memory because, it can increase the paging activity and which has an huge effect in performance. There are two mechanism in python for the garbage collection:
- Reference counting: When number of the references is pointing to that reaches zero then the objects or object gets detected.
- Reference cycle detection: To find the isolated reference cycles which can not be detected from the reference counting, this method can be used.
Advance type systems
For designing or implementation of the programming language advance type system is needed. Language designing is an art and a craft that means there are no unambiguous and clear rules. Some features of this are:
- Generality
- Decidability
- Accuracy
- Brevity
- Efficiency
- Elegance.
Code running on highly constrained devices
Typically, an architecture of the IoT solutions structured of constrained devices, cloud platforms and the border routers or gateways. There are two types of devices, one is constrained devices and another one is gateway devices. The constrained devices are the end node having actuators or sensors, which can handle the purpose of a specific application. Usually they are connected with the gateway like devices and the networks where power loss is low and in turn it communicates with IoT related cloud platform Typically, they maintain the communication through less powered wireless protocols such as 802.15.4 (Thread, Zigbee, Wireless HART and 6LoWPAN), LPWAN as well as devices with more battery power and low data rate.
The constrains of the devices are:
- Code complexity
- Cost
- User interface in deployment
- Physical size
- Bitrate
- Available source of power (Battery)
- Processing power
Blockchain leaders vs conventional recordkeeping
With the shift to the networked and digital commerce communication, most of the financial assets exist as pure digital records. Sometimes the blockchain can be risky but there are well opportunities too. The risks of Bitcoin are known as terrorist financing, money laundering and tax evasion. From a perspective of record keeping the risks of blockchain cluster around control in organizations, authenticity and reliability and monetization.
Distributed applications
Distributed applications can allow one for the improvement of performance and resiliency. The place where the provided benefits is more significant than complexity. There are two specific methods to implement the distributed applications in python. The two systems are celery and crossbar. Celery is more mature, far better and older than Crossbar. Celery is highly configurable and flexible and provides a mature and stable distributed task focusing on the real time execution. On the other side, compared to celery, crossbar is a new project also; celery is less known to the user. The users get a very pleasant working atmosphere within crossbar. Crossbar functions similar like a WAMP router, which is basically a routed messaging protocol based on Web Sockets which provided Pub Sub and RPC.
COBOL 60 in games
COBOL 60 was developed for business purpose and at present the company step towards the next foot step that is for the video games. As Cobol 60 was using in business it has a major level of security to provide to its users so, the developers are using this language to develop a new pattern for developing COBOL 60 in video games. As there are so many features offered in COBOL 60 so the developers have too many places to develop a great game for the users as mobile gaming is too popular at present for the users of mobile or iPad.
FORTRAN 77 for multimedia
Multimedia is a big thing at present as well as the current generation is addicted in media. Fortran 77 can be used for developing the multimedia section in mobile devices as it is too old now but the developers can use this language to make new implementation in it and that can be so useful for the users too.
Incremental compilation
Incremental compilation is a concept where the compilation can be faster. As in the old concept after compilation of the full code, if the programmer need to change a small part or want to add something, the entire code will need to be compiled again. To reduce the compilation time incremental compilation was introduced. At present, programmers dont need to compile the whole code, only the changed part will be compiled by the compiler. As a result, the compilation time is reduced. At present this is turned on as a default feature, which means the builds should be faster. Though, incremental compilation makes faster build but it makes the finalized binary a little bit slower.
Conclusion
Thus it can be concluded that, at present language design is much easier for the developers. Because, the thing that are needed to implement or to develop a new code is more than sufficiently available such as modern hardware or network speed. The whole world is developing presently and machine learning or artificial intelligence is playing a great role in it. So, it can be said that coding is the best part in technology development.
Bibliography
- Alpaydin, E., 2016. Machine learning: the new AI. MIT press.
- Brady, E., 2013. Idris, a general-purpose dependently typed programming language: Design and implementation. Journal of Functional Programming, 23(5), pp.552-593.
- De Nicola, R., Latella, D., Lafuente, A.L., Loreti, M., Margheri, A., Massink, M., Morichetta, A., Pugliese, R., Tiezzi, F. and Vandin, A., 2015. The SCEL language: Design, implementation, verification. In Software Engineering for Collective Autonomic Systems (pp. 3-71). Springer, Cham.
- Edwards, S.H., Tilden, D.S. and Allevato, A., 2014, March. Pythy: improving the introductory python programming experience. In Proceedings of the 45th ACM technical symposium on Computer science education (pp. 641-646). ACM.
- Gay, D., Levis, P., Von Behren, R., Welsh, M., Brewer, E. and Culler, D., 2014. The nesC language: A holistic approach to networked embedded systems. Acm Sigplan Notices, 49(4), pp.41-51.
- Jordan, M.I. and Mitchell, T.M., 2015. Machine learning: Trends, perspectives, and prospects. Science, 349(6245), pp.255-260.
- Padalia, K. and Fung, R., Altera Corp, 2013. Method and apparatus for performing efficient incremental compilation. U.S. Patent 8,539,418.
- Peng, X., Babar, M.A. and Ebert, C., 2014. Collaborative software development platforms for crowdsourcing. IEEE software, 31(2), pp.30-36.
- Politz, J.G., Martinez, A., Milano, M., Warren, S., Patterson, D., Li, J., Chitipothu, A. and Krishnamurthi, S., 2013, October. Python: the full monty. In ACM SIGPLAN Notices (Vol. 48, No. 10, pp. 217-232). ACM.
- Tolpin, D., van de Meent, J.W., Yang, H. and Wood, F., 2016. Design and implementation of probabilistic programming language anglican. arXiv preprint arXiv:1608.05263.
- Viglas, S.D., 2017, April. Processing declarative queries through generating imperative code in managed runtimes. In 2017 IEEE 33rd International Conference on Data Engineering (ICDE) (pp. 1610-1611). IEEE.
- Zhang, D., Wang, Y., Suh, G.E. and Myers, A.C., 2015. A hardware design language for timing-sensitive information-flow security. ACM SIGARCH Computer Architecture News, 43(1), pp.503-516.
Do you need this or any other assignment done for you from scratch?
We assure you a quality paper that is 100% free from plagiarism and AI.
You can choose either format of your choice ( Apa, Mla, Havard, Chicago, or any other)
NB: We do not resell your papers. Upon ordering, we do an original paper exclusively for you.
NB: All your data is kept safe from the public.