SlideShare uma empresa Scribd logo
1 de 29
Baixar para ler offline
What’s New In Cincom Smalltalk
Alan Knight (knight@acm.org)
Cincom Systems of Canada
About the Talk
Some New and Interesting Stuff
Things already shipping
Things in the next release
Longer term goals
Non-technical items (consolidation, releasing)
Both major features and selected smaller
items
Not nearly comprehensive
Some technical detail
ObjectStudio 8
Separate product
Shipping now-ish
Full Re-implementation
ObjectStudio semantics
ObjectStudio class libraries
Native Widgets (Windows)
Access to all VisualWorks facilities
Greatly improved VM performance
Object Studio 8 – Technical Challenges
VM issues for native widgets
Different semantics
Methods, assigning to parameters, {}
File-based
Solutions
Namespaces for classes
Different compiler, and code rewriting
Message rewriting, and code
transformation
ObjectStudio 8 – ObjectStudio Users
Ability to use VisualWorks tools where
they are an improvement
Access to class libraries
Web/Application Server
Web Services and Networking
Database
VM performance
Continuing Development
ObjectStudio 8 – VisualWorks Users
Native Widgets
Vista certification pending
COM and ActiveX support
“Legacy” connects
APPC
EHLLAPI
Virtual Machine
Intel Mac OS X Support
Shipped in 7.5
General Mac OS X Stability and
Performance
Improved in 7.5
Much continuing work
Single threaded VM
Mac OS X Virtual Machine
Single Threaded VM
Worse performance right now
Better performance once optimized
Much more stable
Much easier interface to Mac system
code
Virtual Machine
VM as DLL
Smalltalk doesn’t have to be in charge
Detailed planning stages
64-bit stability and exploiting features
E.g. hashing
Socket and THAPI performance
Meta-issues
Source code control
Consolidate platform-specific code
Regression test suite
Aside: Hashing
Major rework of hashes
Analyze existing hashes for better
distribution
String hash that takes into account all
characters
Single level hash for symbols
Note: Hash Analysis Tool in public
repository
Widgetry
Entirely new windowing framework
In progress for a long time
Version 1.0 shipping shortly
“Service Pack” release
Supported product
Widgetry - Benefits
Simpler, cleaner model
“Wrapper” system not comprehensively
updated for many years
More functionality
Better compatibility with other systems
Easier to support native widgets
(eventually)
Widgetry - Issues
Documentation not shipping with 1.0
Some web resources available
No UIBuilder or migration support
Tools migration slower than planned
Suitable for
Early adopters
Those with sophisticated UI requirements
that can’t be met with “Wrapper”
Seaside
Major new initiative
Potentially significant opening in web
development space
J2EE, .NET, Web Services extremely
heavyweight
Lighter frameworks, esp. Ruby on Rails
Outreach to non-Smalltalk developers
We can do better
Seaside - Web
Already a working VisualWorks port
Michel Bany
Integration with VisualWorks
Access to facilities
Supported
Cleaner portability
Simpler underlying layer – fewer choices
Easy to use out of the box
Seaside - Technical
Running on Opentalk-HTTP
Opentalk
General distributed programming and
network protocol support
Basis for e.g. Web Services, CORBA
Kept strongly in sync with Squeak
version
Tools for supporting easier interchange
Relational Database support
Aside: Networking improvements
Much better support for streaming
large content
HTTP Serving
Mail messages (SMTP, POP, IMAP)
Improved mail support in general
Firewall/NAT improvements
Seaside - Database
Be able to use Relational DBs easily
Connectivity - MySQL support
Parallels Ruby on Rails “ActiveRecord”
Uses Glorp as underlying mapping layer
Automatic for simple schemas
Be able to use database information
Scale up to more complex schemas
Better performance
Much more about this tomorrow
Deployment
Make it much easier
Various Runtime Packager improvements
Make Runtime Packager less necessary
Move functionality into base, be dynamic
» Headless
» Runtime
» Error Logging
Smaller base image
Alternative ways of running code
Scripting
Do more without requiring the environment
One liners from the command line
Write scripts in files
Entire programs in files
Scripting extensions
System more tolerant of headless mode
Standard I/O
Experimental Phases
“Scripting Support” in public repository
Internationalization
Everything should work, regardless of
locale and character set.
Areas
Character display/fonts
Character input
Filesystems
Mac OS X input manager
Only Mac OS 9 right now
Current Windows “Unicode Support”
Store – Shadow Compilation
Shadow compilation
“Atomic loading”
Shipping in 7.5, but turned off
Can’t yet load everything
» Method order dependency
» Custom compilers
» Semantics of the code (e.g. system overrides)
Store (7.5)
Merge tool UI overhaul
MSAccess officially supported
StoreForMSAccess
Logging
Records what was loaded from the database
By a 7.5 or later client
Table TW_LoadRecord
Overrides within Bundles
Setting – required for ObjectStudio 8
DLL/CC
Major overhaul
Still in early stages
Entirely new parser (SMACC based)
Lighter weight
Get rid of the strange classes
Loading/saving issues
Examining C++ connectivity options
DLL/CC - #linkedIn
Small, but interesting, in 7.5
If the library name is #linkedIn, it looks
for the library in the current
executable.
Very useful for e.g. libc functions
Some small items
Dependents, events, removed from
base collections (7.5)
They aren’t supported anyway
Large performance increase
Avoids bottleneck
Databases
ODBC connection pooling, charsets
Oracle scrollable cursors
More smaller items
Gecko support for web browser plugin
(preview, mostly because of doc)
Many COM connect improvements
UUID generation
Announcements
/ and  as Filename messages
#any, #sort, #sorted
Splash screen off by default
Upcoming
Many browser and tool improvements
See Travis for details
DefaultPackageNamespaces
Set a package’s #namespace property
Class extensions are compiled in that
namespace
The “inspect” problem.
The End
Questions?

