📜 ⬆️ ⬇️

Dolphin Smalltalk 7 is released under open source license MIT

Counter from the Getting Started page at the time of publication
Counter from the Getting Started page at the time of publication

From minute to minute, what has been expected by so many, including myself, will happen. Namely: the company ObjectArts fully opens the source code and releases the language and development environment of Dolphin Smalltalk under an open-source MIT license !

about the project


DolphinSmalltalk is a development environment in its own Smalltalk dialect for Windows. The key features are tight integration with native widgets and operating system subsystems, including COM and ActiveX, and a nice looking design.
')
For a long time, Dolphin Smalltalk was available in two versions: shareware limited edition (community edition) and a paid package for professional development. The latter gave access to all functions, including advanced editors and the publication of applications in standalone mode, but cost about four hundred dollars, which, for obvious reasons, did not suit everyone.

It seems that the company still thought better of it (or there was nothing to lose) and decided to release the software into the wild. Under the cut is a brief description of the development environment and reflections on the open source future of Dolphin Smalltalk.


Development Environment Features


Almost any Smalltalk dialect provides features that are now considered the “gentleman's set” of any modern IDE. Dolphin Smalltalk is no exception.

The IDE provides both the usual features, like code assist, code navigation and the built-in debugger, as well as tools specific to Smalltalk: SUnit test support, application publication management (packaging, cutting extra classes), WYSIWYG interface editor, and more. I like the ability to search the entire contents of the project, including classes, methods and comments, available in the toolbar of any window.

Navigation

Dealing with unfamiliar code in traditional languages, we open source files and read them in a row. Smalltalk is organized somewhat differently. Instead of a sheet of source code, we have a hierarchy of classes and lists of their methods. Considerable time is spent precisely in studying the class hierarchy, which in Dolphin is represented by a rather neat Class Browser.

Debugging

Debugging dynamic languages ​​has always been easier than painstaking work with crash dumps. In Smalltalk, this is a higher level. When debugging an application, we can not only observe each step of the program, but also interact with objects in a dialog mode. In addition to total introspection of the program, Dolphin provides the ability to literally poke into any window element and instantly get all its properties and contents in the inspector window.

It often happens that when writing a program, many methods have to be filled out with stubs, since there is not enough time for everything. If in the course of executing a traditional program, the control reaches a stub, then we just have to output the message to the log or fall out on the assertion, if further program execution is impossible.

In Smalltalk, we can “wave our fists after a fight”: when a virtual machine detects that it is necessary to call a method that is not in this class, the program is suspended, and the machine asks the programmer for further actions. In this place, we have the opportunity to define the method directly during the execution of the program and continue execution, as if nothing had happened. This can be very useful when the program is complex, and you have to work for a long time to fully reproduce the situation.

What will it give us, mere mortals?


If everything is really as stated, the community gets a great tool for rapid development and prototyping software under Windows. As a Linux user, I’m not very interested in developing for Windows. Nevertheless, I believe that this event can be used for their own purposes.

First of all, I would pay attention to the internal structure of the virtual machine, which by the way was considered very fast even in the days of Windows XP, although, as far as I know, they don’t use JIT.

If there is a technical possibility of porting Dolphin Smalltalk to other operating systems, you can expect the emergence of user-friendly smalltalk development environments. A large amount of code was written as part of OS integration. Other environments such as Pharo may be on hand.

Finally, a comfortable development environment with a lot of built-in documentation and a great illustrated tutorial can be useful for beginners and help develop the Smalltalk language itself.

In the comments please share your thoughts and suggestions.

UPD: The Dolphin and DolphinVM repositories appeared on the githaba .

And finally, a small survey:

Source: https://habr.com/ru/post/274289/


All Articles