There are thousands of programming languages, but even if your organization works in one of the more popular languages, it's likely you will eventually interact with others who are unfamiliar with it. Since you can't be proficient in every programming language under the sun, a language that bridges technologies and allows people to communicate their ideas is needed.
A few programming languages have tried to fill this role over the years, but none holds as much promise as Python.
A talk about Type hints in python 3 and the type checker mypy.
It talks about typing module, gradual typing, type checkers and how mypy can be used for type checking.
Overview of Structural Subtyping, brief explanation of Python Protocols and example.
This course is a complete package that helped me to learn Python Programming from basic to an intermediate level. The course curriculum has been divided into 4 weeks where we can practice questions & attempt the assessment tests according to your own pace. The course offers us a wealth of programming challenges that will help you to prepare for interviews with top-notch companies like Microsoft, Amazon, Adobe etc
Semi-motivational talk about why today is a great time to learn Python. Slides include a brief overview of the current state of the language, its application areas, and Python's future.
A talk about Type hints in python 3 and the type checker mypy.
It talks about typing module, gradual typing, type checkers and how mypy can be used for type checking.
Overview of Structural Subtyping, brief explanation of Python Protocols and example.
This course is a complete package that helped me to learn Python Programming from basic to an intermediate level. The course curriculum has been divided into 4 weeks where we can practice questions & attempt the assessment tests according to your own pace. The course offers us a wealth of programming challenges that will help you to prepare for interviews with top-notch companies like Microsoft, Amazon, Adobe etc
Semi-motivational talk about why today is a great time to learn Python. Slides include a brief overview of the current state of the language, its application areas, and Python's future.
What is Python? An overview of Python for science.Nicholas Pringle
A brief introduction on the use of Python for scientists. Python is fast becoming a popular programming language for scientists. It is free, open source and constantly improving. Being an easy language to learn, it has a large a community of users. Its many favourable qualities make it the perfect language for scientific collaboration.
These are the slides I was using when delivering the Python Crash Course (https://www.meetup.com/life-michael/events/247984087/). The crash course was delivered in Hebrew. More info about the Python Programming course I deliver can be found at python.course.lifemichael.com.
Python Programming Course Lecture by IoT Code Lab Training.
Discussed Topic:
Chapter 0: Python Overview
0. Python Introduction
1. What is Python?
2. Story of Python
3. Why Python
4. Use of Python
5. Python Download + Installation
6. How to Use? + Online Course Resource
1. Variable, Data Type, Expression
1. Create First Python Program File
2. First Program - Hello World
3. Comment
4. Variable + Data Type + Example
5. Variable Naming Convention
6. Practice 0.1
2. Input/ Output
1. Input/ Output (String)
1. A String Input & Output
2. Display A Message in Print & Input function
3. Check Data Type
4. Practice 0.2
2. Input/ Output (Number)
1. An Integer Number Input & Output + Check Data Type
2. Type Conversion
3. A Float Number Input & Output + Check Data Type
4. Built-in Function with Example
5. Practice 0.3
3. Formatted Input Output
What is Python? An overview of Python for science.Nicholas Pringle
A brief introduction on the use of Python for scientists. Python is fast becoming a popular programming language for scientists. It is free, open source and constantly improving. Being an easy language to learn, it has a large a community of users. Its many favourable qualities make it the perfect language for scientific collaboration.
These are the slides I was using when delivering the Python Crash Course (https://www.meetup.com/life-michael/events/247984087/). The crash course was delivered in Hebrew. More info about the Python Programming course I deliver can be found at python.course.lifemichael.com.
Python Programming Course Lecture by IoT Code Lab Training.
Discussed Topic:
Chapter 0: Python Overview
0. Python Introduction
1. What is Python?
2. Story of Python
3. Why Python
4. Use of Python
5. Python Download + Installation
6. How to Use? + Online Course Resource
1. Variable, Data Type, Expression
1. Create First Python Program File
2. First Program - Hello World
3. Comment
4. Variable + Data Type + Example
5. Variable Naming Convention
6. Practice 0.1
2. Input/ Output
1. Input/ Output (String)
1. A String Input & Output
2. Display A Message in Print & Input function
3. Check Data Type
4. Practice 0.2
2. Input/ Output (Number)
1. An Integer Number Input & Output + Check Data Type
2. Type Conversion
3. A Float Number Input & Output + Check Data Type
4. Built-in Function with Example
5. Practice 0.3
3. Formatted Input Output
There is 60% of population living on or below the line of poverty. 20% of kids don't finish even the basic education. • 140,000 people currently live in substandard housing conditions
Discover why Python is better for Data Science: the whole workflow of Data Analysis is covered by Python. Tools for various tasks are shown, including: workflow, data analysis, data visualization, integration with Hadoop ecosystem, and communication.
Webinar by Kiriakos Vlahos (aka PyScripter)
and Jim McKeeth (Embarcadero)
Replay https://youtu.be/aCz5h96ObUM
Find out more, and register for part 2
https://embt.co/3hSAKrg
Check out the library
https://github.com/pyscripter/python4delphi
Agenda
Motivation and Synergies
Introduction to Python
Introduction to Python for Delphi
Simple Demo
TPythonModule
TPyDelphiWrapper
SAMCSCMLA SCACLSALS CS L LSLSL SAMCSCMLA SCACLSALS CS L LSLSL SAMCSCMLA SCACLSALS CS L LSLSL SAMCSCMLA SCACLSALS CS L LSLSL SAMCSCMLA SCACLSALS CS L LSLSL SAMCSCMLA SCACLSALS CS L LSLSL SAMCSCMLA SCACLSALS CS L LSLSL SAMCSCMLA SCACLSALS CS L LSLSL SAMCSCMLA SCACLSALS CS L LSLSL SAMCSCMLA SCACLSALS CS L LSLSL
introduction to Python by Mohamed Hegazy , in this slides you will find some code samples , these slides first presented in TensorFlow Dev Summit 2017 Extended by GDG Helwan
This presentation explores the benefits of functional programming, especially with respect to reliability. It presents a sample of types that allow many program invariants to be enforced by compilers. We also discuss the industrial adoption of functional programming, and conclude with a live coding demo in Scala.
Many companies implementing Machine Learning (ML) have learned that noise and other errors in the data set can cause stability issues resulting in time loss and headache.
Robust algorithms are under-appreciated, particularly by people new to data analysis. This talk will review the basic idea of robust or non-parametric algorithms and look at some of the more important named algorithms, as well as looking at how to apply the philosophy of robustness to any problem.
Talk originally given on July 7, 2017 at the PyData Seattle conference by Tom Radcliffe, Ph.D., P.Eng., VP Engineering, ActiveState
ActiveState - The Open Source Languages CompanyActiveState
According to BlackDuck’s recent survey*, over three-quarters of all enterprises run on some form of open source software. Many use open source within their mission-critical IT portfolios, whether they know it or not - and open source languages are a major component of this open source usage.
However, unsupported open source is often insufficient for SMB-to-large corporations in today’s multi-faceted and complicated technology landscape. Many enterprises remain wary of open source, citing multi-platform support, indemnification, legacy versions, and commercial support as critical to their software success. ActiveState will be building for support both community users and enterprises with the introduction of ActiveRuby, ActiveNode, ActiveGo, and ActiveLua. These new languages are in addition to ActiveState’s popular ActivePerl, ActivePython, and ActiveTcl.
Join ActiveState CEO Bart Copeland and Director of Engineering Tom Radcliffe on November 17th as they discuss these enterprise needs and how ActiveState’s newest open source enterprise language distributions for Ruby, Node.js, Go, and Lua will help enterprises remain agile, innovative, and secure.
*http://www.slideshare.net/blackducksoftware/2015-future-of-open-source-survey-results
We had a tremendous response to our first open source survey and on behalf of ActiveState I’d like to thank the 867 people who gave their time and thoughts. Our infographic has some great highlights from the survey,
Read more about the survey results here: http://www.activestate.com/blog/2016/09/activestate-2016-open-source-survey
This summer, we sent out a survey to all our ActiveTcl downloaders and customers. We wanted to gain some insights into how and why people use ActiveTcl. As a result, we’ve created a handy little infographic summarizing the survey results.
Presentation from Lua Workshop 2016. LPeg is a fantastic text processing tool. It has a number of useful applications, including the parsing of source code for syntax highlighting, defining grammars for templating engines, and much more. Come learn how to leverage LPeg in practical ways in order to solve real-world problems.
Komodo 10.1 is out and it’s better than ever! Building on the recent launch in May of Komodo 10, which included integrations with Cordova and Phonegap and remote Chrome debugging, Komodo 10.1 has even more tools and services to help developers get more done. Join Komodo Lead Developer Nathan Rijksen and Komodo Developer Carey Hoffman as they talk what’s new in 10.1 and why it remains the best IDE for web and mobile developers. Some of the topics they’ll cover include:
- NEW tutorial tool (Demo of pre-built tutorials and how to build your own!)
- NEW keybindings
- Improved publishing
- General overview of Komodo X
- Live Q&A with the devs!
Millions of developers around the world use Tcl for rapid prototyping, scripted applications, GUIs, and testing. It’s everywhere around us - from routers, to network management tools to semiconductors. Yet Tcl remains one of the most unheralded and quietest languages in programming. But our intelligence tells us this is changing. Not only has Tcl jumped nearly 20 spots in the Tiobe rankings this month but it continues to be used in mission critical applications powering the world around us.
Join ActiveState Director of Engineering Tom Radcliffe and guest speaker Clif Flynt, author of “Tcl/Tk For Real Programmers”, as they discuss Tcl’s relevance in the modern world. Some of the topics they’ll talk about include:
- Tcl’s origin story
- Where is Tcl being used today, from AndroWish to EDA
- Use cases for Tcl
- What the future holds for Tcl, including the latest features like TclOO
Earlier this year we sent out an on-line survey to our ActivePerl downloaders. A little over 350 users responded and shared insights into how long they've been using Perl as well as how they are using it. While some results were expected (such as over half of those respondents being in a developer role), one of the more unexpected results that caught our eye was how long people had been using Perl.
http://bit.ly/1t4cMki
Improving Customer Experience Using ActivePerl and ActivePythonActiveState
Perl and Python can be found in any number of places - on websites, in downloadable apps, in systems back-ends, on the cloud, and within enterprise software solutions. Parallels, a leader in virtualization and automation software, supports dynamic languages ActivePerl and ActivePython in its Plesk product to create a more seamless experience for their customers. Quality components and seamless installations make Parallels Plesk Panel, a server automation solution, a great choice for small business customers and hosting providers who require simplicity and reliability, and ActiveState helps to provide a solid solution within Plesk.
Join Blake Tyra, Plesk Panel Product Manager at Parallels, and Jeff Hobbs, Director of Engineering at ActiveState, the dynamic languages experts to learn how to:
* Get to market faster and add easily add functionality with ActivePerl and ActivePython in your software products
* Increase customer experience and satisfaction with language distribution integration
* Reduce QA cycles with ensured quality components
* Eliminate legal risks when distributing Perl and Python in commercial products
ActiveTcl 8.5 has become the standard on which people build their Tcl applications, but Tcl 8.6 is just around the corner. Currently in beta, Tcl 8.6 is expected to have a final release in 2011. What new tricks will 8.6 pull out of the hat? Should you start using Tcl 8.6 soon? Join us on January 26, 2011 and find out.
Our resident Tcl expert Jeff Hobbs, Director of Engineering at ActiveState and long-time Tcl community leader and member of the Tcl Core Team, provides an overview of the major features in Tcl 8.6, including Tk. Starting with a new core OO system, going through improvements to string and list handling, and caps it off with lots of extras, this webinar covers the major changes in Tcl 8.6 and how to take advantage of them.
ActiveState, CA, Taking quality products to market faster with enterprise rea...ActiveState
Open source programming languages such as Perl and Python have the highest instance of open source use in an organization at 57% according to a recent Forrester Research survey conducted with Dr. Dobb's readers. As dynamic languages presence and importance increases, organizations will rely more on enterprise-ready dynamic languages to create higher quality products, to take products to market quicker and to conserve development time and costs for core competencies.
Keeping up with Perl: Development, Upgrade and Deployment Options for Perl 5.12ActiveState
With the growth in dynamic languages, Perl still rules the roost as “the duct tape of the Internet.” Now that Perl 5.12 and Perl Dev Kit 9 are available, are you ready to make the move? In this webinar for Perl developers and system administrators, join Jan Dubois, senior Perl developer at ActiveState, and Troy Topnik, technical writer at ActiveState to learn:
* What’s new in Perl 5.12
* What to do with legacy code
* Assess if you need to upgrade
* How to deploy quickly and efficiently
* How to use CPAN and Perl Package Manger (PPM) for managing 3rd party modules
* Deployment choices including web, system, desktop and utility applications
Python & Finance: US Government Mandates, Financial Modeling, and Other Snake...ActiveState
Recently, the US SEC published a proposal for how to address the current lack of transparency of asset-backed securities through changing disclosure requirements to include the provision of a Python computer program. The goal is to capture all the complicated terms of the deal in code that can be used to analyze the cash flows in each deal and how the returns will get split up between different parties. Currently, investors, fund managers, and investment managers receive a complex, textual description of this information in the prospectus, which makes it difficult for them to perform or visualize a rigorous quantitative or if-then analysis of the asset-backed securities.
This all begs the question “Why Python?” One of the answers is that it’s open source and while there are a number of proprietary financial modeling solutions and more than a few trade description languages in use on Wall Street – there is little use asking for openness and transparency from issuers if the interpreter for that code is proprietary in nature. That said, Python has other aspects that make it a good choice for these purposes and has been widely used on Wall Street and in the finance community for financial modeling and number crunching.
At the very least, it’s not enough to have open data, one has to have open tools to fulfill the transparency requirements to establish meaningful use of financial information. Buyers, Sellers and Regulators alike need an open technology means to accurately and efficiently interpret financial information.
This presentation will discuss some of the aspects of Python that make it a good fit for the SEC’s proposal and some of the challenges and the implications of using Python for financial analysis. This presentation will also discuss some opportunities for collaboration between regulators and the open source related to the development of an ecosystem of open source projects that can exploit the availability of this proposed new rich source of financial information.
Best Practices in Porting & Developing Enterprise Applications to the Cloud u...ActiveState
With businesses demanding fast development of applications, IT groups need to answer with rapid development and deployment that drives businesses forward. So with lower upfront costs, ease of deployment and advantages in scalability, cloud computing is enabling IT groups to meet these demands.
But while considering cloud services, IT directors must consider factors such as application portability, security, avoiding vendor-lock in, risk management and regulatory compliance. Whether you're migrating to a public, private, or hybrid cloud, this webinar will help IT groups understand best practices in porting and developing enterprise applications to the cloud.
Join Stephen O’Grady, Principal Analyst with RedMonk and Jeff Hobbs, Director of Engineering at ActiveState, to learn how to:
* Use a standards-based approach to minimize costs and reduce risks
* Leverage dynamic languages such as Python for rapid development
* Create portable and consistent web applications to the cloud
* Understand enterprise solutions to create standards and ensure indemnification
* Create a business case and plan for standards with a dynamic languages approach
Safeguarding Against the Risks of Improper Open Source Licensing - Valuable...ActiveState
Greg Olson, Senior Partner at open source consulting firm Olliance Group and Bart Copeland, President and CEO of ActiveState, the dynamic languages company present an informative webinar to:
* Investigate legal, operational and market risks associated with open source
* Address common pitfalls with open source licensing
* Identify proven tips for creating an open source governance program
* Explore commercial open source options to mitigate open source legal and operational risks
* Share effective steps to protect your organization against costly infringements
Take Quality Products to Market Faster with Enterprise-Ready Dynamic LanguagesActiveState
Lawrence Backman, VP, Quality Assurance at Computer Associates, one of the largest independent software companies in the world, and Jeff Hobbs, Director of Engineering at ActiveState, the dynamic languages experts to learn:
* The value of enterprise-class dynamic languages for developing quality applications faster
* How Computer Associates uses enterprise-ready ActivePerl to save development time and dollars
* Open source licensing considerations and solutions to mitigate risk and ensure compliance
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
2. What we'll talk about
• What is a lingua franca?
• Why the industry needs one
• Acmeism – the Ingy approach
• Past and current examples: BASIC, C,
and Java
• Why Python is better
• TPSL: Teaching Python as a Second (or
third or fourth) Language
• Getting past the barriers
3. What is a lingua franca?
“a language systematically used to make communication possible
between people not sharing a mother tongue, in particular when it
is a third language, distinct from both mother tongues.”
-- Wikipedia
• The original “Lingua Franca” was an amalgam of languages
– Made up of Italian, Arabic, French, Greek, Portuguese, Spanish and
Turkish.
– Used in the Mediterranean during the Rennaissance
• English functions as the de facto modern lingua franca
– For international business, aviation, science and technology
– Integrates words from other languages
• English doesn't fit the strict definition
– It is often the mother tongue of at least one party...
– but this example is closer to what we'll talk about
4. Why do we need one for
programming?
• So many languages
– more than 2500 in all (“The Language List” Bill Kinnersley)
– if you just include popular ones, you still can't learn them
all
• Programmers need a vehicle to express concepts to
one another
• Programs need a vehicle to interact with one another
– open data formats
– standard protocols
– an API everyone can use
5. What this audience reported:
Number of Languages in Organization
5%
14%
27%
1 language
2 languages
3 languages
4 or more languages
Unknown or no answer
18%
37%
6. Ingy döt Net
• Inventor of YAML
• Leader in the Perl Community
• 100+ CPAN modules
• Several PyPI Modules
• Old and New “Activator”
• Acmeist
• Currently travelling around Europe
7. Acmeism
• A different path to mutual comprehension
• Ideas (modules) need to be shared across all
language boundaries
• Build technology that is programming language
independent
– YAML – data serialization for many programming
languages
– C'Dent - Acmeist Module Language
– Pegex - Acmeist Parser for creating new
languages
– TestML - Acmeist Unit test language (like FIT)
8. Other programming lingua francas
• BASIC
– Used to be everywhere, code samples in math and science
textbooks
– Many first generation micro-computer hackers started with this
language
• C
– Widely used and part of most comp-sci programs
– Most experienced programmers are familiar with it
– Lower-level language
• Java
– Extremely popular, cross-platform, also widely taught
– Very verbose
– Open source (GPL) only since 2007 (c.f. Apache Harmony)
9. ... used by this audience
Language Used to Describe Programming Ideas
15% 14%
14% C
Java
Python
Other
No answer
13%
43%
10. Why Python is better
• Free
• Easy to read
– Syntax (specifically indentation) enforces sane visual block
structure
– Concise, high-level interpreted language
• Easy to learn
– Excellent documentation and tutorials
– Numerous training resources
• Increasingly popular
– Adopted by important organizations: Google, NASA, Disney,
Sony, SEC
11. Comparisons
Which language is most readable and concise?
– Example code adapted from http://www.dmh2000.com/cjpr/
– Using object oriented C++ instead of C to be more fair
12. C++
#include <iostream>
#include <sstream>
#include <string>
#include <vector>
using namespace std;
template<class T> class RedBlackTree {
private:
static const int red = 0;
static const int black = 1;
int m_color;
T m_val;
RedBlackTree *m_left;
RedBlackTree *m_right;
RedBlackTree(RedBlackTree *b) {
m_val = b->m_val;
m_left = b->m_left;
m_right = b->m_right;
m_color = red;
}
public:
RedBlackTree(T x) {
m_val = x;
m_left = 0;
m_right = 0;
m_color = red;
}
const RedBlackTree *find(const T &key) const {
const RedBlackTree *result = 0;
if (key == m_val) {
result = this;
}
else if (key < m_val) {
if (m_left != 0) {
result = m_left->find(key);
}
}
else {
if (m_right != 0) {
result = m_right->find(key);
}
}
return result;
}
};
13. Java
import java.util.*;
public class RedBlackTree<T extends Comparable<T>> {
public static final int red = 0;
public static final int black = 1;
private int __color;
private T __val;
private RedBlackTree<T> __left;
private RedBlackTree<T> __right;
private RedBlackTree(RedBlackTree<T> b) {
__val = b.__val;
__left = b.__left;
__right = b.__right;
__color = red;
}
public RedBlackTree(T x) {
__val = x;
__left = null;
__right = null;
__color = red;
}
public RedBlackTree<T> find(T key) {
RedBlackTree<T> result = null;
if (key == __val) {
result = this;
}
else if (key.compareTo(__val) < 0) {
if (__left != null) {
result = __left.find(key);
}
}
else {
if (__right != null) {
result = __right.find(key);
}
}
return result;
}
}
14. Python
class RedBlackTree:
red, black = range(2)
def __init__(self, val=None):
self.left = None
self.right = None
self.val = val
self.color = RedBlackTree.red
def find(self, key):
result = None
if (key == self.val):
result = self
elif (key < self.val):
if (self.left != None):
result = self.left.find(key)
else:
if (self.right != None):
result = self.right.find(key)
return result
15. Integration with other languages
• Python libraries are commonly written in C or C++ when
performance is a consideration
• You can use other languages in Python, and Python in other
languages
– Inline, PyInline, Inline::Python etc.
• More projects integrating Python with other programming
languages:
– Bridges for C/C++, Java, C#/.NET, PHP, Perl, and more
... and databases
• Commercial / enterprise: Oracle, SQL Server, DB2, SAP DB,
Sybase
• Open source: MySQL, PostgreSQL, SQLite, redis, MongoDB
16. Alternative Python interpreters
Python is an open source language, implementations of
Python are not controlled by a single commercial entity, as
was case with Java and is the case with C#.
– Important for avoiding vendor lock-in
– PSF license is very permissive
This encourages innovation and allows for alternative
implementations:
– Jython: implemented in Java
– Stackless Python: CPython variant
– unladen-swallow: Google project for a faster Python
– Iron Python: for the .NET Framework
– PyPy: also focussing on speed and efficiency
17. Python as a Second Language
• What makes it easier to read also makes it easier to
learn
• Many programmers come to Python from other
languages
– lots of resources (Python wiki) for those switching
– “Learning Python” by Mark Lutz and David Ascher
– Ingy's anecdotal evidence
• Non-English tutorials and documentation
– http://wiki.python.org/moin/Languages
– there's even a Python tutorial in Esperanto!
18. How ActiveState can help
Resources for developer-led initiatives to introduce and
expand Python usage in your organization
•
Commercial support and indemnification
•
Quality assured, vendor-backed builds
•
Python training from the best in the field
•
Development advice
•
code.activestate.com
•
PyPM Index
•
Recipes
•
Komodo Edit and IDE
19. Python in the cloud
Cloud application platform for Python and many others languages
– not a Platform as a Service... it's for creating your own
– based on Cloud Foundry – we've added Python support and a lot more
– supports multiple languages: Python, Perl, Ruby, Node.js, Java...
– all the Python web frameworks: Django, Bottle, Flask, Pyramid
– ... via WSGI
– deploy new applications or migrate existing ones
– http://activestate.com/cloud