RoR vs .NET

I’m more looking for consolodated information on this subject. I’m torn. I recently have been on a mission to improve myself to move up in the industry. Currently I’m being hired for my HTML/CSS skills and wish to be hired as more of a full stack developer for hte obvious pay increase. I’ve been studying Javascript for a while now and I am moving onto backend languages. I wnat to get away from PHP since it seems to be popular and seems to be a poorly put together language. Plus, I don’t know enough PHP to really feel bad about not continuing my PHP education. SQL is something that is pretty much universal (in a sense. Don’t argue over this sentence and get distracted). So now I need a backend language. I have been talking to a friend of mine who is a full stack developer (he’s not on this forum) but he does .Net as his language (C#). It seemed really interesting, and since I work at USNA, I have a .edu e-mail address and was able to get Visual Studio for free. However, I checked with my host and they are purely LAMP and I really don’t want the hassle of moving hosts (unless someone knows of a good host that would support LAMP + .Net environment…? Easy transition if possible please.

Anyway, my host DOES offer RoR. So I’m torn between moving hosts and leraning .Net, or just sticking to RoR since it’s offfered. I feel like RoR would be settling in a sense but it makes great applications and seems to be reallly hitting off. Do you guys imagine RoR being looked back as a fad? Should I avoid RoR and stick to .Net? I’m unsure of where to go from here.

Also if anyone has any quick links handy for a FULL read of RoR (e.g. what it is, everything you need to write your first Hello World program)…I learned .Net has different frameworks…different languages you can use (C#/F#/VB)…is it somewhat like that in RoR? Just more details would be good if people have it handy. Otherwise, I’ll just google depending on what the community reports back.

Maybe there is a 3rd option someone will say. I mainly want to become more of a full stack developer. It’s the server language I’m torn at. I don’t know which route to go. I want to be marketable as a potential full stack. Does that involve multiple server languages? Explanations would be helpful.

1 Like

How about JS? :stuck_out_tongue: Node.js is getting quite popular.

Dunno, I am not really looking for random languages to be thrown out, no offense. I don’t konw enough about server side languages to really tell which ones would be good or bad. Why should I pick node.js? My work uses it but we have other people for that so I don’t really even konw what it is, besides it being used for server-side. Also, advise as to whether you believe it is a fad or not would be helpful. No point spending a few years learning something only to have it obsolete shortly after.

How about this one

I’ve been working my way through it as a refresher and like it so far.

2 Likes

I honestly do appreciate this link Mitt. The table of contents show that it is exactly what I need. I have this link ready.

I honestly might just go with RoR simply because of the fact my host has it. They have been great hosts and I enjoy it. I still would like advise on my questions from my OP though.

Personally, I wouldn’t worry about whether or not something is a “fad” or not.
I’ve lived long enough to know that I can’t predict the future and that change is bound to happen regardless of how I feel about it.

For a .NET angle I’ll ping @NightStalker

Nope. You’ll want to find WAMP providers, .NET pretty much runs best on Windows. So any Linux hosting will be of little value. Granted for purely learning, Visual Studio can run projects in its Cassini web server which is built into Visual Studio (depending on which version you were able to get, so you don’t need IIS or a host).

RoR is anything but a fad, at our office, we are primarily a .NET shop, but we utilize Ruby and Rails for all of our Automation tests. Our entire QAA department is a RoR shop, so we’ve invested in it for the long haul.

@orodio would quickly mention https://www.railstutorial.org/book I’m currently working my way through it and it is very nice.

No, Rails is purely for use with Ruby. To my knowledge there isn’t another language you can use for that framework (but I may be wrong). There are other frameworks you can utilize with Ruby and Rails, such as, Ember.js for your front-end.

Keep in mind .NET is a framework. C#, VB.NET, and F# are languages that utilize the .NET framework. We primarily use C# at work, but have a few legacy VB.NET applications.

Still waiting for my turn at the chat with my host…I’m seeing if they ever want to add hosting in…My friend said that .Net technically can run on LAMP but it’s tedious and a pain in the ass and not worth it.

I got the most recent version of Visual Studio since it was free. I haven’t downloaded it yet simply because of this dilema.

Thanks for that. It’s not that I’m worried persay, it’s just something I want to throw out there just in case anyone has that opinion.

The two backend offerings that seem to get most of the fanfare these days are Rails and Node, so I just mentioned it as a worthy contender. That said, each has its uses, so really, it depends on what sorts of applications you want to be able to focus on. I know some people would say “learn everything”, but that’s not viable for many people. One attraction of Node is that it essentially uses JS, so you can focus on that one language and cover both ends of the spectrum, which is quite attractive.

1 Like

So Node is basically like Ajax but in a more standard type of Javascript-ish code style? That would be an attractive learning option TBH. Could you give me a sample Hello World program in Node.JS? What requirements do I need for node.js? Is it a WAMP vs LAMP kinda thing? RoR and Node seem like great options. Node seems like a better option purely because of the opportunity to learn more JS…

Node would primarily be Linux based. I’m not sure if it needs or uses Apache…

I am using a LAMP provider and I do have Apache access…so either way that would be fine.

As an ex-.NET developer I’d recommend that you go with RoR.

.NET is significantly more limiting in terms of employment, and it doesn’t translate into other learning like RoR does.

1 Like

However, I checked with my host

Forget what your host “does” that’s irrelevant. You do it, not your host. You get a Virtual Private Server and configure it yourself. Windows VPSs are slightly more expensive, but they aren’t badly priced. Your host may not have Windows, but that again is irrelevant because plenty of them do.

Besides that, it sounds like you’re on a shared host. Shared hosts are quickly becoming a relic in favor of VPSs and Abstracted hosts like Heroku or Azure.

I haven’t worked with it, but Microsoft offers Azure instances for free: http://azure.microsoft.com/en-us/pricing/calculator/?scenario=virtual-machines

You don’t have to switch your PHP environment if you prefer LAMP for that. Just keep it as separate.

Besides that, I think RoR and ASP.Net are both great things to get in to. I doubt that USNA or any other Government/DoD has much RoR, though. Nobody said you had to be at the same job forever. Usually you can get a fairly large pay raise by changing after the first couple years. Usually in the 25-100% range. So do what you like.

Why should I pick node.js?

It’s one of the more popular things right now. It runs very efficiently and reduces the amount of languages in a stack, which can quickly grow.

.NET is significantly more limiting in terms of employment, and it doesn’t translate into other learning like RoR does.

I disagree with this. In more conservative areas, .Net is huge and C# is very much like other languages. Java and C# for instance are almost identical syntactically.

1 Like

Hoping you know some of Node.JS as well. Now comparing RoR to Node.JS. Which do you see as more valuable? Which would YOU personally go with, knowing what you know?

I know my host can get me VPS, but it’s pretty pricey for me at the moment. How do abstracted hosts like Heroku come into play? How do they fit into the equation? How do they get used? Do you set them up to your server?

I don’t care about my environment at hte moment. I can switch. That’s the point. I have very little PHP code on my site at the moment (a blog script and an admin control panel) so that can be transferred probably relatively easily.

USNA uses PHP/Node at the moment. I think a bit of ASP too. Their site is so huge I have probably only seen half of it. Point being, I don’t plan on being here forever, that’s why I am learning to sell myself better.

They are a server. You deploy your app to them as a self contained unit. They are basically VPSs, but there is no server management involved.

In Heroku, you just push it through Git and they do the rest for you. There are also other ones out there, like Google App Engine or AWS Beanstalk. I’m only familiar with Heroku, which started out as RoR only actually.

It’s also called PaaS. Different ones support different things. Most support the most common stuff like PHP, RoR, etc.

They do come with their own drawbacks of course, such as not able to support uploads. They are just the app and nothing else.

It’s kind of like the new version of a shared host, but a lot better.

Thanks for the information! I’m going to go with RoR and read up on the book @Mittineague offered up. Node.JS is really tempting to go with but RoR seems more promising and more importantly, FUN!

I’ll probably not bother with any abstracted hosts right now. Maybe later once I get decent with RoR. Thank you!

I’m not sure that they have to be mutually exclusive…

But if I had to go with just one it’d be RoR.

For me, I just don’t have time to learn multiple. I have to make it one or the other, personally. At least for now. I’ll go with RoR.

4 Likes