[Haskell-cafe] Haskellers.com skills list moderation?

wren ng thornton wren at freegeek.org
Tue Oct 19 23:30:46 EDT 2010


On 10/19/10 9:32 AM, Michael Snoyman wrote:
> There are 11 skills I'm leaning towards dropping, all because they
> fall in the too vague/too general category. Your input is requested on
> these. They are:
>
> Attribute Grammar
> Categorical Programming
> Denotational design
> Proving observational equivalence between Haskell programs

Taking all these together, they seem like they're trying to make more 
specific what someone means when they say they know "mathematics". 
Bisimulation, denotational semantics, category theory, and AG are all 
popular mathematical techniques for writing robust functional programs. 
Perhaps they should be renamed to be a bit clearer to the uninitiated, 
but I see no reason to remove them. Perhaps something about domain 
theory should be added to the list.

> Mathematics

Definitely too general IMO. Do we mean analytical mathematics (calculus, 
analytic geometry,...), discrete mathematics (sets, automata,...), 
algebraic mathematics (group theory, rings,...), or what? It might be 
worth having my more specific examples for folks who want to advertise 
having mathematics degrees, but just "Mathematics" is too vague.

 > Cabal, packaging, build and distribution tools

This seems like a good one to keep. There's a difference between knowing 
a language itself, and knowing the ecosystem well enough to be an 
effective developer in a team setting. This is the kind of skill that 
employers really like to see, since it distinguishes "hobbyists" from 
folks who have used the language in a professional setting.

For example, I've known Java well enough to write programs in it for a 
long time. But I've only recently learned how to use Ant, PMD, FindBugs, 
TestNG, etc. Knowing those latter skills is what makes me a "Java 
developer"; not knowing the language. Similarly, one could consider 
knowing C++ vs knowing Boost etc.

> UNIX Scripting and Tool Authoring

I think this one absolutely needs to stay. *nix scripting is a whole 
field of work, even though it's not generally recognized as such. This 
is what *nix sysadmins do all day (when they're not fighting fires). And 
it's one of the reasons why current NLP/SMT research is so painful (the 
lack of people writing the appropriate tools). Half of web development, 
in practice, often ends up being about this kind of thing too.

-- 
Live well,
~wren


More information about the Haskell-Cafe mailing list