Desktop Java™ Technology

Total Page:16

File Type:pdf, Size:1020Kb

Desktop Java™ Technology Desktop Java™ Technology Thorsten Laux Chet Haase Sun Microsystems, Inc. TS-3160 2007 JavaOneSM Conference | Session TS-3160 | Goal Where We Are Where We’re Going 2007 JavaOneSM Conference | Session TS-3160 | 2 Agenda State of the Desktop World Where We Are Going Consumer JRE Release Future Platform Features 2007 JavaOneSM Conference | Session TS-3160 | 3 Agenda State of the Desktop World Where We Are Going Consumer JRE Release Future Platform Features 2007 JavaOneSM Conference | Session TS-3160 | 4 How Much Java Technology Is Out There? ● > 91% of all PCs run Java platform* ● ~ 77% of all Java technology-enabled PCs run Sun’s Java Platform, Standard Edition (Java SE platform)** ● Distribution through PC OEMs ● Nine of the top ten PC OEMs ship the JRE software ● Representing > 60% of all shipped PCs ● 58 white box vendors have signed JRE software redistribution agreements ● Download/installs ● ~ 44m installations/month for the last six months on Windows ● > 50M in January, February, April, 2007 * Omniture, April 2007 **Mapsolute/Map24.com, April 2007 2007 JavaOneSM Conference | Session TS-3160 | 5 Completed Java SE Platform Downloads Windows numbers only 55,000,000 50,000,000 45,000,000 40,000,000 35,000,000 30,000,000 25,000,000 20,000,000 15,000,000 10,000,000 5,000,000 0 1/2003 1/2004 1/2005 1/2006 1/2007 2007 JavaOneSM Conference | Session TS-3160 | 6 Where Does the Time Go? Evans Data Survey: Fall 2006 45 40 35 30 Desktop 25 Server Mobile 20 Others 15 10 5 0 Percentage of Java Development Time Spent Spring 05 Fall 05 Spring 06 Fall 06 2007 JavaOneSM Conference | Session TS-3160 | 7 Blurb.com Photo Album Creation and Publishing 2007 JavaOneSM Conference | Session TS-3160 | 8 Map24.com ● Maps, directions, local search in an applet ● Used on Yahoo’s European sites ● “One Million Applet Downloads a Day” ● Thursday@4:10 2007 JavaOneSM Conference | Session TS-3160 | 9 Google Presentation PowerPoint Viewer 2007 JavaOneSM Conference | Session TS-3160 | 10 CineShot Real-Time Quality Analysis and Capture for Video 2007 JavaOneSM Conference | Session TS-3160 | 11 Lightzone Photographic Digital Image Editing 2007 JavaOneSM Conference | Session TS-3160 | 12 MySpace Project Inglewood Media file uploader applet ● Most popular website in the galaxy (dude) ● Needed Java platform for richness + local access 2007 JavaOneSM Conference | Session TS-3160 | 13 Agenda State of the Desktop World Where We Are Going Consumer JRE Release Future Platform Features 2007 JavaOneSM Conference | Session TS-3160 | 14 Where We Are Going ™ ● JavaFX Script technology ● Expanding the developer base ™ ● Java Development Kit (JDK ) 6 Update for Consumers, JDK version 7 ● JavaFX Mobile technology ● Java SE platform APIs on Mobile Devices ● OpenJDK ● Open Sourcing the JDK 2007 JavaOneSM Conference | Session TS-3160 | 15 Expanding the Developer Base Java Software Developers JavaFX Script Script Developers Skill Required Visual Designers Volume 2007 JavaOneSM Conference | Session TS-3160 | 16 JavaFX Script Technology ● Declarative, statically typed scripting language ● Enables easier building and running of media-rich Java clients ™ ● Makes Swing and Java 2D API accessible to a much larger audience ● Early access available for the desktop now ● More at ● Keynote: Today@1:30PM ● Presentation: Wednesday@4:10PM, Thursday@1:30PM ● Lab: Thursday@3:50PM ● Chris Oliver’s blog: demos, tutorial http://blogs.sun.com/chrisoliver 2007 JavaOneSM Conference | Session TS-3160 | 17 DEMO JavaFX Technology 2007 JavaOneSM Conference | Session TS-3160 | 18 Java SE Platform: The Consumer Web Client ● Traditional sweet spots ● The first wave of Java v.1.1 consumer applets ● Enterprise applications and applets ™ ● Developer tools (NetBeans IDE, Eclipse, IDEA…) ● Large consumer desktop applications (LimeWire, Azureus…) ● The world has changed ● Java SE platform is now installed on most desktops ● Rich consumer clients and media are rapidly gaining importance ● The time is right for Java SE platform to become a primary consumer web client platform 2007 JavaOneSM Conference | Session TS-3160 | 19 Java SE Platform: The Consumer Web Client ● JDK v.6 update for consumers ● Based on JDK v.6 st ● Planned 1 half 2008 ● Eliminates the most important consumer issues ● Startup time, Download size, Install experience, Modern cross-platform L&F ● Will include JavaFX Script technology ● JDK v.7 ● Will have a new focus on consumer relevant features ● Media, Graphics, Animation, 3D support 2007 JavaOneSM Conference | Session TS-3160 | 20 JavaFX Mobile Technology: First Step in API Convergence ● Java technology is popular with desktop developers ● Cell phones are more powerful now than desktops were when many Java SE platform APIs were designed ● Sun will make desktop APIs available on future JavaFX stacks ™ ● e.g., Java SE Core APIs, Swing, Java 2D API… ● JavaFX Mobile technology includes Swing and 2D implementations 2007 JavaOneSM Conference | Session TS-3160 | 21 JavaFX Mobile Technology ● Calling all Swing developers Java SE platform and Swing… on a Phone! ● Desktop developers can now target phones with familiar Java technologies ● Go to the Mobility keynote and sessions for more ● Keynote: Today@3:20PM ● “Swing on a phone” ● Has a certain ring to it, doesn’t it? 2007 JavaOneSM Conference | Session TS-3160 | 22 OpenJDK ● How to help Desktop ● SwingLabs, http://swinglabs.dev.java.net ● Still the best place for new feature work projects ● JSR 295/296: java.net projects ● Beans Binding and the Swing Application Framework ● Starter desktop projects for OpenJDK ● Bugs ● Clearing encumbrances ● Session: “How to Hack in the OpenJDK” ● Tuesday @ 6:00PM, Thursday @ 2:50PM ● OpenJDK project: https://openjdk.dev.java.net/ 2007 JavaOneSM Conference | Session TS-3160 | 23 Desktop Roadmap (Dates are best-guess and may change) OpenJDK JavaFX for the Desktop JavaFX Script Eval Consumer Platform Features Consumer Enhancements, JavaFX Script Java SE 2007 2008 2007 JavaOneSM Conference | Session TS-3160 | 24 Agenda State of the Desktop World Where We Are Going Consumer JRE Release Future Platform Features 2007 JavaOneSM Conference | Session TS-3160 | 25 Java SE Platform v.6: Awesome Desktop Release ● Desktop API ● TrayIcon ● Improved native look & feel ● New OS support (Vista) ● SwingWorker ● Project Matisse and Group Layout ● Gray Rect fix ● JTable Sorting and Filtering ● LCD Text ● Single-Threaded Rendering ● Desktop AA Text Properties ● Better Curved Primitives ● Splash Screen ● Better Security Dialogs ● Graphics Acceleration Improvements ● Is anyone still reading this? 2007 JavaOneSM Conference | Session TS-3160 | 26 2007 JavaOneSM Conference | Session TS-3160 | 27 2007 JavaOneSM Conference | Session TS-3160 | 28 We’re Not Done Yet ● The bad news ● We have problems that need to be fixed ● Startup time, especially at first launch (“coldstart”) ● Install time and process ● JRE software detection and installation ● The good news ● We are aware of the problems ● We’re working on solutions ● We hope to deliver solutions in a reasonable timeframe 2007 JavaOneSM Conference | Session TS-3160 | 29 Problem: Startup Time ● Actually 2 different “startup” problems ● Coldstart: First run since boot ● Typical times: 5–10+ seconds ● Warmstart: After recent run of VM ● Typical times: < 1–2 seconds ● Warmstart is acceptable ● Lots of work over the years + faster machines ● Coldstart is not 2007 JavaOneSM Conference | Session TS-3160 | 30 Problem: Startup Time ● Coldstart is an OS issue ● All about the disk cache ● Java platform reads a lot from disk at startup ● Some improvements over the years ● Class Data Sharing ● Rearranging rt.jar ● OS-level prefetch (native libraries only) ● But it’s still not nearly enough ● What to do? 2007 JavaOneSM Conference | Session TS-3160 | 31 Solution: Quickstarter ● Pre-load the cache, before launch ● At boot, at browser launch, whenever ● Note: Not the same as having a running VM ● Cooperates with the OS ● Memory still available for other apps ● OS will flush disk cache pages as necessary 2007 JavaOneSM Conference | Session TS-3160 | 32 Problem: Install Time ● The JRE implementation is, well, big ● 7–15 MB download ● Extracted to 40+ MB for rt.jar ● Plus other jarfiles, native libraries, resource files, … ● All of this takes time ● Download ● Unzip ● Unpack200 ● Copying bits around ● It’s a wonder that it’s as quick as it is… 2007 JavaOneSM Conference | Session TS-3160 | 33 Solution: Kernel ● Every app needs some core functionality ● VM, networking, security, classloader ● …plus other stuff on demand ● Swing, AWT, 2D, CORBA ● Kernel downloads and installs ● Bare essentials immediately ● Additional dependencies next ● “ClassNotFound” culprits as needed ● Everything else eventually 2007 JavaOneSM Conference | Session TS-3160 | 34 Kernel: Bare Essentials 367KB4.3 Core JRE Web Start 9.1 197KB Plug-in Installer 1374KB 3.1 82KB 2.4 2007 JavaOneSM Conference | Session TS-3160 | 35 Kernel: App-Specific Sizes 2007 JavaOneSM Conference | Session TS-3160 | 36 Problem: JRE Software Detection ● No good way to detect JRE software existence and version from browser ● Developers use nifty “Get Java” button ● Which takes users away from the site ● Applets constrained to lowest-common- denominator APIs ™ ● MS VM, circa Java Development Kit (JDK ) 1.1 2007 JavaOneSM Conference | Session TS-3160 | 37 Solution: Deployment Toolkit ™ ● JavaScript technology solution hosted by Sun ● Developer uses simple script on their site ● Link to Sun’s script ● Detects JRE software existence and version ● Depending on app requirements
Recommended publications
  • Rich Internet Applications
    Rich Internet Applications (RIAs) A Comparison Between Adobe Flex, JavaFX and Microsoft Silverlight Master of Science Thesis in the Programme Software Engineering and Technology CARL-DAVID GRANBÄCK Department of Computer Science and Engineering CHALMERS UNIVERSITY OF TECHNOLOGY UNIVERSITY OF GOTHENBURG Göteborg, Sweden, October 2009 The Author grants to Chalmers University of Technology and University of Gothenburg the non-exclusive right to publish the Work electronically and in a non-commercial purpose make it accessible on the Internet. The Author warrants that he/she is the author to the Work, and warrants that the Work does not contain text, pictures or other material that violates copyright law. The Author shall, when transferring the rights of the Work to a third party (for example a publisher or a company), acknowledge the third party about this agreement. If the Author has signed a copyright agreement with a third party regarding the Work, the Author warrants hereby that he/she has obtained any necessary permission from this third party to let Chalmers University of Technology and University of Gothenburg store the Work electronically and make it accessible on the Internet. Rich Internet Applications (RIAs) A Comparison Between Adobe Flex, JavaFX and Microsoft Silverlight CARL-DAVID GRANBÄCK © CARL-DAVID GRANBÄCK, October 2009. Examiner: BJÖRN VON SYDOW Department of Computer Science and Engineering Chalmers University of Technology SE-412 96 Göteborg Sweden Telephone + 46 (0)31-772 1000 Department of Computer Science and Engineering Göteborg, Sweden, October 2009 Abstract This Master's thesis report describes and compares the three Rich Internet Application !RIA" frameworks Adobe Flex, JavaFX and Microsoft Silverlight.
    [Show full text]
  • Daftar Program Untuk Komputer Grafik Dan Pengolahan Citra
    Daftar program untuk Komputer Grafik dan Pengolahan Citra I Made Wiryana 1 Nopember 2012 Daftar Isi 1 OpenCV 1 2 Scilab Image Processing Toolbox 2 3 VIPS 2 4 ImageJ 2 5 Marvin 2 6 MeVisLab 3 7 MVTH 3 8 Gephex 3 9 Fiji 3 10 MathMap 4 11 VTK 4 12 Tulip 4 13 PreFuse 4 1 OpenCV OpenCV - Open Source Computer Vision Library [http://www.opencv.org] is an open-source BSD- licensed library that includes several hundreds of computer vision algorithms. The document de- scribes the so-called OpenCV 2.x API, which is essentially a C++ API, as opposite to the C-based OpenCV 1.x API. The latter is described in opencv1x.pdf. OpenCV (Open Source Computer Vision Library) is an open source computer vision and machine learning software library. OpenCV was built to provide a common infrastructure for computer vision applications and to accelerate the use of machine perception in the commercial products. Being a BSD-licensed product, OpenCV makes it easy for businesses to utilize and modify the code. The library has more than 2500 optimized algorithms, which includes a comprehensive set of both classic and state-of-the-art computer vision and machine learning algorithms. These algori- thms can be used to detect and recognize faces, identify objects, classify human actions in videos, track camera movements, track moving objects, extract 3D models of objects, produce 3D point clouds from stereo cameras, stitch images together to produce a high resolution image of an entire 1 scene, find similar images from an image database, remove red eyes from images taken using flash, follow eye movements, recognize scenery and establish markers to overlay it with augmented reali- ty, etc.
    [Show full text]
  • CDC: Java Platform Technology for Connected Devices
    CDC: JAVA™ PLATFORM TECHNOLOGY FOR CONNECTED DEVICES Java™ Platform, Micro Edition White Paper June 2005 2 Table of Contents Sun Microsystems, Inc. Table of Contents Introduction . 3 Enterprise Mobility . 4 Connected Devices in Transition . 5 Connected Devices Today . 5 What Users Want . 5 What Developers Want . 6 What Service Providers Want . 6 What Enterprises Want . 6 Java Technology Leads the Way . 7 From Java Specification Requests… . 7 …to Reference Implementations . 8 …to Technology Compatibility Kits . 8 Java Platform, Micro Edition Technologies . 9 Configurations . 9 CDC . 10 CLDC . 10 Profiles . 11 Optional Packages . 11 A CDC Java Runtime Environment . 12 CDC Technical Overview . 13 CDC Class Library . 13 CDC HotSpot™ Implementation . 13 CDC API Overview . 13 Application Models . 15 Standalone Applications . 16 Managed Applications: Applets . 16 Managed Applications: Xlets . 17 CLDC Compatibility . 18 GUI Options and Tradeoffs . 19 AWT . 19 Lightweight Components . 20 Alternate GUI Interfaces . 20 AGUI Optional Package . 20 Security . 21 Developer Tool Support . 22 3 Introduction Sun Microsystems, Inc. Chapter 1 Introduction From a developer’s perspective, the APIs for desktop PCs and enterprise systems have been a daunting combination of complexity and confusion. Over the last 10 years, Java™ technology has helped simplify and tame this world for the benefit of everyone. Developers have benefited by seeing their skills become applicable to more systems. Users have benefited from consistent interfaces across different platforms. And systems vendors have benefited by reducing and focusing their R&D investments while attracting more developers. For desktop and enterprise systems, “Write Once, Run Anywhere”™ has been a success. But if the complexities of the desktop and enterprise world seem, well, complex, then the connected device world is even scarier.
    [Show full text]
  • Resume Emmanuel Puybaret / Java Developer
    Emmanuel PUYBARET 52, married, two children 35, rue de Chambéry French native, fluent in English 75015 PARIS FRANCE Tel +33 1 58 45 28 27 Email [email protected] EDUCATION 1992-1993 Master's degree in INDUSTRIAL DESIGN/PRODUCT DESIGN, U.T.C. (University of Technology of Compiègne). 1985-1991 AERONAUTICS ENGINEER, E.S.T.A.C.A. (Graduate School of Aeronautics Engineering and Cars Construction). 1988-1990 BS in COMPUTER SCIENCE, University of Paris 6 (specialization in 2D/3D graphics, Artificial Intelligence, signal processing). COMPUTER SKILLS Systems Windows XP/7/8/10, Mac OS X, Linux. Languages Java, JavaScript, HTML, XML, SQL, C, C++, C#, Objective C, UML. Java API J2SE / Java SE: AWT, Swing, Java 2D, JavaSound, JDBC, SAX, DOM, JNI, multi-threading. J2EE / Java EE: Servlet, JSP, JSF, JPA, JavaMail, JMS, EJB. Other API: Struts, Hibernate, Ant, JUnit/TestNG, Abbot, FEST, SWT/JFace, Java 3D, WebGL. WORK EXPERIENCE Since 1999 JAVA ENGINEER AND TRAINER, freelancer, eTeks. References: 1999-2019 • eTeks: Author of the web site http://www.eteks.com (more than 10,000 visits per month): 5 months o Writing in French of the tutorial From C/C++ to Java and programming tips. 8 years o Development of Java products available under GNU GPL Open Source license: Sweet Home 3D interior design application, Jeks Swing spreadsheet, PJA Toolkit graphical library. 1 month o Development of the navigation applet TeksMenu sold to ten web sites. 1999-2018 23 months • AFTI, BSPP, CAI, EFREI, ENSEA, ESIC, ESIGETEL, GRETA, ib, Infotel, Intrabases, ITIN, LTM, SmartFutur, SofTeam, Sun Educational: Trainings in Java, JDBC, JSP, Swing, Java 2D, Java 3D, C++.
    [Show full text]
  • Javafx in Action by Simon Morris
    Covers JavaFX v1.2 IN ACTION Simon Morris SAMPLE CHAPTER MANNING JavaFX in Action by Simon Morris Chapter 1 Copyright 2010 Manning Publications brief contents 1 ■ Welcome to the future: introducing JavaFX 1 2 ■ JavaFX Script data and variables 15 3 ■ JavaFX Scriptcode and structure 46 4 ■ Swing by numbers 79 5 ■ Behind the scene graph 106 6 ■ Moving pictures 132 7 ■ Controls,charts, and storage 165 8 ■ Web services with style 202 9 ■ From app to applet 230 10 ■ Clever graphics and smart phones 270 11 ■ Best of both worlds: using JavaFX from Java 300 appendix A ■ Getting started 315 appendix B ■ JavaFX Script: a quick reference 323 appendix C ■ Not familiar with Java? 343 appendix D ■ JavaFX and the Java platform 350 vii Welcome to the future: introducing JavaFX This chapter covers ■ Reviewing the history of the internet-based application ■ Asking what promise DSLs hold for UIs ■ Looking at JavaFX Script examples ■ Comparing JavaFX to its main rivals “If the only tool you have is a hammer, you tend to see every problem as a nail,” American psychologist Abraham Maslow once observed. Language advocacy is a popular pastime with many programmers, but what many fail to realize is that programming languages are like tools: each is good at some things and next to useless at others. Java, inspired as it was by prior art like C and Smalltalk, sports a solid general-purpose syntax that gets the job done with the minimum of fuss in the majority of cases. Unfortunately, there will always be those areas that, by their very nature, demand something a little more specialized.
    [Show full text]
  • Mateias, C. & Nicolescu, A. F.: Data Reporting on Internet from Sensors
    Annals of DAAAM for 2012 & Proceedings of the 23rd International DAAAM Symposium, Volume 23, No.1, ISSN 2304-1382 ISBN 978-3-901509-91-9, CDROM version, Ed. B. Katalinic, Published by DAAAM International, Vienna, Austria, EU, 2012 Make Harmony between Technology and Nature, and Your Mind will Fly Free as a Bird Annals & Proceedings of DAAAM International 2012 DATA REPORTING ON INTERNET FROM SENSORS THAT MEASURE ENVIRONMENTAL PARAMETERS MATEIAS, C[atalin] & NICOLESCU, A[drian] F[lorin] Abstract: This paper describes a development stage of a 3D from remote locations) [2][3]. Also, it is preferable to use application developed using WebGL for reporting temperature, open source code for developing the 3D interface. humidity, pressure and dew point from a sensor installed in a location where constant monitoring is required. The data from the sensor is stored in an Oracle database. The sensor 3. PROBLEM SOLUTION measures the environmental parameters once per minute every day. The web pages that make the data available to Internet The first attempt was made using Java 3D. This users are developed using Oracle APEX. The 3D model of the requires installing Java and Java 3D plugin on the monitored location and the sensor were designed using computer Internet browser[4]. The java applet is packed Blender. The 3D models are loaded into the Oracle database in a *.jar file and uploaded into the Oracle database in a and rendered, using WebGL, inside web pages. BLOB type column and can be viewed from web pages Keywords: WebGL, Java, Internet server, 3D web application, designed with Oracle APEX.
    [Show full text]
  • Rapid Prototyping for Virtual Environments
    Old Dominion University ODU Digital Commons Electrical & Computer Engineering Theses & Dissertations Electrical & Computer Engineering Winter 2008 Rapid Prototyping for Virtual Environments Emre Baydogan Old Dominion University Follow this and additional works at: https://digitalcommons.odu.edu/ece_etds Part of the Computer Sciences Commons, and the Electrical and Computer Engineering Commons Recommended Citation Baydogan, Emre. "Rapid Prototyping for Virtual Environments" (2008). Doctor of Philosophy (PhD), Dissertation, Electrical & Computer Engineering, Old Dominion University, DOI: 10.25777/pb9g-mv96 https://digitalcommons.odu.edu/ece_etds/45 This Dissertation is brought to you for free and open access by the Electrical & Computer Engineering at ODU Digital Commons. It has been accepted for inclusion in Electrical & Computer Engineering Theses & Dissertations by an authorized administrator of ODU Digital Commons. For more information, please contact [email protected]. RAPID PROTOTYPING FOR VIRTUAL ENVIRONMENTS by Emre Baydogan B.S. June 1999, Marmara University, Turkey M.S. June 2001, Marmara University, Turkey A Dissertation Submitted to the Faculty of Old Dominion University in Partial Fulfillment of the Requirement for the Degree of DOCTOR OF PHILOSOPHY ELECTRICAL AND COMPUTER ENGINEERING OLD DOMINION UNIVERSITY December 2008 Lee A. Belfore, H (Director) K. Vijayan Asari Jesmca R. Crouch ABSTRACT RAPID PROTOTYPING FOR VIRTUAL ENVIRONMENTS Emre Baydogan Old Dominion University, 2008 Director: Dr. Lee A. Belfore, II Development of Virtual Environment (VE) applications is challenging where appli­ cation developers are required to have expertise in the target VE technologies along with the problem domain expertise. New VE technologies impose a significant learn­ ing curve to even the most experienced VE developer. The proposed solution relies on synthesis to automate the migration of a VE application to a new unfamiliar VE platform/technology.
    [Show full text]
  • 100% Pure Java Cookbook Use of Native Code
    100% Pure Java Cookbook Guidelines for achieving the 100% Pure Java Standard Revision 4.0 Sun Microsystems, Inc. 901 San Antonio Road Palo Alto, California 94303 USA Copyrights 2000 Sun Microsystems, Inc. All rights reserved. 901 San Antonio Road, Palo Alto, California 94043, U.S.A. This product and related documentation are protected by copyright and distributed under licenses restricting its use, copying, distribution, and decompilation. No part of this product or related documentation may be reproduced in any form by any means without prior written authorization of Sun and its licensors, if any. Restricted Rights Legend Use, duplication, or disclosure by the United States Government is subject to the restrictions set forth in DFARS 252.227-7013 (c)(1)(ii) and FAR 52.227-19. The product described in this manual may be protected by one or more U.S. patents, foreign patents, or pending applications. Trademarks Sun, the Sun logo, Sun Microsystems, Java, Java Compatible, 100% Pure Java, JavaStar, JavaPureCheck, JavaBeans, Java 2D, Solaris,Write Once, Run Anywhere, JDK, Java Development Kit Standard Edition, JDBC, JavaSpin, HotJava, The Network Is The Computer, and JavaStation are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and certain other countries. UNIX is a registered trademark in the United States and other countries, exclusively licensed through X/Open Company, Ltd. All other product names mentioned herein are the trademarks of their respective owners. Netscape and Netscape Navigator are trademarks of Netscape Communications Corporation in the United States and other countries. THIS PUBLICATION IS PROVIDED “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT.
    [Show full text]
  • Java for Engineers and Scientists
    Java for engineers and scientists by Meera Joseph, University of Johannesburg Java has revolutionised software development in the IT fi eld for many years. This article which takes a tutorial approach and object reusability would benefi t scientists and engineers with some programming experience. Engineering, science and creative programming require a lot of /* Calculating and displaying the fi nal velocity */ imagination, analysis and computation. With top-down design for ( double mi=20000.0; mi<31000.0; mi=mi+1000.0 ) methodology and easy introduction to simple GUI for inputs and outputs { Java is used from cell phones to smart cards. Unlike C++ and Excel, Java double fi nvel = Math.fl oor(vt + vrel*(Math.log(mi/mf))); can create good graphical user interfaces with less lines of code. The JOptionPane.showMessageDialog(null,”Java for engineers and fact is use of Java technology in the engineering and scientifi c fi eld has Scientists\n”+ become unavoidable. ”\nTSIOLKOVSKII’S EQUATION\n”+ ”\nRocket initial velocity\t R”+ vt + “m/s” + Baby steps in Java programming ”\nGas relative velocity\t “ + vrel + “m/s” + ”\nRocket fi nal mass\t “ + mf + “kg”+”\nRocket initial mass\t “ + mi + Java is an object-oriented portable programming language and is a ”kg”+”\n\nRocket fi nal velocity “ consequence of a research project funded by Sun Microsystems and +fi nvel+ “m/s”,”Tsiolkovskii’s Equation”, developed in a C++ based language named Oak in 1991. Sun later JOptionPane.INFORMATION_MESSAGE); renamed it as Java. Java programs consist of classes which include } methods. However programmers use existing classes from Java class } libraries (Java API) or create their own.
    [Show full text]
  • Java and C I CSE 351 Autumn 2016
    L26: JVM CSE351, Spring 2018 Java Virtual Machine CSE 351 Spring 2018 Model of a Computer “Showing the Weather” Pencil and Crayon on Paper Matai Feldacker-Grossman, Age 4 May 22, 2018 L26: JVM CSE351, Spring 2018 Roadmap C: Java: Memory & data Integers & floats car *c = malloc(sizeof(car)); Car c = new Car(); x86 assembly c->miles = 100; c.setMiles(100); c->gals = 17; c.setGals(17); Procedures & stacks float mpg = get_mpg(c); float mpg = Executables free(c); c.getMPG(); Arrays & structs Memory & caches Assembly get_mpg: Processes language: pushq %rbp Virtual memory movq %rsp, %rbp ... Memory allocation popq %rbp Java vs. C ret OS: Machine 0111010000011000 code: 100011010000010000000010 1000100111000010 110000011111101000011111 Computer system: 2 L26: JVM CSE351, Spring 2018 Implementing Programming Languages Many choices in how to implement programming models We’ve talked about compilation, can also interpret Interpreting languages has a long history . Lisp, an early programming language, was interpreted Interpreters are still in common use: . Python, Javascript, Ruby, Matlab, PHP, Perl, … Interpreter Your source code implementation Your source code Binary executable Interpreter binary Hardware Hardware 3 L26: JVM CSE351, Spring 2018 An Interpreter is a Program Execute (something close to) the source code directly Simpler/no compiler – less translation More transparent to debug – less translation Easier to run on different architectures – runs in a simulated environment that exists only inside the interpreter process . Just port the interpreter (program), not the program-intepreted Slower and harder to optimize 4 L26: JVM CSE351, Spring 2018 Interpreter vs. Compiler An aspect of a language implementation . A language can have multiple implementations . Some might be compilers and other interpreters “Compiled languages” vs.
    [Show full text]
  • 3D Graphics Technologies for Web Applications an Evaluation from the Perspective of a Real World Application
    Institutionen för systemteknik Department of Electrical Engineering Examensarbete 3D Graphics Technologies for Web Applications An Evaluation from the Perspective of a Real World Application Master thesis performed in information coding by Klara Waern´er LiTH-ISY-EX--12/4562--SE Link¨oping 2012-06-19 Department of Electrical Engineering Linköpings tekniska högskola Linköpings universitet Linköpings universitet SE-581 83 Linköping, Sweden 581 83 Linköping 3D Graphics Technologies for Web Applications An Evaluation from the Perspective of a Real World Application Master thesis in information coding at Link¨oping Institute of Technology by Klara Waern´er LiTH-ISY-EX--12/4562--SE Supervisors: Fredrik Bennet SICK IVP AB Jens Ogniewski ISY, Link¨opingUniversity Examiner: Ingemar Ragnemalm ISY, Link¨opingUniversity Link¨oping2012-06-19 Presentation Date Department and Division 2012-05-31 Department of Electrical Engineering Publishing Date (Electronic version) 2012-06-19 Language Type of Publication ISBN (Licentiate thesis) X English Licentiate thesis ISRN: LiTH-ISY-EX--12/4562--SE Other (specify below) X Degree thesis Thesis C-level Title of series (Licentiate thesis) Thesis D-level Report Number of Pages Other (specify below) Series number/ISSN (Licentiate thesis) 90 URL, Electronic Version http://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-78726 Publication Title 3D Graphics Technologies for Web Applications: An Evaluation from the Perspective of a Real World Application Publication Title (Swedish) Tekniker för 3D-grafik i webbapplikationer: En utvärdering sedd utifrån en riktig applikations perspektiv Author(s) Klara Waernér Abstract Web applications are becoming increasingly sophisticated and functionality that was once exclusive to regular desktop applications can now be found in web applications as well.
    [Show full text]
  • 3D Visualization Architecture for Building Applications Leveraging an Existing Validated Toolkit David A
    Marquette University e-Publications@Marquette Master's Theses (2009 -) Dissertations, Theses, and Professional Projects 3D Visualization Architecture for Building Applications Leveraging an Existing Validated Toolkit David A. Polyak Marquette University Recommended Citation Polyak, David A., "3D Visualization Architecture for Building Applications Leveraging an Existing Validated Toolkit" (2014). Master's Theses (2009 -). Paper 255. http://epublications.marquette.edu/theses_open/255 3D VISUALIZATION ARCHITECTURE FOR BUILDING UBIQUITOUS APPLICATIONS LEVERAGING AN EXISTING VALIDATED TOOLKIT by David A. Polyak A Thesis submitted to the Faculty of the Graduate School, Marquette University, in Partial Fulfillment of the requirements for the Degree of Master of Computing Milwaukee, Wisconsin May 2014 ABSTRACT 3D VISUALIZATION ARCHITECTURE FOR BUILDING UBIQUITOUS APPLICATIONS LEVERAGING AN EXISTING VALIDATED TOOLKIT David A. Polyak Marquette University, 2014 The diagnostic radiology space and healthcare in general is a slow adopter of new software technologies and patterns. Despite the widespread embrace of mobile technology in recent years, altering the manner in which societies in developed countries live and communicate, diagnostic radiology has not unanimously adopted mobile technology for remote diagnostic review. Desktop applications in the diagnostic radiology space commonly leverage a validated toolkit. Such toolkits not only simplify desktop application development but minimize the scope of application validation. For these reasons, such a toolkit is an important piece of a company’s software portfolio. This thesis investigated an approach for leveraging a Java validated toolkit for the purpose of creating numerous ubiquitous applications for 3D diagnostic radiology. Just as in the desktop application space, leveraging such a toolkit minimizes the scope of ubiquitous application validation. Today, the most standard execution environment in an electronic device is an Internet browser; therefore, a ubiquitous application is web application.
    [Show full text]