Linked by Thom Holwerda on Sun 28th Jul 2013 14:06 UTC
General Development "There is a reason I use 'old' languages like J or Lush. It's not a retro affectation; I save that for my suits. These languages are designed better than modern ones. There is some survivor bias here; nobody slings PL/1 or Cobol willingly, but modern language and package designers don't seem to learn much from the masters. Modern code monkeys don't even recognize mastery; mastery is measured in dollars or number of users, which is a poor substitute for distinguishing between what is good and what is dumb. Lady Gaga made more money than Beethoven, but, like, so what?" This isn't just a thing among programmers. The entire industry is obsessed with user numbers, number of applications, and other crap that is meaningless when you consider programming to be art. When I post a new item about some small hobby operating system, the comments will be filled with negativity because it's no Windows or iOS, whereas only ten years ago, we'd have lively discussions about the implementation details. And then people wonder why that scene has died out.
Permalink for comment 568207
To read all comments associated with this story, please click here.
Art? Try Craft...
by jockm on Sun 28th Jul 2013 21:16 UTC
jockm
Member since:
2012-12-22

While I am sure some code can be art, and some approach it as artistry, I have yet to see good code from anyone *I* know who calls themselves that. I am less disdainful of those who call it science, but lets face it most people who call themselves computer scientists aren't actually doing science.

Programming is craft. A little artistry, a little engineering, a and a whole lot of hard work makes it a craft. My title says software engineer, but I think of myself as a craftsman. We all should really.

APL is an interesting language, every budding computer science student should learn a little of it, as they should Smalltalk and Lisp. But I have spent my 25+ year career with someone or another trying to convince everyone to switch to APL, or Lisp, or {functional language of the year}, or whatever.

Most of these languages have their place, and are very useful in their domains. However so many of them — APL, J, Lisp, Scheme, MUMPS, C++, et al — are prone to produce write only code in the hands of inexperienced coders.

Programing languages are tools, we should use them like that. Carpenters don't get into arguments that philips head screwdrivers encourage bad carpentry and we should all switch to torx. They use the best took for the job. There is no one programming language for all tasks, and we should stop this fiction that one language is somehow magically "better" than all the rest.

The article linked to was more or less useless. The writer says that "Comparing, say, Kx systems Q/KDB ... to Hive or Reddis is an exercise in high comedy", but does nothing to explain why this is the case or — god forbid — provide any proof.

He says "APL languages were developed a long time ago, when memory was tiny compared to the modern day, and disks much slower. They use memory wisely." But languages don't specify memory usage, implementations do. COBOL was first written for computers with less memory than a Apple ][+, but this doesn't mean they somehow produce tighter code or magically use less memory; and it is asinine to think it does.

I see nothing in this blog post that makes it worthy of discussion...

Reply Score: 8