Andrew Kingdom

Programming Advice

A general discussion on programming, including re-posts of my comments to students and others.

Tips for beginners

Overview

Further

Tips for intermediate programmers

Languages

A few languages

Choosing a language

Choosing a second language

Notable programmers

A few of the many people who have contributed to the development of programming languages and computer systems and have influenced how we think about and use technology today.

  1. Ada Lovelace (1815–1852) - England
    • Often considered the world’s first programmer, Ada Lovelace wrote the first algorithm intended to be executed by Charles Babbage’s Analytical Engine.
  2. Alan Turing (1912–1954) - England
    • A pioneer in computer science, Turing developed the concept of the Turing machine and is considered the father of theoretical computer science and artificial intelligence.
  3. John von Neumann (1903–1957) - Hungary
    • A mathematician who made significant contributions to computer science, particularly in the development of the von Neumann architecture, which forms the basis of most computer systems today.
  4. Grace Hopper (1906–1992) - USA
    • An early computer scientist who developed the first compiler for a computer programming language and was instrumental in the development of COBOL.
  5. Donald Knuth (1938–) - USA
    • Known for his seminal work “The Art of Computer Programming,” Knuth has made significant contributions to algorithms and has been a major influence on the field of computer science.
  6. Niklaus Wirth (1934–) - Switzerland
    • The designer of several influential programming languages, including Pascal, Modula, and Oberon, Wirth has made substantial contributions to software engineering.
  7. Margaret Hamilton (1936–) - USA
    • Led the team of 4,000 that developed the on-board flight software for NASA’s Apollo missions, contributing to the field of software engineering and coining the term “software engineering.” The Apollo computer had 72k bytes for data/software storage (36k words). Program source code was handwritten on paper then translated to punched cards for processing, process errors and success results were printed. Live errors and values were displayed on a mini 3-row display during the flight including the famous 1201/1202 alarms.
  8. Ken Thompson (1943–) - USA
    • Co-creator of the Unix operating system and the B programming language, Thompson has had a lasting impact on software development and operating systems.
  9. Dennis Ritchie (1941–2011) - USA
    • Co-creator of Unix and the C programming language, Ritchie’s work has been foundational in the development of modern operating systems and software.
  10. Bjarne Stroustrup (1950–) - Denmark
    • The creator of the C++ programming language, which has had a significant impact on software development due to its efficiency and performance.
  11. James Gosling (1955–) - Canada
    • Known as the “Father of Java,” Gosling created the Java programming language while working at Sun Microsystems in the early 1990s.
  12. Tim Berners-Lee (1955–) - England
    • Inventor of the World Wide Web, Berners-Lee developed the first web browser and the protocols that form the basis of the web, revolutionizing how information is shared and accessed.
  13. Guido van Rossum (1956–) - Netherlands
    • The creator of the Python programming language, which has become one of the most popular and influential programming languages in the world, known for its simplicity and readability.
  14. Tim Paterson (1956–) - USA
    • Known as the original author of MS-DOS, which became the foundation for Microsoft’s operating systems and helped establish the company as a major player in the software industry.
  15. Anders Hejlsberg (1960–) - Denmark
    • Known for his work on the Turbo Pascal compiler, Delphi, and the development of the C# programming language, which is widely used in enterprise environments.
  16. Yukihiro “Matz” Matsumoto (1965–) - Japan
    • The creator of the Ruby programming language, which emphasizes simplicity and productivity, with an elegant syntax that is natural to read and easy to write.
  17. Linus Torvalds (1969–) - Finland
    • The creator of the Linux kernel, which has become the foundation of a vast number of systems around the world, including the majority of servers and supercomputers.
  18. Sergey Brin (1973–) - Russia
    • Co-founder of Google, Brin has been instrumental in developing the algorithms and infrastructure that power the world’s most popular search engine.
  19. Satoshi Nakamoto - Japan
    • The pseudonym of the creators of Bitcoin, who introduced blockchain technology, which has had a significant impact on the fields of finance and cryptography.
  20. Barbara Liskov (1939–) - USA
    • A pioneering computer scientist who developed the Liskov Substitution Principle, one of the fundamental principles of object-oriented programming. She also contributed significantly to programming languages and distributed systems.

Historical Notes

My Programs

Here’s some easy and some hard that I’ve done:

Glossary

Disclaimer: This is an initial collection + writeup, which I’ll refine in the future.