Here’s an exercise in separating fundamentals from conventions: if we held a technical summit with all of the galaxy’s advanced alien civilizations, what would we find we had in common, and what would we find inscrutable?
-
Show this thread
-
Spoken language would be inscrutable. Different physiologies would lead to an inability to speak or even hear each others’ phonemes. Written language would be inscruible, though we might find analogs of nouns, adjectives, and verbs.
2 replies 0 retweets 35 likesShow this thread -
But mathematics would be shared. After translating syntax and symbols, we’d find we had exactly the same constructive axioms, and agree that other axioms are controversial. We’d have the same theorems and the same proofs. They’d rever a Pythagoras and a Leibniz.
15 replies 1 retweet 43 likesShow this thread -
Now we compare programming languages. We’d find some low level constructs have developed very differently. Maybe they’d have balanced tertiary numbers instead of twos-complement and u-law fractional numbers instead of floating point. Our bitwise ops may have no analog.
5 replies 0 retweets 20 likesShow this thread -
So, let’s ask: what parts of programming would we have in common? We’d share the mathematical integers, and data structures analogous to Cartesian products (structs) and sums (unions), and functions with side effects, and pure functions as a special case.
4 replies 0 retweets 23 likesShow this thread -
Replying to @TimSweeneyEpic
could you expand on pure functions being a special case, and not the ones with side effects?
1 reply 0 retweets 1 like
Pure functions have many useful properties that can be used in generic types all the way up to proving programs correct. They enable us to reason about equality of unknown values derived from complex expressions involving unknown pure functions.
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.