Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Pushing the VA Smalltalk Editor Onward and Upward


Published on

Title: Pushing the VA Smalltalk Editor Onward and Upward
Speaker: Seth Berman
Fri, August 22, 12:00pm – 12:30pm


Abstract: Last year saw the introduction of our new modern editor fully integrated into VA Smalltalk. Being based on the popular Scintilla editor component, it gave us instant access to so many battle-hardened capabilities that we knew this was just the beginning of a series of exciting features we would have to push the productivity edge for our developers. This year, VA Smalltalk will see the largest set of features and enhancements to the editor since the product's inception.

I'm going to discuss the radical performance improvements we achieved by changing how we communicate with Scintilla, as well as special memory optimizations we used. During a live demo, you will see our revamped source analysis engine in action. It provides the identification and visualization of compiler errors, popular lint checks, as well as type checking using an enhanced version of our code completion engine. All these activities have been carefully designed to run unnoticed in the background.

I will be showing off our new "interactive refactoring sessions", allowing the developer to refactor code using an interactive workflow, instead of the more traditional series of popups that slow them down. To initiate these refactoring, I will demo our new action list calltips...interactive calltips that allow you to make selections from them as if they were list widgets.

Will all the great new visualizations, we felt strongly that it was time VA had a comprehensive editor theming capability. Themes cover everything from the margins to visual indicators over text. I will show a new UI which a developer can use to create a fully customized theme in seconds. We have also updated our existing themes, as well as added some new ones.

This is going to be another exciting year for VA Smalltalk!

Bio: Before joining Instantiations in May of 2011, Seth Bernan spent 10 years developing software for the U.S. government. During this time he worked on a wide variety of projects and gained experience working with many languages, technologies and problem domains. He has a B.S. in Computer Science and an M.S. in Software Engineering. Seth is currently the Engineering Director at Instantiations focusing on product development of VA Smalltalk

Published in: Software
  • Video:
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

Pushing the VA Smalltalk Editor Onward and Upward

  1. 1. Pushing the VA Smalltalk Editor Onward and Upward Copyright © 2014 Instantiations, Inc. Seth Berman Director of Engineering Instantiations, Inc.
  2. 2. Copyright © 2014 Instantiations, Inc. VAST 8.6 (current release) • Goals • Modernize the editor • Maintain compatibility with legacy editor • Custom scanner used for both syntax coloring and source analysis • A few new visual effects if time permits
  3. 3. Copyright © 2014 Instantiations, Inc. VAST 8.6.1 (future release) • Goals • Performance Improvements/Memory Reduction • Editor Themes • Real-time Code Analytics • Interactive Refactoring • (Near) Context-switchless workflow using visual effects for feedback and conflict detection
  4. 4. Performance Improvements Copyright © 2014 Instantiations, Inc. Memory Reduction • Direct-Communication • Bypass Windows Message Queue in favor of platform function call • Up to 25x performance increase during intense communications • Direct-Access API • The text buffer of the internal editor is used directly to avoid copying data into Smalltalk • Useful for algorithms requiring read-only access to large portions of the text content (i.e. parse-tree input, text search) • Huge memory reduction
  5. 5. Copyright © 2014 Instantiations, Inc. Editor Theme
  6. 6. Copyright © 2014 Instantiations, Inc. Bracket Matching • Uses indicator underlays as default styling • Margin marker used to indicate offscreen matches
  7. 7. Copyright © 2014 Instantiations, Inc. Comment Folding • Auto-Collapse • All comments • First comment • First method comment • Folding Threshold • User can specify then number of lines in a comment before folding is considered
  8. 8. Copyright © 2014 Instantiations, Inc. Code Analytics • Demo • Lint Analysis • Type Analysis • Interactive Refactoring • Action List Calltips
  9. 9. Copyright © 2014 Instantiations, Inc. Code Completion • Auto-Insert arguments for calls to ‘super’ with same selector • Define Accessors