Technical Road Map Morten Kromberg 0. 1 (Same Old) Focus Areas -Performance -(includes parallel computing) -Portability -(includes user interfaces) -Language.

Slides:



Advertisements
Similar presentations
Android Application Development A Tutorial Driven Course.
Advertisements

Introduction to .NET Framework
Tahir Nawaz Introduction to.NET Framework. .NET – What Is It? Software platform Language neutral In other words:.NET is not a language (Runtime and a.
Web Toolkit Julie George & Ronald Lopez 1. Requirements  Java SDK version 1.5 or later  Apache Ant is also necessary to run command line arguments 
October Dyalog File Server Version 2.0 Morten Kromberg CTO, Dyalog LTD Dyalog’13.
October Interfaces to NAG, R and Q Morten Kromberg Dyalog LTD Dyalog’13.
 Copyright 2005 Digital Enterprise Research Institute. All rights reserved. The Web Services Modeling Toolkit Mick Kerrigan.
Introduction to.NET Technology Marcello Benati Software Engineer.NET Architect.
RIDE 2.0 and Version 14.1 “In Depth” Morten Kromberg, CTO.
ANDROID OPERATING SYSTEM Guided By,Presented By, Ajay B.N Somashekar B.T Asst Professor MTech 2 nd Sem (CE)Dept of CS & E.
Kashif Jalal CA-240 (072) Web Development Using ASP.NET CA – 240 Kashif Jalal Welcome to week – 2 of…
Mobile Application Development
Microsoft ASP.NET AJAX - AJAX as it has to be Presented by : Rana Vijayasimha Nalla CSCE Grad Student.
Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department.
Creating and Running Your First C# Program Svetlin Nakov Telerik Corporation
Technical Road Map Morten Kromberg, CTO Back in the UK!
© Strategic Mapping & Data Services LLC – Dr. Michael Stachiw – February 2012© Strategic Mapping & Data Services LLC Android Programming Dr. Michael A.
Morten Kromberg CTO, Dyalog Ltd. Technical News from Dyalog SWEDAPL Göteborg April 2015.
UFCFX5-15-3Mobile Device Development UFCFX Mobile Device Development An Introduction to the Module.
October Agenda Review of Strategy User Interfaces Upcoming Releases –New Platforms No Demos Dyalog'13 Road Map2.
Android Introduction Platform Overview.
Parallel Programming with v14.0. Parallel Paths to Parallel Performance 1.Parallel Compiler Research –”Concurrent Dfns Compiler” targets fine-grained.
Mobile Application Development with ANDROID Tejas Lagvankar UMBC 29 April 2009.
About me Yichuan Wang Android Basics Credit goes to Google and UMBC.
1. 2 What’s New in NetBeans IDE What is NetBeans IDE?  Ready to use out of the box  Support for latest Java specifications & standards  Other.
Building Web-Enabled, Cross-Platform Applications with MiServer 3.0 Brian Becker, Applications Tools Group Manager Morten Kromberg, CTO.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Introduction to MiServer 3.0 Brian Becker Applications Tools Group, Dyalog LTD.
Title slide to be used at the start of a module. Developing Mobile Apps Roland Guijt
ASP.NET + Ajax Jesper Tørresø ITNET2 F08. Ajax Ajax (Asynchronous JavaScript and XML) A group of interrelated web development techniques used for creating.
Architecture of.NET Framework .NET Framework ٭ Microsoft.NET (pronounced “dot net”) is a software component that runs on the Windows operating.
Creating and Running Your First C# Program Svetlin Nakov Telerik Corporation
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
Java applet
Technical Road Map Update Morten Kromberg, CTO. Show of Hands Workshops Today: –Putting Dyalog’s Latest Features to Use –MiServer 3.0 – A Framework for.
Android for Java Developers Denver Java Users Group Jan 11, Mike
John Daintree Chief Architect Dyalog Andy Shiers Chief Operations Officer Dyalog RIDE.
Towards Industrial Strength Web Applications Brian Becker, Dyalog LTD. APL Tools Group.
PHP Features. Features Clean syntax. Object-oriented fundamentals. An extensible architecture that encourages innovation. Support for both current and.
Imagine Creating Software Without a Single Line of Code!
Dyalog’08. Conga, SSL and WebServices Morten Kromberg Dyalog’08 - Elsinore.
KAASHIV INFOTECH Presents INTEL XDK For Inplant Training / Internship, please download the "Inplant training registration form" from our website
1 KaaShiv InfoTech  Presents  INTEL XDK For Inplant Training / Internship, please download the "Inplant training registration form" from our website.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
® IBM Software Group © 2003 IBM Corporation IBM WebSphere Studio V5.1.2: Making Java Development Easier May 2004.
New Language Features For Parallel and Asynchronous Execution Morten Kromberg Dyalog LTD Dyalog’13.
 Can access all API’s made available by OS vendor.  SDK’s are platform-specific.  Each mobile OS comes with its own unique tools and GUI toolkit.
#DYNA16 vecdb The Dyalog Vector Database Workshop W2: Managing Data with Dyalog Morten Kromberg, CXO.
#DYNA16 Dyalog Version 15.0 Highlights Jay Foad, John Daintree Dan Baronet, Brian Becker Morten Kromberg.
Technical Road Map Spring 2016 Morten Kromberg, CXO 0.
1 V15 - Spring 2016 Toutes les nouveautes de V15 Dan Baronet Dyalog.
Best 5 Mobile App Development Tools for Developer's to think beyond the Limitation.
#DYNA16 Technical Road Map Update Jay Foad, CTO Morten Kromberg, CXO.
Feuille de Route [Technique] Morten Kromberg, CXO 0.
Parallel Programming With Futures and Isolates Morten Kromberg, CXO.
Diploma of Website Development Getting Started With ASP.NET
1 Technical Road Map The User Experience Morten Kromberg CXO, Dyalog Ltd.
Introducing the Microsoft® .NET Framework
Multi-Platform User Interfaces using HTMLRenderer
Road Map - The User Experience
Chapter 2: Operating-System Structures
CASE STUDY 1: Linux and Android
Application with Cross-Platform GUI
CMPE419 Mobile Application Development
1.1. .NET architectural components and .NET Core
Cross Platform Charting
.NET and .NET Core Foot View of .NET Pan Wuming 2017.
Microsoft Connect /1/2018 2:36 AM
CMPE419 Mobile Application Development
Running C# in the browser
Presentation transcript:

Technical Road Map Morten Kromberg 0

1 (Same Old) Focus Areas -Performance -(includes parallel computing) -Portability -(includes user interfaces) -Language -(includes increased focus on functional programming) -Growing: Tools for Application Building Technical Road Map - Dyalog'15

(Big) Bets We Are Placing 1.Parallel Processing is getting Critical 2.New Platforms will soon be Important 3.Most new User Interfaces will use either HTML5/JS or WPF/XAML

1. Parallel Processing Bang for the buck, here and now Futures and Isolates –Allow developer to easily identify and manage parallel sections of code Dyalog Compiler –Minimise interpreter overhead –[Parallel] Optimisations to be added over time Designed to require minimal re-coding of existing applications Optimised Bytecode Execution Engine

1. Parallel Processing, … Co-Dfns Compiler –Externally funded research Performed by Aaron Hsu at Indiana University –Focus on purely functional code (d-fns only) But happy to work on scalars ;-) –Will require application refactoring Few system functions and ”external” interfaces –If successful, will enable very highly parallel applications –Targets GPUs / massively parallel architectures

