2 ms·
The original comment said nothing about C-style languages. That must be something you read into their comment. Learning J is like learning Perl or regular exp
by IncRnd 5y ago
The original comment said nothing about C-style languages. That must be something you read into their comment.
Learning J is like learning Perl or regular expressions. Nobody really wants to engage in such an activity, but people do what they need to do. Depending on their level of experience, a person who understands imperative and declarative paradigms along with the language's execution model can absolutely learn J within a day, because it only differs in syntax from the existing languages.
- gcanyon 5y ago"This is at least part of the reason that reasonably strong engineers can learn a new programming language in under a day. The paradigms just aren’t that different." This literally says "the paradigms aren't that different." So if you accept that C and J are different paradigms, then because the paradigms aren't that different, a C programmer could pick up J in a day. What it doesn't say is that truly different paradigms take more than a day to learn competent programmers already understand all different paradigms. Perl is C-like. As I said elsewhere, J supports C-style syntax, so sure you can program J in C-style in a day. But that's not J. This is J: for. }.z do. b=. -. (i.n) e."1 ,. z +"1 _ ((-i.){:$z) */ _1 0 1 z=. ((+/"1 b)#z),.n|I.,b end. To a J programmer, that's not just clear, it's obvious. I'd like to meet the C-programmer who can learn to write and read that in a day. And also as I responded elsewhere, this is a blub language discussion: http://www.paulgraham.com/avg.html http://www.paulgraham.com/avg.html
- IncRnd 5y agoYou are the only person who is talking about C. It is a leap to go from "experienced programmer" to "that means C-only programmer". You are using the term "programming paradigm" incorrectly. C is not a programming paradigm. The paradigm of C is that it is an imperative procedural language. In the strictest sense it is a functional language, since functions are first class citizens, but it is not really a functional language as used in practice, such as when discussing function application.
- TchoBeer 5y ago>To a J programmer, that's not just clear, it's obvious. Is the argument that J just has really weird syntax? It feels trivial to me to make a mess of syntax that makes learning a language obtuse, unless there's something more fundamentally different about J, this is the first I'm hearing of it.
- gcanyon 5y agoTheir argument would be that J works differently, and once you internalize how it works, many hard problems become tractable. Their slogan is something like, "understand the problem, and it's done" -- meaning that once you understand the problem, the second step of translating the solution into code is near-trivial. I would argue that's at least partially because J programmers are in general incredibly smart. (I don't count myself as a J programmer.)