Development of a PHP Compiler for Mono

Total Page:16

File Type:pdf, Size:1020Kb

Development of a PHP Compiler for Mono University of Augsburg Diploma Thesis Development of a PHP Compiler for Mono Presented by: Raphael Romeikat Matriculation Number: 700543 Revisers: Prof. Dr. Bernhard Bauer Prof. Dr. Bernhard Möller Institute of Computer Science University of Augsburg Deadline: February 6th, 2006 Contents 1 Preface............................................................................................. 4 1.1 Incentives .................................................................................. 4 1.2 Goals ......................................................................................... 5 2 Existing Projects................................................................................ 7 2.1 PHP Sharp.................................................................................. 7 2.2 IronPHP ..................................................................................... 8 2.3 Phalanger................................................................................... 8 3 Mono ..............................................................................................10 3.1 Introduction...............................................................................10 3.2 History......................................................................................10 3.3 Architecture...............................................................................11 4 PHP ................................................................................................14 4.1 Introduction...............................................................................14 4.2 History......................................................................................15 4.3 Architecture...............................................................................17 4.4 Syntax and Semantics.................................................................18 4.4.1 Statements......................................................................18 4.4.2 Comments.......................................................................19 4.4.3 Types..............................................................................19 4.4.4 Variables .........................................................................24 4.4.5 Constants ........................................................................29 4.4.6 Expressions .....................................................................29 4.4.7 Operators ........................................................................30 4.4.8 Control Structures............................................................36 4.4.9 Functions ........................................................................42 4.4.10 Classes and Objects ..........................................................45 5 CIL .................................................................................................51 5.1 Introduction...............................................................................51 5.2 History......................................................................................51 5.3 Architecture...............................................................................53 5.4 Syntax and Semantics.................................................................55 5.4.1 Types..............................................................................56 5.4.2 Assemblies and Modules....................................................57 5.4.3 Classes ...........................................................................58 5.4.4 Fields..............................................................................59 5.4.5 Methods ..........................................................................60 5.4.6 Base Instruction Set..........................................................63 5.4.7 Object Model Instruction Set ..............................................67 - 2 - 6 Translation from PHP to CIL................................................................69 6.1 Statements and Comments ..........................................................69 6.2 Types .......................................................................................70 6.3 Variables ...................................................................................72 6.4 Constants..................................................................................75 6.5 Expressions and Operators...........................................................76 6.6 Control Structures......................................................................78 6.6.1 Conditional Statements.....................................................78 6.6.2 Loop Statements..............................................................81 6.7 Functions ..................................................................................84 6.8 Classes and Objects ....................................................................87 7 mPHP – the Mono PHP Compiler..........................................................90 7.1 Architecture...............................................................................90 7.2 Implementation..........................................................................91 7.3 Deployment ...............................................................................92 7.3.1 Executable.......................................................................92 7.3.2 Runtime Library................................................................93 7.4 Usage .......................................................................................93 7.5 Example....................................................................................94 8 Prospects.........................................................................................96 Appendix A CIL Instruction Set..............................................................97 Appendix B PHP Features Included.......................................................105 List of Abbreviations ...........................................................................105 List of Figures ....................................................................................107 List of Tables .....................................................................................108 List of Definitions ...............................................................................109 List of Examples.................................................................................109 Bibliography ......................................................................................113 - 3 - 1 Preface 1.1 Incentives Mono is an open source implementation of Microsoft's .NET platform including the tools, libraries and compilers required to build software on a variety of platforms: Linux, UNIX, MacOS X, Solaris and Windows. It is based on the Common Language Infrastructure (CLI), standardized by the ECMA standards group and ratified as standards by ISO. Similar to Java, the Mono environment consists of a compiler, virtual machine and API classes. The main compiler fo- cus is on the C# language, but more and more languages are being supported by third party extensions. Mono is unique in many ways. It helps developers to use their existing knowledge on other platforms as libraries can be shared be- tween languages. It brings together many modern programming language fea- tures. In particular the combination of them in a single environment makes Mono efficient to develop with. PHP is a widely-used scripting language especially suited for web development and can easily be embedded into HTML. Its syntax and semantics are similar to other popular programming languages such as C, Perl and Java, therefore PHP can be used intuitively and easily. PHP also offers object oriented pro- gramming for better modularity and reuse of code. Another great strength is the availability of a very large number of library routines which makes coding of web pages very powerful. These libraries include a more or less complete set of system calls and access to a large variety of databases like Oracle and MySQL. A recent Netcraft survey indicates that PHP is used on almost 20 mil- lion domains worldwide, so it is the most widely used scripting language on the World Wide Web. Given the popularity of Mono and PHP, why not take advantage of combining both? How could such benefits look like? With PHP's benefits on Mono many new possibilities would become reality. Mono developers could use PHP as a remarkably straightforward programming language outside of web pages. In this way they could also take advantage of the rapidly increasing range of use- ful PHP packages available. - 4 - 1.2 Goals We have now seen how popular and widespread Mono and PHP are. What I want to do is enable the Mono Community to take advantage of PHP's fea- tures. Therefore the main goal of this project is building a compiler that en- ables PHP scripts to run as standalone application on Mono. Before doing so major aspects of the compiler's design and implementation need to be speci- fied, to the greatest extent possible at the very beginning. 1.2.1 Input and Output Language As a compiler is basically a translator, it has an input and an output language. The question about input language can clearly be answered. Input to our com- piler will be PHP scripts written in its current version 5. Code being executable on Mono is written in Common Intermediate Language (CIL), so this will be the output language of our compiler. CIL is a low level human readable programming language and resembles
Recommended publications
  • Report on Biodiversity and Tropical Forests in Indonesia
    Report on Biodiversity and Tropical Forests in Indonesia Submitted in accordance with Foreign Assistance Act Sections 118/119 February 20, 2004 Prepared for USAID/Indonesia Jl. Medan Merdeka Selatan No. 3-5 Jakarta 10110 Indonesia Prepared by Steve Rhee, M.E.Sc. Darrell Kitchener, Ph.D. Tim Brown, Ph.D. Reed Merrill, M.Sc. Russ Dilts, Ph.D. Stacey Tighe, Ph.D. Table of Contents Table of Contents............................................................................................................................. i List of Tables .................................................................................................................................. v List of Figures............................................................................................................................... vii Acronyms....................................................................................................................................... ix Executive Summary.................................................................................................................... xvii 1. Introduction............................................................................................................................1- 1 2. Legislative and Institutional Structure Affecting Biological Resources...............................2 - 1 2.1 Government of Indonesia................................................................................................2 - 2 2.1.1 Legislative Basis for Protection and Management of Biodiversity and
    [Show full text]
  • Interaktiv Hemsida Med PHP Och Mysql
    Examensarbete LITH-ITN-EX--03/013--SE Interaktiv hemsida med PHP och MySQL Håkan Bertilsson Rickard Wikström 2003-06-02 Department of Science and Technology Institutionen för teknik och naturvetenskap Linköping University Linköpings Universitet SE-601 74 Norrköping, Sweden 601 74 Norrköping LITH-ITN-EX--03/013--SE Interaktiv hemsida med PHP och MySQL Examensarbete utfört i Elektronisk publicering vid Linköpings Tekniska Högskola, Campus Norrköping Håkan Bertilsson Rickard Wikström Handledare: Stefan Gustavson Examinator: Carina Qvarford Norrköping den 2/6 2003 Datum Avdelning, Institution Date Division, Department Institutionen för teknik och naturvetenskap 2003-06-02 Department of Science and Technology Språk Rapporttyp ISBN Language Report category _____________________________________________________ x Svenska/Swedish Licentiatavhandling ISRN LITH-ITN-EX--03/013--SE Engelska/English x Examensarbete _________________________________________________________________ x C-uppsats Serietitel och serienummer ISSN D-uppsats Title of series, numbering ___________________________________ _ ________________ Övrig rapport _ ________________ URL för elektronisk version http://www.ep.liu.se/exjobb/itn/2003/mk/013/ Titel Interaktiv hemsida med PHP och MySQL Title Interactive website using PHP and MySQL Författare Håkan Bertilsson Rickard Wikström Author Håkan Bertilsson Rickard Wikström Sammanfattning Detta examensarbete är utfört åt Cervera i Norrköping och Linköping. Uppgiften var att skapa en professionell interaktiv hemsida åt företaget där delar av företagets varusortiment kan presenteras. Förutom en hemsida vänd till potentiella kunder så skapades en applikation upplagd på Internet där företagets anställda kan lista, uppdatera, radera och skapa poster som är lagrade i en databas. Detta för att enklare kunna styra innehållet på hemsidan. I huvudsak har PHP och HTML använts för att skapa hemsidan i kombination med databaser i MySQL.
    [Show full text]
  • Student Authored Textbook on Software Architectures
    Software Architectures: Case Studies Authors: Students in Software Architectures course Computer Science and Computer Engineering Department University of Arkansas May 2014 Table of Contents Chapter 1 - HTML5 Chapter 2 – XML, XML Schema, XSLT, and XPath Chapter 3 – Design Patterns: Model-View-Controller Chapter 4 – Push Notification Services: Google and Apple Chapter 5 - Understanding Access Control and Digital Rights Management Chapter 6 – Service-Oriented Architectures, Enterprise Service Bus, Oracle and TIBCO Chapter 7 – Cloud Computing Architecture Chapter 8 – Architecture of SAP and Oracle Chapter 9 – Spatial and Temporal DBMS Extensions Chapter 10 – Multidimensional Databases Chapter 11 – Map-Reduce, Hadoop, HDFS, Hbase, MongoDB, Apache HIVE, and Related Chapter 12 –Business Rules and DROOLS Chapter 13 – Complex Event Processing Chapter 14 – User Modeling Chapter 15 – The Semantic Web Chapter 16 – Linked Data, Ontologies, and DBpedia Chapter 17 – Radio Frequency Identification (RFID) Chapter 18 – Location Aware Applications Chapter 19 – The Architecture of Virtual Worlds Chapter 20 – Ethics of Big Data Chapter 21 – How Hardware Has Altered Software Architecture SOFTWARE ARCHITECTURES Chapter 1 – HTML5 Anh Au Summary In this chapter, we cover HTML5 and the specifications of HTML5. HTML takes a major part in defining the Web platform. We will cover high level concepts, the history of HTML, and famous HTML implementations. This chapter also covers how this system fits into a larger application architecture. Lastly, we will go over the high level architecture of HTML5 and cover HTML5 structures and technologies. Introduction High level concepts – what is the basic functionality of this system HyperText Markup Language (HTML) is the markup language used by to create, interpret, and annotate hypertext documents on any platform.
    [Show full text]
  • Pfc6168.Pdf (438.8Kb)
    ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DE TELECOMUNICACIÓN UNIVERSIDAD POLITÉCNICA DE CARTAGENA Proyecto Fin de Carrera TÍTULO: Iphone Bookshelf AUTOR: David Zamora Gutiérrez DIRECTOR: Francesc Burrull i Mestres Febrero / 2015 INDEX IPhone application………………………………………………………………... o Tools……………………………………………………………………… . Iphone…………………………………………………………….. Objective-C……………………………………………………….. o Code………………………………………………………………………. Web site…………………………………………………………………………... o Tools……………………………………………………………………… . Codeigniter……………………………………………………….. Php………………………………………………………………... Http……………………………………………………………….. Html………………………………………………………………. Mysql……………………………………………………………... Apache……………………………………………………………. CSS……………………………………………………………….. E-books…………………………………………………………… o Code………………………………………………………………………. References……………………………………………………………………....... IPHONE APPLICATION TOOLS IPHONE The iPhone is a line of Internet- and multimedia-enabled smartphones designed and marketed by Apple Inc. The first iPhone was unveiled by Apple CEO Steve Jobs on January 9, 2007, and released on June 29, 2007. An iPhone can function as a video camera (video recording was not a standard feature until the iPhone 3GS was released), a camera phone, can send texts and receive visual voicemail, a portable media player, and an Internet client with email and web browsing capabilities, and both Wi-Fi and 3G connectivity. The user interface is built around the device's multi-touch screen, including a virtual keyboard rather than a physical one. Third-party as well as Apple application software is available from the App Store, which launched in mid-2008 and now has over 350,000 "apps" approved by Apple. These apps have diverse functionalities, including games, reference, GPS navigation, social networking, e-books... To create applications for this device it’s use the APPLE SDK. APPLE SDK The SDK basically consists of a set of tools that Apple provides to build, debug and test our developments. It contains the following programs: - XCODE: Xcode is a suite of tools, developed by Apple, for developing software for Mac OS X and iOS.
    [Show full text]
  • 0636361 Page 1 of 10 Annual Report for Period:01/2008
    Annual Report: 0636361 Annual Report for Period:01/2008 - 12/2008 Submitted on: 07/26/2008 Principal Investigator: Hayden, Linda B. Award ID: 0636361 Organization: Elizabeth City State Univ Submitted By: Hayden, Linda - Principal Investigator Title: CI-TEAM Implementation Project: Cyberinfrastructure for Remote Sensing of Ice Sheets Project Participants Senior Personnel Name: Hayden, Linda Worked for more than 160 Hours: Yes Contribution to Project: Dr. Linda Hayden serves as principal investigator for the CI-TEAM project. As such she schedules and organizes project activities including webcast, training, distinguished lectures and workshops. With the assistance of faculty from ADMI institutionsshe makes selections of program participants. Dr. Hayden makes reports to the funding agency in a timely fashion. Name: Gogineni, S. Prasad Worked for more than 160 Hours: Yes Contribution to Project: Dr. Prasad Gogineni heads the CI-TEAM science team. The Science Team is responsible for GRID sensor and satellite data content. Name: Fox, Geoffrey Worked for more than 160 Hours: Yes Contribution to Project: Dr. Geoffrey Fox leads the team at Indiana University in their design and acquisition of equipment required for the basecamp and fieldcamp server units used during Greenland and Antarctic data collection deployments. Dr. Fox leads the CI-TEAM technology team. He also serves as a mentor and consultant for ADMI faculty. Post-doc Graduate Student Undergraduate Student Technician, Programmer Other Participant Research Experience for Undergraduates Organizational Partners ADMI The Association of Computer and Information Science/Engineering Departments at Minority Institutions (ADMI). ADMI was established as a national organization Page 1 of 10 Annual Report: 0636361 dedicated to exploring and providing remedies to the educational issues in computer/information science and computer engineering that confront minority institutions of higher learning.
    [Show full text]
  • Phalanger Compiling PHP for .NET and Silverlight
    Phalanger Compiling PHP for .NET and Silverlight http://php-compiler.net Tomáš Petříček, C# MVP ([email protected]) Formerly by: Tomáš Matoušek, Ladislav Prošek, et al. Agenda Phalanger Introduction What is Phalanger? And what is it good for? Phalanger for Silverlight How (and why) to write Silverlight client apps in PHP .NET and PHP interoperability Calling C# code from PHP Calling PHP code from C# Interesting Compilation Problems Conditional type binding Calling overloaded methods DEMO Let’s look at some cool demo first :-)! http://tomasp.net/files/copter/default.html Introduction . Phalanger: PHP Language Compiler for .NET . Initially targeting .NET Framework 1.1 . Now using .NET 2.0, Mono and Silverlight 2.0 . We’re planning to use (parts of) DLR in the future . What can you do with Phalanger? . Compile various open-source PHP applications for .NET . Use PHP functions & objects from (other) .NET languages . Use .NET classes from PHP programs . Write Silverlight applications in PHP Agenda Phalanger Introduction What is Phalanger? And what is it good for? Phalanger for Silverlight How (and why) to write Silverlight client apps in PHP .NET and PHP interoperability Calling C# code from PHP Calling PHP code from C# Interesting Compilation Problems Conditional type binding Calling overloaded methods Phalanger: PHP for Silverlight . Similar as other Silverlight dynamic languages . XAML file is loaded by Silverlight plugin in the browser . PHP source code referenced using XAML element: <php:PhalangerLoader Source="script.phpx" /> . Downloaded, compiled and executed on the client . “Loader” element, compiler and runtime in one DLL file <Canvas xmlns="http://schemas.microsoft.com/client/2007" xmlns:php="clr-namespace:PHP.Silverlight; assembly=Bin/PhpNetCore.dll" Width="800" Height="600" Background="White"> <php:PhalangerLoader Source="simpledemo_php.phpx" /> </Canvas> Phalanger: PHP for Silverlight .
    [Show full text]
  • PHP: Zend for I5/OS
    Front cover PHP: Zend for i5/OS Learn how to install and administer Discover valuable development tips and advice Security, globalization, Zend Platform for i5/OS, and more! Gary Mullen-Schultz Melissa Anderson Vlatko Kosturjak ibm.com/redbooks International Technical Support Organization PHP: Zend for i5/OS January 2007 SG24-7327-00 Note: Before using this information and the product it supports, read the information in “Notices” on page vii. First Edition (January 2007) This edition applies to Version 1.0, Release 5.0, Modification 0.0 of Zend Core for i5/OS, Version 2.0, Release 1.0, Modification 2.0 of Zend Platform for i5/OS, and Version 5.0, Release 2.0, Modification 0.0 of Zend Studio for i5/OS. © Copyright International Business Machines Corporation 2007. All rights reserved. Note to U.S. Government Users Restricted Rights -- Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents Notices . vii Trademarks . viii Preface . ix The team that wrote this book . ix Become a published author . .x Comments welcome. .x Chapter 1. Welcome to PHP on i5/OS! . 1 1.1 Welcome! . 2 1.1.1 IBM and Zend Core. 2 1.1.2 Zend Core for IBM . 2 1.2 Previous support of PHP on i5/OS . 3 1.3 Current support of PHP on i5/OS . 3 1.3.1 Zend Core for i5/OS . 3 1.3.2 Zend Studio for i5/OS . 4 1.3.3 Zend Platform for i5/OS . 4 1.4 How i5 implementation differs from Zend Core.
    [Show full text]
  • Web Application Development with PHP 4.0 00 9971 FM 6/16/00 7:24 AM Page Ii
    00 9971 FM 6/16/00 7:24 AM Page i Web Application Development with PHP 4.0 00 9971 FM 6/16/00 7:24 AM Page ii Other Books by New Riders Publishing MySQL GTK+/Gnome Application Paul DuBois, 0-7357-0921-1 Development Havoc Pennington, 0-7357-0078-8 A UML Pattern Language Paul Evitts, 1-57870-118-X DCE/RPC over SMB: Samba and Windows NT Domain Internals Constructing Superior Software Luke Leighton, 1-57870-150-3 Paul Clements, 1-57870-147-3 Linux Firewalls Python Essential Reference Robert Ziegler, 0-7357-0900-9 David Beazley, 0-7357-0901-7 Linux Essential Reference KDE Application Development Ed Petron, 0-7357-0852-5 Uwe Thiem, 1-57870-201-1 Linux System Administration Developing Linux Applications with Jim Dennis, M. Carling, et al, GTK+ and GDK 1-556205-934-3 Eric Harlow, 0-7357-0021-4 00 9971 FM 6/16/00 7:24 AM Page iii Web Application Development with PHP 4.0 Tobias Ratschiller Till Gerken With contributions by Zend Technologies, LTD 201 West 103rd Street, Zeev Suraski Indianapolis, Indiana 46290 Andi Gutmans 00 9971 FM 6/16/00 7:24 AM Page iv Web Application Development with PHP 4.0 By:Tobias Ratschiller and Till Gerken Copyright © 2000 by New Riders Publishing Publisher FIRST EDITION: July, 2000 David Dwyer All rights reserved. No part of this book may be reproduced Executive Editor or transmitted in any form or by any means, electronic or Al Valvano mechanical, including photocopying, recording, or by any information storage and retrieval system, without written Managing Editor permission from the publisher, except for the inclusion of Gina Brown brief quotations in a review.
    [Show full text]
  • Management Strategies for the Cloud Revolution
    MANAGEMENT STRATEGIES FOR CLOUDTHE REVOLUTION MANAGEMENT STRATEGIES FOR CLOUDTHE REVOLUTION How Cloud Computing Is Transforming Business and Why You Can’t Afford to Be Left Behind CHARLES BABCOCK New York Chicago San Francisco Lisbon London Madrid Mexico City Milan New Delhi San Juan Seoul Singapore Sydney Toronto Copyright © 2010 by Charles Babcock. All rights reserved. Except as permitted under the United States Copyright Act of 1976, no part of this publication may be reproduced or distributed in any form or by any means, or stored in a database or retrieval system, without the prior written permission of the publisher. ISBN: 978-0-07-174227-6 MHID: 0-07-174227-1 The material in this eBook also appears in the print version of this title: ISBN: 978-0-07-174075-3, MHID: 0-07-174075-9. All trademarks are trademarks of their respective owners. Rather than put a trademark symbol after every occurrence of a trademarked name, we use names in an editorial fashion only, and to the benefi t of the trademark owner, with no intention of infringement of the trademark. Where such designations appear in this book, they have been printed with initial caps. McGraw-Hill eBooks are available at special quantity discounts to use as premiums and sales promotions, or for use in corporate training programs. To contact a representative please e-mail us at [email protected]. This publication is designed to provide accurate and authoritative information in regard to the subject matter covered. It is sold with the understanding that the publisher is not engaged in rendering legal, accounting, or other professional service.
    [Show full text]
  • Rogue Wave Software Buys Israeli Co Zend Technologies
    Rogue Wave Software buys Israeli co Zend Technologies 07/10/2015, 12:18 Globes correspondent The sale was reportedly for considerably less than the $70 million that the Israeli PHP app company has raised. US company Rogue Wave Software has acquired Israeli company Zend Technologies , which offers end-to-end PHP web and mobile application development and deployment solutions. With 50 percent of the web workload running on PHP, including Magento, Drupal, and WordPress, Zend products drive PHP in the enterprise, from code creation through production deployment. Zend CEO Andi Gutmans and CTO Zeev Suraski founded the company in 1999, which is today headquartered in Cupertino, California and retains its development center in Ramat Gan. No financial details about the sale were disclosed but media reports suggest it was for considerably less than the $70 million that the company has raised to date. Rogue Wave CEO Brian Pierce said, “Today’s announcement expands Rogue Wave into PHP web and mobile application development, underscoring our goal to make developers heroes by accelerating their ability to create great code. With the addition of Zend, we now have products that speed C, C++, C#, Java, and PHP development, reflecting how software is created today across languages, platforms, and teams.” Gutmans said, “Our passion has always been about PHP users. When we founded Zend, we set out to make it easier for developers to use PHP to meet the demands of business development. We’re very happy to have a great match with Rogue Wave, from our shared commitment to customers and how we impact their software development lifecycle.
    [Show full text]
  • PHP 5 Power Programming by Andi Gutmans, Stig Bakken, and Derick Rethans
    PHP 5 Content provided in partnership with Prentice Hall PTR, from the book PHP 5 Power Programming by Andi Gutmans, Stig Bakken, and Derick Rethans Introduction Following the huge success of its predecessors, PHP 5 brings many significant improvements to the most popular web scripting language on the globe. The book PHP 5 Power Programming, written by Stig Bakken, Derick Rethans, and myself, provides readers with an in-depth view of this new PHP version right from its source. The foundation of PHP 5 is the new Zend Engine II scripting engine, which not only features a completely new and feature rich object oriented paradigm, but also provides the infrastructure for other significant changes such as great improvements in PHP's support for XML technologies. This article gives you a very short overview of PHP 5 and what makes it so great. New OO Features The OO model of PHP 5 has been completely rewritten. Not only does the move from objects being native types to objects being handles give much more clarity on when objects are created, cloned, and destroyed, but it also allowed us to implement many new OO features which are common in traditional OO languages. There are far too many features to cover, but the following list gives you the highlights: • As mentioned, PHP objects are now based on handles, which allows for clear-cut object constructors, clone methods and destructors • The PHP object syntax can be completely overloaded by PHP extension authors, allowing the efficient implementation of important new features such as SimpleXML and the native SOAP extension, both of which are described later on • Both properties and methods support the common OO public/private/protected access modifiers (as well as final and static) • Abstract methods, abstract classes and interfaces • Exception handling ala try/throw/catch • Method return value de-referencing such as $obj->method1()->method2() This list is only the tip of the iceberg, and there are many more OO improvements, too numerous to cover in this short overview.
    [Show full text]
  • Comparative Studies of Six Programming Languages
    Comparative Studies of Six Programming Languages Zakaria Alomari Oualid El Halimi Kaushik Sivaprasad Chitrang Pandit Concordia University Concordia University Concordia University Concordia University Montreal, Canada Montreal, Canada Montreal, Canada Montreal, Canada [email protected] [email protected] [email protected] [email protected] Abstract Comparison of programming languages is a common topic of discussion among software engineers. Multiple programming languages are designed, specified, and implemented every year in order to keep up with the changing programming paradigms, hardware evolution, etc. In this paper we present a comparative study between six programming languages: C++, PHP, C#, Java, Python, VB ; These languages are compared under the characteristics of reusability, reliability, portability, availability of compilers and tools, readability, efficiency, familiarity and expressiveness. 1. Introduction: Programming languages are fascinating and interesting field of study. Computer scientists tend to create new programming language. Thousand different languages have been created in the last few years. Some languages enjoy wide popularity and others introduce new features. Each language has its advantages and drawbacks. The present work provides a comparison of various properties, paradigms, and features used by a couple of popular programming languages: C++, PHP, C#, Java, Python, VB. With these variety of languages and their widespread use, software designer and programmers should to be aware
    [Show full text]