DEV Community

[Comment from a deleted post]
 
andrewbrown profile image
Andrew Brown 🇨🇦 • Edited

I use to run a B2C web-app with 500K users. I think 30-50K active per day during peak months ~100K active per day. I ran this all on a single server for ~$200 CAD per month where pages would load between 30-70ms with no caching layer and there was quite a bit interactivity on the web-app.

It doesn't make practical sense to drive a race car around town so when it comes to choosing optimal languages to build your web-app you wouldn't choose to write it in C++ (which by the way OkCupid actually did). Choosing your language based on speed in 2019 doesn't matter. If you need speed for specific components for your app, then write them in isolate, and then in your primary language ensure its the most productive for developer and business needs.

We saw an exitus of people leaving Rails around 2014 because of performance issues and I experienced this myself. Instead of moving to Go or Elixir like others I discovered my issue was the many abstractions and DSLs and simply stopped using them and better code.

I was looking at dev.to codebase today and I was flabbergasted by the number of abstractions, anti-patterns and DSLs for such a simple web-app. Looking at their codebase is one of the reasons I stopped doing full-stack development to be a Solution Architect. I'm just tired of dealing with such obvious messes.

Rails is fast enough, its developers over-organizing or mis-organizing their web-apps. If you read the DDH's blog (the creator of Rails) he himself doesn't use any abstractions that are considered "must use" by Rails developers.

David here on Dev.To makes a good point on this about using things you don't need: Why You Shouldn't Use A Web Framework

A common problem I've been encountering in Toronto with startups that have a python component because they are using Machine Learning and so they think it makes business sense to write their entire web-app in python. Though finding python full-stack developers is difficult and expensive because python developers want to be doing CompSci not tinkering with web-frameworks. It never dawns on them they could use Rails or Laravel but still use python.

 
rahulchowdhury profile image
Rahul Chowdhury 🕶

This comment has got to be the best explanation on this topic, Andrew. Thanks a lot for spending the time to write this comment.

Means a lot to me. I owe you a coffee or beer whatever you prefer. 😁

I'm sold on Rails. Will be refactoring my Express app to Rails in the coming weeks. It's pretty small right now so porting shouldn't take too much of time.

Want to lay the foundation right. Thanks again, Andrew.

 
andrewbrown profile image
Andrew Brown 🇨🇦 • Edited

If you ever want some 1-on-1 time with via Zoom to do some Rails.

andrew@exampro.co

It may seem I'm Rails obsessed, but I just want to see the best outcome for people and will use whatever technology is the best fit.

Maybe you could tell me about the tech/startup scene in Bengaluru. Lots of people from India come to Toronto specifically to learn full-stack development at bootcamps or community college They keep saying they don't have the learning community and resources they have in India and its changed their life just coming to Canada to learn to code. I'm skeptical to believe that since I have no first hand knowledge and would love some perspective.

 
rahulchowdhury profile image
Rahul Chowdhury 🕶

Thanks a lot for the Zoom call invite, Andrew. I've started learning Ruby and then will start with Rails.

Let me get a hang of this and then we can have a chat. 🙌🏻

It's not bad here. Bangalore is pretty active in tech if you work for startups. Formal education system lacks proper tech exposure, though.

More on this when we have the call. 😀