5 Version 14.1 Core Performance Technical Road Map - Dyalog'15

6 Version 14.0 Core Performance Technical Road Map - Dyalog'15 The “Hui Effect”: v14.0 runs apps 15-30% faster

Technical Road Map - Dyalog'15

8 V14.1 Performance Features “Special Code” added or enhanced – Idioms: ≢⍴ ⊣ / ⊢ / (? ⍴ ) – ∧.= ∨.≠ ∘.= n ⍴ scalar bool ⊂ ⍋ bool Bytecode Execution Engine enhanced to handle global names and control structures: –Now compiles 59% of functions in “a major application” (up from ~1% in v14.0) Compiled code speeds up by factor of 2 on small args –NB: A *lot* of arguments ARE small Technical Road Map - Dyalog'15

9 V15.0 Performance Work Compiler projects ongoing New C compilers on all platforms More work on core algorithms Some integration of Futures and Isolates into the interpreter (no workspace required) Technical Road Map - Dyalog'15 Roger Hui and Jay Foad D04 Core Performance Monday 13:30-14:15 Aaron Hsu (Indiana University): Using Co-dfns to Accelerate APL Code Wednesday 11:00-11:45 Jay Foad: Compilation and Bytecode Execution Wednesday 09:45-10:30 Roger Hui TP4 Writing Efficient Code in Dyalog Thursday 14:00-17:30

2. New Platforms UNIX variants –ARM Linux (Raspberry Pi), Apple OSX, Android Windows variants without Win32 –Universal Windows Platform (UWP), New Servers, Windows for ARM Our new tools are designed to be cross-platform –RIDE, MiServer, SAWS, R-Connect, DyaCrypt –Some old ones too: Conga, SQAPL, … Our goal is to allow future apps to be developed on (any) one platform and deployed on (any) other

11 Introducing Dyalog 14.1 for OS X Complete 64-bit Unicode Dyalog engine 100% compatible and inter-operable with other Dyalog variants Includes CONGA, SAWS, MiServer, RConnect, (SQAPL to come soon) Development environment is RIDE 2.0. GUI via MiServer - no emulation of ⎕ WC. 70 copies downloaded to date Technical Road Map - Dyalog'15 Nick Nickolov: A New Way to Interact with Dyalog Monday 11:00-11:30

12 Introducing Dyalog for OS X Technical Road Map - Dyalog'15

3. User Interfaces Cross-platform apps will use HTML5 and Javascript to define the user interface (for at least 5 years) New Microsoft Desktop applications will use Windows Presentation Foundation (WPF) –Or its new equivalent on the mobile platforms We will support data binding and ”MVVM” style application building with both these tools We are looking at embedded HTML5/JS rendering engines to allow the same UI to service Web and Desktop or ”Phablet” applications. Some New Microsoft Desktop and UWP apps will use WPF. UWP is also XAML-based. –WPF and ”UWP” will morph into a single toolset

14 Model View ViewModel (MVVM) List←'Andy Shiers' 'Bjørn Christensen' 'Brian Becker' … Technical Road Map - Dyalog'15 Filter←'R' FilteredList Jason Rivers Richard Smith Roger Hui

Dyalog APL ServerDyalog APL + RIDE (Windows, UNIX, Mac, Android, etc) 15 Portable User Interfaces Technical Road Map - Dyalog'15 MiServer or other HTML/JS Generator Web Browser Internet MiServer or other HTML/JS Generator HTML Engine

16 V15.0 User Interface Work Data Binding features and performance (+ MiServer 3.0 and then 4.0) Technical Road Map - Dyalog'15 John Daintree D12 Data Binding – The Matrix Tuesday 15:30-16:15 Morten Kromberg: D07 Cross-Platform User Interfaces Monday 15:30-16:00 Dan Baronet and Adám Brudzewsky D10 Miserver UI Controls Tuesday 09:00-09:45

(Big) Bets We Are Placing 1.Parallel Processing is getting Critical 2.New Platforms will soon be Important 3.Most new User Interfaces will use either HTML5/JS or WPF/XAML

18 Language There are still many ideas worth adding to the (Dyalog) APL Language We want to move in a functional direction –Parallel computing REQUIRES it –Puts APL ”back on the map” – John Scholes and I have both felt very welcome at functional events We want to add features for analysis of ”big data” Technical Road Map - Dyalog'15

19 New Language Features Version 14.0 –Rank ( ⍤ ), Key ( ⌸ ), Tally ( ≢ ) –Trains: ( avg←+/ ÷ ≢ ) ( flipenc← ⍉⊤ ) –Dyadic Iota on higher-rank arrays (and 8 ⌶ for inverted tables) –Parallel: Futures and Isolates –Microsoft.Net data binding Version 14.1: No real ”language” Features –:Disposable –Experimental JSON Parser –External Workspace Files (Memory Mappable) Technical Road Map - Dyalog'15 Morten Kromberg & Stig Nielsen D13 External Workspaces Wednesday 16:30-16:45

