The Craft of Coding

craftofcoding.wordpress.com · Personal blog · on HN since 2019

A programming language blog on Fortran, Algol, Ada, and C, covering language history, features, and teaching coding.

What HN saysHN links it for early language history, such as Algol-60 introducing recursion, and uses it alongside Dijkstra's critiques of language designs.
18HN people shared it
9linked it in comments
30stories submitted
560story points
1 year agolast shared
2019people per year2026

Most-shared posts

  1. 1
    Fortran is easy to learn
    1 people · 100 points · first shared 2022 · 122 comments on HN
  2. 2
    Algol-68 seemed like a good idea
    1 people · 82 points · first shared 2024 · 83 comments on HN
  3. 3
    What Fortran does better than C-like languages
    1 people · 76 points · first shared 2022 · 88 comments on HN
  4. 4
    Languages Pre-Fortran
    1 people · 71 points · first shared 2022 · 24 comments on HN
  5. 5
    Dijkstra on Ada
    1 people · 65 points · first shared 2025 · 47 comments on HN
  6. 6
    Forget about teaching kids to code
    1 people · 54 points · first shared 2022 · 68 comments on HN
  7. 7
    Coding in Ada: Strings (IV) Unbounded to String
    1 people · 34 points · first shared 2021 · 17 comments on HN
  8. 8
    In C, memory management begins – The Craft of Coding
    1 people · 10 points · first shared 2024 · 1 comments on HN
  9. 9
    The Timeline of Fortran
    1 people · 8 points · first shared 2022 · 1 comments on HN
  10. 10
    In C some things aren't what they seem
    1 people · 8 points · first shared 2024 · discussion on HN
  11. 11
    Is this the weirdest thing in C?
    1 people · 8 points · first shared 2024 · 6 comments on HN
  12. 12
  13. 13
    Why slow computing was a better learning experience
    1 people · 4 points · first shared 2021 · 1 comments on HN
  14. 14
    Why is so much modern software garbage?
    1 people · 4 points · first shared 2025 · 4 comments on HN
  15. 15
    Niklaus Wirth on Programming in 1968
    1 people · 4 points · first shared 2024 · 2 comments on HN

What HN people wrote when they linked it

surprisetalk · 2023-05-04
I've always considered Fortran to be the "first", but with some quick research, it looks like Algol was the first C-like lang to add an if/then statement. My guess is that the author was trying to approximate modern imperative programming. [1] https://craftofcoding.wordpress.com/2021/01/11/why-algol-bested-fortra…
shadowofneptune · 2022-11-18
One feature, as far as I can tell, that no languages had until Algol-60 was recursion (https://craftofcoding.wordpress.com/2020/12/01/recursion-the-algol60-y… It's hard to imagine nowadays how controversial this was. Previous versions of Algol did not necessarily require any form of dynamic memory allocation. Recursion requires it in some form to avoid overwriting a procedure's variables upon the recursive call. Languages that forbid recursion (like Fortran before F90) can allocate for peak memory usage before runtime, which is especially useful on RAM-poor computers. EDIT: The site also has a great quote on the subject (https://craftofcoding.wordpress.com/2022/10/20/d%c8%b3kstra-on-the-dif…
cpeterso · 2025-05-22
Some biting critiques from Edsger Dijkstra: Red: “the proposal is both advanced and backward in such an incongruous manner that I am baffled” Green: “technical incompetence, probably enhanced by dishonesty” Blue: “the blue language is unacceptably complex” … “these documents are an inextricable mixture of technical documentation and salestalk” Yellow: “an unsalvageable mess” https://craftofcoding.wordpress.com/2014/04/16/dijkstra-on-ada/
trealira · 2024-07-11
That reminds me of this program, which calculates the month and day given the year and the day of the year [0]. There's a version that abuses goto, and one that stores state in variables and only uses structured statements. You probably won't see people similarly abuse goto today, though. I think it was translated from Fortran. [0]: https://craftofcoding.wordpress.com/2020/02/12/the-world-of-unstructur…
ivan-pi · 2022-04-06
Depends on your needs. Sometimes you just need a hammer. Michael Wirth had a few comments about Julia recently: https://craftofcoding.wordpress.com/2022/03/14/why-i-have-given-up-on-…
sevencolors · 2019-12-04
Was curious how a statement was converted to punches. Found this. https://craftofcoding.wordpress.com/2017/01/28/read-your-own-punch-car… Imagine only programming with 64 CHARACTERS :)
ogogmad · 2024-11-09
I've just looked at this snippet, which the blog used back in 2017 to illustrate that Algol 68 was "utter madness": https://craftofcoding.wordpress.com/2017/03/06/a-brief-look-at-the-utt… COMMENT Algol 68 program to calculate the Sieve of Eratosthenes for some upper limit N COMMENT PROC eratosthenes = (INT n) []INT: ( [n]INT sieve; FOR i TO UPB sieve DO sieve[i] := i OD; INT k = ENTIER sqrt(n); sieve[1] := 0; FOR i FROM 2 TO k DO IF sieve[i] NE 0 THEN FOR j FROM i*i BY i TO n DO sieve[j] := 0 OD FI OD; sieve ); INT n; print("Upper limit to calculate sieve? "); read(n); print((eratosthenes(n), newline)) A few things: This code is very readable. The blogger didn't understand it because he didn't understand what the "Sieve of Eratosthenes" did: It's a means of calculating lists of prime numbers. He incorrectly stated that it was used for calculating Fibonacci numbers. Syntax-wise, it looks like some mix of Go, C and Python. Nothing at all unusual. It would be pretty easy to learn to program in this, and comfortable too. [Edit: The blogger later demonstrated a good understanding of the Sieve of Eratosthenes, but still expressed criticism of Algol68: https://craftofcoding.wordpress.com/2021/04/06/algorithm-35-the-sieve-…
Vt71fcAqt7 · 2023-10-05
Has anyone found the source for that tablet? All I have found is this: >Note that quite a few descriptions on Babylonian tablets seem to cite a translation of a Pythagorean algorithm from a ca. 1900BC tablet by a Dennis Ramsey – I have not been able to find the original source of this anywhere.[0] The linked arctile cites wikipedia and bible-history.com. This book[1] misquotes the supposed tablet as being ycb 7289, probably because these tablets are referenced next to each other on wikipedia. This[2] website says it's in the British museum. [0]https://craftofcoding.wordpress.com/author/spqr/ [1]https://books.google.com/books?id=XDBCEAAAQBAJ&pg=PT257&lpg=PT… [2]https://mathshistory.st-andrews.ac.uk/HistTopics/Babylonian_Pythagoras…

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close