the beauty of the command line tools (a side note from Re: LC/macOS App Store)

Andre Alves Garzia andre at andregarzia.com
Sat Nov 10 06:01:03 EST 2018


Bob,

I am hijacking this thread to express some personal opinions about the 
terminal, it is not related to the topic of the original message but a 
different perspective on the subject you brought up on your reply.

When I first for my mac (A G3 running Mac OS 8.x) and started developing 
for it, my first thought was: "Where is the terminal?!", the lack of 
terminal was one of the main reason I struggled with development in the 
mac for some time because, IMHO there is a beauty to terminal tools that 
is no longer available to the current incarnation of macOS (but was 
present in earlier versions, more about it later).

The main advantage for terminal tools is composability, which is at the 
heart of the UNIX philosophy and remember (the current) "macOS is UNIX". 
Having little tools that compose with one another to execute whatever 
workflow you need. You generate certificates with one tool, you sign 
binaries with another, you pipe the result of one command into the other 
and with some clever scripting you automate your whole flow. The power 
of UNIX is this toolbox of little tools and the scripting that goes on 
top of them to compose them into pieces more powerful and featureful 
than each individual component. Thats why in the terminal you can use a 
single line to post something to a web API server, get a response, 
decode it, parse its JSON reply, reason about it and extract data, just 
by piping from "curl" to "jq" to "awk" or "grep" or "wc" or whatever you 
need.

GUI tools don't compose. You need to ship new tools to add more features 
or you need to update the current ones. Doing web stuff on classic MacOS 
was tricky as I couldn't rely on my usual toolset of little UNIX gizmos 
(I learned about MPW and other stuff later).

The solution to make GUI tools composable is AppleScript of course, and 
I know many who are reading this email thought about that when reading 
the second paragraph. With AppleScript we could have all the convenience 
of GUI, the kind of easy and amazing UX that Bob was talking about, and 
yet be composable thus making each GUI tool more capable than its 
features alone. And for a while, this was fantastic but AppleScript is 
no longer in favor at Apple and most Third-Party developers seem to have 
forgotten it. Each power-user oriented app that allows scripting appears 
to be shipping a different solution, so the dream of AppleScript is 
lost, it was also never cross-platform, but the little rusty UNIX 
toolkit still works, almost 60 years later, and it is 
cross-platform-ish. So the Terminal allows Apple and others to reuse 
good tools from GNU, *BSD and others and build the workflow they need.

Little terminal tools are the only way to automation these days, all the 
other solutions require more buy-in from 3rd party developers or 
reinventing the wheel. Thats why it pays of to learn just a bit of 
terminal stuff, so that you too can build those little composable 
things, so that you too can benefit from 60 years of little tools that 
do the job.

Still, I miss AppleScript, and Frontier, and DreamCard, and MacOS Classic...

Om om

andre

PS: I am no longer a Apple user, so if by any chance AppleScript is 
back, I am not aware of it, sorry.

On 11/9/2018 10:49 PM, Bob Sneidar via use-livecode wrote:
> It's funny you should say that. Long ago when the first Apple MacIntoshes came out, I fell in love with the GUI simply because I could use a computer without having to type in commands. For years, I would not even work with a PC, because all their was to work with was DOS, and even when Windows came out, it was really DOS pretending to be a GUI.
>
> Later, when I went from being a hobbyist to doing real IT for a living, I was soooo exasperated with PCs because reformatting a hard drive was an evening's work, especially if the manufacturer wasn't real clear about how many sectors, blocks, etc in the sticker on the drive! But I always had Macs to look to, where I could say, "See? NO COMMAND LINE! THAT's how to do computing nowadays!"
>
> Now, even with all the advances Microsoft has made in their OS, some things can *only* be done from a command line, and I think this is just laziness on the part of developers. Apple seems to have fallen in to this developer malaise, where it's easier to just write some terminal code and tell people, "Just type this command..."
>
> People cannot remember commands, especially not terminal commands, with all the arguments and caveats and different ways to put it all together. Apple used to be, "The computer for the rest of us." Now it's just another computer.
>
> Bob S
>
>
>> On Nov 9, 2018, at 14:27 , Rick Harrison via use-livecode <use-livecode at lists.runrev.com> wrote:
>>
>> Hi Kee,
>>
>> Thanks for that.  Although I’ve been down that
>> lane for sometime now.  Why Apple keeps
>> making things worse and worse instead of
>> the other way around I don’t know.
>>
>> In principle, I believe that no LiveCoder should
>> ever have to be subjected to using the Terminal.
>> Ideally we should have a stack that pulls everything
>> together for our LiveCode users so they don’t have
>> to even touch it.
>>
>> I will let you know what I find out if anything.
>>
>> Rick
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode




More information about the Use-livecode mailing list