Yep. Seems like my time is always limited. I have to allocate some time to learning new stuff, but I still have to get my projects done quickly.
Over the years of programming and woodworking, I have learned it is good to have lots of tools (that I know how to use) available to me. I have learned to pick the best tool for the job, regardless of any branding or emotional discounting of the tool by others.
So, I was trying to learn more about two tools I have: Shell scripts and ASObjC scripts.
I want to know, technically, what is the best tool for the job, and how to pick one over the other.
My process is interesting in this case. I started out with a solution based on the alias/symlink script you posted in the KM forum. Although I could see nothing wrong with using a shell script to create a symlink, the bias against shell scripts by many ASObjC programmers had unknowingly entered into my decision making process. So, I sought a ASObjC solution, even though I didn’t necessarily need one.
Since I didn’t have an urgent deadline at the time for this project, I pursued finding an ASObjC solution. Somehow it seemed like using ASObjC would be a “better” solution. I did NOT know how to write one from scratch myself, and a quick search turned up a code snippet that would create aliases. I enquired about similar handler for creating symlinks, and was directed to a script library.
So now, after having gone down several rabbit trails to get a working ASObjC solution, I started testing my script, and ran into a couple of errors in the ASObjC code. This gave me pause, and I looked at the one line shell script again, and it jumped out at me: Why am I pursuing an ASObjC solution that is more complex and more lines, when I have this simple solution before me?
I could not answer that question. The shell script solution ran very, very fast, << 1 sec.
That was the genesis for my topic/question here. I was, and still am, looking for an objective, technical reason to use ASObjC for this use case.
Thanks for your feedback, @Tom, on this issue.