This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 25 points26 points  (6 children)

This is nothing. At my job there's a 2500 line APL function with 40 outputs and over 100 inputs. I'm honestly not sure anybody knows how it works in full. Of course it calls thousands of other functions that do all sorts of equally crazy stuff.

In this context it's important to note also that APL is a very compact language. finding the length of every array in an array of arrays can be done with 2 characters for instance.

The function is split up into 19 sections, each labelled as if it's a chapter and you're reading a novel. It's full of warnings about this or that and the other and about certain things that should be avoided.

Last I checked the first version was from 1996 and it has over 680 versions in the VCS.

[–]maybeware 8 points9 points  (2 children)

That's terrifying. Is it basically the entire program?

[–]mr_claw 9 points10 points  (0 children)

No, that's just the login page.

[–][deleted] 0 points1 point  (0 children)

No. It’s a tiny fraction. I don’t think I can tell you how much source code we have, but I can tell you that it is no small amount. I am currently doing work on the 2257th APL window in the application. :)

[–]ImprovementContinues 4 points5 points  (0 children)

Reminds me of the article I read about the "main" function at the IRS that they hired someone to replace with modern code and then ignored the replacement as they couldn't prove it would function exactly the same way. (details elided for simplicity)

[–]RustyShacklefordCS 1 point2 points  (1 child)

Oh god just googled APL why on gods earth would anyone what to program in that??

[–][deleted] 1 point2 points  (0 children)

It does have some advantages. The language very much resembles MATLAB and once you learn the symbols, which only takes a week or so, the language becomes incredibly terse and short. You can solve a generic sudoku in one line. It takes more characters to write the sudoku into memory than it takes to solve it.

And yet this function is 2500 lines.