Re: Digital Twin applied to Software
Aik-Siong Koh <[email protected]> Sun, 6 Nov 2022 19:57:32 -0700
| Newsgroups | gmane.comp.lang.smalltalk.vwnc |
|---|---|
| Message-ID | <[email protected]> |
Andre: You understand my Digital Twin idea perfectly. Your statement sums it all: "The ideal case for using both languages together might be to explore uncharted terrain with Smalltalk and port to C++ after a sound architecture has settled." Anyone doing this systematically? How to promote Digital Twin? How to turn this Smalltalk advantage into a business? I am applying idea to Pharo and OpenCascade to create Digital Twins of CAD software. Any feedback or interest would be greatly appreciated. All the best, Aik-Siong andre wrote: > I like the idea of bridging Smalltalk with C++. I am using both for decades. > > Smalltalk and C++ however have very little in common. While porting is possible, there is no straightforward mapping between the languages, neither syntactically nor semantically. > > They do not even serve the same purpose. Smalltalk is great for incremental in-house development, prototyping and exploration. That's where its productivity advantage really shines. > > C++ is great for systems programming and mass deployment of end user products. Downside is you need to have a clear architecture and a plan before you start. > > C++ isn't only about speed. Its main benefits are encapsulation, type safety, transitive immutability, paradigms like construction/destruction, RAII and multiple inheritance. Type mistakes and DNU/MNU are caught at compile time, which makes sweeping changes to large existing systems safer and easier: If it compiles, you know you didn't forget something. Encapsulation and immutability ensure you don't start building stuff that won't work further down the road. Thanks to constructor/destructor logic, broken or half-baked objects can't even exist. All this gives piece of mind when you deploy to a huge user base. > > Smalltalk doesn't need this level of control, as it would impede its dynamic strengths and comfortable development. In small B2B environments, DNU/MNU can be fixed without making much noise. > > The ideal case for using both languages together might be to explore uncharted terrain with Smalltalk and port to C++ after a sound architecture has settled. For most in-house and incremental projects, this point may never come, or the benefits of C++ would not add much value. It really depends on the nature of a project. > > Just my 2 ct. > > Andre > >