Test

Submitted by: Submitted by

Views: 178

Words: 5935

Pages: 24

Category: US History

Date Submitted: 11/10/2013 11:19 PM

Report This Essay

PHP vs. Python vs. Ruby – The web scripting language shootout

Klaus Purer

Vienna University of Technology Institute of Computer Languages Compilers and Languages Group 185.307 Seminar aus Programmiersprachen, 2009S klaus.purer@student.tuwien.ac.at

July 18, 2009

Abstract. Scripting languages became increasingly popular in web application programming in the last years. This paper tries to find differences, advantages and drawbacks of the three most popular languages nowadays: PHP, Python and Ruby. It is obvious that all of them have their lobby and support, so it is a difficult task to state objective facts that satisfy a scientific approach. The languages will be compared concerning history, evolution, popularity, syntax, semantics, features, security and performance in web application environments. In the end a final conclusion recommends a language that looks most promising.

1

Introduction

Dynamic scripting programming languages have arrived in the mainstream market of general purpose programming languages. They have certain properties that distinguish them from classic static languages like C++: – – – – they they they they are dynamically typed focus on short syntax have an automatic memory management and garbage collection are mostly interpreted (instead of compiled)

These properties are attractive for web application development, because they allow rapid prototyping, fast code changes and fast testing routines. Depending on the selected language there may be also other differences that make the language valuable. However, this paper is not about comparing dynamic languages to static languages, but about comparing three concrete dynamic languages with each other: PHP, Python and Ruby. In this introduction I will give some details about history and popularity of the languages. The main part of the paper will work out comparisons concerning syntax and semantics, language features, security and performance. In the end there will be a conclusion listing...