[erlang-questions] Erlang and bbcode

Joe Armstrong <>
Thu Jul 12 10:38:06 CEST 2012

On Thu, Jul 12, 2012 at 8:16 AM, Ulf Wiger <> wrote:
> On 12 Jul 2012, at 07:37, Richard O'Keefe wrote:
>> On reading the slides about "Erlang sucks" I thought,
>> "what is bbcode and how hard can it be to write an
>> Erlang parser for it?"
>> Since having that thought, I've checked half a dozen
>> definitions of bbcode and looked at a parser or two
>> and am little the wiser.
>> BBcode strikes me as truly bizarre.  What is the point
>> of entering something that looks pretty much like HTML
>> except for using square brackets instead of angle brackets?
>> But there is worse.
>> [snip worse]
> I guess this is indicative of a kind of problem that plagues most
> of the candidate development environments: they all include a
> variety of helper tools and conventions that work for those who
> have learned their strengths and idiosynchracies, but which may
> well look truly bizzarre to someone from the outside.

This is why I have finally totally given up on all markup languages.
Accuracy of markup is more important than ease of use, I want the
results to be correct.

I use XML markup and validate the results. I write small custom DTDs
and validate against this. That way you get an accurate parse tree
with minimal effort.

My Erlang book, for example is entirely marked up in XML - the problem
with producing text is not the markup - it's the content - that's the
tricky bit.
Markup that has an unpredictable result is a pain.

It's a source of never ending amazement to me that after goodness knows
how many year of web development things like gmail (which I'm using now)
still can't get quote marks right.

"These quotes are wrong," he banged on the keyboard.
"They should be '66, 99' quotes."

Only a few thousand years of typography down the drain.

> Another part of this is of course that, as developers, we suffer a
> great deal of frustration on an almost daily (or at least weekly)
> basis, as things don't quite work the way we expect them, and
> we have to spend some time (occasionally quite a lot of time)
> fixing stuff that shouldn't be broken in the first place.

Yes - I spend most of my time fixing stuff that shouldn't be broken.

> When we are in our "home environment", this sort of stuff is par
> for the course, since we are learning things we consider
> useful, and also hope to eventually contribute some helpful
> improvement - or at least knowledge we can share to our fellow
> community members.
> As newcomers, we just tend to feel frustrated and alienated.

And as oldcomers. I still feel frustrated when faced with broken software.

> But when spreading into a new domain, a development
> community of course has the choice of either copying the existing
> helper tools (complete with possibly bizzarre semantics), or
> trying to understand them and creating something similar, but
> more sane. Both approaches have their pros and cons, and
> either way, friction is inevitable.
> I am reminded of Todd Proebsting's excellent talk at the LL2
> workshop at MIT 2002 - "Disruptive Programming Language Technologies"
> http://ll2.ai.mit.edu/talks/proebsting.ppt (Powerpoint)
> https://docs.google.com/viewer?url=http%3A%2F%2Fll2.ai.mit.edu%2Ftalks%2Fproebsting.ppt (Online view of the above)
> http://web.mit.edu/webcast/ailab/mit-ll2-s2-09nov02-80k.ram (webcast - first talk in the video)
> In particular, this line:
>    My criteria: technology must
>    Have disadvantages
>    Be mostly ignored by recent PLDI
>    and POPL conferences
>    Alleviate real problems…
>    “What does it do?”
> If you pick a disruptive programming technology, expect some
> pain (by Todd's definition). The initial question then becomes
> "why use Erlang in the first place?", and, depending on the
> answer "is the pain worth it?"
> The answer in many cases may well be "no".
> BR,
> Ulf W
> Ulf Wiger, Co-founder & Developer Advocate, Feuerlabs Inc.
> http://feuerlabs.com
> _______________________________________________
> erlang-questions mailing list
> http://erlang.org/mailman/listinfo/erlang-questions

More information about the erlang-questions mailing list