Back in the summer of 2013 we began the process of brainstorming and formulating the curriculum for a new range of web development training courses and bootcamps to be launched under the RocketU banner.
Of course, the other side of the HTTP equation comprises all the server-side technologies that are used to retrieve and process data and then generate and serve the HTML documents and other resources back to the browser.
The responsibility for processing incoming requests, interacting with various other technologies (databases, web services, etc) and then delivering the initial HTML document back to the browser falls to a server-side programming language and, usually, an associated framework.
Ruby on Rails
Pros and Cons
Ruby on Rails is extremely versatile and has a very strong community around the web development framework of Rails. It has great open-source libraries that can help make development a lot faster. A lot of startups choose to use this framework for ease and speed of development.
On the other hand, because the framework is so extensive, it can be quite cumbersome to do custom designs and doing anything that is outside of the framework's scope. A lot of developers find the framework conventions quite annoying and bypass the framework altogether. Many prefer lighter frameworks.
Python and Django
At RocketU, some of us felt that other languages may offer students more opportunities. In particular, some of us had experience of Python and Django and felt that they would be better candidates. So, before just jumping on the Ruby/Rails bandwagon, we decided to reach out to a number of technology companies and get their input.
We found that there was a message coming back that Python and Django were indeed highly regarded in the community, and that CTOs would be keen to recruit developers with Python experience. The other feedback was that there seemed to be a limited number of Python developers available, certainly fewer than for Ruby and PHP for example.
Pros and Cons
The main attractions of Python as far as we were concerned were:
+ Straightforward syntax
+ Enforces good practices, such as indentation
+ Extensive standard library (often referred to as coming with "batteries included”)
+ Dynamic user community and events
+ Used extensively in the scientific community
From an academic perspective, Python is now the most used language to teach students at universities, as evidenced by a recent article from Communications of the ACM:
"At the time of writing (July 2014), Python is currently the most popular language for teaching introductory computer science courses at top-ranked U.S. departments. Specifically, eight of the top 10 CS departments (80%), and 27 of the top 39 (69%), teach Python in introductory CS0 or CS1 courses."
Another consideration is that there is a large scientific and research community that contributes a lot to Python and opens up more job opportunities to developers and engineers. Add that to the facts that Python has a major role in the Internet of Things (IoT) movement that is driving the connection of hardware devices to the Internet, and is the operating system for devices such as the Raspberry Pi, we see it as an exciting language that will provide developers with a fantastic springboard into emerging technologies and applications.
Of course this is not to say that we consider Python and Django to be the only viable choices for server-side language and framework. Other candidates such as Ruby and PHP are hugely significant. PHP, used by some serious players, probably powers more websites than any other language out there and Ruby has certainly placed its stake in the web technology landscape, but we wanted to focus on giving students a thorough knowledge of one core language and framework, rather that trying to cover all bases.
To summarize, whilst RocketU is the leader in creating production-ready Python developers, it’s also important to say that we have no intention of ignoring other languages and frameworks that we’ll be adding live online and in-person courses and modules to cover these and a range of other web-tech topics over the coming weeks and months.
This article is a guest post by Sonya Jendoubi, a member of the RocketU education team at RocketSpace. This blog is not written by Switch. The author is responsible for the content.