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

From my vantage, pointers without arithmetic are typically called references, as opposed to "true" pointers. I did not mean it in a derogatory way, both have their place and Go is a great language even (or maybe despite) without what I would call "true" pointers.


From CS point of view, references are pointers that you can't get the underlying value behind them.

Being able to do arithmetic is orthogonal to that.

In fact check a language like D, C#, Swift, with references, pointers, and pointers with arithmetic.


The fact that, in Go, you can have pointers to pointers, and reassign pointer variables like any other, would imply, IMO, that pointers are first-class values, and so they are true pointers, even without being able to pointer arithmetic with them.




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

Search: