PLAN:
first half -- use Python!
second half -- SAGE is the math library to make Python better for you.
* sage days 5 -- invitiation to people
* sage days 6 -- bristol in nov
* open source means you can easily look at the source (not true for Magma; impossible if just a consultant)
* open source means you can easily look at the source (not true for Mathematica)
* notebook security -- inside version not secure, but hopefully soon; outside is.
* what can sage do for you?
* integrated graphs
* quality high level language
* very nice easy programming language: object oriented -- clean!
* python <--> perl : more readable.
* list of functionality
- big chunk of matlab (via scipy/numpy/cvxopt)
---------------------------------------------------------------------
Structure:
10 minutes: Python
10 minutes: SAGE
20 minutes: discussion
Section 1: Python
Python is a popular well-supported open source modern interpreted language:
* Extremely easy for you to define your own class and methods on it.
bitstreams, ciphers, rings, whatever
(This works much better than in Magma or Mathematica.)
* Very clean language that results in easy to *read* code.
* Extremely easy to learn -- people who know how to program can typically
learn enough python to be productive in a day.
http://www.diveintopython.org/
* An *huge* number of libraries:
statistics, networking, databases, bioinformatic,
physics, video games, 3d graphics, and serious mathematics (via SAGE)
* Excellent builtin support for things like string manipulation and bit fiddling.
* Cython -- a Python compiler (http://www.cython.org).
* Neat software written using Python:
- SCONS
- Mercurial
- SAGE
Section 2: SAGE
Section 3: Discussion