COMPUTER SCIENCE CAFÉ
  • WORKBOOKS
  • BLOCKY GAMES
  • GCSE
    • CAMBRIDGE GCSE
  • IB
  • A LEVEL
  • LEARN TO CODE
  • ROBOTICS ENGINEERING
  • MORE
    • CLASS PROJECTS
    • Classroom Discussions
    • Useful Links
    • SUBSCRIBE
    • ABOUT US
    • CONTACT US
    • PRIVACY POLICY
  • WORKBOOKS
  • BLOCKY GAMES
  • GCSE
    • CAMBRIDGE GCSE
  • IB
  • A LEVEL
  • LEARN TO CODE
  • ROBOTICS ENGINEERING
  • MORE
    • CLASS PROJECTS
    • Classroom Discussions
    • Useful Links
    • SUBSCRIBE
    • ABOUT US
    • CONTACT US
    • PRIVACY POLICY
UNLOCKING KNOWLEDGE
PROGRAMMING LANGUAGES
Picture
WHAT IS IN THIS SECTION
This section looks at different programming languages, the development of programming language, a comparison of various programming languages, which language to learn and discusses a possibility of the future of programming languages.
LANGUAGE DEVELOPMENT
Programming languages have changed a lot over the last 60 years. Although one of the first computer program or algorithm design to be machine computed was made by Ada Lovelace in the 1840s, which was nearly 100 years before the first computer was built. Later in the mid 20th century with the introduction of computers many programs were first written in machine code, a programmer would firstly write the algorithm in structured English and then convert the instructions to machine code. Machine code is not easy, a program to output 'Hello World' in machine code would look like this:

​0x55 0x89 0xe5 0xe8 0xfc 0xff 0xff 0xff
0x83 0xf8 0x41 0x75 0x68 0x0d 0x00 0x00
0x00 0x00 0xe8 0xfc 0xff 0xff 0xff 0x83
0xb8 0x00 0x04 0xc4 0x00 0x00 0x00 0x89
0xec 0x5d 0xc3
CODE FROM: helperByte
Because machine code is not easy and would make it very difficult to write complex programs computer scientist started to develop more easy to use/understand languages, one of the first steps is Assembly language which is machine based instructions that use mnemonics to make it easier than machine code for humans to understand. Assembly language and every other language we use today still needs to go through an Assembler to be translated to machine code for the computer to process. The code shown in this example from Towards Data Science is an example program to output 'Hello world' in Assembly language. As you can see 56 lines of code to simply output 'Hello World'.


Picture
IMAGE BY: Hermann Krohn FROM: Towardsdatascience.com
OBJECT ORIENTED LANGUAGE
​Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which can contain data and code that manipulates the data. An object-oriented language is a high-level programming language that supports OOP and provides features such as object classes, inheritance, encapsulation, and polymorphism.

In an object-oriented language, objects are created from classes, which define the attributes and behaviors of the objects. Inheritance allows a new class to inherit the attributes and behaviors of an existing class, making it easier to reuse code. Encapsulation helps to hide the internal implementation details of an object, making it easier to maintain and modify the code. Polymorphism allows objects to have multiple forms, making the code more flexible and adaptable to changing requirements.

Examples of object-oriented languages include Java, Python, and C#. They are widely used for developing applications such as web development, desktop applications, and mobile apps.

Overall, object-oriented languages provide a high level of abstraction and make it easier to write and maintain code, by providing features that promote code reuse, encapsulation, and flexibility.
WHAT IS AN API
​An API (Application Programming Interface) is a set of protocols and tools for building software applications. The purpose of an API is to allow different software systems to communicate with each other and exchange data in a consistent and standardized way.

APIs allow developers to access the functionality of an existing system, such as a database, operating system, or another software application, and use it in their own applications. This can save time and effort, as the developer does not have to re-create existing functionality from scratch.

For example, a weather website might use an API to access data from a weather service, rather than collecting the data itself. An e-commerce website might use an API to access a payment processor, rather than building its own payment system.

APIs also allow for greater integration and collaboration between different systems, making it possible to create more complex and powerful applications that can draw data from multiple sources.

In summary, the purpose of an API is to provide a standardized way for different software systems to communicate and exchange data, making it possible to access and reuse existing functionality and create more integrated and powerful applications.
LANGUAGE POPULARITY
​The popularity of programming languages is constantly changing and evolving, depending on various factors such as technological advancements, market trends, and the requirements of specific industries. Here are some of the factors that have influenced the change in programming language popularity:
  • Technological advancements: New programming languages are constantly being developed to take advantage of new technologies and meet new requirements. For example, the popularity of Python has risen in recent years due to its use in artificial intelligence, machine learning, and data science.
  • Market trends: The rise of new industries, such as mobile app development, has led to increased demand for specific programming languages. For example, the popularity of Swift, the programming language used for developing iOS apps, has risen in recent years due to the growth of the mobile app market.
  • Community support: The popularity of a programming language is often influenced by the strength of its community and the availability of resources, such as libraries and tutorials. For example, the popularity of JavaScript has been boosted by the strength of its community and the availability of a large number of libraries and tools.
  • Legacy support: Some programming languages have a long history and are widely used in legacy systems, leading to continued demand for these languages. For example, COBOL is still widely used in many large organizations and government agencies, despite being a relatively old programming language.

