Comments are essential in a developer’s life. When we work on a new feature, we often add comments that are reminders. For example:
- to validate a part of code with a colleague,
- to refactor a function,
- to fix code that is slowing down the performance,
- to split a method or a class into sections,
- to prepare the skeleton of a class and add a todo comment inside each function.
Even if you write some straightforward code, try reading it months or years later. Will it still seem simple, or would you wish you’d added comments?
4D v19 R4 takes comments to a whole new level with comment tags that enables you to better organize your comments.
It’s sometimes helpful to monitor 4D licenses on your server. That’s why with 4D v19 R4, we decided to provide you with a new command giving all the information about your license usage: Get License Usage. Let me introduce you to this new tool.
Auto-completion for classes is available since 4D v18 R4. This feature simplifies code writing and limits errors in function names, for example. But it doesn’t avoid them entirely; it’s easy to reverse two letters or to forget a capital letter, and then have to spend time looking for why your code doesn’t work.
So what better way than to ask 4D to check if the classes or functions already exist?
Starting with 4D v19 R4, a warning is displayed in the code editor if you call a function that does not exist.
Sometimes you have to run processes in the background, and as soon as one finishes, perform some actions according to its exit code. From the v19 R4, 4D allows you to start a process in the background with the new 4D.SystemWorker class and execute callback methods automatically when the process returns information. This way, your application UI stays responsive during the execution of the external process, and when finished, you can display the result to the user right away!
Do you dream of using short-circuit evaluation, ternary operators, breaking free from a loop, or exiting from a method with a simple keyword?
Well, dream no more! We listened and kept an eye on your feature requests from the 4D Forum, so here comes a set of 4D language improvements that will help you simplify your code.
Creating reports or spreadsheets from existing templates speeds up development. Starting with 4D v19 R4, copy and paste actions can now be performed using code that copies a range of cells from another location (including other areas).
4D Write Pro makes it easy to create complex documents. Display and layout attributes can be applied to different parts of the documents, whether they are text, images, or tables. Speaking of tables, they benefit from a new property to better define the layout! Let’s see what 4D v19 R4 has in store for you.
When you create a new field in your database, 4D allows you to choose to map NULL value to blank values or not. Starting from 4D v19 R4, in new projects, 4D will no longer by default map the NULL value to an empty value.
4D v19 R4 is shipped with a new ORDA concept: Aliases. They are the logical and complementary continuation of computed attributes.
This blog post explains what aliases are and highlights their advantages, especially when to use one or the other… or both.
Classes were introduced with 4D v18 R3. They allow you to organize your business logic and separate it from the UI part more quickly.
Classes are composed of several functions of varying lengths, so it’s not always easy to find the function you want to modify, or to move from one function to another. You can use the explorer, which displays classes and functions, but when you’re coding in the editor window, you don’t want to waste time changing windows.
With 4D v19 R4, the list of functions in your class is displayed in the code editor toolbar, allowing you to easily jump to a specific function.