[tpm] Complexity and language

Fulko Hew fulko.hew at gmail.com
Thu Jun 7 12:00:05 PDT 2012

On Mon, Jun 4, 2012 at 10:48 AM, <arocker at vex.net> wrote:

> At the last TPM meeting, I raised the question of complexity in
> programming, and how to classify it.

... snip ...

> The question is, what is a reasonable hierarchy of complexity in computer
> programming? (I hope the concept of "complexity" is fairly obvious in the
> context; if not, we'll have to define that first.

To me complexity of streams and structured and unstructured data
really don't change the thought process; they are all basically the
low-level, process, type of thinking.

In other words, most algorithms (once understood) are SMOP
('Simple Matter Of Programming')

To me, the next level up is dealing with concurrency, parallelism,
and time-synchronism.
Things like handling the same 'kind' of requests at the same time,
considering that some requests might be quick and others slow
so you don't want the slow ones delaying the quick ones.
... and the associated handling of the logical interlocks and
'synchronous' access to any data (structures) that the application
may have to maintain internally (... given your programming language).

After that you get into the domain-specific functions/algorithms
which is a separate issue that may or may not have 'complexity'.

Am I shouting into the void, or has anyone else any views on these points,
> "what is complexity and what language features become relevant, where?"

With respect to those issues above, my problems these days revolve around:
"I know what I need to accomplish... but,
how do I accomplish it in 'this' language?


Another issue is 'handling errors'.

I'm not talking about 'catching exceptions' or listening to return values
or errno; but what stupid things can your user's do (in either input or
'sequencing') that can cause your app to miss states, or wander
through informational states that you never thought of in advance
(ie. _ALL_ of the boundary conditions).  You know...
"I've fixed all the 'known' bugs"... but what about the 'unknown' bugs'?
"I've made it idiot-proof"... but the world invents a bigger idiot!

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/toronto-pm/attachments/20120607/43fcfa40/attachment.html>

More information about the toronto-pm mailing list