I make sure to always stay clued in on the future of C#/.NET and C++. As its critical to my work
But I reserve a handful of other languages for just tinkering with, for filling in leaky holes, mundane tasks for friends and family and most importantly my shell language, I have a number of PowerShell's running at any time.
Some time ago I realised there comes a point where you can easily drop and pick up languages as needed by a situation.
This especially true for high level languages that are essentially following after Pythons (3+) expressions syntax, as well as its "battery included" design.
For example, if you know your way around Python, you can also pick up say AutoHotkey after reading its brief introductory page from the its documentation,
Concepts and Conventions.
So once you are familiar with
AutoHotkey operators then its simply a case of going from Python to AHK syntax:
- For assignments,
my_int = 5
to my_int := 5
- For comparison,
my_int == 5
to my_int = 5
- For ternary's,
new_int = 5 if my_int == 5 else 0
to new_int := my_int = 5 ? 5 : 0
- For concatenations,
my_str = "Hello " + "World"
to my_str = "Hello " . "World"
And so on. So in the end, things like data structures, RegEx, design, abstraction, logic etc etc is where its at.
I mean if my RegEx kang fu is weak or non-existent, than that is a large part of my string parsing capabilities culled.
I recently picked up Mel (Maya Embedded Language), which is an old language that is solely used for Autodesk's
Maya , so the default UI buttons, command processing etc etc are essentially just executing Mel code.
I picked up an old book,
MEL Scripting for Maya Animators (2005) and sure enough it was a smooth transitions, Mel is just a combination of the Unix shell style and expression syntax (its very old).
The following is an example of where I used Mel in VsCode, to create a polygon cube, then select it and smooth it (hence why its rounded)