Programming · Web Development

Best alternative language to PHP to lunch a startup from garage? Why?

Hossein R.

April 6th, 2018

Yeah, sure, Facebook, Wikipedia and etc all started with PHP and some are still mostly written in PHP but today it's a different web & keeping the focus of fastest and low cost development and easy to go to market and making adjustments, what language [& frameworks] would you suggest for backend of a web-based service? What is your experience with it?

Jenny Kwan Co-Founder and Technical Lead of Woodlamp Technologies

April 8th, 2018

"Web-based service" can mean anything. I agree with Greg Navis. It's completely dependent on your requirements. After all, it's engineering - solving a specific problem in context.

I would add this:

  • If you care about scale, stop. Unless one of the marketable features is scalability, i.e. you host other people's content and need to provide SLA. This means that frameworks that don't scale shouldn't be discounted just because they don't scale. The interpreted languages that are single-process come to mind - Python with Django/Flask, Ruby with Rails/Sinatra. For most use cases, the data store will be your bottleneck anyway, because sharding is the best answer, and sharding is hard. Scale the app when it's successful and you have the capital to.
  • If you care about maintainability, stop. No one maintains the code of a dead company. Just get it to market. For most use cases, I use Rails, even though I hate both Rails and Ruby with a passion. It lets me stand up the architectural equivalent of an outhouse very quickly. When I need the skyscraper that lives for 50 years and must be randomly upgradeable, I'll rewrite it then. Probably in Clojure.
  • In any case, if you're the non-technical side, you're constrained by the technical talent or, if you're lucky, partner, that you find. Just go with it. Something is better than nothing.

Greg Navis Web developer specialized in building early-stage tech products

April 6th, 2018

The goal in the early stages of the product is to enter the market, get some feedback on your idea from (potential) customers, and figure out a way to sell it. These are the biggest risks that aren't affected by your technical choices. That being said there are a few things you should take into account:

  1. Are there libraries that would make your product much easier or faster to implement in one language instead of another? If so, consider using that language. For example, Python has sympy (symbolic mathematics) that has no counter part in the Ruby world.
  2. Does the problem you're addressing require some specific capabilities? For example, if you're building a chat application then you'll need the ability to support lots of open connections and Erlang or Elixir would be great choices. Theoretically it's a runtime issue, not language issue, but in practice it affect your language choices.
  3. Do target platforms restrict your choice of languages? Web and embedded development use different languages and tools.

After answering these questions you'll be left with a bunch of feasible languages/technologies. Don't introduce unnecessary technical risks. Pick something you know well, that has been on the market for a long time and has a large supportive community.

George Feil Creator of Distributed Internet Applications

Last updated on April 6th, 2018

Ruby on Rails has been my choice for 12 years, and continues to be. Here is why:

  • It is a mature framework built from the ground up based on the best MVC patterns for developing web applications.
  • Ruby is one of the most powerful and productive object oriented languages, especially for developing domain specific language implementations.
  • Rails follows a "convention over configuration" paradigm. This allows you to ramp up quickly building new apps from scratch with minimal setup of your environment. And Rails is flexible, so you can adapt it for preexisting environments and databases.
  • Rails has continued to evolve over its lifetime, and is updated frequently. The latest release is 5.1.6. Although it was developed initially for building HTML based apps, it is well suited for MPV and SOA environments, and easily supports multiple output formats in parallel. It has built in support for AJAX / JSON, asset packaging, caching, web sockets, email, and background job processing, just to name a few.
  • Rails has one of the most sophisticated ORM packages I have ever worked with, providing support for just about every relational DB engine. There's support for a variety of noSQL engines as well.
  • Want to do TDD? You have multiple options for organizing your test suites. Want to do BDD? There's a solution for that too.
  • It has a large and growing community of supporters. There are many excellent open source libraries (gems) available to help implement almost every integration you need.
  • It scales. New Relic proved it.

Although there are newer frameworks that show promise (Phoenix on Elixir for scaling) or are gaining popularity (Node.js), the most important aspects you need to consider is the time to implementation and support effort. Rails has proven its viability in both areas.

Robin Rowe

April 15th, 2018

The trend is node.js. While C++ may be 10x or even 100x faster than an interpreted language, it takes more engineering chops.

As others correctly point out, the conventional path is what every startup takes under pressure to get to market. The technical debt gets kicked down the road. If someone actually wants to choose C++, contact me directly. I can help.

Avinash Rathi Technopreneur | Doer

April 6th, 2018

I think the way of implementing your idea, your logic, your algo matters most, instead of language.

Good code written in any language can make application better.

I have worked on LAMP stack and its great. Laravel, Lumen, Symfony, Zend are good frameworks. You can develop amazing applications over these platforms.

Conor Brady Remote CTO | Freelance Full-stack Web & Mobile App Developer/Designer

April 6th, 2018

I have moved from LAMP -> MEAN -> MERN. Low-learning curve once you get off the ground. Full-stack JS. Safe to say the tech will be around for a long time and constantly improved on. I still use PHP but only for already built sites that need maintenance.

Sudeep Bhatnagar I develop apps, talk apps, live apps.

April 6th, 2018

Node.js for the APIs, its much faster than PHP; many times! We use node.js across many of our apps and they respond better compared to what they could when web services are done using php. Also, not all fb, wiki started with only "php" as such, there were many layers (on front end, backend) then also, and now its altogether diff level. The best part about Node.js is that your front end developer would be able to quickly scale on that.

Please read this as we wrote about benefits of node.js -

Kingshuk Chatterjee

April 8th, 2018

"Best alternative language to PHP to lunch a startup from garage? " - The BEST is vague term - but if I am to interpret this in terms of speed of development, stability, and integration with 3rd party services, my choice is Python. Hands-down the accelerates the development speed. Plus if you are building a data product, you can have a universal language between your engineering and data teams and that alone is a big leg up.

Shyam Mohan K CoFounder @ CodeCrux

Last updated on April 11th, 2018

For Startups technology selection depends on the Tech cofounder

or available tech team's skill set.

Ruby on rails is super fast product development tool for web apps, it has full stake tools to ship your product idea.

I would like to support George Feil 's reply. He really wrote very good about rails.

Dan Hubbard Founder, www.FocusedAgility.Solutions/

April 15th, 2018

No one can answer this for you -- no one can offer anything of value -- without knowing what the web-based service is.