Overall, the popularity of programming languages is constantly changing, and it's important for developers to keep up to date with the latest trends and technologies in order to stay competitive in the job market.
A POSSIBLE FUTURE
With the development of AI and Quantum computing, faster processors, more powerful computers and new ideas it is inevitable that programming languages will change. The future of programming languages is uncertain, but there are some trends and developments that suggest how they might evolve in the coming years. Here are a few of the factors that may shape the future of programming languages:
  • Artificial intelligence and machine learning: As AI and ML become more widespread, there may be an increased demand for programming languages that are specifically designed for these areas, such as Python.
  • Internet of Things (IoT): With the growth of IoT, there may be a need for programming languages that are optimized for resource-constrained devices and efficient communication between devices.
  • Cloud computing: Cloud computing has become increasingly popular in recent years, and this trend is likely to continue. As a result, programming languages that are optimized for cloud computing and distributed systems may become more popular.
  • Security: As cyber security continues to be a concern, programming languages that prioritize security, such as Rust, may become more popular.
  • Simplicity and ease of use: There may be a trend towards programming languages that are easier to use and have a smaller learning curve, making them accessible to a wider range of people.

Overall, the future of programming languages is likely to be shaped by the growth of new technologies and the changing needs of industries and businesses. As these trends and requirements evolve, new programming languages may emerge, while others may decline in popularity.
WEB BASED LANGUAGES
HTML
HTML (Hypertext Markup Language) is the standard language used for creating web pages. The purpose of HTML is to structure the content of a web page, including text, images, links, and other elements, and define how it should be displayed to the user.

HTML uses a set of predefined tags and attributes to define the structure of a web page, such as headings, paragraphs, lists, tables, and more. These tags and attributes tell the web browser how to render the content, including the font, color, size, and layout of the elements on the page.

Additionally, HTML provides the capability to add interactive elements to a web page, such as forms, links, and buttons. These elements allow users to interact with the web page and submit information to the server, making it possible to create dynamic, interactive websites.

In summary, the purpose of HTML is to provide a standardized way of structuring and displaying content on the web, making it possible to create dynamic, interactive websites that can be accessed by users around the world.

JAVASCRIPT 
JavaScript is a high-level programming language that is primarily used for creating interactive and dynamic web pages. The purpose of JavaScript is to add interactivity and responsiveness to web pages, allowing them to respond to user actions, update content dynamically, and create a more engaging and interactive user experience.

Some examples of what can be done with JavaScript include:
  • Form validation: checking user input to ensure that it meets certain criteria before being submitted to the server.
  • Dynamic content: updating content on the page without having to refresh the entire page, such as displaying a slideshow or changing the appearance of elements on the page.
  • Animation: creating visual effects and animations on the page, such as moving or fading elements in and out.
  • Interactive elements: adding buttons, drop-down menus, and other interactive elements to the page, allowing users to interact with the page and submit information to the server.

Many people confuse Javascript with Java, they are both very different languages. Javascript is known as an Object Based Language, it the idea of an object as a data structure but does not follow the principles of polymorphism and inheritance as like Object Oriented Languages.

In summary, the purpose of JavaScript is to enhance the user experience and make web pages more dynamic and interactive. It is often used in conjunction with HTML and CSS to create modern, dynamic websites that provide a rich, engaging user experience.
PHP
PHP (Hypertext Preprocessor) is a server-side scripting language that is used for web development. The purpose of PHP is to generate dynamic web pages by processing data on the server and sending the result to the user's browser.

With PHP, you can create web pages that interact with databases, display dynamic content, and perform other server-side tasks. Some examples of what can be done with PHP include:
  • Database interaction: querying databases, such as MySQL, to retrieve and store data, allowing you to create dynamic and interactive web pages.
  • Dynamic content generation: generating content on the fly based on user input, such as displaying different content for different users or generating a custom message based on the time of day.
  • Server-side processing: performing calculations and processing data on the server, such as sorting data or processing user submissions.
  • Security: validating user input and checking for security threats, such as SQL injection attacks.

In summary, the purpose of PHP is to provide a way to generate dynamic web pages on the server, making it possible to create interactive and dynamic websites that can provide a rich user experience and process data securely on the server.

​
Picture
SUGGESTIONS
We would love to hear from you
SUBSCRIBE 
To enjoy more benefits
We hope you find this site useful. If you notice any errors or would like to contribute material then please contact us.