Java, Python and Javascript, a Comparison

Total Page:16

File Type:pdf, Size:1020Kb

Java, Python and Javascript, a Comparison Independent project, 15 credits, for the degree of Bachelor of Science with a major in Computer Science Spring 2019 Faculty of Natural Sciences Java, Python and Javascript, a comparison Rasmus Horntvedt and Tobias Åkesson Author Rasmus Horntvedt, Tobias Åkesson Title Java, Python and Javascript, a comparison Supervisor Kamilla Klonowska Examiner Daniel Einarson Abstract With the amount of programming languages currently available there is a high risk of confusion and doubtfulness in aspiring programmers of which to choose. It may be motivating for a beginner to choose “the perfect language” when starting, to avoid learning multiple languages. This thesis compares three popular languages on three separate aspects, their syntax, usefulness in different areas, and performance in terms of speed. Syntax wise the results varied with some aspects being very similar across all three languages to completely different in others. In terms of usefulness in specific areas the languages flexibility allowed them to develop applications in most fields, while being dominant in different areas. The speed comparison resulted in python being the slowest across all tests, with Java and Javascript (running inside Nodejs) competing for first place. Keywords Python, Java, Javascript, Comparison, Benchmark, Performance, Syntax, Programming language. 1 Content 1. Introduction 4 1.1 Purpose 4 1.2 Research questions 5 1.3 Limitations 5 1.4 Structure RQ1 6 1.5 Structure RQ2 6 1.6 Background 7 2. Method 8 2.1 Ethical acknowledgements 8 2.2 Research question 1 8 2.3 Research question 2 8 2.4 Research question 3 9 2.4.1 Testing system and setup 10 3. Literature review 11 3.1 Python, Java and Javascript - Overview 11 3.1.1 Python 11 3.1.2 Java 12 3.1.3 Javascript 12 3.2 Related work 13 4. Result 15 4.1 The differences between the languages (RQ1) 15 4.1.1 Variables 15 4.1.2 Comments 16 4.1.3 Separators 16 4.1.4 Indentations or curly brackets 16 4.1.5 Selection statements 17 4.1.6 Loops 17 4.1.7 Data structures 18 4.1.7.1 Array 18 4.1.7.2 Array Lists 19 4.1.7.3 List 19 4.1.7.4 Sets 19 4.1.7.5 Tuples 20 4.1.7.6 Stacks and queues 20 4.1.7.7 Dictionaries 21 4.1.8 Classes 21 4.1.9 Functions and Methods 22 4.1.10 Error handling 22 4.1.11 File management 23 4.1.12 Operators 24 4.2 What can the languages be used for? (RQ2) 24 4.2.1 Python usage areas 24 4.2.1.1 Python machine learning 25 2 4.2.1.2 Python automation 25 4.2.1.3 Python web development 26 4.2.2 Java usage areas 26 4.2.2.1 Java Android development 27 4.2.2.2 Java full stack development 27 4.2.3 Javascript usage areas 28 4.2.3.1 Javascript full stack development 28 4.2.3.2 Javascript mobile development 29 4.2.3.3 Javascript Desktop application development 30 4.2.4 Comparison on different usage areas between the languages 31 4.3 Which language is solving tasks the fastest? (RQ3) 34 4.3.1 Quicksort 34 4.3.2 Fizzbuzz game 35 4.3.3 Reading from file 36 5. Discussion 37 5.1 Discussion of research question 1 37 5.2 Discussion of research question 2 38 5.3 Discussion of research question 3 39 6. Future work 40 7. Conclusion 40 8. References 41 9. Appendix 54 9.1 A Syntax 54 9.2 B Benchmarking algorithms 61 3 1. Introduction As a new programmer in the ever growing computer world it is difficult to pinpoint exactly what one needs out of a programming language. With a long catalog of languages it is difficult to make a decision of what programming language is the best, since there is no definitive answer to what “the best” is. The best could be in terms of third party support, ease of understanding, speed or functions etc. Therefore it is impossible to tell what the best is. However, it is possible to explain why one language would be preferred over the other in certain situations. It is still important to note that generalization and misinformation can give the impression of big differences in terms of any of the previously mentioned factors and can therefore skew the decision of what programming language to use. There are several popular programming languages, but the three chosen for this report is as follows: Java, Python and Javascript. Java is one of the most prominent and successful languages in the world [1]. Python has been around since the late 1980’s [2] but has in the last few years been steadily rising in popularity and is now competing with some of the most popular programming languages such as C and C++ [1]. Javascript, although the least popular language out of the three chosen [1], is still relevant thanks to the support it gets from different frameworks that it can implement, and developers who continue to add features to it like for example with Nodejs [3]. Tiobe was used as a way to measure the popularity of the languages. It should be noted that Tiobe uses search index and so it is not a clear correlation between popularity and the statistic being presented on the site [1]. The three languages are fundamentally different but allows us in a nuanced way to compare different aspects of the different languages with each other, and how much weight one should put on a specific aspect of a language. 1.1 Purpose The purpose of this report is to analyze and compare these popular programming languages in three different ways. It is not meant to declare that one language is superior to the rest, but rather analyze desirable traits and strengths in all of them. The reasons for choosing this topic was to understand how different programming languages work and if it is easy to convert knowledge between languages. Considering we have mainly focused on Java during our studies, it was in our interest to develop an understanding of different languages and make a comparison between them. The thesis is primarily targeted towards novice coders, and programmers that has established some knowledge within at least one programming language and is interested in how other programming languages work. It requires some knowledge to understand every component of programming language since they are not explicitly explained in the thesis. It can also be hard to understand the 4 terminology used if the reader is a complete beginner. The report is clearly divided into three separate parts, each focusing on different aspects of the programming languages. The first part of the report centers around the differences between the chosen languages in terms of how easy they are to understand and use for development. This part also involves mentioning similarities. The second part of the report is about finding each language best use case and when it is preferred to be used. This can be interesting to know since some of the chosen languages are considered multi-purpose languages. The last part of the report is about comparing the speed and run time of each language and how they handle different computing tasks. 1.2 Research questions Research question 1: What is the differences between Java, Python and Javascript in terms of syntax and ease of understanding? Research question 2: In what situations is it preferable to use one of the languages over the others? Research question 3: Which of the three languages are solving tasks the fastest? 1.3 Limitations In order to not exceed the time limit, the authors needed to set some limitations. It would be unreasonable to try and compare all the languages and it was therefore necessary to narrow it down to only comparing three languages. It is important to note that there are languages which are more popular than Java, Javascript and Python, such as C and C++ [1]. The reason as to why these languages were not chosen was because they involved lower level concepts, which might overcomplicate the beginning for new programmers. There was also not sufficient time to compare additional languages. Another limitation that was needed to be done, was when deciding what to analyze when answering the first research question. Trying to break down the complete syntax of all components in three languages would not be plausible in the time that was given and so the authors focus on the more prominent parts of the languages. The authors acknowledges that libraries is a big part of a programming language and can be used to extend the features of said language. The time restraint and shear amount of libraries available would make it impossible to compare and add valuable knowledge to the field of computer science. When answering research question 2 the authors needed to set some limitations on where the programming language exceeds. The authors picked the areas in which the programming languages are popular to use and then tried to explain why they may be popular in that specific field. Another limitation that was needed to be done was to decide which tasks should be tested for research question 3 since it is not reasonable to test a large amount of tasks. Instead we decided to focus on some tasks that does very different things. 5 1.4 Structure RQ1 The first research question needed extra limitations since there are many components to talk about in each programming language.
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]
  • Work Package 2 Collection of Requirements for OS
    Consortium for studying, evaluating, and supporting the introduction of Open Source software and Open Data Standards in the Public Administration Project acronym: COSPA Wor k Package 2 Collection of requirements for OS applications and ODS in the PA and creation of a catalogue of appropriate OS/ODS Solutions D eliverable 2. 1 Catalogue of available Open Source tools for the PA Contract no.: IST-2002-2164 Project funded by the European Community under the “SIXTH FRAMEWORK PROGRAMME” Work Package 2, Deliverable 2.1 - Catalogue of available Open Source tools for the PA Project Acronym COSPA Project full title A Consortium for studying, evaluating, and supporting the introduction of Open Source software and Open Data Standards in the Public Administration Contract number IST-2002-2164 Deliverable 2.1 Due date 28/02/2004 Release date 15/10/2005 Short description WP2 focuses on understanding the OS tools currently used in PAs, and the ODS compatible with these tools. Deliverable D2.1 contains a Catalogue of available open source tools for the PA, including information about the OS currently in use inside PAs, the administrative and training requirements of the tools. Author(s) Free University of Bozen/Bolzano Contributor(s) Conecta, IBM, University of Sheffield Project Officer Tiziana Arcarese Trond Arne Undheim European Commission Directorate-General Information Society Directorate C - Unit C6- eGovernment, BU 31 7/87 rue de la Loi 200 - B-1049 Brussels - Belgium 26/10/04 Version 1.3a page 2/353 Work Package 2, Deliverable 2.1 - Catalogue of available Open Source tools for the PA Disclaimer The views expressed in this document are purely those of the writers and may not, in any circumstances, be interpreted as stating an official position of the European Commission.
    [Show full text]
  • Analyzing Programming Languages' Energy Consumption: an Empirical Study
    Analyzing Programming Languages’ Energy Consumption: An Empirical Study Stefanos Georgiou Maria Kechagia Diomidis Spinellis Athens University of Economics and Delft University of Technology Athens University of Economics and Business Delft, The Netherlands Business Athens, Greece [email protected] Athens, Greece [email protected] [email protected] ABSTRACT increase of energy consumption.1 Recent research conducted by Motivation: Shifting from traditional local servers towards cloud Gelenbe and Caseau [7] and Van Heddeghem et al. [14] indicates a computing and data centers—where different applications are facil- rising trend of the it sector energy requirements. It is expected to itated, implemented, and communicate in different programming reach 15% of the world’s total energy consumption by 2020. languages—implies new challenges in terms of energy usage. Most of the studies, for energy efficiency, have considered energy Goal: In this preliminary study, we aim to identify energy implica- consumption at hardware level. However, there is much of evidence tions of small, independent tasks developed in different program- that software can also alter energy dissipation significantly [2, 5, 6]. 2 3 ming languages; compiled, semi-compiled, and interpreted ones. Therefore, many conference tracks (e.g. greens, eEnergy) have Method: To achieve our purpose, we collected, refined, compared, recognized the energy–efficiency at the software level as an emerg- and analyzed a number of implemented tasks from Rosetta Code, ing research challenge regarding the implementation of modern that is a publicly available Repository for programming chrestomathy. systems. Results: Our analysis shows that among compiled programming Nowadays, more companies are shifting from traditional local languages such as C, C++, Java, and Go offers the highest energy servers and mainframes towards the data centers.
    [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]
  • Front-End Engineer @ Mlab
    Front-end Engineer @ mLab About mLab: mLab is one of the fastest growing companies in the cloud infrastructure space. The company is solving mission-critical challenges faced by developers who require innovative database technology to support their applications. Our solution is built on MongoDB, the leading NoSQL database which is disrupting the multi-billion dollar database market. We're headquartered in the Mission/ Potrero area of San Francisco and are well-funded by premier venture and angel investors including Foundry Group, Baseline Ventures, Upfront Ventures, Freestyle Capital, and David Cohen of TechStars. Our users love our Database-as-a-Service (DBaaS) solution, as it allows them to focus their attention on product development, instead of operations. Developers create thousands of new databases per month using our fully managed cloud database service which offers highly available MongoDB databases on the most popular cloud providers. Our customers love our top-tier support, automated backups, web-based management, performance enhancement tools, and 24/7 monitoring. Looking forward, our roadmap includes a suite of new capabilities which will have a massive impact on the efficiency with which developers write and deploy applications. We’re biased (of course), but we believe our culture is one of our greatest assets. What makes us happiest? Innovating, automating, helping software developers, and giving back to our community. To get a better taste for who we are, visit our website at http://mlab.com and read our blog at http://blog.mlab.com. The role: We are looking for an outstanding front-end technologist to lead our UI efforts for our technology products as well as for our public-facing websites.
    [Show full text]
  • Rosetta Code: Improv in Any Language
    Rosetta Code: Improv in Any Language Piotr Mirowski1, Kory Mathewson1, Boyd Branch1,2 Thomas Winters1,3, Ben Verhoeven1,4, Jenny Elfving1 1Improbotics (https://improbotics.org) 2University of Kent, United Kingdom 3KU Leuven, Dept. of Computer Science; Leuven.AI, Belgium 4ERLNMYR, Belgium Abstract Rosetta Code provides improv theatre performers with artificial intelligence (AI)-based technology to perform shows understandable across many different languages. We combine speech recognition, improv chatbots and language translation tools to enable improvisers to com- municate with each other while being understood—or comically misunderstood—by multilingual audiences. We describe the technology underlying Rosetta Code, detailing the speech recognition, machine translation, text generation and text-to-speech subsystems. We then describe scene structures that feature the system in performances in multilingual shows (9 languages). We provide evaluative feedback from performers, au- Figure 1: Example of a performed Telephone Game. Per- diences, and critics. From this feedback, we draw formers are aligned and one whispers to their partner on analogies between surrealism, absurdism, and multilin- the right a phrase in a foreign language (here, in Swedish), gual AI improv. Rosetta Code creates a new form of language-based absurdist improv. The performance re- which is then repeated to the following performer, until the mains ephemeral and performers of different languages last utterance is voiced into automated speech recognition can express themselves and their culture while accom- and translation to show how information is lost. modating the linguistic diversity of audiences. in which it is performed. Given that improv is based on the Introduction connection between the audience and the performers, watch- Theatre is one of the most important tools we have for shar- ing improv in a foreign language severely limits this link.
    [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]
  • Diploma/Master/Student Thesis —
    Institute of Architecture of Application Systems University of Stuttgart Universitätsstraße 38 D-70569 Stuttgart Evaluating the Profitability of the MediaWiki Application under different Cloud Distribution Scenarios María Elena Alonso Mencía Course of Study: Computer Science Examiner: Prof. Dr. Dr. h. c. Frank Leymann Supervisor: Dipl.-Inf. Santiago Gómez Sáez Commenced: April 7, 2016 Completed: September 29, 2016 CR-Classification: C.2.4, C.4, G.1.2 Abstract Cloud computing has gained popularity over the last years, causing a significant increase of available cloud offerings among providers. Therefore, this wide spectrum of options has led to an increment of possibilities for distributing applications in the cloud, by means of selecting specialized services to host each application component. Nevertheless, it also implies the need of finding the optimal solution depending on its purpose, usually based on future economical profitability. Nowadays, instead of considering an application as a whole when deploying it in the cloud, e.g. deploying whole application stack in a virtual machine, investigations focus on how to distribute the application components in heterogeneous cloud environments. Consequently, users have an even higher range of options and should carefully choose good decision criterion, going further than only considering the direct cost for the needed cloud instances. Some challenges are deriving a revenue model - as they tend to be application specific - and customizing the evaluation of different migration configurations of a real application with authentic data metrics. In this sense, this document uses utility analysis as it includes a non-directly countable element, preferences, and allows basing the decision on a trade-off taking into account other aspects which have an influence on the final performance such as users satisfaction or cloud instance availability under different deployment topologies.
    [Show full text]
  • L15N Server Side Programming
    Lecture #15: Server-Side Programming CS106E, Young In this lecture, we learn about programming on the server. We consider several different models of how a program can generate a webpage. We see that there are many different languages and frameworks that can be used on the server-side. The tools used on both client-side and server-side are sometimes referred to as the Development Stack. Finally we consider two different data formats XML and JSON which are used in web programming. Front End and Back End Engineering - We will often divide the components of a webserver into two distinct parts – front-end and back- end. o You may hear people talk about being a front-end developer or a back-end developer or talk about their web applications front-end or back-end. - The Front End consists of the HTML, CSS, and any Client-Side Programs (i.e., JavaScript) - The Back End consists of Server-Side Programs and the Database o Back-end engineers would also work on server-side configuration, load balancing, content delivery network (CDN) and server infrastructure issues. Basic Models of Server-Side Programming - There are two traditional methods for creating a webpage server-side. HTML with Server-Side Code Added ▪ With this approach a webpage on the server-side looks almost like a tradition HTML file, except in a few places, we ask the server to insert new information based on code executed on the server. ▪ Here is a sample using the server-side language PHP. <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>Time of Day</title> </head> <body> <h1>Time of Day</h1> <?php $now = new DateTime(); echo $now->format("h:i:sA"); ?> </body> </html> ▪ Notice how this looks almost exactly like HTML, except for the section enclosed within the <?php and ?>.
    [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]
  • Design and Implementation of Web Front-End Based on Mainframe Education Cloud
    IT 15 015 Examensarbete 30 hp Mars 2015 Design and Implementation of Web front-end based on Mainframe education cloud Fan Pan $ % Department of Information Technology Abstract Design and Implementation of Web front-end based on Mainframe education cloud Fan Pan Teknisk- naturvetenskaplig fakultet UTH-enheten Mainframe is a server expert in online transaction and batch job and be widely used in different industries especially banking while mainframe skilled specialists are limited. Besöksadress: Cloud computing makes it possible to share rare hardware and deliver services by Ångströmlaboratoriet Lägerhyddsvägen 1 infrastructure, platform and so on. Hus 4, Plan 0 This text explains how the Z Education Cloud can provide stable and high-value education services that support 21st-century mainframe skill development. Postadress: Additionally, the text outlines design and implementation for the education cloud Box 536 751 21 Uppsala Web-End that can help college mainframe education. Firstly, technology mechanism analysis of Web front-end for Z Education Cloud is Telefon: done with the following aspects: B/S architecture, MVC design pattern, SSH 018 – 471 30 03 development framework are introduced into this project. The author also proposes a Telefax: system which is asynchronous communication mechanism between front-end and 018 – 471 30 00 back-end according to the specialty of mainframe service. Secondly, we do the requirement from Business Requirement and Functional Requirement, define all the Hemsida: function modules and draw the use cases and class diagram with UML. After that, http://www.teknat.uu.se/student based on the requirements, this text explains how the Z Education Cloud Web-end designs and realizes.
    [Show full text]