Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Here’s my personal attempt at a definition.

One side cares more about how the solution is implemented. They put a lot of focus on the stuff inside functions: this happens, then that happens, then the next thing happens.

The other side cares more about the outside of functions. The function declarations themselves. The types they invoke and how they relate to one another. The way data flows between parts of the program, and the constraints at each of those phases.

Obviously a program must contain both. Some languages only let you do so much in the type system and everything else needs to be done procedurally. Some languages let you encode so much into the structure of the program that by the time you go to write the implementations they’re trivial.



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

Search: