250 likes | 262 Views
Learn about the Dyalog'06 road map for Version 11.0 completion and future updates for Version 11.1, including OO functionality, performance improvements, and web presence enhancements.
E N D
Dyalog Road Map ’06 Helsingør, October 18th 2006
(Rerun from 2005) 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... 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 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 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”? Dyalog'06
V11.1: OO Things we Forgot 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 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” 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” 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 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 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 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 Dyalog'06
Remote Procedure Calls 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 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... 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 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 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... 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) 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 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 Dyalog'06
Other Possible Projects • Interface to math and statistics packages: NAG, IMSL, R/SPLUS, perhaps Matlab? 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! Dyalog'06