Mais conteúdo relacionado

Mais procurados

Alfresco: What every developer should know
Alfresco: What every developer should knowAlfresco: What every developer should know
Alfresco: What every developer should knowJeff Potts
 
Introduction to ASP.NET 5
Introduction to ASP.NET 5Introduction to ASP.NET 5
Introduction to ASP.NET 5mbaric
 
Introducing ASP.NET vNext - A tour of the new ASP.NET platform
Introducing ASP.NET vNext - A tour of the new ASP.NET platformIntroducing ASP.NET vNext - A tour of the new ASP.NET platform
Introducing ASP.NET vNext - A tour of the new ASP.NET platformJeffrey T. Fritz
 
Alfresco 5.0 Technology Review
Alfresco 5.0 Technology ReviewAlfresco 5.0 Technology Review
Alfresco 5.0 Technology ReviewZia Consulting
 
Intro To Alfresco Part 1
Intro To Alfresco Part 1Intro To Alfresco Part 1
Intro To Alfresco Part 1Jeff Potts
 
Advanced WCF Workshop
Advanced WCF WorkshopAdvanced WCF Workshop
Advanced WCF WorkshopIdo Flatow
 
Server-side Java Programming
Server-side Java ProgrammingServer-side Java Programming
Server-side Java ProgrammingChris Schalk
 
A Whirldwind Tour of ASP.NET 5
A Whirldwind Tour of ASP.NET 5A Whirldwind Tour of ASP.NET 5
A Whirldwind Tour of ASP.NET 5Steven Smith
 
Community day 2013 applied architectures
Community day 2013   applied architecturesCommunity day 2013   applied architectures
Community day 2013 applied architecturesPanagiotis Kefalidis
 
Intro to Alfresco for Developers
Intro to Alfresco for DevelopersIntro to Alfresco for Developers
Intro to Alfresco for DevelopersJeff Potts
 
Intro To Alfresco Part 2
Intro To Alfresco Part 2Intro To Alfresco Part 2
Intro To Alfresco Part 2Jeff Potts
 
Introduction to dot net framework by vaishali sahare [katkar]
Introduction to dot net framework by vaishali sahare [katkar]Introduction to dot net framework by vaishali sahare [katkar]
Introduction to dot net framework by vaishali sahare [katkar]vaishalisahare123
 
Alfresco Day Milano 2016 - Demo Data
Alfresco Day Milano 2016 - Demo DataAlfresco Day Milano 2016 - Demo Data
Alfresco Day Milano 2016 - Demo DataAlfresco Software
 
Intro To Alfresco Part 3
Intro To Alfresco Part 3Intro To Alfresco Part 3
Intro To Alfresco Part 3Jeff Potts
 
Performance Eye for the SQL Guy
Performance Eye for the SQL GuyPerformance Eye for the SQL Guy
Performance Eye for the SQL GuyWarwick Rudd
 

Mais procurados (19)

Alfresco: What every developer should know
Alfresco: What every developer should knowAlfresco: What every developer should know
Alfresco: What every developer should know
 
