Language Design And Implementation

Topics:
Words:
1709
Pages:
4
This essay sample was donated by a student to help the academic community. Papers provided by EduBirdie writers usually outdo students' samples.

Cite this essay cite-image

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.

Save your time!
We can take care of your essay
  • Proper editing and formatting
  • Free revision, title page, and bibliography
  • Flexible prices and money-back guarantee
Place an order
document

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 don’t 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

  1. Alpaydin, E., 2016. Machine learning: the new AI. MIT press.
  2. Brady, E., 2013. Idris, a general-purpose dependently typed programming language: Design and implementation. Journal of Functional Programming, 23(5), pp.552-593.
  3. 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.
  4. 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.
  5. 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.
  6. Jordan, M.I. and Mitchell, T.M., 2015. Machine learning: Trends, perspectives, and prospects. Science, 349(6245), pp.255-260.
  7. Padalia, K. and Fung, R., Altera Corp, 2013. Method and apparatus for performing efficient incremental compilation. U.S. Patent 8,539,418.
  8. Peng, X., Babar, M.A. and Ebert, C., 2014. Collaborative software development platforms for crowdsourcing. IEEE software, 31(2), pp.30-36.
  9. 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.
  10. 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.
  11. 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.
  12. 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.
Make sure you submit a unique essay

Our writers will provide you with an essay sample written from scratch: any topic, any deadline, any instructions.

Cite this paper

Language Design And Implementation. (2022, February 21). Edubirdie. Retrieved November 21, 2024, from https://edubirdie.com/examples/language-design-and-implementation/
“Language Design And Implementation.” Edubirdie, 21 Feb. 2022, edubirdie.com/examples/language-design-and-implementation/
Language Design And Implementation. [online]. Available at: <https://edubirdie.com/examples/language-design-and-implementation/> [Accessed 21 Nov. 2024].
Language Design And Implementation [Internet]. Edubirdie. 2022 Feb 21 [cited 2024 Nov 21]. Available from: https://edubirdie.com/examples/language-design-and-implementation/
copy

Join our 150k of happy users

  • Get original paper written according to your instructions
  • Save time for what matters most
Place an order

Fair Use Policy

EduBirdie considers academic integrity to be the essential part of the learning process and does not support any violation of the academic standards. Should you have any questions regarding our Fair Use Policy or become aware of any violations, please do not hesitate to contact us via support@edubirdie.com.

Check it out!
close
search Stuck on your essay?

We are here 24/7 to write your paper in as fast as 3 hours.