Showing posts with label Philosophy. Show all posts
Showing posts with label Philosophy. Show all posts

Friday, March 6, 2026

Everything is Script -- A Philosophical Interpretation of Software System

 

The word 'script', I know it from days I started practicing Shell script.  My understanding for script then it was -- a small set of instructions in a file or piped through in a command.  

Prior to this, I had heard VBScript.  But, I did not use VBScript.

The bash script that I wrote did not span beyond 50 lines, then.

This was my first encounter with word 'script' and how I dealt with set of instructions grouped in a file and called it script.



The Ambiguity -- Script or Code?

I have this conversation in myself for a long time ow -- What is Scripting Language and Programming Language?

Technically, there are reasons why the two are seen as different paradigms in building and running the software systems.

That said, Python serves as Programming Language and also as a Scripting Language.  I learn JavaScript also falls into the same perspective.

In short, this is what I understand for script -- technically compilation exist but I do need to do it explicitly, can run using interpreter, quick and useful in automation of tasks.  

Today's programming languages can also work like scripting languages.  I see this is one of the key reason for the ambiguity.

Then what's the difference and advantage of scripting over programming?
  • I understand, the scripting languages leverages the speed of writing and automation.
  • Whereas, the programming languages leverages performance, structure and scaling of systems with better control for processing, memory, storage, exchange and communication.


Mental Model -- To Ease My Understanding

Scripting
  • Say, the instant coffee that I prepare with Bru or Nescafe sachet and milk.
    • Though there is a kind of compilation, that is, mixing of coffee powder and milk, it is not evident to viewer, who is making it, and the coffee sipper.
    • That was fast making an instant coffee!
Programming
  • Me preparing the coffee by boiling the milk and then add coffee powder.  Boil it for few minutes. Then filter and sip it.
    • This is not as a instant coffee.
    • It had different layers [explicit compilation] to go through before feeling the aroma of coffee and sipping it.
This mental model helps me to get and feel the coffee.  But, the taste and aroma of coffee got from these two approaches are different.  

The second way of preparing coffee gives me a control on how the coffee has to taste, feel and serve just to me or for the crowd.  I see this is a paradigm of programming language in a perspective.



Philosophical Perspective -- Everything is Script

Caution: This section is not confusing; it needs imagination and interpretation to see it.

I have been into this debate with myself.  One of me says, why the word 'script' is not so right for context.  While the another in me says, why the word 'script' is so right -- this person have had a upper hand so far in the debate.

Why I feel it so right?
  • Philosophically, whatever I do it is a script.
  • In that case, a software version deployed itself is a script.
    • Why?
      • A software system is a bunch of such coordinating scripts.
      • Each script has a structure, organization, specific seams and responsibilities assigned to it.
      • These scripts undergoes changes consistently to keep it contemporary!
      • The word contemporary weighs and augments the notion of 'script' in the software.
I see, the script is always in the state of development unless the system turn to be static and requires no change.  But what it is static?  Is there anything static?  That's philosophical you see!  From the point view of computer science if it can be deleted any time and restored is that static?

Today's software system keep evolving to meet the need of business and scaling.  That way each deployed software version looks to me as a script doing a specific job to constitute the idea of software as a service.  This script sees the consistent development and maintenance to serve.  Do you see this philosophical and mental model of me?  

Seeing each component of the software system as a script  is philosophical.  Technically it make sense to me for interpreting it this way.  But, when communicating to people I cannot present it this way.  Why?  If I do so, it confuses people who follow the distinction between programming and scripting languages.  

I understand this confusion here is for not seeing there is a philosophy to the technical aspect too, and just consuming the technical as binary.  Is that wrong?  No!  That is also a way of consuming what I understand and what I just need  -- it serves the purpose well.

When the script [software components philosophically] undergoes a change, the system composing of such being developed scripts can still co-exist together.  Here is where that person in me asks -- Why should I remove the notion 'script' from my vocabulary, practice, interpretation and usage?  This question hits me bang hard to my head!




To end this philosophical transitions for now,  I pulled this blog post from draft and rephrased the above section a bit after responding to Shrini Kularni's LinkedIn post.  The link to LinkedIn post is in the comment.  I see, Shrini is right in his interpretation and the from perspective he is talking.

I know, I have sounded with not the common philosophical interpretation.  It makes relevant to me in my imagination, interpretation, visualization and modeling.

Every code has a script within it -- a set of instructions to do a task.  How I see the code and the scripts within the code is my imagination.  If there are scripts within a code, then the code is a script in a way -- the script with capability of language used to build a resilient software system and to automate a business's services and tasks. 

Will I use the word script or code?  That depends on vocabulary, understanding and interpretation of people with whom I'm communicating.  I prefer code.  

If you are in between the debate and thinking of code or script, then, how this sound -- the code in the script file or the script code.