[erlang-questions] Thoughts on EHE - the PHP killer

Joe Armstrong <>
Sun Feb 19 09:42:28 CET 2012


On Sun, Feb 19, 2012 at 1:08 AM, Tim Watson <> wrote:
> On 18 February 2012 15:30, Ulf Wiger <> wrote:
>>
>> On 18 Feb 2012, at 16:13, Joe Armstrong wrote:
>>
>> I was thinking about this: In theory having a watertight
>> barrier between logic and presentation seems like
>> a good idea - but is it?
>>
>>
>> To quote Yogi Berra (or Einstein, or van de Snepscheut):
>>
>> "In theory there is no difference between theory and practice. In practice
>> there is."
>>
>> I've found that mixing Erlang into the Web design part drastically reduces
>> the pickings when you need a professional web designer. The erlang community
>> to-date hasn't attracted the kind of people who live to design beautiful
>> HTML pages.
>>
>> The cousin of this train of though is the idea to put Node.js on the server.
>> It makes perfect sense in one way: JavaScript is the one programming
>> language a Web designer MUST be good at. Unfortunately, Node.js is a very
>> bad server-side programming environment.
>>
>> Still, the question is how much that hurts you. PHP isn't a great language,
>> but great websites have been built with it, mainly because enough great web
>> designers make the effort to learn PHP.
>>
>> Of course, for a team of Erlang programmers, the fact that they may be poor
>> web page designers to start with isn't exactly helped by the fact that they
>> have to build their web pages in a programming language they don't master
>> well. OTOH, they can be greatly helped by stealing good open source web
>> designs from the web. Doing so should be easier with an enlive-style
>> approach.
>>
>> Also, if you build a functional prototype, you can get away with a
>> "developer-ugly" web UI, as long as you can hire a pro to make it beautiful
>> later on. If you can stick to mainstream web design techniques as closely as
>> possible, this step will be easier (or less impossible) to take.
>>
>> BR,
>> Ulf W
>
> Major +1 on this point. Joe, what is the difference between this:
>
> <div>
>    <?e Erlang... >
> </div>
>
> and this:
>
> <div class="make_this_pretty"/>
>
> plus maybe a bit of config like this:
>
> {template, "mypage.html", mymod}
>
> with a bit of this:
>
> make_this_pretty(Dom, BoundData) -> ....
>

(( Interesting - I haven't actually tried doing it this way -
This seems like how jquery does things only on the server

I was wondering about viewing pages as processes and sending them messages.

ie  <div id="mynicetag"></div>

And in Erlang    mynicetag ! {content, "<p>hello</p>"}

But never got round to implementing this ))

))


To answer your question the difference is all the code is in one place - I don't
have to go and look somewhere else to see the code.

Anyway I write all the html and erlang myself I don't live in
this world where one guy writes the html and another writes the code
and another writes the css and another writes the js and another
writes the bla bla bla

I'm just making a tool for me - the problem with programming is that
solving problems is one thing but solving problems subject to the
condition that the solution is beautiful and maintainable is really
really difficult.

My problem is not making web sites that work it's making
them with beautiful code.

/Joe

> -----
>
> Because that, fundamentally, gets you away from having a web page that
> a designer will puke over, and still gets you the full power of Erlang
> where you absolutely need it. Obviously if you generate a hell of a
> lot of content in the Erlang code, then the designer needs to vet that
> and make *it* pretty, by which time you might as well use a templating
> language that supports dynamic includes (e.g., within a for-each
> loop). This approach is used by a number of frameworks (both client
> and server side), the first of which I came across was Apache Wicket.
>
> Also, I'm not convinced that making things truly gorgeous is outside
> of what's possible with the Django Templating Langauge which ErlyDTL
> implements most of. There are some really beautiful sites out there
> built with it, and it's all the easier for designers because there's
> very few code constructs for them to 'learn' (or at least need to ask
> about) and this works well in practise for a lot of people. If
> anything, I think a Template View works quite nicely as a pattern.
>
>>
>> _______________________________________________
>> erlang-questions mailing list
>> 
>> http://erlang.org/mailman/listinfo/erlang-questions
>>



More information about the erlang-questions mailing list