Hacker News new | past | comments | ask | show | jobs | submit login

For me the opposite was true. My mathematical education made it incredibly easy to pick up programming and programming languages, everything was somewhat familiar and the concepts just came naturally.



How did you feel when you first came across a global variable, or even a pointer? It seems to me that math-first people would probably find C to be an abomination.


I believe one thing which came really natural was to think in virtual machines, to see a programming language as something which acts upon a fictitious environment, where certain instructions map to certain consequences. Of course programming and mathematics are very different activities, but one core principle that I always relied on was thinking in abstractions. What option do I have to manipulate the environment and what invariants are there? How are complex thing constructed out of others?

>It seems to me that math-first people would probably find C to be an abomination.

I certainly don't. You might do so if you wanted programming to be an expression of pure mathematics, but I do not think that is the right approach. C does well for what it is an abstraction over an underlying, real machine and thinking of it as an abstraction is the right thing.


Technically, that's the converse, not the opposite ;-)

Someone may be led into thinking you're countering the OP.


Most definitely. For me, I have never used any specific mathematical concept in programming aside from some side projects for using programming to explore mathematical ideas. But my so-called training in mathematics taught me both highly abstract thinking and deep, concrete, in the weeds thinking, and that's what really comes in handy in programming.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: