Live data from Hacker News

Striking parallels between mathematics and software engineering

radar.oreilly.com

31–36 of 36 posts

Re: Striking parallels between mathematics and software engineering

#31

Linear algebra got a lot easier for me when I realised that matrices are just linear functions, and matrix multiplication is function composition. Abstract algebra and category theory give you incredibly useful program and API structuring techniques; you can get lots of nice properties for free by following these well-worn existing patterns, even more so than OOP design patterns. We make use of them a lot in Haskell,…

For the second return to work doesn't the if have to be an expression i.e return the result of evaluating either y or z as the result of the if expression? If the language has if statements like say Javascript then it won't work.

Re: Striking parallels between mathematics and software engineering

#32

Linear algebra got a lot easier for me when I realised that matrices are just linear functions, and matrix multiplication is function composition. Abstract algebra and category theory give you incredibly useful program and API structuring techniques; you can get lots of nice properties for free by following these well-worn existing patterns, even more so than OOP design patterns. We make use of them a lot in Haskell,…

For the second return to work doesn't the if have to be an expression i.e return the result of evaluating either y or z as the result of the if expression? If the language has if statements like say Javascript then it won't work.

Yes. And that is why statement–expression distinctions are stupid, because they obscure these relationships. In C-land it would be “if-else” vs. “?:”.

Re: Striking parallels between mathematics and software engineering

#33
post #28

I don't think it is ever tenable to claim that mathematics is purely a human construction. The Formalist viewpoint is that mathematics is just the manipulation of symbols, according to certain rules. But Formalists accept that these rules regarding manipulation of symbols are themselves mathematical. That is, the Formalists are actually Platonists with regard to metamathematics. The Platonist says "1 + 1 = 2 is a mea…

A middle ground seems reasonable. The naturals probably correspond to a physical phenomenon—it seems to be possible to have, say, 1 proton—but I have deep doubts about the existence of the reals.

Re: Striking parallels between mathematics and software engineering

#34

As someone who grew up writing code, and is now studying mathematics at a tertiary institution, I was quite surprised to read that parallels between mathematics and software engineering are 'surprising'. On the contrary, mathematics has formed the basis (no pun intended) of so much software engineering. Take for example the very concept of a function/subroutine/method/ - this comes straight from the world of mathemat…

You are confusing software engineering with computer science. Most HN users certainly know that the fundamental theories of computation are rooted in rigorous mathematics. The point of the article is is to share the insight that mathematical notation is itself a constructed system, much like complicated software implementations, and which via design decisions provides users with powerful abstractions.

Did you even read the article before lecturing us about Turing and Knuth??

Re: Striking parallels between mathematics and software engineering

#35

Linear algebra got a lot easier for me when I realised that matrices are just linear functions, and matrix multiplication is function composition. Abstract algebra and category theory give you incredibly useful program and API structuring techniques; you can get lots of nice properties for free by following these well-worn existing patterns, even more so than OOP design patterns. We make use of them a lot in Haskell,…

> Linear algebra got a lot easier for me when I realised that matrices are just linear functions, and matrix multiplication is function composition.

As my former exercise instructor for linear algebra told to the math students at the beginning of the second semester: Those people who have not yet understood that matrices are more than a box of numbers are definitely at the wrong place here.

Re: Striking parallels between mathematics and software engineering

#36

As someone who grew up writing code, and is now studying mathematics at a tertiary institution, I was quite surprised to read that parallels between mathematics and software engineering are 'surprising'. On the contrary, mathematics has formed the basis (no pun intended) of so much software engineering. Take for example the very concept of a function/subroutine/method/ - this comes straight from the world of mathemat…

If that's true then why do mathematicians seem allergic to improving their own language, while software developers seem to constantly invent new ones?
Post reply on HN