Cincom Smalltalk Digest: April Edition
Welcome to the April 2021 edition of the Cincom Smalltalk™ Digest. In this month’s exciting newsletter, you will find the following:
CUSTOMERS and PARTNERS
- BREAKING NEWS: Cincom® ObjectStudio® 9.1 and Cincom® VisualWorks® 9.1 Are Here!
- Customers and Partners, We’re Listening
BEGINNERS, FREELANCERS and DEVELOPERS
- What Is the REV 9.1 Program?
- Starting from Scratch: How Do You Communicate in Object-Oriented Programming?
- How Can You Organize Your Applications with Tabs?
- What Developer Events Are Coming Up?
- Looking for Cincom Smalltalk Resources?
CUSTOMERS and PARTNERS
BREAKING NEWS: Cincom ObjectStudio 9.1 and Cincom VisualWorks 9.1 Are Here!
We are proud to announce to our customers and partners, Cincom Smalltalk Version 9.1. The current releases of Cincom ObjectStudio 9.1 and Cincom VisualWorks 9.1 are major releases.
The 9.x series began our path to move the products closer together, with the intent of offering the best tools and solutions. This allows, for example, VisualWorks users to use the native Windows widgets and the modeling and mapping tools of ObjectStudio and gives ObjectStudio users the opportunity to move applications cross-platform.
Version 9.1 continues to improve and enhance infrastructure, such as in GUI and TLS/Security areas, to allow continued future improvements while keeping API capability.
Where Can I Get This Release?
We’re pleased to offer our valued customers and partners this opportunity to request the release of Cincom Smalltalk 9.1 through our Customer Product Request Form.
NOTE: Should you have any questions or problems accessing the request form above, please contact your Sales Account Manager or Cincom Smalltalk Support.
What’s in This Release?
Some Foundation (common product base) improvements for Version 9.1 include:
- TLS external encryption plugin enhancements
- TLS encryption certificate API
- MatriX multi-core framework now supported
- MySQL API JSON support
- SiouX web server secure connections with TLS
- Platform updates
- ObjectStudio Next-Generation User Interface
Data Visualization demo (COVID-19)
- ObjectStudio TrendBarCharts
- ObjectStudio Floating data info display (such as tooltips)
- GUI infrastructure work for VisualWorks and tools
Recent improvements also include:
- HTTP/2 support
- New DITA-based help system
To learn more about these new releases, please see the product release notes. The release notes contain new feature descriptions and descriptions of the ARs and support resolutions that were addressed.
If we can assist you in any way, please contact the Cincom Smalltalk Product Team here.
Interested in receiving monthly updates on patches for Cincom Smalltalk? Subscribe to the Cincom Smalltalk Resolutions newsletter.
Customers and Partners, We’re Listening
Thank you for being a valued customer or partner of Cincom Smalltalk. As a customer or partner, do you know about the Cincom Smalltalk Resolutions Newsletter? This exclusive, subscription-only publication was created over a decade ago for customers and partners only and gives subscribers an easy way to scan through the resolutions that were delivered for Cincom Smalltalk during the previous month.
Over the years, feedback from customers and partners like you has allowed us to refine the newsletter into what it is today. After regular feedback from readers, our product marketing team stepped in to add more information for those requesting an easier way to track the happenings with Cincom and Cincom Smalltalk. Of course, we never want to distract from the original purpose of the Resolutions Newsletter, so product marketing adds top stories, technical and developer events, tips and techniques and other important web links. These links help you navigate our expansive website and give you ways to get in touch with our developers and product team.
If you haven’t subscribed yet to the Cincom Smalltalk Resolutions Newsletter and are an active customer or partner, you can subscribe with your customer number here: http://www.cincomsmalltalk.com/main/users/support/customer-submission-for-cincom-smalltalk-resolutions/
The refinements mentioned above are one example of how we listen to our customers and partners. Listening and responding are two important factors in providing a great customer and partner experience. Those conversations are valuable, not just to Cincom and Cincom Smalltalk, but also to our customers and partners, because it lets you have a voice and be heard. Conversations are not one-sided. It’s a continual dialog between our team and you, as we build a relationship that helps us see the unique perspective found in your requests. This provides a better understanding of your needs and likewise our product and communication direction.
Conversations with customers and partners help to guide our product direction and improve aspects of our messaging to better serve our customers and partners. For example, some have requested things like OAuth authentication and Opentalk STST improvements, and we have delivered those in the product. Recently, several customers requested a new and improved date widget in the product. As a result, the DatePicker was created, and product management supplied instructions on where to find it and multiple ways to integrate it into their applications through a series of Hidden Gems screencasts which we listed here in the March edition of the Cincom Smalltalk Digest.
We’re always here to listen, learn from you and support your needs where possible. Do you have any feedback for our team? What are we doing right? What are we doing wrong? What could we do better? Are there other ways we can share information with you? Where do you get your information from? Perhaps there are websites, forums or social-media sites that we currently don’t subscribe to that you could share with us.
We value your input and want to make sure you know how to get in touch with us. Please send your comments or suggestions to the Cincom Smalltalk Product Team at CSSTARTeam@cincom.com.
BEGINNERS, FREELANCERS and DEVELOPERS
In this section, beginners to Smalltalk, freelancers and developers will read informative articles and see specific Smalltalk examples to help users learn new skills or enhance existing skills using Cincom Smalltalk.
What Is the REV 9.1 Program?
We mentioned earlier that Cincom Smalltalk 9.1 is now available for customers and partners. For those who are not a customer or partner but want to experience all the upgrades the new release offers, we have an option available for you … the Cincom Smalltalk REV 9.1 Program!
The REV 9.1 Program is a bridge between the Personal Use License and full licensing. It allows for an affordable entry into the Cincom platform, providing both the full product (the current release of Cincom Smalltalk Version 9.1) and full support for a one-year/12-month time period. REV 9.1 Program participants also have access to Cincom marketing and branding through the Cincom Smalltalk Partner Promotion Program that can help with the kickoff of their application or business.
Here’s how you begin:
- Step One:
Listen as Suzanne discusses the REV Program and the benefits a user receives by becoming a partner with Cincom here.
- Step Two:
Contact our product team for purchasing options and a passcode, as there are some restrictions. Check to see if the product is available to you by emailing the Cincom Smalltalk Product Team.
If you are not ready to make this modest investment for the REV 9.1 Program, but are still interested in trying out Cincom Smalltalk, the Personal Use License (PUL) is just for you. Cincom Smalltalk 9.1 is not currently available for the PUL, and the availability date has not been determined. However, the PUL is ideal for developers who are looking to sharpen their skills through a new developer tool.
With Cincom being a leading provider of commercial Smalltalk, the PUL also presents an opportunity for existing Smalltalkers to build their businesses and partner with a global commercial company. Regardless of the reason, the PUL allows the freedom for users to evaluate our products before realizing that Cincom Smalltalk is the right fit for their business or project needs.
How do you begin this process?
- Step One:
Listen as Suzanne Fortman, the Cincom Smalltalk Program Director and Engineering Manager, discusses the value you can create using Cincom Smalltalk here.
- Step Two:
Click hereto start exploring Cincom Smalltalk and all that it can do for you.
Starting from Scratch: How Do You Communicate in Object-Oriented Programming?
In the following article, Jeremy Jordan, the Marketing Manager for Cincom Smalltalk, shares more about his first experience with object-oriented programming:
“Recently, I had an opportunity to try my hand at programming in Smalltalk. I’ve never programmed in my life, so this opportunity was both exciting and intimidating. Thankfully, one of our Cincom Smalltalk engineers recommended that I read the ‘Smalltalk User Guide’ found in Cincom ObjectStudio, which was a game-changer for me. After reading through some of this document, I finally understood what object-oriented programming represented, at least from a high level. Although this may be second nature to seasoned Smalltalkers, I would like to share another segment of snippets that I learned.”
The topics that follow provide a brief overview of the object-oriented principles that underlie Smalltalk programming. This section is all about communication, as we learn the definition of an object and how objects communicate. You will see that objects are used to model real-world entities, and that they have behavior and responsibilities.
An object is a combination of:
- Some data elements
- Operations that manipulate the data and/or perform other actions
In other contexts, these data elements are called “fields” or “attributes.” In Smalltalk, the data elements are called “instance variables.” There are also other kinds of variables such as class variables, global variables and temporary variables.
Operations that manipulate the data and/or perform other actions are the interface or behavior of the object. In Smalltalk, each individual procedure is called a method.
An object’s data elements are private to the object, and you cannot access them directly from outside the object. Instead, you must send a message to the object, asking for information. It is as if there is a wall between you and the data—you cannot see the data directly, but can only gain information by talking to the object and getting a response. For example, to determine the height of the man, you cannot just look at him (or read his mind); you must ask him: “What is your height?”
This is called sending a message to the man. In Smalltalk, all programs are written by sending messages to objects. If the object understands the message, it will perform one of its methods and respond with an answer. If the object does not understand the message, it will tell you so. In Smalltalk, you write the pictured message as:
aMan is the object and whatIsYourHeight is the message.
Notice that the message, whatIsYourHeight, is passed to the object, aMan. In more traditional languages, you pass data to functions.
The only access to an object’s data elements is through messages. This is a very important object-oriented principle called “encapsulation.” Encapsulation is useful because it decouples the behavior of the object from its internal implementation.
In the preceding object example, you do not care how the man calculates his height. He may know his height immediately. Or, he may have to measure himself each time. Or, he may have to ask his mother. The point of encapsulation is that you should not need to find out which method he uses.
Here are some other examples:
- DatabaseTable object would have insert, update and delete messages as its interface, but the internal representation could be anything we want—a tree, a flat file, a hash table and so on.
- A Float object. Do you know or care what the internal implementation of a float is? Or the implementation difference between an 8-byte float and a 4-byte float? Probably not. All you care about is the behavior of the float, not its implementation.
This separation of the interface from implementation greatly improves the reusability and maintainability of the design. Indeed, the encapsulation principle is also stressed strongly in structured programming.
With object-oriented programming, users are learning a programming language and a new way of thinking. When learning a new language of any kind, Linguist.com says, “You need to experience a language through lots of exposure before you can hope to learn it.” The same is true for object-oriented programming. The best way to learn OOP is to learn by immersing yourself in an environment, like Smalltalk, where you use objects all of the time.
How Can You Organize Your Applications with Tabs?
Arden Thomas, the Cincom Smalltalk Product Manager, started the Hidden Gems screencast to give specific Smalltalk examples to other developers. Arden crafted this video series to share these examples, shortcuts, tips and techniques that might make it easier for other developers.
Would you like to place your applications in Cincom VisualWorks (or tools in ObjectStudio and VisualWorks) in tabs? Beginning with Cincom Smalltalk 9.1, we make tabs simple. In this month’s new Hidden Gems screencast, Arden gives the viewer a sneak-peek into using tabs in Cincom VisualWorks 9.1 .
In this screencast, you will learn:
- What TabbedWindow is
- Where to find it
- Where to find documentation
- How to use it
- Where examples are located
This screencast is part of the Techniques Series, which shows various techniques of how to accomplish or solve different tasks such as automating image build to creating a custom parser.
If you have questions, comments, ideas for other Smalltalk examples or suggestions for future Hidden Gems, please send an email to the Cincom Smalltalk Product Team at CSSTARTeam@cincom.com.
What Developer Events Are Coming Up?
Please take note of these future meetings and their medium for delivery:
- May 12, 2021 (virtual) – California Smalltalkers Meetup
- May 26, 2021 (virtual) — UK Smalltalk User Group Meetup
- October 17-22, 2021 (Chicago, Illinois) – SPLASH 2021 (ACM SIGPLAN conference on Systems, Programming, Languages, and Applications: Software for Humanity)
Will also be co-located and co-hosting (online) the following conferences and symposiums:
- OOPSLA 2021 (Object-Oriented Programming Systems, Languages and Applications)
- APLAS 2021 (Asian Symposium on Programming Languages and Systems)
- DLS 2021 (Dynamic Languages Symposium)
- GPCE 2021 (Generative Programming: Concepts & Experiences)
- SAS 2021 (Static Analysis Symposium)
- SLE 2021 (Software Language Engineering)
You can monitor other future meetups and conferences as well as any changes to their scheduling on our Events page here.
Looking for Cincom Smalltalk Resources?
We have our customer, partner and user resources, programs and product information listed here.
- Customer Product Request Form
- The Cincom Discovery Zone for Customer and Partner Services
- Product Upgrades
- Performance Enhancements
- Proofs of Concept
- Customer Support
- Cincom SupportWeb®
- Cincom Smalltalk Resolutions Portal
- Customer Education Services
- Cincom Smalltalk Store Repository
- Contributed Components
- To help developers find, understand, appreciate and utilize your contributed work, please use the guidelines for the final documentation of your contributed work here.
- If you have created something you think would be of value and interest to other Smalltalk developers or could help attract new users to Smalltalk, please apply with the new Contributed Application Form here.
- Reserved NameSpaces
- Our customer, partner and developer programs
- Links to participate in product management mini surveys
- Cincom Smalltalk Resolutions – Subscriber-based, Support-led, monthly newsletter to customers.
- Social Media:
- Product Tutorials – As new users begin their journeys with Cincom Smalltalk, it’s important to know where to start and have a helpful guide along the way. That’s why we’ve put together a comprehensive list of online video tutorials that help beginners use our products right away. Cincom Smalltalk product tutorials give examples with live coding and are designed to help users become productive with the Cincom Smalltalk suite of products. Our tutorials are divided into three sections:
- Common Tools – Many of the tools used for development in Cincom ObjectStudio and Cincom VisualWorks are now commonly shared through the Cincom Smalltalk Foundation, making some of our tutorials applicable for either product.
- Cincom ObjectStudio – These tutorials demonstrate various steps in the installation and first usage of ObjectStudio. ObjectStudio is an ideal solution for developing custom applications for Windows®. Known as the “business person’s thinking tool” and based on the powerful Smalltalk language, ObjectStudio provides a powerhouse development environment, which is necessary to create innovative applications that capture complex business models and processes.
- Cincom VisualWorks – Similar to the ObjectStudio videos, these tutorials demonstrate various steps in the installation and first usage of VisualWorks. VisualWorks is the premiere Smalltalk environment and is an ideal solution for enterprise-class, multilingual, cross-platform application development and allows users to build with superior development tools.
- Hidden Gems Screencasts – Screencasts that are tips and tricks of using Cincom Smalltalk, demonstrating how to be successful with our products.
- Tools Series – The Tools Series explores some tools and product features that developers should find useful.
- Techniques Series – The Technique Series shows various techniques of how to accomplish or solve different tasks such as automating image build to creating a custom parser.
- ValueModel Series – The ValueModel Series shows the principles, capabilities and use of the powerful ValueModel framework.
- DomainMaster Series – The DomainMaster Series introduces an application framework that leverages the principles of the ValueModel to make application development easier, faster, capable and reliable.
- Persistence Series – The Persistence Series shows multiple techniques of how to save and load objects to disk, where using a full database might be overkill or unwieldy.
- Collections Series – The Collection Series shows some lesser-known collections that may be beneficial for your collections toolbox.
- Frequently Asked Questions (How Do I … ?) – A knowledge base of questions that our Product Team gets asked most often. Most of these questions start with, “How do I … ?” so we labeled this area the “How Do I … ?” section. It is filled with questions from a variety of subjects about our products—from installation to specific uses in different platforms.
Reach out to the Cincom Smalltalk Product Team at CSSTARTeam@cincom.com if you have any further questions or comments.