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

1. Identify a problem 2. Design algorithms and data structures to solve it 3. Implement and test them ... In practice, work is not so well organized as there is interplay between steps. You may write code to inform the design.

As the author acknowledged, real life rarely allow such clean division.

One tool that I find very useful to interleave the three - or at least to allow shorter loops - is jupyter notebooks. The name is quite accurate, it can be used as a notebook to come up with solutions, and can easily be discarded once used. Unlike prototype code which has a tendency to evolve into the final codebase.

It's a common tool in data science but I'm not sure about other fields. Has someone used it for other purposes?

[1] https://jupyter.org/

Edit: formatting

On a similar note, this looks interesting as well (not affiliated): https://observablehq.com/

Applications are open for YC Winter 2020

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