A Web Application Framework for People who Hate Frameworks - Lithium


Comments are closed.

Being arrogant is funny, to a point. This talk went way past that point.

Disagreed with many technical points (statics are not hard to test, DI sucks, abstractions sucks, AOP (the mother of all abstractions) solves many of those problems, etc).

Three thumbs up b/c two thumbs up goes too far. I'd give it a 2.6 if possible.

Interesting from a technical perspective.

Was hoping to learn more about the framework overall, maybe see some quick examples of a page being served, etc. I appreciate that their framework may be better (and they certainly believe that it is), but there wasn't anything to make me want to try it other than their word for it. Yes, there were some code examples about some of the topics they talked about, and some of the ideas were very intriguing, but there was nothing I learned about Lithium that I hadn't already heard as hype prior to attending.

Agree with the previous poster about the level of arrogance displayed.

I'm pretty sure that the first thing that we said in the talk was that Lithium Sucks. If asserting the fact that our own framework sucks is arrogant, then I'm fine with that.

(P.S. I can't seem to leave a comment without giving it a rating)

I'd liked to have seen lithium in action. I think the concepts are certainly interesting and from speaking with joël offline I can see the benefits. I'd liked to have seen more of that in the talk though.

jfaustin: sample apps: http://anologue.com/ (source: http://rad-dev.org/lithium_anologue) http://pastium.org/ (source: http://rad-dev.org/lithium_bin)

To clarify:
- DI itself doesn't suck; the hype and overuse of it (when other solutions are more appropriate) does.
- If static methods are hard to test, you're doing it wrong. Refer to the slides on referential transparency.

I was really excited to learn more about lithium, being php 5.3 framework. I really didn't sense arrogance, it made the talk more fun for me. My biggest issues were the talk focused more on problems with other frameworks or concepts and less on how lithium works. There were a couple of times where it seemed you guys just clicked past code examples instead of spending adequate time explaining it. I think the framework has great potential.

Pushing a new framework is always a hard sell in the PHP world. I understand you're trying to change the way people think about code. I do think that the talks needs more real world examples and how to actually use the code. The ideas for the design are interesting but not always the best way to prove why you chose a certain way. Code speaks louder then slides.

Thanks for all the great feedback, everyone. We will be looking to revamp the talk to address the points that people have brought up.

I found it provocative, even if I wasn't 100% sold. FWIW, I think between the "everything sucks, including ours" and acknowledging the tradeoffs you made on one decision (blanking on which one now), it didn't come off as especially arrogant, or at least not beyond the norm for technical presentations.

Seeing more of the tradeoffs would have been a nice addition. Still, it's an interesting concept.

I am sorry to say it so bluntly, but most of the design decisions highlighted in the presentation are 100% misguided.

Using the active record pattern so extensively will advise the trained eye to stay away at all cost. Besides the fact that an application using this pattern is simply unmanageable and unmaintainable, it is almost unthinkable that, in 2010, one would tie so perversely and without any remorse his model to his infrastructure and get away with it.

Also, I simply could not drink the static method Kool-Aid. There are a lot of disadvantages but I'll limit myself to mentioning testing, which you've managed to convince yourselves is possible this unsafe static methods. Again, I apologize for the bluntness but this is 100% wrong. Internal state is preserved between tests and thus, your unit tests are actually hidden integration tests. With a persistent state infiltrating every single test you run on unsafe (mutable) static methods, one can actually order its tests in an ingenious manner in order to make them pass. I am not saying that every single test you wrote is bogus. I am saying that this fails to match even the most basic standards of good practices in unit testing.

That said, I can say that Nate and Joël are two very intelligent guys but my only advice would be to step down the rhetoric and put a little more thought in the design of their framework as it is very flawed and certainly, if I may borrow your very own words, sucks.

As a Cake user now, I definitely see its short comings. I certainly don't have the technical expertise to comment on many of the design patterns mentioned in this discussion. I am still interested in trying out the framework. I can't imagine how a web consulting company could stay productive without the use of some framework, and some to better than others at different tasks. Cake may not be perfect but it certainly has its use cases. Lithium will definitely have its own cases as well, and I hope that exploring it will be fun.

This talk showed some nice PHP 5.3 features and made some interesting comments on how frameworks often try to solve problems for us. With these two eloquent and witty presenters, it could have been a great talk but the egos got in the way and I came away certain that I never want to interact with this community, I just don't fit in with their "humour"

Loved the talk. Once again, I found Joël to be a very knowledgeable speaker, and Nate was a good match.

Coming from CakePHP, I'm especially excited about Li3. It seems to solve several design issues with CakePHP as well as leveraging all that PHP 5.3 has to offer. Very excited to start working with it and find out how it sucks.

I for one appreciated the delivery style and didn't find it to get in the way of the presentation.

Great work. Looking forward to more of hearing more from both Joël and Nate in the future.