Wolfram Workbench
The IDE for Mathematica

Tom Wickham-Jones
Director of Kernel Technology
Wolfram Research

Wolfram Workbench

Integrated development environment (IDE) 
  for Wolfram products 

eg Mathematica, gridMathematica, and webMathematica.

Who is Workbench for?

The Workbench is good 

   if you are writing code ie programming
   want to use modern software engineering tools
   want to deliver solutions for others
   want to work with other technologies (eg Java, XML etc...)
   familar with IDEs



The Workbench is not good if 
    you are solving math problems with no formal programming

Example

There is not really any structure here, so not so useful for Workbench.

f=Simplify[ ((Sin[x])^2)+((Cos[y])^2)];

Integrate[ DSolve[ f, x,t], {y,0,ω}];

Plot3D[ fun[ x, y], {x,0,2τ},{y,-π,π}]


NIntegrate[x*(ArcCos[x]-x*(Sqrt[1-(x^2)]))*Exp[-3.44(q*(Sqrt[x2+2 *x *t *Cos[θ]+ (t^2)]))^(5/3)(1-1.1618(Sqrt[x2+2*x *t* Cos[θ]+(t^2)])^(1/3)+0.2191 (Sqrt[x2+2*x *t* Cos[θ]+(t^2)])^(4/3))],{x,0,1},{θ,0,2 Pi}]

Workbench Features

Full Feature Professional Development Environment

Awards

Winner of  Dr Dobb's JOLT Producitivy Award

Core Features

specialized code editor, many quick fixes, assistance
   code outline, code indexing, find definition
   full project support, reports on errors/warnings etc...
   many wizards for creating special content
   debugger support
   profiler support
   import wizard and export wizard
   
  gridMathematica support
  webMathematica support

Advanced Features

unit tester support 
   working with other languages,  eg Java, C/C++
   integration with XML tools
   integration with ANT
   code management support,  CVS, SVN, etc...
   advanced code searching
   advanced code refactoring

Demo

Complete workflow...   Mathematica application

  Web Project

Core Technology

Workbench built on Eclipse 

originally a Java IDE, but now extensible app technology

huge number of tools and apps built around Eclipse
  all of these can be integrated with Workbench

Mathematica can provide interesting features to Eclipse
   (ie unique functionality with Mathematica)

Basic Connectivity

Workbench launches FrontEnd

FrontEnd launches Kernel

Workbench connects to Kernel

gridMathematica: FrontEnd Launched

gridMathematica: Master Kernel Launched

gridMathematica: Slave Kernel Launched

gridMathematica: Workbench Connects to Kernels

Workbench Roadmap

Version 1 release November 2006


Currently working on Version 1.1 release
  (Mathematica 6 compatible)


Version 2 release Q3 2007

Resources

Workbench website,  http://www.wolfram.com/products/workbench/
    screencasts, http://www.wolfram.com/products/workbench/workflow/
    also podcast with O'Reilly/Dr Dobbs,  
	
	
Training,  offered by Wolfram Education Group
	http://www.wolfram.com/services/education/minicourses/m235.html