While the front end web development focuses on website presentation, the back-end is what really runs a website’s internal activity. If web development was a car, the front-end - or what the user sees - is the appearance from the color, muscle build, and interior design. The Back-end would be what’s underneath the car. While you cannot see it initially, this is what really makes the car operate.
Usually, there are three parts to the back-end environment: the server, the web application software, and the database.
The server is a system that runs the web software and receives the actual input of the user. When you type in your credit card information on a retail site, you are submitting information, and all the information in your purchase is processed here. The front-end sets it up for you to enter your data, and then sends it to the back-end of the website.
The web application is the software that communicates with the server. It processes the input data given and interacts with the database if needed. A good example would be comparing the web application to a clerk in an accounting firm. The clerk gathers the data given to them, and hands it over the next person in charge of processing the information. That person would be the server.
The database is where every user input generally goes. This includes receipts, inventory, responses, and in some cases, user requests. All data information is formatted by the web application and stored here. If you wanted a refund for an item you bought from a website, the item is added back to the company’s inventory, archives the response, and changes the sales transaction in another part of the database.
Back-End Computer Languages
Each layer of back-end development is written some type of computer language. Computer languages are actions that computers process and interact with one another. Some back-end development consists of maybe one language while others consist of numerous languages working together.
The main languages being utilized in back-end development today include html, PHP, Ruby, and Python.
HTML is the backbone of the website and must be implemented regardless of the other languages the company will use. By using HTML, the guys behind the website then implement a true language into their back-end development.
PHP is a scripting language that works in cohesion with SQL, or Structured Query Language. PHP is used inside of HTML to pull the data needed, sometimes manipulate it, and finally pushes it to the server. Here, SQL creates the database for the information, and PHP writes the data from the website into the database. This PHP / MySQL combo is the most used approach to back-end development. Also, PHP is the most used web language and has been around since 1995. It shows no signs of slowing down, and most web developers are familiar with it one way or the other. Some websites that use PHP in back-end development include Wikipedia and Facebook.
Ruby is a true programming language created by Yukihiro “Matz” Matsumoto in 1995. It was created to have a “careful balance” of simplicity and complexity. Ruby can be embedded in HTML and handles everything that PHP and SQL do as a unit. However, there are some down sides. To use Ruby in back-end development, you need to use a framework known as Ruby on Rails. We will talk about frameworks soon, but just know that frameworks make back-end and front-end development easier for developers. Compared to PHP, Ruby has the tools to do everything, but the learning curve can be problematic, especially if you have never learned a programming language. Some websites running Ruby on Rails in back-end development includes Twitter and Hulu.
Python is also a true programming language. Python was created by Guido Van Rossum in 1991, making it the oldest of the three main languages used in back-end development. Unlike Ruby, Python focuses on readability and simplicity rather than a balance of programming ideas. Python is easily readable for beginner programmers and is by far the easiest programming language to learn. It is also as powerful as any other programming languages and performs well in object oriented and function designs. However, Ruby has shown to perform slightly better than Python in certain web battlegrounds. Older developers tend to use Ruby over Python, but Python is the fastest growing language. You would think it would be preferred over its younger language rivals, but implementation has been a slow process for Python. Google and its owned websites such as Youtube currently operate almost entirely on Python and Python frameworks.
Here is a list of some popular frameworks being used in web development:
Ruby on Rails - This is the most popular way to use Ruby in back-end development.
Django - This is used to build web applications using Python and is very popular on the web.
.NET Framework - .NET Framework is the most popular framework on the Internet. Microsoft created this framework that allows developers to use multiple programming languages in one project via CLI(Common Language Interface). They co-exist and work together to get the job done. This framework supports over 12 programming and scripting languages, including C#, C++, F#, PowerShell, and altered versions of Python and Ruby!
So which language is best?
There is no “best” language for back-end development. The programming language used for a website is solely based on preference and what the website dev’s are most familiar with. It also depends on what direction the website wants to go in the present and future. Currently, PHP would be implemented more due to development familiarity. However, in the future, Ruby, Python, and other languages will see an increase in back-end development. In doing so, PHP could become unfamiliar with a new generation of developers. Therefore, a website owner may consider other languages rather than implementing PHP.
Here is a video that shows a great comparison of the three main back-end development languages including their marketability and performance: PHP v. Ruby v. Python - Which One is the Best? (YouTube)
Udeme does a good job analyzing each language here: Code Wars: Ruby vs Python vs PHP [Infographic]