Introduction to ASP.NET 5
Introduction to ASP.NET 5Introduction to ASP.NET 5
Introduction to ASP.NET 5
 
Introducing ASP.NET vNext - A tour of the new ASP.NET platform
Introducing ASP.NET vNext - A tour of the new ASP.NET platformIntroducing ASP.NET vNext - A tour of the new ASP.NET platform
Introducing ASP.NET vNext - A tour of the new ASP.NET platform
 
Alfresco 5.0 Technology Review
Alfresco 5.0 Technology ReviewAlfresco 5.0 Technology Review
Alfresco 5.0 Technology Review
 
Intro To Alfresco Part 1
Intro To Alfresco Part 1Intro To Alfresco Part 1
Intro To Alfresco Part 1
 
Advanced WCF Workshop
Advanced WCF WorkshopAdvanced WCF Workshop
Advanced WCF Workshop
 
Server-side Java Programming
Server-side Java ProgrammingServer-side Java Programming
Server-side Java Programming
 
A Whirldwind Tour of ASP.NET 5
A Whirldwind Tour of ASP.NET 5A Whirldwind Tour of ASP.NET 5
A Whirldwind Tour of ASP.NET 5
 
Asp dot net final (1)
Asp dot net   final (1)Asp dot net   final (1)
Asp dot net final (1)
 
Community day 2013 applied architectures
Community day 2013   applied architecturesCommunity day 2013   applied architectures
Community day 2013 applied architectures
 
Intro to Alfresco for Developers
Intro to Alfresco for DevelopersIntro to Alfresco for Developers
Intro to Alfresco for Developers
 
Php Intro
Php IntroPhp Intro
Php Intro
 
Cloud Orchestration is Broken
Cloud Orchestration is BrokenCloud Orchestration is Broken
Cloud Orchestration is Broken
 
Intro To Alfresco Part 2
Intro To Alfresco Part 2Intro To Alfresco Part 2
Intro To Alfresco Part 2
 
Introduction to dot net framework by vaishali sahare [katkar]
Introduction to dot net framework by vaishali sahare [katkar]Introduction to dot net framework by vaishali sahare [katkar]
Introduction to dot net framework by vaishali sahare [katkar]
 
Alfresco Day Milano 2016 - Demo Data
Alfresco Day Milano 2016 - Demo DataAlfresco Day Milano 2016 - Demo Data
Alfresco Day Milano 2016 - Demo Data
 
Intro To Alfresco Part 3
Intro To Alfresco Part 3Intro To Alfresco Part 3
Intro To Alfresco Part 3
 
Laravel 4 presentation
Laravel 4 presentationLaravel 4 presentation
Laravel 4 presentation
 
Performance Eye for the SQL Guy
Performance Eye for the SQL GuyPerformance Eye for the SQL Guy
Performance Eye for the SQL Guy
 

Destaque

Cincom Smalltalk Roadmap 2010
Cincom Smalltalk Roadmap 2010Cincom Smalltalk Roadmap 2010
Cincom Smalltalk Roadmap 2010ESUG
 
ESUG 2010 Welcome!
ESUG 2010 Welcome!ESUG 2010 Welcome!
ESUG 2010 Welcome!ESUG
 
Blogs and RSS – Trawling the Internet for Meaning
Blogs and RSS – Trawling the Internet for MeaningBlogs and RSS – Trawling the Internet for Meaning
Blogs and RSS – Trawling the Internet for MeaningESUG
 
Stable Squeak World Tour
Stable Squeak World TourStable Squeak World Tour
Stable Squeak World TourESUG
 
VAST 8.0
VAST 8.0VAST 8.0
VAST 8.0ESUG
 
Virtual Pair Programming
Virtual Pair ProgrammingVirtual Pair Programming
Virtual Pair ProgrammingESUG
 
Towards a Taxonomy of Unit Tests
Towards a Taxonomy of Unit Tests Towards a Taxonomy of Unit Tests
Towards a Taxonomy of Unit Tests ESUG
 
Cava := Eclipse asSmalltalkPlugin.
Cava := Eclipse asSmalltalkPlugin.Cava := Eclipse asSmalltalkPlugin.
Cava := Eclipse asSmalltalkPlugin.ESUG
 
The Object Repository - Pulling Objects out of the Ecosystem
The Object Repository - Pulling Objects out of the EcosystemThe Object Repository - Pulling Objects out of the Ecosystem
The Object Repository - Pulling Objects out of the EcosystemESUG
 

Destaque (9)

