Are you looking for a programming language to implement your web application in? Perhaps you’re a bit confused about which language is right for your project.
The first step to determining a suitable language for your web development project is to learn a bit about the most popular languages and frameworks that power modern websites.
Today’s article will offer a short overview of the Ruby and PHP programming languages. We’ll also discuss the importance of frameworks, and will take a look at the Ruby on Rails 4 and Symfony 2 frameworks.
A Look Back at Ruby and PHP
What is Ruby?
Appearing in 1995, Ruby was created by Yukihiro Matsumoto of Japan. Matsumoto felt a need for an object-oriented yet easy-to-use scripting language. The philosophy behind Ruby is to make programming productive and fun by placing human needs above computer needs. By carefully blending parts of the Perl, Smalltalk, Lisp, Eiffel and Ada languages, Matsumoto struck a balance between functional and imperative programming. He succeeded in making Ruby not so much simple (it’s actually a very complex language), but rather natural.
Since launching over two decades ago, Ruby has been actively updated and improved. Within a few years of its debut, Ruby started gaining popularity outside of Japan. The introduction of Ruby Gems in 2004 allowed people to write third-party libraries and programs that can be used in applications, and this is how Ruby on Rails was born in 2005.
Ruby on Rails made development a lot faster. It also offered a Model-View-Controller structure and three development approaches that prove quite handy for web developers: “convention over configuration,” DRY (Don’t Repeat Yourself), and “Fat models, skinny controller.” No wonder the whole Ruby community was talking about Ruby on Rails.
In fact, the new Rails framework made the Ruby language so popular that Mac OS X began shipping with it in 2007.
After 18 years of development Ruby 2.0.0 was released in February 2013. The 2.0 release brought numerous improvements and was adopted quickly, further confirming that Ruby is one of the most popular and wanted languages on the market. The future of this language looks very promising.
What is PHP?
PHP was first introduced in 1994 – but back then it was a research project called PHP/FI based on the C language. The syntax looked much like Perl, but was simpler to master and (of course) more limited. Still, PHP/FI was useful for building dynamic web applications, so its creator Rasmus Lerdorf just kept adding functionality.
When it became obvious that PHP was going to change how web apps are built, the language went through a complete makeover. Its second version introduced a completely rewritten parsing engine, and after its 2.0 release, PHP kept gaining popularity.
By 1998 — the year PHP 3 was released and the acronym was re-branded from “Personal Home Page” interpreter to the recursive acronym “PHP: Hypertext PreProcessor” — over 60,000 domains were running on PHP, according to a Netcraft survey.
Since 1998 the language has continued to be actively developed: PHP 4 was released in 2000, PHP 5 in 2004. Due to its lack of native Unicode support, PHP 6 was poorly received by the public and wasn’t used very actively in development.
In December 2015, PHP 7 was released. The seventh version includes the new Zend Engine 3, major internal changes in phpng, and lots of minor improvements such as uniform variable syntax, return type declarations, and AST-based compilation. The main aim of the latest version was to optimize the language’s performance.
Just as Ruby grew in popularity thanks to the Rails framework, PHP has grown in popularity over the last few years thanks to frameworks including Symfony and Laravel.
Frameworks are built on top of programming languages to provide a structure – or a skeleton – for your web application. But why exactly do we, web app developers, use them in our projects?
What Role Do Frameworks Play?
Frameworks save time by ensuring that your code is structured in an upgradable and maintainable way.
Most web applications include lots of generic components that solve common problems. For instance, defining how you store objects in a database, rendering forms views, or providing an abstraction to a common messaging layer. Frameworks offer solutions to common tasks like these out of the box, providing developers with high-quality code that can be used again and again.
Frameworks also make projects easier to maintain and develop in the long term. When code follows a well-known structure (like that provided by a framework), it is much easier to read the code, understand how it works, and improve it. And the more mature and stable the framework, the easier it is to find developers who are ready to jump in and continue developing an existing project.
The bottom line is that frameworks can save time, help you focus on your product’s unique functionality instead of developing its architecture from scratch, and make your project easier to maintain.
Now that you know what we use frameworks for, let's come back to Ruby and PHP and take a quick look at the history of their Ruby on Rails and Symfony frameworks.
A Brief History of Ruby on Rails 4 and Symfony 2
The first version of the Ruby on Rails framework was officially released in 2005. It was developed by David Heinemeier Hansson as a part of Basecamp, the project management tool. Providing default structures for web pages, databases, and web services, Ruby on Rails quickly gained popularity as a framework for rapid and efficient web development.
And being an open source framework, Rails soon gathered a community of contributors who have been improving it rapidly. The second version was released in 2007, and in 2010 Ruby on Rails 3.0 gained additional functionality by merging with Merb, another Ruby framework that took advantage of modularity.
Top sites developed in Ruby on Rails: Twitter, Shopify, CrunchBase, Bloomberg, Indiegogo.
Inspired by Ruby on Rails, the Symfony framework also follows the MVC architecture and speeds up development by relying on lots of PHP open source projects at its core.
Symfony was initially introduced in 2005 by SensioLabs, a French development company. This is why its first version was called Sensio Framework. Later the company made the project open source and called it Symfony.
In 2013 SensioLabs was able to raise 5 million euros for further Symfony development. In his letter on this matter, the company’s CEO Fabien Potencier said he was going to hire 60 more people to develop the Symfony ecosystem, i.e. bundles and products extending and improving Symfony functionality and experience.
As a result of this investment, in November 2015 Symfony received a major update with the release of version 3.0. In this article we’re still going to talk about Symfony 2, however, since it has been developed for a long time and is used in many of our past and current projects.
Top sites developed in Symfony: BlaBlaCar, Total.com, Vogue France, Medigo, Lovoo, National Geographic Traveler.
Symfony has also gained popularity among web development company clients due to the fact that several Symfony components were used to make Drupal, a well-known user-oriented CMS.
Which framework should you choose?
By now you should be familiar with where the Ruby and PHP programming languages – and their most popular frameworks, Ruby on Rails and Symfony – come from.
But this isn't the end of the story. As a web development company that works with both Ruby on Rails and Symfony, we’ll continue talking about these frameworks in other articles. We’ll take a look at the differences between these two frameworks and will make an in-depth comparison to see if it’s possible to define what kinds of projects each solution fits best.