Python where we can, C ++ where we must
|
|
- Letitia Robertson
- 5 years ago
- Views:
Transcription
1 Python where we can, C ++ where we must Source: Guy K. Kloss Python where we can,c++ where we must 1/28
2 Python where we can, C ++ where we must Guy K. Kloss BarCamp Auckland December 2007 Quote: Alex Martelli, Senior Google Developer Guy K. Kloss Python where we can,c++ where we must 2/28
3 Outline 1 Python 2 Extending/Integrating 3 A Real World Example 4 Tips Guy K. Kloss Python where we can,c++ where we must 3/28
4 Outline 1 Python 2 Extending/Integrating 3 A Real World Example 4 Tips Guy K. Kloss Python where we can,c++ where we must 4/28
5 What is Python? Object oriented Dynamic Easy to learn syntax High-level data types Scripting language Embeddable in C/C++ Guy K. Kloss Python where we can,c++ where we must 5/28
6 Python vs. Java (or C ++ ) No compilation Fast edit build debug cycle Dynamic Typing No need to declare variables for use Easy Syntax No curly braces, no semicolons, no new... Embeddable Scripting support for your applications Interactive Create, view, change objects at runtime 50% less code Compact and natural syntax 300% more productive Closer to the way you think Guy K. Kloss Python where we can,c++ where we must 6/28
7 Why Python? Mixable Extend Python with components written in C++, Java, C Embed Python into your application and call it from C/C++ Platform independent Powerful Ease of use of scripting language Built-in object types Extensive libraries Automatic memory management Modules, classes and exceptions Guy K. Kloss Python where we can,c++ where we must 7/28
8 What is Python used for? System Utilities System admin tools, portable shell scripts Internet Scripting CGI scripts, parse HTML, process XML, tools User Interfaces (UIs) & rapid prototyping Component Glue Scripting for apps, COM scripting Distributed Programming Web Services, COM, CORBA, XML RPC Database Programming Scientific Computing PyODE, NumPy, SciPy, PyMol,... Image Processing Python Image Library OpenGL Programming, Writing Games PyOpenGL, Panda3D, PyOgre, Py3d, VisualPython Artifical Intelligence Guy K. Kloss Python where we can,c++ where we must 8/28
9 Why Native Code? C/C++, Fortran (and Java, C #,...) Performance Binding to legacy code (Existing) Applications/Libraries want to be scripted... want to be tested... want to be re-used Guy K. Kloss Python where we can,c++ where we must 9/28
10 Outline 1 Python 2 Extending/Integrating 3 A Real World Example 4 Tips Guy K. Kloss Python where we can,c++ where we must 10/28
11 What if I could... Use this code more effectively...? [NaSt2D demonstration (native executable)] Guy K. Kloss Python where we can,c++ where we must 11/28
12 Extending/Integration The Contestants: The classic way... Extending and Embedding the Python Interpreter The new way... Python ctypes SWIG Boost.Python Others: SIP Pythonizer SILOON (Pyrex) Extensions also for Java, C#, Fortran,... available Guy K. Kloss Python where we can,c++ where we must 12/28
13 Extending/Integration The Contestants: The classic way... Extending and Embedding the Python Interpreter The new way... Python ctypes SWIG Boost.Python Others: SIP Pythonizer SILOON (Pyrex) Extensions also for Java, C#, Fortran,... available Guy K. Kloss Python where we can,c++ where we must 12/28
14 Extending/Integration The Contestants: The classic way... Extending and Embedding the Python Interpreter The new way... Python ctypes SWIG Boost.Python Others: SIP Pythonizer SILOON (Pyrex) Extensions also for Java, C#, Fortran,... available Guy K. Kloss Python where we can,c++ where we must 12/28
15 Extending/Integration The Contestants: The classic way... Extending and Embedding the Python Interpreter The new way... Python ctypes SWIG Boost.Python Others: SIP Pythonizer SILOON (Pyrex) Extensions also for Java, C#, Fortran,... available Guy K. Kloss Python where we can,c++ where we must 12/28
16 Extending/Integration The Contestants: The classic way... Extending and Embedding the Python Interpreter The new way... Python ctypes SWIG Boost.Python Others: SIP Pythonizer SILOON (Pyrex) Extensions also for Java, C#, Fortran,... available Guy K. Kloss Python where we can,c++ where we must 12/28
17 Boost.Python Thinking Hybrid with Boost.Python Bottom up and... Top down possible Develop quickly Resolve bottle necks Donald Knuth s: Premature optimisation is the root of all evil. or: Don t Optimise Now! Guy K. Kloss Python where we can,c++ where we must 13/28
18 Boost.Python Thinking Hybrid with Boost.Python Bottom up and... Top down possible Develop quickly Resolve bottle necks Donald Knuth s: Premature optimisation is the root of all evil. or: Don t Optimise Now! Guy K. Kloss Python where we can,c++ where we must 13/28
19 Boost.Python Thinking Hybrid with Boost.Python Bottom up and... Top down possible Develop quickly Resolve bottle necks Donald Knuth s: Premature optimisation is the root of all evil. or: Don t Optimise Now! Guy K. Kloss Python where we can,c++ where we must 13/28
20 Hello World char const* greet(unsigned x) { static char const* const msgs[] = {"hello", "Boost.Python", "world!"}; if (x > 2) { } throw std::range error("greet: } return msgs[x]; Index out of range."); #include <boost/python.hpp> using namespace boost::python; BOOST PYTHON MODULE(hello) {.def("greet", greet, "return one of 3 parts of a greeting"); } And here it is in action: >>> import hello >>> for x in range(3):... print hello.greet(x)... hello Boost.Python world! Guy K. Kloss Python where we can,c++ where we must 14/28
21 Boost.Python One of a few libraries that make it easy to integrate C++ and Python code How does it pull off this trick? Template meta programming (i. e. Don t ask!) Guy K. Kloss Python where we can,c++ where we must 15/28
22 Boost.Python One of a few libraries that make it easy to integrate C++ and Python code How does it pull off this trick? Template meta programming (i. e. Don t ask!) Guy K. Kloss Python where we can,c++ where we must 15/28
23 See it Happen I m making it work for you now... [ MyClass demonstration (MyClass.cpp, MyClass.h, mymodule.cpp)] Guy K. Kloss Python where we can,c++ where we must 16/28
24 Outline 1 Python 2 Extending/Integrating 3 A Real World Example 4 Tips Guy K. Kloss Python where we can,c++ where we must 17/28
25 A Real World Example Re-visiting NaSt2D Wrapping NaSt2D Control the code Guy K. Kloss Python where we can,c++ where we must 18/28
26 NaSt2D in Python This is what I m going to show you: Code to be wrapped Generated wrapper code Generator script SCons (build system) How it works with Python [Wrapped NaSt2D demonstration (Wrapper.h, nast2dmodule.cpp, generate bindings.py, SConstruct, demo0.py)] Guy K. Kloss Python where we can,c++ where we must 19/28
27 Extend Wrapper Class Inheriting from C++ classes Interfacing numerical values Change functionality Follow the Computation Guy K. Kloss Python where we can,c++ where we must 20/28
28 Overriding in Python This is what I m going to show you: Overriding a native method in Python Native method needs to be virtual Live data plotting with GNUplot [NaSt2D with plotting demonstration (demo1.py, demo2.py)] Guy K. Kloss Python where we can,c++ where we must 21/28
29 Do more Computations Parameter Study Change input file Compute several cases Plot results automatically Guy K. Kloss Python where we can,c++ where we must 22/28
30 Automating in Python This is what I m going to show you: Using a template input file Batch calculating several runs Plotting results with GNUplot [NaSt2D with parameter variation demonstration (demo3.py, demo4.py)] Guy K. Kloss Python where we can,c++ where we must 23/28
31 Outline 1 Python 2 Extending/Integrating 3 A Real World Example 4 Tips Guy K. Kloss Python where we can,c++ where we must 24/28
32 Tips To override C++ methods: make them virtual C/C++ pit fall Call by reference/value Solution: calling policies Map to other/sane languages Java: Jython C#: IronPython Fortran: PyFort, Py2F (Native to other: SWIG) Guy K. Kloss Python where we can,c++ where we must 25/28
33 Summary Why is Python good for you? How can performance bottle necks be resolved? Advantages of Thinking Hybrid Python native wrapping using Boost.Python Automated wrapper generation SCons build system Guy K. Kloss Python where we can,c++ where we must 26/28
34 Python and the Need for Speed Cuong Do Software Architect YouTube.com Python is fast enough for our site and allows us to produce maintainable features in record times, with a minimum of developers. Guy K. Kloss Python where we can,c++ where we must 27/28
35 Questions? Guy K. Kloss Python where we can,c++ where we must 28/28
Python Scripting for Computational Science
Hans Petter Langtangen Python Scripting for Computational Science Third Edition With 62 Figures 43 Springer Table of Contents 1 Introduction... 1 1.1 Scripting versus Traditional Programming... 1 1.1.1
More informationPython Scripting for Computational Science
Hans Petter Langtangen Python Scripting for Computational Science Third Edition With 62 Figures Sprin ger Table of Contents 1 Introduction 1 1.1 Scripting versus Traditional Programming 1 1.1.1 Why Scripting
More informationAutoWIG Documentation
AutoWIG Documentation Release 0.1 P. Fernique, C. Pradal Oct 30, 2018 Contents 1 Citation 3 2 Installation 5 2.1 Installation from binaries......................................... 5 2.2 Installation
More informationScientific Computing Using. Atriya Sen
Scientific Computing Using Atriya Sen Broad Outline Part I, in which I discuss several aspects of the Python programming language Part II, in which I talk about some Python modules for scientific computing
More informationAppendix B Boost.Python
Financial Modelling in Python By S. Fletcher & C. Gardner 2009 John Wiley & Sons Ltd Appendix B Boost.Python The Boost.Python library provides a framework for seamlessly wrapping C++ classes, functions
More informationAstronomical Data Analysis with Python
Astronomical Data Analysis with Python Lecture 8 Yogesh Wadadekar NCRA-TIFR July August 2010 Yogesh Wadadekar (NCRA-TIFR) Topical course 1 / 27 Slides available at: http://www.ncra.tifr.res.in/ yogesh/python_course_2010/
More informationPython, C, C++, and Fortran Relationship Status: It s Not That Complicated. Philip Semanchuk
Python, C, C++, and Fortran Relationship Status: It s Not That Complicated Philip Semanchuk (philip@pyspoken.com) This presentation is part of a talk I gave at PyData Carolinas 2016. This presentation
More informationHippoDraw and Python
HippoDraw and Python Paul F. Kunz Stanford Linear Accelerator Center Brief overview of HippoDraw Use from Python Two Versions Java GUI, uses Jython Qt GUI, uses Python Java version used in screen dumps
More informationIntroduction to Python. Didzis Gosko
Introduction to Python Didzis Gosko Scripting language From Wikipedia: A scripting language or script language is a programming language that supports scripts, programs written for a special run-time environment
More informationWeb Interface to Materials Simulations
Web Interface to Materials Simulations Web Interface Generator and Legacy Application Façade Portal Development Team Funding Akos J. Czikmantory (JPL - Wiglaf) DARPA-PROM Hook Hua (JPL - Wiglaf ) JPL SRRF
More informationPython for Earth Scientists
Python for Earth Scientists Andrew Walker andrew.walker@bris.ac.uk Python is: A dynamic, interpreted programming language. Python is: A dynamic, interpreted programming language. Data Source code Object
More informationWorking with JavaScript
Working with JavaScript Creating a Programmable Web Page for North Pole Novelties 1 Objectives Introducing JavaScript Inserting JavaScript into a Web Page File Writing Output to the Web Page 2 Objectives
More informationMixed language programming
Mixed language programming Simon Funke 1,2 Ola Skavhaug 3 Joakim Sundnes 1,2 Hans Petter Langtangen 1,2 Center for Biomedical Computing, Simula Research Laboratory 1 Dept. of Informatics, University of
More informationIntroduction p. 1 Basic Programming Introduction p. 7 Introduction to Python p. 7 Why Use Python? p. 10 Main Technical Features p.
Introduction p. 1 Basic Programming Introduction p. 7 Introduction to Python p. 7 Why Use Python? p. 10 Main Technical Features p. 13 Python Distribution p. 16 Installing and Configuring Python p. 18 Python
More informationPython - a Dynamic Programming Language. Guido van Rossum May 31, 2007
Python - a Dynamic Programming Language Guido van Rossum May 31, 2007 Outline What is Python? Origins, history and design philosophy Python today The future: Python 3000 Links, Q&A 3 Copyright 2007 Google
More informationWrapping a complex C++ library for Eiffel. FINAL REPORT July 1 st, 2005
Wrapping a complex C++ library for Eiffel FINAL REPORT July 1 st, 2005 Semester project Student: Supervising Assistant: Supervising Professor: Simon Reinhard simonrei@student.ethz.ch Bernd Schoeller Bertrand
More informationJava Bytecode (binary file)
Java is Compiled Unlike Python, which is an interpreted langauge, Java code is compiled. In Java, a compiler reads in a Java source file (the code that we write), and it translates that code into bytecode.
More informationIntroduction to Mobile Development
Introduction to Mobile Development Building mobile applications can be as easy as opening up the IDE, throwing something together, doing a quick bit of testing, and submitting to an App Store all done
More informationGeant4 python interface
Geant4 python interface Koichi Murakami (KEK/CRC) Geant4 Collaboration Meeting 2016 Sep/15/2016 G4 FERRARA 1 Python Shell Environment CLI : UI terminal script language : UI macro Programming Language oop,
More informationLecture 1. basic Python programs, defining functions
Lecture 1 basic Python programs, defining functions Lecture notes modified from CS Washington CS 142 Except where otherwise noted, this work is licensed under: http://creativecommons.org/licenses/by-nc-sa/3.0
More informationPython. Jae-Gil Lee Based on the slides by K. Naik, M. Raju, and S. Bhatkar. December 28, Outline
Python Jae-Gil Lee Based on the slides by K. Naik, M. Raju, and S. Bhatkar December 28, 2011 1 Outline Introduction Installation and Use Distinct Features Python Basics Functional Example Comparisons with
More informationPYTHON TRAINING COURSE CONTENT
SECTION 1: INTRODUCTION What s python? Why do people use python? Some quotable quotes A python history lesson Advocacy news What s python good for? What s python not good for? The compulsory features list
More informationConcepts of Programming Languages
Concepts of Programming Languages Lecture 1 - Introduction Patrick Donnelly Montana State University Spring 2014 Patrick Donnelly (Montana State University) Concepts of Programming Languages Spring 2014
More information1) What is the first step of the system development life cycle (SDLC)? A) Design B) Analysis C) Problem and Opportunity Identification D) Development
Technology In Action, Complete, 14e (Evans et al.) Chapter 10 Behind the Scenes: Software Programming 1) What is the first step of the system development life cycle (SDLC)? A) Design B) Analysis C) Problem
More informationAssigns a number to 110,000 letters/glyphs U+0041 is an A U+0062 is an a. U+00A9 is a copyright symbol U+0F03 is an
Unicode Unicode Assigns a number to 110,000 letters/glyphs U+0041 is an A U+0062 is an a UTF U+00A9 is a copyright symbol U+0F03 is an Universal Character Set Transformation Format describes how zeroes
More informationPython Class-Lesson1 Instructor: Yao
Python Class-Lesson1 Instructor: Yao What is Python? Python is an interpreted, object-oriented, high-level programming language with dynamic semantics. Its high-level built in data structures, combined
More informationPyROOT: Seamless Melting of C++ and Python. Pere MATO, Danilo PIPARO on behalf of the ROOT Team
PyROOT: Seamless Melting of C++ and Python Pere MATO, Danilo PIPARO on behalf of the ROOT Team ROOT At the root of the experiments, project started in 1995 Open Source project (LGPL2) mainly written in
More informationSoftware. Programming Languages. Types of Software. Types of Languages. Types of Programming. Software does something
Software Software does something LBSC 690: Week 10 Programming, JavaScript Jimmy Lin College of Information Studies University of Maryland Monday, April 9, 2007 Tells the machine how to operate on some
More informationCS2900 Introductory Programming with Python and C++ Kevin Squire LtCol Joel Young Fall 2007
CS2900 Introductory Programming with Python and C++ Kevin Squire LtCol Joel Young Fall 2007 Course Web Site http://www.nps.navy.mil/cs/facultypages/squire/cs2900 All course related materials will be posted
More informationCS 112 Introduction to Computing II. Wayne Snyder Computer Science Department Boston University
CS 112 Introduction to Computing II Wayne Snyder Department Boston University Today: Java expressions and operators concluded Java Statements: Conditionals: if/then, if/then/else Loops: while, for Next
More informationtutorial : modeling synaptic plasticity
tutorial : modeling synaptic plasticity Computational Neuroscience by the Mediterranean Winter School, Jan 20th, 2016 Michael Graupner Université Paris Descartes CNRS UMR 8118, Paris, France michael.graupner@parisdescartes.fr
More informationProgramming Languages 2nd edition Tucker and Noonan"
Programming Languages 2nd edition Tucker and Noonan" " Chapter 1" Overview" " A good programming language is a conceptual universe for thinking about programming. " " " " " " " " " " " " "A. Perlis" "
More informationAALib::Framework concepts
AALib::Framework concepts Asynchronous Action Library AALib PyAALib JyAALib Tutorial and Techniques by R. A. Pieritz Asynchronous Asynchrony, in the general meaning, is the state of not being synchronized.
More informationCourse Outline. Introduction to java
Course Outline 1. Introduction to OO programming 2. Language Basics Syntax and Semantics 3. Algorithms, stepwise refinements. 4. Quiz/Assignment ( 5. Repetitions (for loops) 6. Writing simple classes 7.
More informationThe Frame API s baseline requirements
LASER INTERFEROMETER GRAVITATIONAL WAVE OBSERVATORY - LIGO - CALIFORNIA INSTITUTE OF TECHNOLOGY MASSACHUSETTS INSTITUTE OF TECHNOLOGY Document Type LIGO-T980117-00- E 12/4/1998 The Frame API s baseline
More informationChapter 1. Preliminaries
Chapter 1 Preliminaries Chapter 1 Topics Reasons for Studying Concepts of Programming Languages Programming Domains Language Evaluation Criteria Influences on Language Design Language Categories Language
More informationJava: framework overview and in-the-small features
Chair of Software Engineering Carlo A. Furia, Marco Piccioni, Bertrand Meyer Java: framework overview and in-the-small features Chair of Software Engineering Carlo A. Furia, Marco Piccioni, Bertrand Meyer
More informationGetting Started. 1 by Conner Irwin
If you are a fan of the.net family of languages C#, Visual Basic, and so forth and you own a copy of AGK, then you ve got a new toy to play with. The AGK Wrapper for.net is an open source project that
More informationOverview. Rationale Division of labour between script and C++ Choice of language(s) Interfacing to C++
Scripting 1 Overview Rationale Division of labour between script and C++ Choice of language(s) Interfacing to C++ Rationale C++ isn't the best choice for all problems Complicated feature set, syntax Low-level,
More informationThe Basil Project. (or What I took away from GRAD school ) Jonathan Riehl University of Chicago
The Basil Project (or What I took away from GRAD school ) Jonathan Riehl University of Chicago Outline Project History Project Goals Project Design Work, work, work... Project History GRAD - Grammar Based
More informationMore Programming Languages. Spring 2014 Carola Wenk
More Programming Languages Spring 2014 Carola Wenk Web Scripting We ve seen how (relatively) easy it is to create a new language. This suggests that languages can actually be application-specific. Let
More informationGNU Radio Technical Update
GNU Radio Technical Update Johnathan Corgan GRCON17 GRCON17 GNU GNU Radio Radio Technical Technical Update Update September September 2017 2017 Topics Release 3.8 Features and capabilities Milestones and
More informationSemantic Analysis. Lecture 9. February 7, 2018
Semantic Analysis Lecture 9 February 7, 2018 Midterm 1 Compiler Stages 12 / 14 COOL Programming 10 / 12 Regular Languages 26 / 30 Context-free Languages 17 / 21 Parsing 20 / 23 Extra Credit 4 / 6 Average
More informationOutline. S: past, present and future Some thoughts. The 80s. Interfaces - 60s & 70s. Duncan Temple Lang Department of Statistics UC Davis
S: past, present and future Some thoughts Duncan Temple Lang Department of Statistics UC Davis Outline Good idea that was either taken up or missed. Interfaces Thoughts on how S evolved and what implications
More informationPython VSIP API: A first draft
Python VSIP API: A first draft Stefan Seefeld HPEC WG meeting, December 9, 2014 Goals Use cases: Promote VSIP standard to a wider audience (SciPy users) Add more hardware acceleration to SciPy Allow VSIP
More informationOverview. Rationale Division of labour between script and C++ Choice of language(s) Interfacing to C++ Performance, memory
SCRIPTING Overview Rationale Division of labour between script and C++ Choice of language(s) Interfacing to C++ Reflection Bindings Serialization Performance, memory Rationale C++ isn't the best choice
More informationGrading for Assignment #1
Grading for Assignment #1-4 -35 Out of 100 points points off for not following directions Name in wrong place Wrong dimensions in image or html no name, weird links Linking to whatever page had a picture
More informationScientific Computing
Scientific Computing Martin Lotz School of Mathematics The University of Manchester Lecture 1, September 22, 2014 Outline Course Overview Programming Basics The C++ Programming Language Outline Course
More informationC and C++ I. Spring 2014 Carola Wenk
C and C++ I Spring 2014 Carola Wenk Different Languages Python sum = 0 i = 1 while (i
More informationIntroduction to MATLAB application deployment
Introduction to application deployment Antti Löytynoja, Application Engineer 2015 The MathWorks, Inc. 1 Technical Computing with Products Access Explore & Create Share Options: Files Data Software Data
More informationctypes extending python was never easier! Anant Narayanan Malaviya National Institute of Technology
C! ctypes extending python was never easier! Anant Narayanan Malaviya National Institute of Technology So what is python? Dynamically typed, interpreted language Allows for fast prototyping, thanks to
More informationA NET Refresher
.NET Refresher.NET is the latest version of the component-based architecture that Microsoft has been developing for a number of years to support its applications and operating systems. As the name suggests,.net
More informationC++ Support Classes (Data and Variables)
C++ Support Classes (Data and Variables) School of Mathematics 2018 Today s lecture Topics: Computers and Programs; Syntax and Structure of a Program; Data and Variables; Aims: Understand the idea of programming
More informationIntroduction to Python Part 2
Introduction to Python Part 2 v0.2 Brian Gregor Research Computing Services Information Services & Technology Tutorial Outline Part 2 Functions Tuples and dictionaries Modules numpy and matplotlib modules
More informationTips for Code Re-Use. Rejwan Ali, Marketing Engineer NI Africa and Oceania
ni.com 1 ni.com Tips for Code Re-Use Rejwan Ali, Marketing Engineer NI Africa and Oceania Graphical System Design A platform-based approach for measurement and control 4 Calling Compiled Code From LabVIEW
More informationScientific Computing using Python
Scientific Computing using Python Swaprava Nath Dept. of CSE IIT Kanpur mini-course webpage: https://swaprava.wordpress.com/a-short-course-on-python/ Disclaimer: the contents of this lecture series are
More informationScientific Computing with Python and CUDA
Scientific Computing with Python and CUDA Stefan Reiterer High Performance Computing Seminar, January 17 2011 Stefan Reiterer () Scientific Computing with Python and CUDA HPC Seminar 1 / 55 Inhalt 1 A
More informationThe Python Scripting Language. Slides (mostly) by: Bob Dowling Presented by: Bruce Beckles University of Cambridge Computing Service
The Python Scripting Language Slides (mostly) by: Bob Dowling Presented by: Bruce Beckles University of Cambridge Computing Service 1 Why Python? e-science interviews basic programming skills easy access
More informationPrinciples of Programming Languages. Lecture Outline
Principles of Programming Languages CS 492 Lecture 1 Based on Notes by William Albritton 1 Lecture Outline Reasons for studying concepts of programming languages Programming domains Language evaluation
More informationTable of Contents. Dive Into Python...1
...1 Chapter 1. Installing Python...2 1.1. Which Python is right for you?...2 1.2. Python on Windows...2 1.3. Python on Mac OS X...3 1.4. Python on Mac OS 9...5 1.5. Python on RedHat Linux...5 1.6. Python
More informationChapter 11 Program Development and Programming Languages
Chapter 11 Program Development and Programming Languages permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. Programming
More informationPHP 1. Introduction Temasek Polytechnic
PHP 1 Introduction Temasek Polytechnic Background Open Source Apache License Free to redistribute with/without source code http://www.apache.org/license.txt Backed by Zend Corporation http://www.zend.com
More informationPython Programming, bridging course 2011
Python Programming, bridging course 2011 About the course Few lectures Focus on programming practice Slides on the homepage No course book. Using online resources instead. Online Python resources http://www.python.org/
More informationIntroduction to Python. Prof. Steven Ludtke
Introduction to Python Prof. Steven Ludtke sludtke@bcm.edu 1 8512 documented lanuages (vs. 2376) Four of the first modern languages (50s): FORTRAN (FORmula ( TRANslator LISP (LISt ( Processor ALGOL COBOL
More informationGetting along and working together. Fortran-Python Interoperability Jacob Wilkins
Getting along and working together Fortran-Python Interoperability Jacob Wilkins Fortran AND Python working together? Fortran-Python May 2017 2/19 Two very different philosophies Two very different code-styles
More informationProgramming in Visual Basic with Microsoft Visual Studio 2010
Programming in Visual Basic with Microsoft Visual Studio 2010 Course 10550; 5 Days, Instructor-led Course Description This course teaches you Visual Basic language syntax, program structure, and implementation
More informationSome Patterns of Component and Language Integration
Some Patterns of Component and Language Integration Uwe Zdun New Media Lab, Department of Information Systems Vienna University of Economics and BA, Austria zdun@acm.org Integration is an important concern
More informationManju Muralidharan Priya. CS4PM Web Aesthetics and Development WEEK 11
CS4PM Web Aesthetics and Development WEEK 11 Objective: Understand basics of JScript Outline: a. Basics of JScript Reading: Refer to w3schools websites and use the TRY IT YOURSELF editor and play with
More informationComplete Python call :
Module 1 (Baics Python Rs.4000 ) 30 hours CHAPTER Instant Hacking: The Basics Installing Python Windows Linux and UNIX Macintosh Other Distributions Keeping In Touch and Up to Date The Interactive Interpreter
More informationJython. An introduction by Thinh Le
Jython An introduction by Thinh Le precursor_python! Google App Engine! Dropbox! PyGTK (Gnome)! Vim (embedded)! BitTorrent/Morpheus! Civilization/Battlefield Jython! Interpretation of Python (1997)! Jim
More informationWhat is a programming language?
Overview Introduction Motivation Why study programming languages? Some key concepts What is a programming language? What is a programming language?...there is no agreement on what a programming language
More informationPTN-202: Advanced Python Programming Course Description. Course Outline
PTN-202: Advanced Python Programming Course Description This 4-day course picks up where Python I leaves off, covering some topics in more detail, and adding many new ones, with a focus on enterprise development.
More informationC++ & Object Oriented Programming Concepts The procedural programming is the standard approach used in many traditional computer languages such as BASIC, C, FORTRAN and PASCAL. The procedural programming
More informationPROGRAMMING IN VISUAL BASIC WITH MICROSOFT VISUAL STUDIO Course: 10550A; Duration: 5 Days; Instructor-led
CENTER OF KNOWLEDGE, PATH TO SUCCESS Website: PROGRAMMING IN VISUAL BASIC WITH MICROSOFT VISUAL STUDIO 2010 Course: 10550A; Duration: 5 Days; Instructor-led WHAT YOU WILL LEARN This course teaches you
More informationJavaScript: Sort of a Big Deal,
: Sort of a Big Deal, But Sort of Quirky... March 20, 2017 Lisp in C s Clothing (Crockford, 2001) Dynamically Typed: no static type annotations or type checks. C-Like Syntax: curly-braces, for, semicolons,
More informationCython: A Guide For Python Programmers By Kurt W. Smith
Cython: A Guide For Python Programmers By Kurt W. Smith Cython A Guide for Python Programmers. ebook Details: Paperback: 254 pages; Publisher: WOW! ebook; 1st edition (January 31, 2015) Book cover of High
More informationJSON Support for Junos OS
JSON Support for Junos OS 1 Introduction: Java Script Object Notation alias JSON a light weight data exchange format is being extensively used for data exchange between web application and servers. With
More informationScripted Components: Problem. Scripted Components. Problems with Components. Single-Language Assumption. Dr. James A. Bednar
Scripted Components: Problem Scripted Components Dr. James A. Bednar jbednar@inf.ed.ac.uk http://homepages.inf.ed.ac.uk/jbednar (Cf. Reuse-Oriented Development; Sommerville 2004 Chapter 4, 18) A longstanding
More informationScripted Components Dr. James A. Bednar
Scripted Components Dr. James A. Bednar jbednar@inf.ed.ac.uk http://homepages.inf.ed.ac.uk/jbednar SAPM Spring 2012: Scripted Components 1 Scripted Components: Problem (Cf. Reuse-Oriented Development;
More informationAdvanced and Parallel Python
Advanced and Parallel Python December 1st, 2016 http://tinyurl.com/cq-advanced-python-20161201 By: Bart Oldeman and Pier-Luc St-Onge 1 Financial Partners 2 Setup for the workshop 1. Get a user ID and password
More informationScientific Python. 1 of 10 23/11/ :00
Scientific Python Neelofer Banglawala Kevin Stratford nbanglaw@epcc.ed.ac.uk kevin@epcc.ed.ac.uk Original course authors: Andy Turner Arno Proeme 1 of 10 23/11/2015 00:00 www.archer.ac.uk support@archer.ac.uk
More informationJava J Course Outline
JAVA EE - J2SE - CORE JAVA After all having a lot number of programming languages. Why JAVA; yet another language!!! AND NOW WHY ONLY JAVA??? CHAPTER 1: INTRODUCTION What is Java? History Versioning The
More informationProgramming Languages and Program Development Life Cycle Fall Introduction to Information and Communication Technologies CSD 102
Programming Languages and Program Development Life Cycle Fall 2016 Introduction to Information and Communication Technologies CSD 102 Outline The most common approaches to program design and development
More information! Broaden your language horizons! Different programming languages! Different language features and tradeoffs. ! Study how languages are implemented
Course Goal CMSC 330: Organization of Programming Languages Introduction Learn how programming languages work Broaden your language horizons! Different programming languages! Different language features
More informationSTUDY NOTES UNIT 1 - INTRODUCTION TO OBJECT ORIENTED PROGRAMMING
OBJECT ORIENTED PROGRAMMING STUDY NOTES UNIT 1 - INTRODUCTION TO OBJECT ORIENTED PROGRAMMING 1. Object Oriented Programming Paradigms 2. Comparison of Programming Paradigms 3. Basic Object Oriented Programming
More informationOther useful tools. Eugeniy E. Mikhailov. Lecture 11. The College of William & Mary. Eugeniy Mikhailov (W&M) Practical Computing Lecture 11 1 / 9
Other useful tools Eugeniy E. Mikhailov The College of William & Mary Lecture 11 Eugeniy Mikhailov (W&M) Practical Computing Lecture 11 1 / 9 Specialization is... A human being should be able to change
More informationEL2310 Scientific Programming
Lecture 6: Introduction to C (pronobis@kth.se) Overview Overview Lecture 6: Introduction to C Roots of C Getting started with C Closer look at Hello World Programming Environment Schedule Last time (and
More informationCS201 Latest Solved MCQs
Quiz Start Time: 09:34 PM Time Left 82 sec(s) Question # 1 of 10 ( Start time: 09:34:54 PM ) Total Marks: 1 While developing a program; should we think about the user interface? //handouts main reusability
More informationJava Object Oriented Design. CSC207 Fall 2014
Java Object Oriented Design CSC207 Fall 2014 Design Problem Design an application where the user can draw different shapes Lines Circles Rectangles Just high level design, don t write any detailed code
More informationData Access and Analysis with Distributed, Federated Data Servers in climateprediction.net
Data Access and Analysis with Distributed, Federated Data Servers in climateprediction.net Neil Massey 1 neil.massey@comlab.ox.ac.uk Tolu Aina 2, Myles Allen 2, Carl Christensen 1, David Frame 2, Daniel
More informationIntroduction to Programming Using Java (98-388)
Introduction to Programming Using Java (98-388) Understand Java fundamentals Describe the use of main in a Java application Signature of main, why it is static; how to consume an instance of your own class;
More informationTcl/Tk lecture. What is the Wish Interpreter? CIS 410/510 User Interface Programming
Tcl/Tk lecture CIS 410/510 User Interface Programming Tool Command Language TCL Scripting language for developing & using GUIs Allows generic programming variables, loops, procedures Embeddable into an
More informationThe MPI API s baseline requirements
LASER INTERFEROMETER GRAVITATIONAL WAVE OBSERVATORY - LIGO - CALIFORNIA INSTITUTE OF TECHNOLOGY MASSACHUSETTS INSTITUTE OF TECHNOLOGY Document Type LIGO-T990086-01- E 01/26/2000 The MPI API s baseline
More informationIntroduction to JavaScript Applied to Design and Engineering
Introduction to JavaScript Applied to Design and Engineering an informal talk at University College London (UCL) April 21 st 2016, London - UK Assoc. Prof. Henrique M. Gaspar, PhD Faculty of Maritime Technology
More informationCS 261 Fall C Introduction. Variables, Memory Model, Pointers, and Debugging. Mike Lam, Professor
CS 261 Fall 2017 Mike Lam, Professor C Introduction Variables, Memory Model, Pointers, and Debugging The C Language Systems language originally developed for Unix Imperative, compiled language with static
More informationQt for Device Creation
Qt for Device Creation Speeding up ROI & Time-to-Market with Qt Andy Nichols Software Engineer, Qt R&D, Oslo Overview Problems facing Device Creators How Qt for Device Creation addresses those Problems
More informationScientific Software Development with Eclipse
Scientific Software Development with Eclipse A Best Practices for HPC Developers Webinar Gregory R. Watson ORNL is managed by UT-Battelle for the US Department of Energy Contents Downloading and Installing
More informationAn overview of Java, Data types and variables
An overview of Java, Data types and variables Lecture 2 from (UNIT IV) Prepared by Mrs. K.M. Sanghavi 1 2 Hello World // HelloWorld.java: Hello World program import java.lang.*; class HelloWorld { public
More informationProgramming: C ++ Programming : Programming Language For Beginners: LEARN IN A DAY! (Swift, Apps, Javascript, PHP, Python, Sql, HTML) By Os Swift
Programming: C ++ Programming : Programming Language For Beginners: LEARN IN A DAY! (Swift, Apps, Javascript, PHP, Python, Sql, HTML) By Os Swift If searching for the book Programming: C ++ Programming
More informationEL2310 Scientific Programming
(yaseminb@kth.se) Overview Overview Roots of C Getting started with C Closer look at Hello World Programming Environment Discussion Basic Datatypes and printf Schedule Introduction to C - main part of
More information