Web Development with Eclipse Europa, Part 2: PHP Development Tools How to Use Eclipse Europa for Web Development Using Java Technology, PHP, and Ruby

Total Page:16

File Type:pdf, Size:1020Kb

Web Development with Eclipse Europa, Part 2: PHP Development Tools How to Use Eclipse Europa for Web Development Using Java Technology, PHP, and Ruby Web development with Eclipse Europa, Part 2: PHP development tools How to use Eclipse Europa for Web development using Java technology, PHP, and Ruby Skill Level: Michael Galpin ([email protected]) Developer eBay 11 Dec 2007 No matter what combination of technologies you prefer to work with as a Web developer, Eclipse is a single integrated development environment (IDE) that can increase your productivity. In Part 1 of this three-part "Web development with Eclipse Europa" series, you saw how the latest release of Eclipse — Europa — can be used to develop Java™ Web applications rapidly. Here Part 2, we'll see how easy it is to develop PHP applications using a different set of Eclipse plug-ins, collectively known as the PHP Development Toolkit (PDT). Section 1. Before you start Are you a PHP developer? If so, then what do you use as your development environment? Maybe you're a minimalist who likes to engage in vi vs. Emacs debates. Or maybe you prefer an IDE, but haven't been impressed with the commercial offerings available. Either way, you'll want to take a look at the PHP Development Toolkit for Eclipse. That's right — Eclipse. It's not just for Java developers anymore. A background in PHP programming is essential for getting the most out of this tutorial. Familiarity with the Eclipse IDE is helpful, but not necessary. For some background information about Eclipse, see Resources. About this series In this "Web development with Eclipse Europa" series, you'll see how no matter what PHP development tools © Copyright IBM Corporation 1994, 2008. All rights reserved. Page 1 of 41 developerWorks® ibm.com/developerWorks your language of choice is, Eclipse is the platform for Web development. Its flexible plug-in system makes it easy to create versions of Eclipse customized for Web development with Java technology, PHP, and Ruby. You'll see how different plug-ins give Eclipse unique capabilities for each language. You'll also see some of the common features that all Web developers can take advantage of. Throughout this series, we will be creating a sample baseball Web application, which will allow us to enter in game data for baseball players and calculate statistics for those players. About this tutorial Eclipse has been a favorite IDE for Java developers for many years. However, Eclipse was designed to be a development platform for any language. Eclipse is written in the Java programming language, so, naturally, Java development was an obvious starting point for it. Eclipse's plug-in architecture has led to a bounty of powerful plug-ins and has been key in the success of Eclipse. Taking these two facts together — Eclipse's strength as a development platform for any language and Eclipse's plug-in architecture — and you have the ingredients for an Eclipse-based IDE for PHP. That's exactly what has happened with the development of the PHP Development Toolkit. This is Part 2 of a three-part tutorial series on developing Web applications with Eclipse. So far, we've seen how easy it is to develop Web applications in the Java language using the Eclipse IDE for Java EE Developers. The Java EE edition is really just a collection of plug-ins running on the Eclipse Platform. In this tutorial, we'll see how to develop PHP applications using a different set of Eclipse plug-ins, collectively known as the PHP Development Toolkit (PDT). We'll also see a reprise of some features in the Java EE Edition that are also part of the PDT. Prerequisites A background in Java programming is essential for getting the most out of this tutorial. Familiarity with the Eclipse IDE is helpful, but not necessary. System requirements You'll need the following installed on your computer: Eclipse Europa This tutorial uses Eclipse V3.3 (Europa). Java Development Kit (JDK) This tutorial shows you how to develop Web applications using Java technology, so you'll need the Java Development Kit (JDK) 5.0 or higher. Download V5.0 or V6.0. Eclipse IDE for Java EE Developers You'll also need the Eclipse IDE for Java EE Developers. PHP development tools Page 2 of 41 © Copyright IBM Corporation 1994, 2008. All rights reserved. ibm.com/developerWorks developerWorks® Java Runtime Environment (JRE) To run Eclipse, you must have a JRE. Apache Tomcat The application uses a Apache Tomcat as its container. MySQL V5.0 The application uses MySQL V5.0 as its database. Java Persistence API You will also need the Java Persistence API and, in particular, the OpenJPA implementation. Eclipse PHP Development Toolkit (PDT) This tutorial shows you how to develop Web applications using PHP, so you'll need the PHP Development Toolkit You can get this as a set of plug-ins for an existing Eclipse installation. If you're new to Eclipse, you can get an all-in-one installation that includes the Eclipse platform and the PDT plug-ins. PHP You need PHP, so get the latest version, which at the time of this writing was V5.2.1. Apache HTTP Server You need a Web server that integrates with PHP. This tutorial was developed using Apache V2.0.59. Fancy PHP debugger You need a PHP debugger. We used the Zend Debugger V5.2.10. Operating system You need an operating system capable of running all of the above. We used Mac OS X when creating this series, but you can use a modern version of Windows® or Linux®, as well. Adjust locations of files accordingly. Section 2. Introducing the PHP Development Toolkit The PDT hit its 1.0 release in September 2007, so what are you waiting for? Let's start using the PDT and becoming more productive PHP developers. Why an IDE? Of course, one of the beauties of PHP is that you can accomplish much with very simple tools. You can write code directly in a "live" directory on your Web server, point your browser to the page, and voilà! Need to change the code? Just modify it PHP development tools © Copyright IBM Corporation 1994, 2008. All rights reserved. Page 3 of 41 developerWorks® ibm.com/developerWorks with a text editor and refresh your browser. Who needs an IDE? Applications can start out simple, but inevitably become more complex. The second law of thermodynamics (entropy increases over time) applies as much to software engineering as it does to Maxwell's demon (see Resources if you find these metaphors are a bit obscure). For most developers, it is much easier to develop such systems if they have a debugger to stop the execution of code, step through the code, examine the state of the application, etc. Complex applications usually involve multiple developers working on them. Source control usually comes into play, and it's nice to have that integrated into your development environment. Using source control often involves keeping your source and execution environments (Web server, typically) separate. In that case, it's nice to have a development environment that makes it easy to deploy code to your Web server for you. PHP development almost always involves working with a database, as well. Of course, you can use command-line and text-based tools for working with a database. Or you can use a graphical program to make this easy. It's nice if your graphical environment is integrated in to your development environment. There's that term: Integrated Development Environment. The PDT is definitely just that. Why PDT? Let's assume you're convinced an IDE offers advantages for PHP development. The PDT is not the first or only IDE for PHP. There are some highly regarded commercial IDEs for PHP. Eclipse PDT is free of charge and is open source. It's built on Eclipse, which means that you get all of the advantages of the Eclipse Platform. It is cross-platform, so you can use it on Windows, Mac OS X, or the Linux distribution of your choice. There's a huge ecosystem of plug-ins for Eclipse and, thus, for PDT, so you can add on specialized functionality as needed, as well as develop in other languages as needed. Let's take a look at just what you get with the PDT. What do you get? We've said that the PDT is simply a collection of plug-ins for the Eclipse Platform. Each plug-in provides specific functionality designed to enhance your productivity. The core PHP plug-ins provide syntax highlighting, syntax hints, and integrated look-up of all PHP core functions. It integrates with your Web server and lets you easily deploy your code to the Web server. You can view the page in an internal Web browser or you can designate an external browser (Firefox, Internet Explorer, Safari, etc.) for viewing your pages. As mentioned, one of the most valuable things you get is an integrated debugger. You can execute your PHP code directly from the PDT (it includes a PHP executable) and also debug directly that way. You can also configure your Web server to use a debug-enabled version of PHP and debug scripts running live on your Web server. PHP development tools Page 4 of 41 © Copyright IBM Corporation 1994, 2008. All rights reserved. ibm.com/developerWorks developerWorks® Last but certainly not least, you get non-PHP specific features, thanks to the extensibility of Eclipse. This includes database tools for connecting to any database (any that has a JDBC driver available, which is pretty much all databases,) creating tables, querying and updating data, etc. There's also a built-in CVS client in the PDT.
Recommended publications
  • Differential Fuzzing the Webassembly
    Master’s Programme in Security and Cloud Computing Differential Fuzzing the WebAssembly Master’s Thesis Gilang Mentari Hamidy MASTER’S THESIS Aalto University - EURECOM MASTER’STHESIS 2020 Differential Fuzzing the WebAssembly Fuzzing Différentiel le WebAssembly Gilang Mentari Hamidy This thesis is a public document and does not contain any confidential information. Cette thèse est un document public et ne contient aucun information confidentielle. Thesis submitted in partial fulfillment of the requirements for the degree of Master of Science in Technology. Antibes, 27 July 2020 Supervisor: Prof. Davide Balzarotti, EURECOM Co-Supervisor: Prof. Jan-Erik Ekberg, Aalto University Copyright © 2020 Gilang Mentari Hamidy Aalto University - School of Science EURECOM Master’s Programme in Security and Cloud Computing Abstract Author Gilang Mentari Hamidy Title Differential Fuzzing the WebAssembly School School of Science Degree programme Master of Science Major Security and Cloud Computing (SECCLO) Code SCI3084 Supervisor Prof. Davide Balzarotti, EURECOM Prof. Jan-Erik Ekberg, Aalto University Level Master’s thesis Date 27 July 2020 Pages 133 Language English Abstract WebAssembly, colloquially known as Wasm, is a specification for an intermediate representation that is suitable for the web environment, particularly in the client-side. It provides a machine abstraction and hardware-agnostic instruction sets, where a high-level programming language can target the compilation to the Wasm instead of specific hardware architecture. The JavaScript engine implements the Wasm specification and recompiles the Wasm instruction to the target machine instruction where the program is executed. Technically, Wasm is similar to a popular virtual machine bytecode, such as Java Virtual Machine (JVM) or Microsoft Intermediate Language (MSIL).
    [Show full text]
  • Guidelines for Tools Development and Operating Environments
    Managing social, behavioral and economic data and metadata Guidelines for Tools Development and Operating Environments Author/Maintainer Pascal Heus, Open Data Foundation Contributors Jack Gager(Metadata Technology), Jannick Jensen (Danish Data Archive), Herve Lhours (UKDA) Version 2010-08-03 Table of Contents Overview....................................................................................................................................................2 Product Development.................................................................................................................................3 Environment.......................................................................................................................................... 3 Collaborative environment.................................................................................................................... 4 Licensing............................................................................................................................................... 5 Products Guide...........................................................................................................................................8 Overview............................................................................................................................................... 8 Web server software.............................................................................................................................. 8 Rich client Platforms...........................................................................................................................10
    [Show full text]
  • WHO Guidance on Management of Snakebites
    GUIDELINES FOR THE MANAGEMENT OF SNAKEBITES 2nd Edition GUIDELINES FOR THE MANAGEMENT OF SNAKEBITES 2nd Edition 1. 2. 3. 4. ISBN 978-92-9022- © World Health Organization 2016 2nd Edition All rights reserved. Requests for publications, or for permission to reproduce or translate WHO publications, whether for sale or for noncommercial distribution, can be obtained from Publishing and Sales, World Health Organization, Regional Office for South-East Asia, Indraprastha Estate, Mahatma Gandhi Marg, New Delhi-110 002, India (fax: +91-11-23370197; e-mail: publications@ searo.who.int). The designations employed and the presentation of the material in this publication do not imply the expression of any opinion whatsoever on the part of the World Health Organization concerning the legal status of any country, territory, city or area or of its authorities, or concerning the delimitation of its frontiers or boundaries. Dotted lines on maps represent approximate border lines for which there may not yet be full agreement. The mention of specific companies or of certain manufacturers’ products does not imply that they are endorsed or recommended by the World Health Organization in preference to others of a similar nature that are not mentioned. Errors and omissions excepted, the names of proprietary products are distinguished by initial capital letters. All reasonable precautions have been taken by the World Health Organization to verify the information contained in this publication. However, the published material is being distributed without warranty of any kind, either expressed or implied. The responsibility for the interpretation and use of the material lies with the reader. In no event shall the World Health Organization be liable for damages arising from its use.
    [Show full text]
  • Php Tutorial
    PHP About the Tutorial The PHP Hypertext Preprocessor (PHP) is a programming language that allows web developers to create dynamic content that interacts with databases. PHP is basically used for developing web-based software applications. This tutorial will help you understand the basics of PHP and how to put it in practice. Audience This tutorial has been designed to meet the requirements of all those readers who are keen to learn the basics of PHP. Prerequisites Before proceeding with this tutorial, you should have a basic understanding of computer programming, Internet, Database, and MySQL. Copyright & Disclaimer © Copyright 2016 by Tutorials Point (I) Pvt. Ltd. All the content and graphics published in this e-book are the property of Tutorials Point (I) Pvt. Ltd. The user of this e-book is prohibited to reuse, retain, copy, distribute or republish any contents or a part of contents of this e-book in any manner without written consent of the publisher. We strive to update the contents of our website and tutorials as timely and as precisely as possible, however, the contents may contain inaccuracies or errors. Tutorials Point (I) Pvt. Ltd. provides no guarantee regarding the accuracy, timeliness or completeness of our website or its contents including this tutorial. If you discover any errors on our website or in this tutorial, please notify us at [email protected] i PHP Table of Contents About the Tutorial ...........................................................................................................................................
    [Show full text]
  • Eclipse (Software) 1 Eclipse (Software)
    Eclipse (software) 1 Eclipse (software) Eclipse Screenshot of Eclipse 3.6 Developer(s) Free and open source software community Stable release 3.6.2 Helios / 25 February 2011 Preview release 3.7M6 / 10 March 2011 Development status Active Written in Java Operating system Cross-platform: Linux, Mac OS X, Solaris, Windows Platform Java SE, Standard Widget Toolkit Available in Multilingual Type Software development License Eclipse Public License Website [1] Eclipse is a multi-language software development environment comprising an integrated development environment (IDE) and an extensible plug-in system. It is written mostly in Java and can be used to develop applications in Java and, by means of various plug-ins, other programming languages including Ada, C, C++, COBOL, Perl, PHP, Python, Ruby (including Ruby on Rails framework), Scala, Clojure, and Scheme. The IDE is often called Eclipse ADT for Ada, Eclipse CDT for C/C++, Eclipse JDT for Java, and Eclipse PDT for PHP. The initial codebase originated from VisualAge.[2] In its default form it is meant for Java developers, consisting of the Java Development Tools (JDT). Users can extend its abilities by installing plug-ins written for the Eclipse software framework, such as development toolkits for other programming languages, and can write and contribute their own plug-in modules. Released under the terms of the Eclipse Public License, Eclipse is free and open source software. It was one of the first IDEs to run under GNU Classpath and it runs without issues under IcedTea. Eclipse (software) 2 Architecture Eclipse employs plug-ins in order to provide all of its functionality on top of (and including) the runtime system, in contrast to some other applications where functionality is typically hard coded.
    [Show full text]
  • G S Getting Started with Opensees
    GSGetting Started with OpenSees Vesna Terzic UC Berkeley September 2011 Agenda • ItIntrod ucti on t o O penS ees • Introduction to Tcl programming language • Demonstration of how to download OpenSees interpreter and install Tcl/Tk • Discuss ion of Open Sees Resources (comman d manual, getting started manual, examples manual, message board) • Example of how to create and run a small structure • Q&A with web participants What is OpenSees? • A software framework (written primarelly in C++) for simulation applications in earthquake engineering using finite element methods . • It is open-source software framework • AitihifhidA communication mechanism for exchanging and building upon research accomplishments • OpenSees is fast , stable , efficient in solving large nonlinear models with multiple runs • To make FEM in OpenSees you need to know basics of Tcl programing language OpenSees Framework How Do People Use the OpenSees Framework? • Provide their own main() function in C++ and link to framework. • Use OpenSees interpreters (OpenSees.exe, OSSPOSMP)ThOpenSeesSP.exe, OpenSeesMP.exe). These are extensions of the Tcl interpreters (tclsh, wish) which have been extended to commands for finite element analysis: 1. Modeling – create nodes, elements, loads and constraints 2. Analysis – specify the analysis procedure. 3. Output specification – specify what it is you want to monitor during the analysis. Being interpreters means that the files you create and submit to the OpenSees interpreters are not input files. You are creating and submitting PROGRAMS. What is Tcl? • Tcl is a dynamic programming language. • It is a string based command language . • Variables and variable substitution • Expression evaluation • Basic control structures (if , while , for , foreach) • Procedures • File manipulation • Sourcing other files .
    [Show full text]
  • Comparing Common Programming Languages to Parse Big XML File in Terms of Executing Time, Memory Usage, CPU Consumption and Line Number on Two Platforms
    European Scientific Journal September 2016 edition vol.12, No.27 ISSN: 1857 – 7881 (Print) e - ISSN 1857- 7431 Comparing Common Programming Languages to Parse Big XML File in Terms of Executing Time, Memory Usage, CPU Consumption and Line Number on Two Platforms Ahmed Mahdee Abdo Sardar Hasan Alali Computer Science department, Zakho University, Kurdistan, Iraq doi: 10.19044/esj.2016.v12n27p325 URL:http://dx.doi.org/10.19044/esj.2016.v12n27p325 Abstract XML files are used widely to save the information especially in the field of bioinformatics about the whole genome. There are many programming languages and modules used to parse XML files in different platforms such as Linux, Macintosh and Windows. The aim of this report is to reveal and determine which common programming language to use and on which platform is better to parse XML files in terms of memory usage, CPU time consumption and executing time. Keywords: XML, memory usage, CPU consumption and executing time. Introduction As many kinds of methods such as next generation technologies are used to sequence the whole genome, enormous amount of date became available. These dates are usually saved as text files. Extensible Markup Language (XML) files are kind of text files which are used to save much information about the whole genome.XML is a flexible text-based language that was developed by Standard Generalized Markup Language (SGML) to represent the information on the web server. XML is a document that represents the data as a structure which involves tags or entities and elements that are subset of these entities. Each element contains one or more attributes that define the method to process these elements.
    [Show full text]
  • The Python Programming Language and Its Capabilities in the Gis Environment
    THE PYTHON PROGRAMMING LANGUAGE AND ITS CAPABILITIES IN THE GIS ENVIRONMENT Katarzyna Szczepankowska mgr inż. Department of Real Estate Management and Regional Development University of Warmia and Mazury in Olsztyn Olsztyn, Poland e-mail: [email protected] Krzysztof Pawliczuk mgr inż. The Office of Student Systems Services University of Warmia and Mazury in Olsztyn Olsztyn, Poland e-mail: [email protected] Sabina Źróbek Department of Real Estate Management and Regional Development University of Warmia and Mazury in Olsztyn Olsztyn, Poland e-mail: [email protected] Abstract The first chapter of this paper reviews the most popular programming languages, including Java, PHP, Python, C# and C++, and describes their characteristic features. Chapter discusses the capabilities, technical features and advantages of Python which is quickly taking the lead as one of the most popular programming languages in the world. The authors emphasize Python's key strengths, including high efficiency, easy implementation of new functions, code readability, easy upgrade and its open source nature. The third chapter presents Python scripting options in the GIS environment and its popularity with major technology developers, among them Google, YouTube, Nokia and NASA. The last chapter discusses the rapid increase in Python's popularity and discusses its most recent applications, including in ESRI software and computer games. The extensive capabilities of Python make it suitable for developing various types of interactive maps. Key words: Programming language, Python, GIS, interactive map. 1. History of programming languages The history of computing machines dates back to the 20th century, but the breakthrough event in digital electronics was the invention of the transistor, the key component of various electronic systems.
    [Show full text]
  • 7 Reasons the Future of Tcl Is Bright by Clif Flynt ([email protected]) 7 Reasons the Future of Tcl Is Bright
    7 REASONS THE FUTURE OF TCL IS BRIGHT BY CLIF FLYNT ([email protected]) 7 REASONS THE FUTURE OF TCL IS BRIGHT The future is bright for Tcl! You’d be pardoned for his repertoire. He started shell programming in 1985, thinking otherwise. It’s not a sexy new language. In fact, picked up Perl in 1995 and finally Tcl in 1996. He’s been a it’s ranked outside the Top 50 in the TIOBE Index1. Tcl devotee ever since. But for the right projects - and there are lots of them - it’s With Clif’s extensive background, we asked him about a powerful tool that’s been stress-tested for many years the future of Tcl. Here’s seven reasons why the future and just gets the job done. of Tcl is bright. Tcl is not resting on its laurels. The simplicity of the Tcl language makes it perfect for Internet of Things IoT and 1: TCL IS STILL THE KING OF electronics design, including Electronic Design Automa- RAPID PROTOTYPING tion (EDA), chip design, and Field-Programmable Gate Clif is a big fan of Tcl for rapid prototypes that actually Array (FPGA) development, and for configuring chips after work. NBC Broadcasting studios uses Tcl/Tk to control manufacture. The same features that make Tcl dominant what you see. They went to GE Research (and others) in EDA and FPGA also make it great for DevOps, poten- with a half-baked design and some examples of the tially competing with Bash and Perl as the language of clipboards and tapes they were using.
    [Show full text]
  • 2008 BZ Research Eclipse Adoption Study
    5th Annual Eclipse Adoption Study November 2008 (With comparisons to November 2007, November 2006, November 2005 and September 2004 Studies) 7 High Street, Suite 407 Huntington, NY 11743 631-421-4158 www.bzresearch.com © BZ Research November 2008 Eclipse Adoption Study © BZ Research November 2008 Table of Contents Table of Contents................................................................................................................................................... 2 Methodology .......................................................................................................................................................... 4 Universe Selection ................................................................................................................................................. 6 Question 1. Do the developers within your organization use Eclipse or Eclipse-based tools? ........................ 7 Question 2. Which version(s) of Eclipse are you using? .................................................................................... 8 Question 3. How long have you been using Eclipse or Eclipse-based tools and technologies (either at work, or for your personal projects)?.............................................................................................................................. 9 Question 4. What type of software are you (or your organization) developing using Eclipse-based tools and technologies? (Note: OSI refers to Open Source Initiative, see www.opensource.org for more information.) ...............................................................................................................................................................................10
    [Show full text]
  • RCP Applications
    Helios Wayne Beaton The Eclipse Foundation Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0 What is Eclipse? Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0 Eclipse is a Java IDE .Language-aware editors, views, ¼ .Refactoring support .Integrated unit testing and debugging .Incremental compilation and build .Team development support Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0 3 Eclipse is an IDE Framework .Eclipse + JDT = Java IDE . First class framework for Java, language aware editor, incremental build, integrated debugging, ... .Eclipse + CDT = C/C++ IDE . First class framework for C/C++, language aware editor, refactoring, search .Eclipse + PDT = PHP IDE .Eclipse + JDT + CDT + PDT = Java, C/C++, PHP IDE . Ruby, TCL, JavaScript, ... Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0 4 Eclipse is a Tools Framework .Plug-ins make Eclipse whatever you need it to be .Platform of frameworks and exemplary tools .Tools extend the platform using bundles/plug-ins . Business Intelligence and Reporting Tools, Web Tools, Data Tools, Eclipse Modeling Framework, ... Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0 5 Eclipse is a Application Framework .Remove the IDE elements; you're left with a general-purpose application framework . Linux, Windows, Mac OSX, UNIX, embedded . Rich widget set, graphics . Native-OS integration (drag and drop, OLE/XPCOM integration) .A platform for rich clients Copyright © 2010 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0 6 Eclipse is Runtimes! .Remove the UI elements and you©re left with a general-purpose component model .
    [Show full text]
  • Programming Language Use in US Academia and Industry
    Informatics in Education, 2015, Vol. 14, No. 2, 143–160 143 © 2015 Vilnius University DOI: 10.15388/infedu.2015.09 Programming Language Use in US Academia and Industry Latifa BEN ARFA RABAI1, Barry COHEN2, Ali MILI2 1 Institut Superieur de Gestion, Bardo, 2000, Tunisia 2 CCS, NJIT, Newark NJ 07102-1982 USA e-mail: [email protected], [email protected], [email protected] Received: July 2014 Abstract. In the same way that natural languages influence and shape the way we think, program- ming languages have a profound impact on the way a programmer analyzes a problem and formu- lates its solution in the form of a program. To the extent that a first programming course is likely to determine the student’s approach to program design, program analysis, and programming meth- odology, the choice of the programming language used in the first programming course is likely to be very important. In this paper, we report on a recent survey we conducted on programming language use in US academic institutions, and discuss the significance of our data by comparison with programming language use in industry. Keywords: programming language use, academic institution, academic trends, programming lan- guage evolution, programming language adoption. 1. Introduction: Programming Language Adoption The process by which organizations and individuals adopt technology trends is complex, as it involves many diverse factors; it is also paradoxical and counter-intuitive, hence difficult to model (Clements, 2006; Warren, 2006; John C, 2006; Leo and Rabkin, 2013; Geoffrey, 2002; Geoffrey, 2002a; Yi, Li and Mili, 2007; Stephen, 2006). This general observation applies to programming languages in particular, where many carefully de- signed languages that have superior technical attributes fail to be widely adopted, while languages that start with modest ambitions and limited scope go on to be widely used in industry and in academia.
    [Show full text]