Largest Provider of Commercial Smalltalk
Cincom is one of the largest commercial providers of Smalltalk, with twice as many customers and partners as other commercial providers.

Tom Nies

Get Started

What Are Pragmas and How Can They Make You More Productive?

Posted on in Categories Cincom Smalltalk, Hidden Gems

Smalltalk Examples with Hidden Gem Screencasts

What is Pragma in Object Oriented Programming? 

A “pragma” allows you to annotate a method with declarative metadata. 

In simple terms, in object-oriented programming, a pragma is a special instruction or note for the compiler or the programmer. It’s not part of the main code but provides additional information or guidance on how the code should be handled. For example, it might instruct the compiler to optimize certain parts of the code or to check for specific conditions. You can think of it as a way to fine-tune or give extra hints about how the code should be processed. 

What is Pragma Once? 

`#pragma once` is a special instruction used in programming to ensure that a header file is only included once during the compilation process. So, what does pragma once do? It prevents issues from arising including the same file multiple times, which can lead to errors or unnecessary increases in compile time. It’s a way to ensure that each file’s content is processed just one time, regardless of how many times it is referenced in the code. 

Enhancing Productivity with Pragmas 

In this year-end edition of the Digest, we’ve given several examples of how Cincom Smalltalk helps customers, partners and users with productivity in their software development. Another way to be productive with Cincom Smalltalk is through pragmas. 

The idea for this screencast came when a Cincom Smalltalk engineer suggested a Hidden Gems on “pragmas,” which was the seed idea. That idea was enhanced with the thought regarding productivity and wanting to show a practical use of pragmas, combined with wanting a faster way to launch browser subsets that are frequently used in development. A “pragma” allows you to annotate a method with declarative metadata. 

Key Highlights from the Hidden Gems Screencast 

In this Hidden Gems screencast, we: 

  1. Shared what pragmas are 
  1. Built some productivity tools and made them available in the launcher using pragmas 
  1. Gave some other tool tips (GHPragmaSender, a tool in Contributed Components on our website): 
  • GHPragmaSender allows you to search for senders and implementers of pragmas, just as you do with methods. 

Watch this Hidden Gem here: Hidden Gems Practical Pragmas and Productivity

Related Series and Techniques 

This screencast is part of the Hidden Gems Tools Series, which looks at some tools and product features that developers might find useful. Furthermore, this screencast is part of the Techniques Series, which demonstrates various techniques for accomplishing or solving various tasks ranging from automating image build to creating a custom parser.