Cincom Smalltalk Roadmap 2010
Cincom Smalltalk Roadmap 2010Cincom Smalltalk Roadmap 2010
Cincom Smalltalk Roadmap 2010
 
ESUG 2010 Welcome!
ESUG 2010 Welcome!ESUG 2010 Welcome!
ESUG 2010 Welcome!
 
Blogs and RSS – Trawling the Internet for Meaning
Blogs and RSS – Trawling the Internet for MeaningBlogs and RSS – Trawling the Internet for Meaning
Blogs and RSS – Trawling the Internet for Meaning
 
Stable Squeak World Tour
Stable Squeak World TourStable Squeak World Tour
Stable Squeak World Tour
 
VAST 8.0
VAST 8.0VAST 8.0
VAST 8.0
 
Virtual Pair Programming
Virtual Pair ProgrammingVirtual Pair Programming
Virtual Pair Programming
 
Towards a Taxonomy of Unit Tests
Towards a Taxonomy of Unit Tests Towards a Taxonomy of Unit Tests
Towards a Taxonomy of Unit Tests
 
Cava := Eclipse asSmalltalkPlugin.
Cava := Eclipse asSmalltalkPlugin.Cava := Eclipse asSmalltalkPlugin.
Cava := Eclipse asSmalltalkPlugin.
 
The Object Repository - Pulling Objects out of the Ecosystem
The Object Repository - Pulling Objects out of the EcosystemThe Object Repository - Pulling Objects out of the Ecosystem
The Object Repository - Pulling Objects out of the Ecosystem
 

Semelhante a What's New in Cincom Smalltalk

Igalia Focus and Goals 2020 (2019 WebKit Contributors Meeting)
Igalia Focus and Goals 2020 (2019 WebKit Contributors Meeting)Igalia Focus and Goals 2020 (2019 WebKit Contributors Meeting)
Igalia Focus and Goals 2020 (2019 WebKit Contributors Meeting)Igalia
 
WebLogic Developer Experience and Java EE 6
WebLogic Developer Experience and Java EE 6WebLogic Developer Experience and Java EE 6
WebLogic Developer Experience and Java EE 6Jeffrey West
 
The Nuxeo Way: leveraging open source to build a world-class ECM platform
The Nuxeo Way: leveraging open source to build a world-class ECM platformThe Nuxeo Way: leveraging open source to build a world-class ECM platform
The Nuxeo Way: leveraging open source to build a world-class ECM platformNuxeo
 
Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6Ido Flatow
 
Why scala - executive overview
Why scala - executive overviewWhy scala - executive overview
Why scala - executive overviewRazvan Cojocaru
 
A Microsoft primer for PHP devs
A Microsoft primer for PHP devsA Microsoft primer for PHP devs
A Microsoft primer for PHP devsguest0a62e8
 
1 Win7 For Devs Fund Search
1 Win7 For Devs Fund Search1 Win7 For Devs Fund Search
1 Win7 For Devs Fund Searchllangit
 
Net framework
Net frameworkNet framework
Net frameworksumit1503
 
Emory Law School ITPC Presentation
Emory Law School ITPC PresentationEmory Law School ITPC Presentation
Emory Law School ITPC Presentationbenjamin.chapman
 
CSEUG introduction
CSEUG introductionCSEUG introduction
CSEUG introductionShapeBlue
 
Crossover
CrossoverCrossover
Crossoverszlwzl
 
Play Framework: The Basics
Play Framework: The BasicsPlay Framework: The Basics
Play Framework: The BasicsPhilip Langer
 
Programming in HTML5 With Java Script and CSS3
Programming in HTML5 With Java Script and CSS3Programming in HTML5 With Java Script and CSS3
Programming in HTML5 With Java Script and CSS3Testbells
 
Demystifying Containerization Principles for Data Scientists
Demystifying Containerization Principles for Data ScientistsDemystifying Containerization Principles for Data Scientists
Demystifying Containerization Principles for Data ScientistsDr Ganesh Iyer
 

Semelhante a What's New in Cincom Smalltalk (20)

Lotus Domino 8.5
Lotus Domino 8.5Lotus Domino 8.5
Lotus Domino 8.5
 
Igalia Focus and Goals 2020 (2019 WebKit Contributors Meeting)
Igalia Focus and Goals 2020 (2019 WebKit Contributors Meeting)Igalia Focus and Goals 2020 (2019 WebKit Contributors Meeting)
Igalia Focus and Goals 2020 (2019 WebKit Contributors Meeting)
 
