

Please stop duplicating Rails - factorialboy
http://srirangan.net/2012-10-its-2012-stop-duplicating-rails-please
Am I the only one who isn't excited by {any.new.framework} that provides RoR like capabilities in {your.favorite.programming.language}.<p>If I want to use a MVC framework, there are plenty available including RoR + other alternatives across various platforms.<p>A new framework doesn't really help.<p>At least something like Meteor tries to meet the next generation challenges (real-time apps). I'm not saying Meteor is perfect or horrible, I'm just saying they tried to solve the right challenge.<p>Server side MVC feels like 2005.<p>There are plenty of frameworks across a whole range of platforms.<p>You aren't really solving a problem here.
======
Afal
Guide on how to Hacker News:

1\. Look at the current popular articles in Hacker News and choose one.

2\. Write short blogpost about it which could easily been a comment (but your
opinion is much more important and deserves its own golden soapbox)

3\. Post said golden soapbox on Hacker News.

4\. Steps 1-3 are repeated by someone else posting a rebuttal to your
blogpost.

~~~
Confusion
On the other hand, your complaint is a shining example of comments that add
value to HN...

------
kriro
I disagree with the author of that blog post.

If you think something should be built, go right ahead. Ignore the naysayers
and write what you enjoy writing. Don't listen to people that tell you how you
should spend your time.

[I'm somewhat puzzled why this post is on the first page of HN in the first
place but that's another topic]

~~~
factorialboy
Don't you think it makes more sense to contribute to existing open source
projects than rewrite one without offering anything new? DRY?

Don't we have _way_ too many MVC frameworks? Time to consolidate imho.

~~~
stuffihavemade
What looks sexier on your resume though: "Creator of backbone.js" (Not trying
to pick on backbone since it's a great project, but you can read the entire
source in an hour) or "Contributed to making AR 5% faster for certain queries"

I'd much rather see 10 people put their time towards making one project
better, then seeing 10 people start 10 divergent projects with dreams of
becoming the next DHH, but I recognize that there are other factors at play.

~~~
factorialboy
Contributor to a well known project > Creator of an obscure, unknown project

~~~
stuffihavemade
Sure, but a lot of programmers' dream (not mine) is to be the creator of the
next big thing and gain accolades from other programmers. That won't happen if
you're strictly contributing to other projects.

------
stuffihavemade
I totally agree. Derby (<http://derbyjs.com/>) and Meteor are the only new
frameworks out that excite me. RoR is close to ten years old and has thousands
of man hours invested into it. Does anyone think a new project that has some
of the same capabilities, but lacks the ecosystem/community is going to gain
signifigant traction?

------
robryan
I disagree, what if you like rails conventions but aren't a big fan of Ruby?
What if you have a large collection of code in one language and would rather
something that integrates better with it or you have a development team that
have core competencies in a certain language.

Sure some will say put down the time now and switch to Ruby, some though would
much rather be in another language though with the same type of conventions
and ideas that Rails brings.

------
nestlequ1k
Age old debate. Either create something new (that no one understands or
wants), or rebuild something existing but better (and has a market).

One is a lot more fun (the former). One is a lot more lucrative (the latter).

I'd be willing to wager that MeteorJS doesn't find major traction until it
starts to adapt to the generation of developers who have previously embraced
server side MVC. It's examples and API will eventually start looking a lot
more like Rails.

------
javajosh
I assume the OP is complaining about the RailwayJS article on the HN
frontpage. Meh.

Personally, wish someone would implement Erlang's OTP in node. That would be
useful.

<http://www.erlang.org/doc/design_principles/users_guide.html>

~~~
stuffihavemade
I think it would be easier to take the best stuff in the node ecosystem and
port it to Erlang than the other way around.

~~~
ebiester
How do you bring code sharing between the server and client into Erlang? :)

Edit: I should have given a little more value on the post. I left node for
Scala because the advertised code sharing wasn't worth having to work around
an event architecture that I found hard to debug (as I've mentioned elsewhere)
and I too considered Erlang before settling on Scala due to our previous java
experience and my co-founder's knowledge of people in the Scala community.

But fundamentally, node.js isn't interesting if it's not in Javascript. Actors
seem like a better model than futures tacked on to callbacks, and frankly
javascript's quirks (like having to use require.js for modularization rather
than a feature built into the language!) IMHO don't make for a compelling
case.

I'd use node.js on someone else's project, but I don't know if I'd pick it for
my own.

~~~
javajosh
You are right on all points ebiester, but you missed the one compelling reason
to use node anyway: the browser is well on it's way to being the dominant
programming model (and for a good reason: application components and data are
addressable by other applications via the DOM! this turns out to be necessary
to have globe-spanning meta-programs like search, and also useful personal
meta-programs like Evernote) and that model can and will extend into the
server. JavaScript is a quirky language but can and will get's it's act
together. "use strict" for example was a good step in the right direction.

Even more than that, I think that the entire notion of what a server is _for_
is changing rapidly away from "server-side MVC" to a far more rational (not to
mention more efficient) dual role of "initially serve a client" and then
"handle messages from the client". Server-side manipulation of client state is
a horrible, terrible idea in any language, and right now node is suffering
from cultural/technical momentum of wanting to do things that way. Once that
impulse goes away and alternatives become more popular and well-understood, I
think node will get even more popular.

~~~
stuffihavemade
Can you expand a bit on what you meant by "...and that model can and will
extend into the server."?

~~~
javajosh
Sure. I think server software should be constructed, simulated and visualized
in a browser. Server components can be sourced from around the net, pulled
into a shared environment, inspected, tested, and connected, and then when
you're ready, pushed onto the server. This approach has the added benefit that
when get to client code, a lot of what the client needs to know about the
server is available to it, either at build time or even at runtime.

------
cicloid
NIH syndrome?

Unless there is something really revolutionary on the framework, most of them
are just reinventing the wheel and sadly not from a new approach.

On the upside, if you treat this frameworks as code katas. I could see some
value on them.

------
rjzzleep
i don't see much substance in this. let's all stop building something
new.whatever suits your needs. or hell, maybe whatever helps you learn.

linux was just made from a guy who wanted to learn os programming.

~~~
factorialboy
You missed the point. A lot of these frameworks aren't building anything new.

~~~
dasil003
You could have said the same thing about Linux.

~~~
factorialboy
Nope, but I can say the same thing about my redundant Linux distros.

~~~
dasil003
So once something is popular then it is self-justified, but new things that
imitate something else are bad. How do you ever cross the chasm with that
attitude?

~~~
factorialboy
That's your inference. Just because you make outlandish inferences, doesn't
mean I get put on the dock and I have to justify them. :-)

~~~
dasil003
Pot, kettle, black.

Linux is derivative, there I said it.

------
DanWaterworth
I think it completely depends on why you are doing it. There's no better way
to learn about the internals of frameworks than to create one.

------
jackflintermann
This looks like it's getting HN'ed, google cache is here:
[http://webcache.googleusercontent.com/search?q=cache:srirang...](http://webcache.googleusercontent.com/search?q=cache:srirangan.net/2012-10-its-2012-stop-
duplicating-rails-please)

