3 ms·
Another attempt at articulating what I think is your point: languages have network effects. You're less effective programming in a language if others don't unde
by akkartik 10y ago
Another attempt at articulating what I think is your point: languages have network effects. You're less effective programming in a language if others don't understand what you did. But the notation of OP is intended to not require network effects. Pseudocode is often intended purely to help one privately think through a problem. Even if nobody adopts this notation, it might be useful to you.
Does that seem on the right track? I don't mean to put words in your mouth.
- seanmcdirmid 10y agoI agree with this. The notation might also apply to a smallish group of people, like mathematicians in a certain field who use it to communicate and work together. Notations are powerful like programming languages, if you can reuse an existing one or use ones other people you need to work with already know, there is an advantage to that.
- akkartik 10y agoRight. I was focusing on the extreme ends of the spectrum to sharpen the contrast.
- nickpsecurity 10y agoThere's two reasons pseudocode is used in most cases: 1. Private exploration as you said. 2. Publication of algorithms in a form most will understand and be able to duplicate. There's an example of 2 on the front page right now: https://arxiv.org/abs/1610.08129 https://arxiv.org/abs/1610.08129 In the PDF, they describe their algorithms in pseudo-code that combines the common, BASIC/ALGOL-like text with some common notation (i.e. division) from math. I immediately understood the algorithms enough to implement them myself in about any language without soneone telling me what the notation meant. A common effect of published pseudocode since it's intended to be widely understood. This new notation Id have to think about and practice with. Just using it in a paper with the label pseudocode would cause confusion. It's less intuitive in a world of widely-deployed, ALGOL-like notations. Maybe it has benefits worth sacrificing the wide usability but person switching it better be OK with that.
- seanmcdirmid 10y agoIn the PL community, when we want to communicate an algorithm in a paper in something like code, we will say something to the effect of C-style pseudo code. This serves two roles: 1) everyone "knows" C so you don't have to explain your notation very well, and 2) we will skip over all the ickiness of C (hence the C-like). I get the impression that the work here is more about thinking and iterating on paper, not just communicating on paper, which, IMHO, is a very niche use case that most people aren't going to run into. We don't do anything in our C-style pseudo codes but present.