WebLogic Developer Experience and Java EE 6
WebLogic Developer Experience and Java EE 6WebLogic Developer Experience and Java EE 6
WebLogic Developer Experience and Java EE 6
 
The Nuxeo Way: leveraging open source to build a world-class ECM platform
The Nuxeo Way: leveraging open source to build a world-class ECM platformThe Nuxeo Way: leveraging open source to build a world-class ECM platform
The Nuxeo Way: leveraging open source to build a world-class ECM platform
 
Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6
 
Why scala - executive overview
Why scala - executive overviewWhy scala - executive overview
Why scala - executive overview
 
A Microsoft primer for PHP devs
A Microsoft primer for PHP devsA Microsoft primer for PHP devs
A Microsoft primer for PHP devs
 
1 Win7 For Devs Fund Search
1 Win7 For Devs Fund Search1 Win7 For Devs Fund Search
1 Win7 For Devs Fund Search
 
Javantura Zagreb 2014 - Vaadin - Peter Lehto
Javantura Zagreb 2014 - Vaadin - Peter LehtoJavantura Zagreb 2014 - Vaadin - Peter Lehto
Javantura Zagreb 2014 - Vaadin - Peter Lehto
 
Net framework
Net frameworkNet framework
Net framework
 
Getting Started with ASP.NET vNext
Getting Started with ASP.NET vNextGetting Started with ASP.NET vNext
Getting Started with ASP.NET vNext
 
SunMicroSystems
SunMicroSystemsSunMicroSystems
SunMicroSystems
 
Os Mcmahan
Os McmahanOs Mcmahan
Os Mcmahan
 
Emory Law School ITPC Presentation
Emory Law School ITPC PresentationEmory Law School ITPC Presentation
Emory Law School ITPC Presentation
 
CSEUG introduction
CSEUG introductionCSEUG introduction
CSEUG introduction
 
Crossover
CrossoverCrossover
Crossover
 
Play Framework: The Basics
Play Framework: The BasicsPlay Framework: The Basics
Play Framework: The Basics
 
Sunstate
SunstateSunstate
Sunstate
 
Programming in HTML5 With Java Script and CSS3
Programming in HTML5 With Java Script and CSS3Programming in HTML5 With Java Script and CSS3
Programming in HTML5 With Java Script and CSS3
 
Demystifying Containerization Principles for Data Scientists
Demystifying Containerization Principles for Data ScientistsDemystifying Containerization Principles for Data Scientists
Demystifying Containerization Principles for Data Scientists
 

Mais de ESUG

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingESUG
 
Technical documentation support in Pharo
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in PharoESUG
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapESUG
 
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoESUG
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...ESUG
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsESUG
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6ESUG
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationESUG
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingESUG
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesESUG
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportESUG
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsESUG
 
Garbage Collector Tuning
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector TuningESUG
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseESUG
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FutureESUG
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the DebuggerESUG
 
Websockets for Fencing Score
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing ScoreESUG
 
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptESUG
 
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocESUG
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsESUG
 

Mais de ESUG (20)

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
 
Technical documentation support in Pharo
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in Pharo
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and Roadmap
 
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in Pharo
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience Report
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIs
 
Garbage Collector Tuning
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector Tuning
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the Debugger
 
Websockets for Fencing Score
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing Score
 
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
 
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design Mooc
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
 

Último

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 

Último (20)

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 

