I am @robashton
Things I don't like
Two years ago...
I know programming
"You don't need a degree to do programming"
"Learn programming in six weeks"
And earn megabucks the rails way
"we can't afford senior developers"
"We need a framework because we're not JS experts"
"This project is now in maintenance mode"
We place emphasis on development being easy and then are surprised when it then bites us in the ass.
Stepping away for a moment
(You don't need a degree to go climbing)
What do you need?
Skipping "leg day"
Innate ability does not necessarily lead to success
"Anyone can play guitar"
I've "played" since I was six
Being young has advantages
But gosh darn it, it's time to do this properly too
Now do it faster
(Here's the punchline)
Trying to just "jump in and build shit" with Haskell
Solves problems we didn't even know we had
- "If statements are so tedious"
- "Why would I ever want to write for loops"
- "Recursion? Pfft - I'll just use a built-in"
Writing a function to append an item to another?
appendNode :: Tree -> Tree -> Tree appendNode parent child = .... etc
mappend :: a -> a -> a
It's probably a Monoid..
instance Tree Monoid where mappend = addNode mempty = Leaf
addNodes :: Tree -> [Tree] -> Tree addNodes t  = t addNodes t (x:xs) = addNodes (t mappend x) xs
addNodes :: Tree -> [Tree] -> Tree addNodes = foldr mappend
(actually, this exists and is called mconcat)
Abstraction is great
But not easy
Programming is hard
Pretending otherwise is folly
Lowing the barrier to immediate entry is not the answer
"Making it easy to skip leg day"
What's this got to do with front-end web development?
Our chance to do it
Things to look at
"Out of the tar pit"
"simple made easy"
By Rob Ashton