5 ms·
The idea that one should experience different types of programming languages is fairly well known. But there are wrong and right ways to use any given language
by timsally 15y ago
The idea that one should experience different types of programming languages is fairly well known. But there are wrong and right ways to use any given language and reaping benefits depends on you using it the right way. But how one should know whether s/he is using a language correctly? I suggest the following, decreasing order of effectiveness (1) find a mentor who deeply understands the language, (2) read programs by those who deeply understand the language, and (3) read writings by those to deeply understand the language. As you might expect, a mentor is by far the most effective method. However, you can still do quite well without one. Between Paul's On Lisp [1] and various online resources [2, 3] one can still do quite well.
The above actually applies in most areas of our profession. For example, how sure you are that you are using Vim/Emacs in the right way? Do you actually understand how to think in the way these editors want you to think [4]? I find these thoughts deeply humbling. There is a reasonable chance that you don't fully understand the languages or the tools you use and thus always an opportunity to improve.
[1] http://www.paulgraham.com/onlisp.html http://www.paulgraham.com/onlisp.html
[2] http://www.xach.com/naggum/articles/ http://www.xach.com/naggum/articles/ (a filter: http://xach.livejournal.com/221433.html http://xach.livejournal.com/221433.html)
[3] http://lists.common-lisp.net/pipermail/pro/ http://lists.common-lisp.net/pipermail/pro/
[4] http://stackoverflow.com/questions/1218390/what-is-your-most-productive-shortcut-with-vim/1220118#1220118 http://stackoverflow.com/questions/1218390/what-is-your-most...
- 5hoom 15y agoI agree about it being humbling. I'm at an early stage of learning lisp & coming from a C++ background I feel like a total noob lost in a syntax free wilderness where there is nothing but you and the problem domain. There is a lot to be said for trying new paradigms of interacting with the machine. Just trying to grok the way a different language or tool does things makes you not only a better programmer but a better thinker.
- synnik 15y agoThe problem is not only finding someone who truly deeply understands the language, but knowing how to tell that they do. I've seen way too many "Senior" developers who really have just done the same junior-level coding for 15 years in a row. These people also tend to have a poor grasp of where their skills really stand. People reading HN probably are self-directed enough not to fall into this trap, but we are not the majority of developers.
- michaelcampbell 15y agoI think I've become one of those people. I'm trying to work it out, though. http://news.ycombinator.com/item?id=2924456 http://news.ycombinator.com/item?id=2924456