What's New in Cincom Smalltalk

  • 1. What’s New In Cincom Smalltalk Alan Knight (knight@acm.org) Cincom Systems of Canada
  • 2. About the Talk Some New and Interesting Stuff Things already shipping Things in the next release Longer term goals Non-technical items (consolidation, releasing) Both major features and selected smaller items Not nearly comprehensive Some technical detail
  • 3. ObjectStudio 8 Separate product Shipping now-ish Full Re-implementation ObjectStudio semantics ObjectStudio class libraries Native Widgets (Windows) Access to all VisualWorks facilities Greatly improved VM performance
  • 4. Object Studio 8 – Technical Challenges VM issues for native widgets Different semantics Methods, assigning to parameters, {} File-based Solutions Namespaces for classes Different compiler, and code rewriting Message rewriting, and code transformation
  • 5. ObjectStudio 8 – ObjectStudio Users Ability to use VisualWorks tools where they are an improvement Access to class libraries Web/Application Server Web Services and Networking Database VM performance Continuing Development
  • 6. ObjectStudio 8 – VisualWorks Users Native Widgets Vista certification pending COM and ActiveX support “Legacy” connects APPC EHLLAPI
  • 7. Virtual Machine Intel Mac OS X Support Shipped in 7.5 General Mac OS X Stability and Performance Improved in 7.5 Much continuing work Single threaded VM
  • 8. Mac OS X Virtual Machine Single Threaded VM Worse performance right now Better performance once optimized Much more stable Much easier interface to Mac system code
  • 9. Virtual Machine VM as DLL Smalltalk doesn’t have to be in charge Detailed planning stages 64-bit stability and exploiting features E.g. hashing Socket and THAPI performance Meta-issues Source code control Consolidate platform-specific code Regression test suite
  • 10. Aside: Hashing Major rework of hashes Analyze existing hashes for better distribution String hash that takes into account all characters Single level hash for symbols Note: Hash Analysis Tool in public repository
  • 11. Widgetry Entirely new windowing framework In progress for a long time Version 1.0 shipping shortly “Service Pack” release Supported product
  • 12. Widgetry - Benefits Simpler, cleaner model “Wrapper” system not comprehensively updated for many years More functionality Better compatibility with other systems Easier to support native widgets (eventually)
  • 13. Widgetry - Issues Documentation not shipping with 1.0 Some web resources available No UIBuilder or migration support Tools migration slower than planned Suitable for Early adopters Those with sophisticated UI requirements that can’t be met with “Wrapper”
  • 14. Seaside Major new initiative Potentially significant opening in web development space J2EE, .NET, Web Services extremely heavyweight Lighter frameworks, esp. Ruby on Rails Outreach to non-Smalltalk developers We can do better
  • 15. Seaside - Web Already a working VisualWorks port Michel Bany Integration with VisualWorks Access to facilities Supported Cleaner portability Simpler underlying layer – fewer choices Easy to use out of the box
  • 16. Seaside - Technical Running on Opentalk-HTTP Opentalk General distributed programming and network protocol support Basis for e.g. Web Services, CORBA Kept strongly in sync with Squeak version Tools for supporting easier interchange Relational Database support
  • 17. Aside: Networking improvements Much better support for streaming large content HTTP Serving Mail messages (SMTP, POP, IMAP) Improved mail support in general Firewall/NAT improvements
  • 18. Seaside - Database Be able to use Relational DBs easily Connectivity - MySQL support Parallels Ruby on Rails “ActiveRecord” Uses Glorp as underlying mapping layer Automatic for simple schemas Be able to use database information Scale up to more complex schemas Better performance Much more about this tomorrow
  • 19. Deployment Make it much easier Various Runtime Packager improvements Make Runtime Packager less necessary Move functionality into base, be dynamic » Headless » Runtime » Error Logging Smaller base image Alternative ways of running code
  • 20. Scripting Do more without requiring the environment One liners from the command line Write scripts in files Entire programs in files Scripting extensions System more tolerant of headless mode Standard I/O Experimental Phases “Scripting Support” in public repository
  • 21. Internationalization Everything should work, regardless of locale and character set. Areas Character display/fonts Character input Filesystems Mac OS X input manager Only Mac OS 9 right now Current Windows “Unicode Support”
  • 22. Store – Shadow Compilation Shadow compilation “Atomic loading” Shipping in 7.5, but turned off Can’t yet load everything » Method order dependency » Custom compilers » Semantics of the code (e.g. system overrides)
  • 23. Store (7.5) Merge tool UI overhaul MSAccess officially supported StoreForMSAccess Logging Records what was loaded from the database By a 7.5 or later client Table TW_LoadRecord Overrides within Bundles Setting – required for ObjectStudio 8
  • 24. DLL/CC Major overhaul Still in early stages Entirely new parser (SMACC based) Lighter weight Get rid of the strange classes Loading/saving issues Examining C++ connectivity options
  • 25. DLL/CC - #linkedIn Small, but interesting, in 7.5 If the library name is #linkedIn, it looks for the library in the current executable. Very useful for e.g. libc functions
  • 26. Some small items Dependents, events, removed from base collections (7.5) They aren’t supported anyway Large performance increase Avoids bottleneck Databases ODBC connection pooling, charsets Oracle scrollable cursors
  • 27. More smaller items Gecko support for web browser plugin (preview, mostly because of doc) Many COM connect improvements UUID generation Announcements / and as Filename messages #any, #sort, #sorted Splash screen off by default
  • 28. Upcoming Many browser and tool improvements See Travis for details DefaultPackageNamespaces Set a package’s #namespace property Class extensions are compiled in that namespace The “inspect” problem.