Hacker News new | ask | show | jobs
This would never convince a real manager, would it? (island.net)
1 points by centipede 6856 days ago
<b>A management perspective of the 'J' programming language - Updated 2004</b>

Parts of it read like a lisper's gospel praising macros. <quote>Consider another typical case, the need to fill in a template with data from a record. This might be to create a customer statement or invoice to be mailed, an HTML form to be displayed, or some other such form. Replacing specific character locations on the template by character data from the record can do this. Where the "_" represents the characters to be replaced, code something like the following does the job.<p>into =: (# i.@#)@:=&'_'@:] }"1<p>That was the code needed when the original article was written. Now an even shorter equivalent is:<p>into =: I.@:=&'_'@:]}"1<p>This is simpler than before and incidentally, it is also faster and requires less space.<p>With a thing called "Record" containing an ASCII version of the record data with the same number of characters, as there are "_" positions on the character template called "Form". The phrase:<p>Record into Form<p>Then yields the desired result of a filled in form. </quote>

2 comments

Parts of it read like a lisper's gospel praising macros.

Quote:

Consider another typical case, the need to fill in a template with data from a record. This might be to create a customer statement or invoice to be mailed, an HTML form to be displayed, or some other such form. Replacing specific character locations on the template by character data from the record can do this. Where the "_" represents the characters to be replaced, code something like the following does the job.

into =: (# i.@#)@:=&'_'@:] }"1

That was the code needed when the original article was written. Now an even shorter equivalent is:

into =: I.@:=&'_'@:]}"1

This is simpler than before and incidentally, it is also faster and requires less space.

With a thing called "Record" containing an ASCII version of the record data with the same number of characters, as there are "_" positions on the character template called "Form". The phrase:

Record into Form

Then yields the desired result of a filled in form.

"To a manager, the important insight is the very small amount required to achieve a significant result."

I don't think I remember the last time my manager was impressed with how few lines of code solving a problem required. I think managers care more about how quickly a problem is solved, how well the solution works and how easy the code is to maintain.

"If other data manipulation is similarly simple, why should development require such large resources?"

I'm not sure if saving on typing by using few symbols will reduce the amount of time required to build non-trivial applications. The limiting factor most of the time seems to be how fast one can think (and how many tries it takes to get something right). Programming languages can help this by allowing one to think at higher levels of abstractions.

Another problem with developing non-trivial applications is the amount of time required for new people to get up to speed and understand the code base.

While J might be a better language that C for data processing, I can think of many languages far better than C, Basic or Java for the task (like Python). I'd be curious how the article might have been written if it attempted to compare J with Python.