20 New Frontiers: Language Still “one or two” things left to do: Operators Cut / Tesselate, Merge and Dual Notations for Namespace and Array Constants Potential New Data Types and Related Functions: High Precision Floats (Rounding) Closures (“functional objects”) Mechanisms for sharing data between processes in real time Rational Numbers (Prime Number Functions) Scalar String Type ( 0=≡"Hello World" ) Objects with Array Semantics (sparse / inverted) Technical Road Map - Dyalog'15

21 Active Language Research New operators will target v15 plus 1 Likely v15.0 language features: We are looking for a mechanism to replace lookup←keys ∘⍳... By marking an array as ”searchable” Hope to allow selected arrays (”in memory databases”) to reside outside the main workspace. We will publish proposals for new features Follow us on Twitter, Like us on Facebook, etc Technical Road Map - Dyalog'15 Roger Hui & John Scholes D16 Proposals: Cut, Under & Merge Thursday 09:15-10:00

22 Tools for Application Building Tried and Tested CONGA – TCP client and server library SQAPL – SQL / ODBC access on all platforms Quad-WC GUI – Win32 applications Recent Additions LoadData – Data import tools for Excel, XML, CSV, SQL/ODBC RConnect – Integrate R statistical framework w/APL Databound WPF – MVVM style Windows desktop applications MiServer – Stand-alone Web Server –Build HTML5/JS UI in APL –Also Web Services: SAWS become part of MiServer Technical Road Map - Dyalog'15

23 New Frontiers: Tools DyaCrypt – Cryptographic Library –Available for testing –Design of v2.0 in process Databound MiServer –MVVM style programming in MiServer 4.0 The Dyalog Project Project (DP2) –Project mechanism for managing source code, dependencies and building runtime environments Utility Libraries and Sample Applications –To go with DP2 NewLeaf integrated with SharpPlot (SharpLeaf) –D3, Syncfusion and other Javascript-based tools via MiServer Technical Road Map - Dyalog'15 Nic Delcros D17 SharpLeaf – Flowing Reports… Thursday 10:00-10:30 Morten Kromberg D11 The Dyalog Project Project Wednesday 14:15-14:45 Dan Baronet and Adám Brudzewsky D05 User Command Update Monday 14:15-14:40

24 New Frontiers: Cross Platform ALL previously mentioned tools –Every new tool is designed to be cross platform if at all possible –CONGA, SQAPL, MiServer, Rconnect, DP2, RIDE,... File Functions – List files and folders, delete files and create folders. Rationalisation of file name handling. RIDE v3.0 –Published JSON-based API for 3rd party developers Also more directly support EMACS/vi or other external code editors –”Zero footprint” RIDE – run direct from a web browser RIDE Process Manager –Launch, monitor and debug [large] collections server processes Android, UWP, iOS interpreters to come (in some order) Technical Road Map - Dyalog'15 Richard Smith D08 Cross-Platform File Functions Monday 16:00-16:30

25 Evangelism “Dyalog is a modern, array-first, multi-paradigm programming language, which supports functional, object-oriented and imperative programming, based on an APL language kernel.” Functional Conf’14, Bangalore Array’15 Workshop, Portland Oregon Dyalog on GooglePlex Mountain View Functional Conf’15, Bangalore Technical Road Map - Dyalog'15 Fiona Smith D09 Dya(b)log Monday 17:30-18:15

26 Evangelism “Dyalog is a modern, array-first, multi-paradigm programming language, which supports functional, object-oriented and imperative programming, based on an APL language kernel.” Functional Conf’14, Bangalore Array’15 Workshop, Portland Oregon Dyalog on GooglePlex Mountain View Functional Conf’15, Bangalore Technical Road Map - Dyalog'15 Fiona Smith D09 Dya(b)log Monday 17:30-18:15

27 Conclusion Sustained Focus on Performance and Quality Cross Platform IDE now available Cross Platform UI Tools very nearly there Increasing Focus on Samples and Tools New users on new platforms in sight Technical Road Map - Dyalog'15 Andy Shiers D06 MyDyalog and Backroom processes Thursday 10:00-10:30