3 ms·
"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 differ
by 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.)