Lambda Functions Originate from Lambda Calculus Which Was Introduced by Alonzo Church and Stephen Cole Kleene in the 1930S

Total Page:16

File Type:pdf, Size:1020Kb

Lambda Functions Originate from Lambda Calculus Which Was Introduced by Alonzo Church and Stephen Cole Kleene in the 1930S TDP013 PHP Anders Fröberg, [email protected] Dept. of Computer and Information Science, Linköping University fredag, 2009 september 18 Outline ● PHP History/background ● Server side scripting ● Hello World example ● Basic syntax ● What is new in 5.3 ● Database drive web applications in PHP ● SOAP and REST fredag, 2009 september 18 History/Background ● Created by Rasmus Lerdorf in 1995 – PHP/IF Personal Home Page / Forms Interpreter – A set of perl scripts and C -code ● PHP 3 1997 – Andi Gutmans and Zeev Suraski – Complete re-write ● PHP 4 1998 ● PHP 5 2004 July fredag, 2009 september 18 PHP ● recursive acronym "PHP: Hypertext Preprocessor" ● or "Pretty Hypertext Preprocessor". ● Used for server side applications ● LAMP – Linux, Apache, MySQL, PHP ● WAMP – Windows, Apache, MySQL, PHP ● WIMP – Windows, IIS, MySQL, PHP fredag, 2009 september 18 Server Side Scripting/ Client Side Server Side HTML,CSS, PHP/JSP/ASP/SQL JavaScript HTTP Request (URL http://www.ida.liu.se) Web server Databas e server HTTP Response HTML/CSS/JavaScript fredag, 2009 september 18 HTTP Request ● A file request with optional arguments ● 2 types of Request – GET ● File and arguments encoded in the URL – http://www.hotmail.com/viewMails.asp? login=anders&password=NisseLasse – POST ● File request – Arguments passed as a stream afterwards – Not visible in the URL fredag, 2009 september 18 Step-by-Step request ● Users types in a URL hits enter ● The web browser send the request to the server ● The web server receives the request and looks up the file – If the file exists send it to the browser – If not send a 404 error ● The web browser receives the file and renders it (nicely) fredag, 2009 september 18 Step-by-Step request ● Users types in a URL hits enter ● The web browser send the request to the server ● The web server receives the request and looks up the file – If the file exists send it to the browser – If not send a 404 error – If file has .php ending (often other may apply) start at the beginning of the file looks for the blocks that start with and ends with ?> fredag, 2009 september 18 PHP -simple example WEB server <?php print “<h1> Hello</ <h1>Hello</ h1”; ?> h1> <p> this is normal <p> this is normal html</p> html</p> <h2>World</ <?php h2> print “<h2> World</h2>”; ?> fredag, 2009 september 18 Types ● boolean ● integer ● float ● string ● array ● object ● resource ● NULL fredag, 2009 september 18 Basic Syntax ● Variables <?php $var = 'Anders'; $Var = 'Larsson'; echo "$var $Var"; // Anders Larsson ?> ● Can't start with numeric values ($4value = “crap” not valid) fredag, 2009 september 18 Variables as Variables <?php $x="lenny"; $lenny="Johan"; echo $$x; ?> fredag, 2009 september 18 Basic Syntax ● Constants (Not changing during execution) define("FOO", "something"); define("FOO2", "something else"); define("FOO_BAR", "something more") // Invalid constant names define("2FOO", "something"); fredag, 2009 september 18 Basic Syntax If <?php if (expression) statement ?> <?php if ($a > $b) echo "a is bigger than b"; ?> fredag, 2009 september 18 Basic Syntax If-Else <?php if ($a > $b) { echo "a is bigger than b"; } else { echo "a is NOT bigger than b"; } ?> fredag, 2009 september 18 Basic Syntax If-Elseif-Else <?php if ($a > $b) { echo "a is bigger than b"; } elseif ($a == $b) { echo "a is equal to b"; }else { echo "a is NOT bigger than b"; } ?> fredag, 2009 september 18 Basic Syntax While while (expr): statement ... endwhile; $i = 1; Equal $i = 1; while ($i <= 10): while ($i <= 10) { echo $i; echo $i++; $i++; } endwhile; fredag, 2009 september 18 Basic Syntax Do-While do{ statement ... }while(expression); $i = 0; do { echo $i; $i++; } while ($i < 10); // What will print? fredag, 2009 september 18 Basic Syntax For //Example 2 for (expr1; expr2; expr3) for ($i = 1; ; $i++) { if ($i > 10) { statement break; } //Example 1 echo $i; for ($i = 1; $i <= 10; $i++) { } echo $i; //Example 3 } $i = 1; for (; ; ) { if ($i > 10) { break; } echo $i; $i++; } fredag, 2009 september 18 PHP Arrays • A ordered Map • Values and Keys • Can be used as • array • list • hash table • dictionary • stack fredag, 2009 september 18 Arrays ● created with array(); array( [key =>] value , ... ) // key may be an integer or string // value may be any value $arr = array("foo" => "bar", 12 => true); echo $arr["foo"]; // bar echo $arr[12]; // 1 boolean not true/false but 1/0 fredag, 2009 september 18 Arrays cont. $arr = array(5 => 1, 12 => 2); $arr[] = 56; // This is the same as $arr[13] = 56; // at this point of the script $arr["x"] = 42; // This adds a new element to // the array with key "x" fredag, 2009 september 18 Arrays cont. $userinfo = array(); $userinfo['login'] = 'Gurra'; $userinfo['password'] = 'rattnalle'; $userinfo['hobbies']= array('sport','food','movie'); print $userinfo["hobbies"][1]; // what will print fredag, 2009 september 18 Basic Syntax Foreach foreach (array_expression as $value) statement foreach (array_expression as $key => $value) statement $arr = array('name'=>'Anders','language'=>'PHP'); foreach ($arr as $value) { print $value; } foreach($arr as $key =>$value) { print $key."=".$value; } fredag, 2009 september 18 Functions ● function namn(argument1,..argument*) { statements return $return_value; //if one } function add(value1 , value2){ return value1+value2; } fredag, 2009 september 18 Variable scope <?php <?php $a = 1; / $a = 1; /* global scope */ * global scope */ function test() function test() { { echo $a; global $a; } echo $a; test(); } ?> test(); ?> fredag, 2009 september 18 Variable scope <?php <?php $a = 1; / $a = 1; / * global scope */ * global scope */ function test() function test() { { global $a; echo GLOBAL[‘a’]; echo $a; } } test(); test(); ?> ?> fredag, 2009 september 18 Functions Arguments ● pass-by value ● pass-by reference ● pass-by default-value fredag, 2009 september 18 pass-by value vs. pass-by function inc(&$value) function inc($value) { { $value = $value+1; $value = $value+1; } } $number=8; $number=8; inc($number); inc($number); print $number; //????? print $number; //????? fredag, 2009 september 18 pass-by default-value Function makecoffee($type = "cappuccino") { return "Making a cup of $type.\n"; } echo makecoffee(); echo makecoffee("espresso"); fredag, 2009 september 18 Returning values ● using the return statement – return “some value”; ● Returning a reference function &returns_reference() { return $someref; } $newref =& returns_reference(); fredag, 2009 september 18 Classes and Objects ● Objects first occurred in PHP4 ● More advanced in PHP5 – New Object Model (total re-write) – Private and Protected Members/Methods – Abstract Classes and Methods – Interfaces – Object Cloning fredag, 2009 september 18 <?php Defining a Class class SimpleClass { // property declaration public $var = 'a default value'; //Constructor and Destructor public function __construct(){} public function __destruct(){} // method declaration public function displayVar() { echo $this‐>var; } } ?> fredag, 2009 september 18 Creating an instance <?php $instance = new SimpleClass(); // This can also be done with a variable: $className = 'Foo'; $instance = new $className(); // Foo() ?> fredag, 2009 september 18 Simple Class Inheritance • Single class inheritance • used with extends • parent:: fredag, 2009 september 18 Simple Class Inheritance <?php class ExtendClass extends SimpleClass { // Redefine the parent method function displayVar() { echo "Extending class\n"; parent::displayVar(); } } fredag, 2009 september 18 New features in 5.3 • Lambda functions • Closures fredag, 2009 september 18 fredag, 2009 september 18 • Lambda functions originate from lambda calculus which was introduced by Alonzo Church and Stephen Cole Kleene in the 1930s. fredag, 2009 september 18 • Lambda functions originate from lambda calculus which was introduced by Alonzo Church and Stephen Cole Kleene in the 1930s. • The lambda calculus can be thought of as an idealized, minimalistic programming language. It is capable of expressing any algorithm, and it is this fact that makes the model of functional programming an important one. fredag, 2009 september 18 • Lambda functions originate from lambda calculus which was introduced by Alonzo Church and Stephen Cole Kleene in the 1930s. • The lambda calculus can be thought of as an idealized, minimalistic programming language. It is capable of expressing any algorithm, and it is this fact that makes the model of functional programming an important one. • The lambda calculus provides the model for functional programming. Modern functional languages can be viewed as embellishments to the lambda calculus. fredag, 2009 september 18 fredag, 2009 september 18 • Implementing the lambda calculus on a computer involves treating "functions" as “first‐class objects”, which raises implementation issues for stack-based programming languages. fredag, 2009 september 18 • Implementing the lambda calculus on a computer involves treating "functions" as “first‐class objects”, which raises implementation issues for stack-based programming languages. • Many languages implement lambda functions. These include: fredag, 2009 september 18 • Implementing the lambda calculus on a computer involves treating "functions" as “first‐class objects”, which raises implementation issues for stack-based programming languages. • Many languages implement lambda functions. These include: • Python fredag, 2009 september 18 • Implementing the lambda calculus on a computer involves treating "functions" as “first‐class objects”, which raises implementation issues for stack-based programming languages. • Many languages
Recommended publications
  • Coursphp.Pdf
    PHP 5 POEC – PHP 2017 1 Qu'est-ce que PHP ? PHP (PHP Hypertext PreProcessor) est un langage de programmation. Il s’agit d’un langage interprété et indépendant de la plate-forme d'exécution. Il permet de générer des pages HTML dynamiques. Il s’avère utile pour utiliser de ressources serveurs comme des bases de données. Une large communauté d’utilisateurs PHP existe. De nombreuses documentations et ressources sont disponibles. 2 Licence de PHP ? PHP est distribué via une licence propre qui permet sa rediffusion, son utilisation, sa modification. PHP est distribué librement et gratuitement. 3 Que faire avec PHP ? Des sites Web La partie serveur de tout type d’application : Application Web Application mobile Applications utilisables en ligne de commande (scripting) 4 Quelques technologies concurrentes à PHP • JSP : Java-Server Pages • Technologie de Sun • Semblable à PHP mais la partie dynamique est écrite en Java • ASP.Net: Active Server Pages • Produit de Microsoft • Contenu dynamique pouvant être écrit dans tous les langages de la plateforme .Net (les plus utilisés étant le C# et le VB.Net) • Le choix entre PHP, JSP et ASP.Net est plus "politique" que technique. 5 Intérêts d’utiliser PHP • Très populaire et très utilisé – Utilisé par des sites internet à très fort trafic tels Yahoo ou Facebook • Amène un certain nombre de personnes à améliorer le langage – Simplifie l’accès à de la documentation • Syntaxe simple à prendre en main (héritée du C, du Shell et du Perl) • Très portable (fonctionne sous Windows, Linux, Mac…) •
    [Show full text]
  • Php: Variabile
    Service Oriented Architectures / busaco ~ / programare Web ____ _ _ ____ profs.info.uaic.ro ( _ \( )_( )( _ \ )___/ ) _ ( )___/ (__) (_) (_)(__) Dr. Sabin Sabin Buraga Dr. dezvoltarea aplicațiilor Web în PHP / busaco ~ „E mediocru ucenicul / care nu-și depășește maestrul.” profs.info.uaic.ro Leonardo da Vinci Dr. Sabin Sabin Buraga Dr. Personal Home Page Tools (1995) Rasmus Lerdorf / PHP 3 (1998) busaco ~ dezvoltat de Zend – Zeev Suraski & Andi Gutmans / PHP 4 (2000) suport pentru programare obiectuală profs.info.uaic.ro PHP 5 (2004) – varianta cea mai recentă: PHP 5.6 (2014) noi facilități inspirate de Java PHP 6 (actualmente abandonat) Dr. Sabin Sabin Buraga Dr. phpngPHP 7 (2015), PHP 7.1 (la final de 2016) strong typing, suport pentru Unicode, performanță,… php: caracterizare / busaco ~ Server de aplicații Web / oferă un limbaj de programare profs.info.uaic.ro de tip script, interpretat poate fi inclus direct și în cadrul documentelor HTML Dr. Sabin Sabin Buraga Dr. php: caracterizare / busaco ~ Limbajul PHP este procedural, oferind suport și / pentru alte paradigme de programare (obiectuală și, mai recent, funcțională) profs.info.uaic.ro Dr. Sabin Sabin Buraga Dr. php: caracterizare / busaco ~ Limbajul PHP este procedural, oferind suport și / pentru alte paradigme de programare (obiectuală și, mai recent, funcțională) profs.info.uaic.ro poate fi folosit și ca limbaj de uz general Dr. Sabin Sabin Buraga Dr. php: caracterizare / busaco ~ Sintaxă inspirată de C, Perl și Java – case sensitive / uzual, programele PHP au extensia .php profs.info.uaic.ro Dr. Sabin Sabin Buraga Dr. php: caracterizare / busaco ~ / Disponibil gratuit – open source – pentru diverse platforme (Linux, Windows, macOS, UNIX) profs.info.uaic.ro și servere Web: Apache, IIS, nginx,… www.php.net Sabin Buraga Dr.
    [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]
  • PHP – a Review Ipsita Vashista Dronacharya College of Engineering
    © November 2015 | IJIRT | Volume 2 Issue 6 | ISSN: 2349-6002 PHP – A Review Ipsita Vashista Dronacharya College of Engineering Abstract—PHP is a server-side scripting language were chosen to improve the distribution of hash designed for web development but also used as values. a general-purpose programming language. II. PHP 3 and 4 Originally PHP stood for Personal Home Page, but Zeev Suraski and Andi Gutmans rewrote the parser in now it stands for PHP: Hypertext Preprocessor, 1997 and formed the base of PHP 3, changing the which is a recursive backronym. PHP code can be language's name to the recursive acronym PHP: simply mixed with HTML code, or it can be used in Hypertext Preprocessors. Afterwards, public testing of combination with various templating PHP 3 began, and the official launch came in June engines and web frameworks. PHP code can 1998. Suraski and Gutmans then started a generate a web page's HTML code, an image, or new rewrite of PHP's core, producing the Zend some other data. PHP has also evolved to include Engine in 1999. They also founded Zend a command-line interface (CLI) capability and can Technologies in Ramat Gan, Israel. be used in standalone graphical applications. On May 22, 2000, PHP 4, powered by the Zend Engine Index Terms—PHP 3, PHP 4, PHP5, WAMP, 1.0, was released.] As of August 2008 this branch XAMPP reached version 4.4.9. PHP 4 is no longer under development nor will any security updates be released. I. INTRODUCTION III. PHP 5 PHP development began in 1994 when Rasmus On July 13, 2004, PHP 5 was released, powered by the Lerdorf wrote a series of Interface Common Gateway new Zend Engine II PHP 5 included new features such (CGI) binaries in C which he used to maintain as improved support for object-oriented programming, his personal homepage.
    [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]
  • 5250 to Web, a PHP Case Study on IBM I
    5250 to Web: PHP Case Study on IBM i Alan Seiden PHP on IBM i consultant/developer email: [email protected] blog: http://alanseiden.com Strategic Business Systems, Inc. • Developing Web apps on IBM i (and iSeries, i5...) since 1996 • Based in Ramsey, New Jersey • IBM Business Partner . Power Systems hardware, software development, consulting • Zend Business Partner . Working with Zend since they brought PHP to IBM i in 2006 . We offer Zend’s training and Zend Server software to complement our own consulting/development services Alan Seiden, Strategic Business Systems 5250 to Web: PHP Case Study on IBM i | | 2 Alan Seiden PHP on IBM i Developer / Consultant / Mentor • Contributor to IBM’s Redbook PHP: Zend Core for i5/OS • First IBM i developer certified in Zend Framework • Developer of IBM/COMMON’s “Best Web Solution” of 2009 Contact: [email protected] or 201-327-9400 Blog/articles: http://alanseiden.com Alan Seiden, Strategic Business Systems 5250 to Web: PHP Case Study on IBM i | | 3 What we’ll discuss today • Update on Zend Server (new PHP install for i) • PHP basics quick overview . Focus on two ways to call CL/RPG from PHP • Case study: re-imagine green screens as web • Tips and techniques • Questions Alan Seiden, Strategic Business Systems 5250 to Web: PHP Case Study on IBM i | | 4 PHP’s growth as web dev language (as of 2007) 34% of the internet runs on PHP ZF and PDT released, PHP 4 EOL 37% growth in PHP developers announced Zend Framework & Eclipse project (PDT) announced; i5/OS support 25M IBM, Oracle PHP 4 Endorse PHP Released
    [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]
  • SED 1217 Transcript EPISODE 1217
    SED 1217 Transcript EPISODE 1217 [INTRODUCTION] [00:00:00] JM: WordPress is a free and open source content management system or CMS ​ written in PHP. Since its release in 2003, WordPress has become ubiquitous on the web and it's estimated that roughly 60 million websites use WordPress as a CMS. However, despite its popularity, WordPress has limitations in its design. WordPress sites are dynamic and the front and backend are tightly coupled. A dynamic full stack application can be used when handling complex functionality, but also slows down the site and opens up security vulnerabilities. Zeev Suraski is an expert in PHP. He's also the CTO of Strattic, which is a static site generator and hosting platform that specializes in converting WordPress sites into static architectures. Today's show focuses on PHP, but also has some discussion of WordPress architecture. Zeev joins the show to talk about the place of PHP and modern web development and how his company Strattic helps WordPress developers build modern, fast and secure websites. [INTERVIEW] [00:01:00] JM: Zeev, welcome to the show. ​ [00:01:02] ZS: Hi. Good being on board. ​ [00:01:05] JM: You were a very early PHP programmer, and I’d love for you to take me back to ​ the early days of PHP. What were the goals that the language set out to accomplish? [00:01:19] ZS: So, yeah, we're talking the late 90s, and basically then there were not too many ​ solutions for creating dynamic web applications. The goal back then was to create a language that is really simple and allows you to create dynamic web applications in a pretty straightforward way without too much complexity and to really take away not just the complexity in the language syntax, but also in setting up a backend solution.
    [Show full text]
  • What Can PHP on IBM I Do for You
    What can PHP on IBM i do for you Erwin Earley ([email protected]) Sr. Solutions Consultant @erwinephp @RougeWaveInc @Zend © 2018 Rogue Wave Software, Inc. All Rights Reserved. 1 Agenda Bonus Topics (Time Permitting): • Quick Overview of PHP • Why PHP v7 • Open Source on IBM i Update • PHP in the Marketplace • Why PHP on IBM I • Extending the Reach of DB2 • Leveraging existing ILE programs and resources • Taking advantage of the LAMP ecosystem © 2018 Rogue Wave Software, Inc. All Rights Reserved. 2 What is PHP • PHP is an easy to use, open source, platform independent scripting language – Designed for web application development – 4.5+ Million PHP Developers • PHP is the leading scripting language deployed on the Internet • Thousands of PHP applications are available – Web applications tied to databases <?php – Content management echo "Hello World!"; – Wikis and Blogs echo "PHP is so easy!"; ?> Check-Out: www.phpjunkyard.com/ www.phpfreaks.com/ © 2018 Rogue Wave Software, Inc. All Rights Reserved. 3 Web Development/Deployment Stacks L A M P i A D P i A M P i p y H B p B H B p y H a 2 P a S P n a S P M M u c Q c c Q x h L i h i h L e e e © 2018 Rogue Wave Software, Inc. All Rights Reserved. 4 Mobile and Web Development 75% 87% 1 second 40% …| attacks are on web developers experience delay reduces developers spend half applications delays in deployment conversion by 7% their time on problem resolution Enterprise PHP demands… Fast resolution time and reduced PHP maintenance 100% uptime and accelerated performance Seamless scaling to meet ongoing and peak demands Bulletproof, compliant web applications © 2018 Rogue Wave Software, Inc.
    [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]
  • Chapter 3 – Design Patterns: Model-View- Controller
    SOFTWARE ARCHITECTURES Chapter 3 – Design Patterns: Model-View- Controller Martin Mugisha Brief History Smalltalk programmers developed the concept of Model-View-Controllers, like most other software engineering concepts. These programmers were gathered at the Learning Research Group (LRG) of Xerox PARC based in Palo Alto, California. This group included Alan Kay, Dan Ingalls and Red Kaehler among others. C language which was developed at Bell Labs was already out there and thus they were a few design standards in place[ 1] . The arrival of Smalltalk would however change all these standards and set the future tone for programming. This language is where the concept of Model-View- Controller first emerged. However, Ted Kaehler is the one most credited for this design pattern. He had a paper in 1978 titled ‘A note on DynaBook requirements’. The first name however for it was not MVC but ‘Thing-Model-View-Set’. The aim of the MVC pattern was to mediate the way the user could interact with the software[ 1] . This pattern has been greatly accredited with the later development of modern Graphical User Interfaces(GUI). Without Kaehler, and his MVC, we would have still been using terminal to input our commands. Introduction Model-View-Controller is an architectural pattern that is used for implementing user interfaces. Software is divided into three inter connected parts. These are the Model, View, and Controller. These inter connection is aimed to separate internal representation of information from the way it is presented to accepted users[ 2] . fig 1 SOFTWARE ARCHITECTURES As shown in fig 1, the MVC has three components that interact to show us our unique information.
    [Show full text]