dyalog road map ’06 helsingør, october 18th 2006
DESCRIPTION
Road MapDyalog'06 Dyalog Road Map ’06 Subject to change without notice due to: Having a Good Think following 11.0 completion Input and project funding from customers What Microsoft throws at us Our ability to recruit the right developers Cosmic Ray Collisions...TRANSCRIPT
Dyalog Road Map ’06
Helsingør, October 18th 2006
Road Map Dyalog'06
(Rerun from 2005)
Road Map Dyalog'06
Dyalog Road Map ’06• Subject to change without notice due to:• Having a Good Think following 11.0
completion• Input and project funding from customers• What Microsoft throws at us• Our ability to recruit the right developers• Cosmic Ray Collisions...
Road Map Dyalog'06
Completing Work in Progress• Version 11.0 Ports
– 32-bit Windows on CD w/Release Notes– 64-bit Windows (final testing & packaging)– Windows Mobile 5, AIX (32&64)– Linux (Wine), Solaris
• Open Source on the Web– Dyalog’06 Presentations– SALT, SPICE, Wild Web Server– Support the Consultants Network
Road Map Dyalog'06
Version 11.1 (”late 2007”)• A Few OO things we left out• Unicode, possibly a few other core language
extensions• Source Code Management
– Tighter support for SALT & SubVersion etc– Visual Studio Integration– Make it possible to ”dynamically embed” APL code in
popular development tools• Consolidation
– Integrate new team members (Nicolas, Philip, ”X”)– Remove size restrictions, bugs & limitations– Focus on Performance, Deployment, Stability
Road Map Dyalog'06
V11.1: OO Things we Forgot• We have used C# as a design
guide for OO functionality• We did leave some things out – are
they important?• Stefano alerted us to one or two
towards the end of v11 testing– :Access Overridable (done)– ”Thread Local Storage”?
Road Map Dyalog'06
V11.1: OO Things we Forgot
Road Map Dyalog'06
V11.1 Core Language• High Probability:
– Unicode (The Defining Feature of 11.1)• Primary Design goal: No application
changes REQUIRED... 82=⎕DR string←'ABC'1 string[2]←'ᄎ ' 82=⎕DR string0
Road Map Dyalog'06
V11.1 Core Language• Possible
– Closures (dfns returning functions with local state – ”function objects”)
– NB: John would like to point out that installing ”9.0 FRE” uses a separate registry section and is ”safe”
Road Map Dyalog'06
V11.1 Core – Less Likely• Rationals / Infinite Precision Integers• Complex Numbers• Rank Operator
• We may do research and preliminary work but are unlikely to release anything
• ... Unless we get ”pushed”
Road Map Dyalog'06
V11.1 Performance, Deployment, Stability• Faster / Simpler NA⎕• Algorithm review with focus on Indexing and
Searching (idioms & core algorithms)• DotNet:
– Improved Autocompletion– ”Data Marshalling” Performance– ”Load Balancing” issues (starting multiple Dyalog
processes for one class)• Remove 64-bit Array Size Restrictions• ”Installability Issues”• Even more Quality Assurance tools and
procedures in place for next release
Road Map Dyalog'06
”Web Presence”• Open Source Library (SALT, SPICE,
WildServer, etc...)• Manuals On Line in Searchable form• New training materials for ”modern
young users”• Tutorials on OO, .Net, Office
Automation, making Web Pages, etc• Canned demos (Video, screen capture),
Blogs, Wikis
Road Map Dyalog'06
Cultivate Agile Community Membership• Agile 2007 (Como, Italy)• We SHOULD do a presentation on
arrays and objects at OOPSLA’07• Continuously look to what the
Python & Ruby folks are doing• Please join us in this adventure
Road Map Dyalog'06
”Professional” Products• To be released on a separate timeframe
and sold separately from the core product:
• Remote Procedure Call mechanism• File Server for Component and Native
Files• Running APL as a ”Windows Service”• Secure Socket support
Road Map Dyalog'06
Remote Procedure Calls
Road Map Dyalog'06
RPC Tool Advantages• Significantly simpler programming model
than TCPSocket, especially for multi-threaded clients
• FAST, as events handled in C. APL is only called when there is ”something to do”
• NB: Independent of underlying technology• Could provide some protection against
”denial of service” attacks
Road Map Dyalog'06
Dyalog File Acceleration Server• A process which runs on a server machine
using the RPC tool to provide services• No client-side code changes required, support
will be built-in to N and F-system functions ⎕ ⎕(TIE functions may be extended)
• Similar to ”SHAREFILES” product and SHARP APL file system
• Initially targeting current users of shared files on Windows LANs
• Version aimed at Unix environments to follow...
Road Map Dyalog'06
Dyalog FAS Advantages• Workstations do not need access to
mapped drives or files– Simplified application configuration– Much higher and more granular security
• Better performance– Server ties files exclusively and caches
directory and other information• Higher reliability
– Much less risk of file damage as all disk I/O is happening locally on the server
Road Map Dyalog'06
Dyalog FAS Advantages• Operability
– Server architecture allows instrumentation and monitoring
• Extreme Reliability (not all in v1.0)– 24x7x365 Operations: On-line full and
incremental backups– Automated recovery from transient
network failure (or even a server restart)– Mirroring and distributed data bases
Road Map Dyalog'06
Running APL as a ”Service”• We will provide recommendations for tried
and tested mechanisms for running Dyalog-based applications as Windows Services
• Additional components if required• Dyalog APL will recognise that it is running
as a service and not try to interact with a user under any circumstances
• Etc...
Road Map Dyalog'06
Secure Socket Support
• Secure Sockets provide encrypted communications between ”identified” partners
• We will look at providing support for secure sockets– In the RPC tool (definitely)– For TCPSocket objects (possibly)
Road Map Dyalog'06
Research: Microsoft.Net• Managed Microsoft Office is still 5 years away,
so no immediate ”panic” to provide managed APL(?)
• We believe there are enhancements in the .Net pipeline, which will make it a better foundation for array languages
• We are doing research and lobbying Microsoft (participating in regular ”CLR language labs” in Redmond)
• We are monitoring the situation closely and will keep you informed
Road Map Dyalog'06
Research: Multi-Core Processors• Modern processor CPU speeds are flattening off
around 3-4 MHz• This is already so fast that a cache miss requires
100 wait states before data arrives from RAM• Soon, chips with 8 or 16 processors will be
common• It is time to look at how an APL interpreter should
adapt to new architectures
Road Map Dyalog'06
Other Possible Projects
• Interface to math and statistics packages: NAG, IMSL, R/SPLUS, perhaps Matlab?
Road Map Dyalog'06
The Road Ahead• This was a quick overview of the
possible paths we see ahead• We are always happy to hear from
you!
• Please participate in pathfinding.
• Thank You!