Smalltalk Digest: March Edition
Welcome to the March 2018 edition of the Cincom Smalltalk™ Digest. In this edition, Arden Thomas continues his DomainMaster Hidden Gems series and David Buck explains why he chose Cincom Smalltalk for his mobile app development and why garbage collection matters.
How to Be the Master of Your Domain
Contribution from Arden Thomas, Cincom Smalltalk Product Manager
This month continues with the new series on DomainMaster that I think you will find very valuable.
DomainMaster is a framework that supports modular application construction and reuse. This month begins with a brief recap of Patterns 1, 2 and 3 introduced last time, then follows with another example of modular application reuse with minimal code.
If you have any questions, please send them or other comments and suggestions to firstname.lastname@example.org. Thanks!
Mobile App Development for Apple® Products and Android™ Using Cincom Smalltalk
In Forrester’s, Build Mobile Experiences That Drive Engagement, Forrester Research, Inc., June 20, 2017, Jeffrey S. Hammond and Michael Facemire summarize:
“The mobile mind shift is driving businesses’ customers and stakeholders to expect (and demand) support for a wide variety of smartphones and tablets. But for application development and delivery pros, building mobile experiences is different from building websites or traditional client/server applications. It’s not just the technologies that are different―development processes need to be faster and produce higher-quality experiences to meet higher expectations.”
Cincom Smalltalk users frequently talk about how fast their development processes are. In fact, David Buck of Simberon, Inc., a North American-based company that specializes in Smalltalk application development, said,
“Of course, I would choose the best tool available. Cincom Smalltalk is the framework for the mobile game because it’s the best environment to use for fast and easy development. It allows me to develop new mobile apps more quickly and make changes faster than I could otherwise.”
As for expectations from his mobile app development experience, Buck said,
“Having used Cincom Smalltalk for years, I knew exactly what to expect from it: rapid development, mature and powerful tools and integrated version control. Cincom Smalltalk delivered on all of these expectations.”
What is HexSolve?
In the game, you slide numbered hexagonal tiles around on a board. If you make a chain of consecutive numbers, the highest-numbered tile increments and the remaining tiles disappear. One or more tiles are marked as “targets.” The goal of the game is to advance or eliminate all of the target tiles. There are many puzzle games in the mobile marketplace. However, according to Buck,
“By providing the game for iPhone®, iPad®, iPod touch® and for Android, we have access to a market of over 1.5 billion mobile devices. Now that we’ve proven the technology with HexSolve, we’re using the same framework to build other games.”
Try it for yourself!
Why Use Cincom Smalltalk?
When asked why Simberon chose Cincom Smalltalk for mobile app development, Buck said,
“It wasn’t a difficult choice! We did a few initial tests with Java and C; however, Java code isn’t portable to iOS, and C code was much too difficult for complex applications. We really needed a better cross-platform development environment and automatic garbage collection. Cincom Smalltalk was the best tool for the game.”
In making HexSolve, Buck used the development environment of Cincom® VisualWorks® including:
- The browsers
- The inspectors
- The debugger
- The compiler
- Store (for version control)
For the runtime, the bytecodes were generated by the VisualWorks compiler.
The reason for using VisualWorks for any project is that the VisualWorks development environment makes it easier to develop software. The tools listed above fit nicely into a development environment that allows you to see what’s going on in the system even when things get complicated while also giving you the tools to simplify complicated code into simple code.
“VisualWorks, more than any other development environment, lets the developer explore, interact with, and modify code with such ease that developers in other languages can’t even understand what they’re missing. It’s like trying to explain virtual reality games to someone who has only experienced handheld games. It’s something you need to experience to appreciate. Pharo and other Smalltalks have a similar feel, but I believe that VisualWorks is the best.”
Why Become a Cincom Smalltalk Customer through the Online License?
“I was chatting with Suzanne Fortman before the OOPLUCON conference and asked how Simberon could get Cincom support for the mobile game I was developing when it was far too early at that time to negotiate a VAR license. She suggested the new REV Program, so I decided to purchase it right away.”
Why Does Garbage Collection Matter?
Contribution from David Buck
Life is too short for developers to be worried about freeing memory. The C programming language has no garbage collector, so when you allocate space, the developer is responsible for knowing when to free it. Without garbage collection, developers need to have conventions to track who is responsible for freeing allocated memory. These conventions are difficult to follow, and any problems lead to either memory leaks (you forget to free space) or bad pointers (you freed space that was actually still being used). Developers in these languages often resort to other memory management techniques to avoid allocating memory and running into these problems.
Smalltalk has always used automatic garbage collection. It eliminates the problems of memory leaks and bad pointers. A good garbage collector (such as the generation scavengers used by Smalltalk) will speed up memory allocation as well.
Developers are no longer worried about allocating memory and doing things the right way. Java does use a generation scavenger, but Objective C uses a more primitive technique called reference counting.
Bottom line: Automatic garbage collection simplifies development and eliminates two categories of bugs that are hard to track down and fix.
Are You Ready to Take Your Business to the Next Level?
Just like David Buck in the user story above, you have an opportunity to use Cincom Smalltalk to grow your business. Here is a valuable opportunity to partner with us, be innovative and rev up your business to the next level using Cincom Smalltalk! Join the Rev Program―a quick, easy way to partner with us and grow your business with a limited Value Added License Agreement. At only $500, it’s a great investment that could pay big dividends as you grow your business. Plus, this program gives you all the benefits of being a customer with us.
Don’t let another day go by. Let’s grow your business together:
“How Do I … ?” Frequently Asked Questions
The Cincom Smalltalk Product Team fields questions from partners, customers and users of Cincom Smalltalk about a number of topics concerning our products. Some of these include topics about customer orders, product installation and website navigation among others. In order to provide a better user experience, we have created a “How Do I … ?” frequently asked questions knowledge base on our website. This new forum will allow us to build out these questions in a more organized way and provide answers that are searchable and categorized for ease of use. We’ve also provided a way for anyone to ask the Product Team a new question that may not be on the list for inclusion into the knowledge base.
To check out the growing archive of these questions, click here.
Our Customer Portal has links to all the important information our partners and customers need. Here’s a quick guide:
- Customer Product Request Form – For customers and partners with a valid customer number.
- Frequently Asked Questions (FAQs)
- Cincom Professional Services – Get more information on product upgrades, mentoring, troubleshooting, performance enhancements, migrations and more.
- Customer Support
- Education Services
Here’s a quick guide to the popular resources we have available on our website:
- Common Tools Tutorials
- Cincom® ObjectStudio® Tutorials
- Cincom VisualWorks Tutorials
- Cincom Smalltalk Presentations
- Cincom Smalltalk Videos
- Public Store Repository
- Contributed Components
- Reserved NameSpaces
- March 26, 2018 — UK Smalltalk User Group (London, UK)
- April 2, 2018 — Lübeck Smalltalker Meeting (Lübeck, Germany)
- April 9-12, 2018 — ‹Programming› 2018 (Nice, France)
- April 9-13, 2018 — ACM Symposium on Applied Computing (SAC) 2018 (Pau, France)
- April 30, 2018 — UK Smalltalk User Group (London, UK)