Programming Languages and Paradigms

In this section, I present various programming languages and the programming paradigms to which they belong. I selected these programming languages based not only on their commercial success but also on their intellectual influence.

  • Programming Languages
    • This article provides a high-level view of the world of programming languages. It gives an overview of the history of programming languages; describes the declarative and imperative family lines; gives guidance on which languages to study, and what books to read; and explains the nature of programming as an activity. It is written for all STEM practitioners: mathematicians, engineers, scientists, programmers, system administrators, and technical managers.
  • Programming Paradigms
    • This article provides a high-level view of programming paradigms. It is not a programming tutorial. It is a guide for experienced programmers on how to learn the four popular paradigms—procedural, objective, functional, and relational—highlighting the key concepts in each paradigm.
  • A Forlorn Hope of Fortran Modernisation
    • Fortran is the world’s first high-language. Most people in IT had written off Fortran a long time ago but, even after 70 years, it continues to thrive in the rarified domain of large-scale, massively-parallel scientific computing. But those organisations that rely on Fortran for their mission face an imminent danger of losing the institutional knowledge, as many Fortran programmers retire in the coming years. This article examines Fortran’s longevity and essentiality in this specialised domain, and explores how to future-proof Fortran. The focus is on transforming Fortran into a dependently typed functional programming language with built-in parallel programming facilities and modern syntax similar to that of Agda or Idris. The intended audience is computer scientists who design programming languages and scientists and programmers who use massively parallel programming in their work.