Home | Blog | Software | Reviews and Features | Forum | Help | Donate | About us
topbanner_forum
  *

avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • December 08, 2016, 05:53:10 AM
  • Proudly celebrating 10 years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Last post Author Topic: Scripting vs. Programming  (Read 21903 times)

f0dder

  • Charter Honorary Member
  • Joined in 2005
  • ***
  • Posts: 9,029
  • [Well, THAT escalated quickly!]
    • View Profile
    • f0dder's place
    • Read more about this member.
    • Donate to Member
Re: Scripting vs. Programming
« Reply #25 on: January 20, 2007, 11:20:42 AM »
Also, compiled doesn't necessarily mean "machine code" - think java, dotNET, perl/parrot et cetera.

Scripting languages can be compiled rather than interpreted, and traditional compiled languages can be interpreted as well (though not very fun for something like C++).

I still haven't seen a decent description of the difference between "script" and "program", or what distinguishes "scripting language" from other languages. In my mind it has to do with how the "environment" feels like, and how it's typically used. But it's hard to draw any lines... A thing like Python can be (and is) used for anything from little scripts to applications (MusicBrainz picard) to games (EVE online), etc.

- carpe noctem

Veign

  • Charter Honorary Member
  • Joined in 2005
  • ***
  • Posts: 993
    • View Profile
    • Veign - Where design meets development
    • Donate to Member
Re: Scripting vs. Programming
« Reply #26 on: January 20, 2007, 11:28:50 AM »
Should have read something like a scripting language vs. compiled language.  That's how that definition should have come across.  Totally messed that definition up.

I end up typing something and by the time I get to the end I forget the intent of what I am typing  :) .

jgpaiva

  • Global Moderator
  • Joined in 2006
  • *****
  • Posts: 4,727
    • View Profile
    • Donate to Member
Re: Scripting vs. Programming
« Reply #27 on: January 20, 2007, 01:19:44 PM »
I end up typing something and by the time I get to the end I forget the intent of what I am typing  :) .
So true. That happens to me a lot ;)
Yet, i think you're almost there with your definition.
I interpret a script as a sequence of instructions that intentds to automate something that was supposed to be done by the user instead. Something that aims at making that task something as simple as launching the script.
It's not an absolute definition, since for example php is called a scripting language and doesn't really fit into this description, and other stuff that are programs do fit it, but i think this description is as close as it gets.

rkarman

  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 27
    • View Profile
    • Arca Eclipse (chatserver for ares)
    • Donate to Member
Re: Scripting vs. Programming
« Reply #28 on: January 20, 2007, 02:16:20 PM »
well, i think we're trying to find the theory of everything here. the one formula that describes the whole universe (of programming). practically seen the words were made up years ago and do not have the same meaning anymore. like low and high level language for instance. a dotnet (virtual) machine has msil as low level language, this language is typesafe and is object oriented though. provides full support for scope visibility, garbage collection, etc... is that low level???

now scripting vs programming. it used to be glossaries, macro's and scripting were automation "scripts" that would execute a chain of tasks in a system. this could have limited programming features with it. today however with scripting languages like javascript you have an almost full blown OO language which delivers features that .net doesn't even have (superclassing). it is like dotnet, compiled to intermediate code (jit compiled) and then executed at a speed comparable to a java application. jes javascript even has reflection... now i ask you, is that a scripting language???

now having explaind that any simple definition is not valid since it can never match the past and the current situations, today the closest definition to a scripting language is i.m.h.o.

"a language that is not compile time type checked and a language that runs directly from it's source code. (compiling + executing in 1 go or interpreting)"

this is however a very poor definition since the origional basic languages would be a scripting languages with this definition, it is the closest (simple) match though that i can think of.

rkarman

  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 27
    • View Profile
    • Arca Eclipse (chatserver for ares)
    • Donate to Member
Re: Scripting vs. Programming
« Reply #29 on: January 20, 2007, 02:31:32 PM »
Thanks for the explanations. But is there a point at which a script becomes a program? f0dder makes a good point with javascript. The line is gray from my standpoint.

this is not a grey line at all, when a developer says that it is a script, then it is a script. when the developer says it's a program, then it's a program. it is what it is said to be by the creator, simple as that 8)

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 36,412
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: Scripting vs. Programming
« Reply #30 on: January 20, 2007, 02:40:45 PM »
well f0dder you might be technically correct that in 2007,
Quote
Also, compiled doesn't necessarily mean "machine code" - think java, dotNET, perl/parrot et cetera.
Scripting languages can be compiled rather than interpreted, and traditional compiled languages can be interpreted as well (though not very fun for something like C++).

but i think the general flavor of the concepts, and the historical background is that when you talk about compiled, you are really implying that a substantial amount of work and a dedicated step is taking place to convert the code to a very highly optimized (usually machine code or close) version.  modern languages are blurring that a bit, but thats the point.

now there have always been interpretted programming languages.  and today's autohotkey "scripting language" is more powerful that the original hardcore full on programming languages so things get a bit confusing.

but when you say a scripting language you usually mean an interpreted thing (or something that "feels" interpreted, ie instantly runnable) that can be written and tested and run with very little turn around. in general i think people talk about a "scripting language" solution to a problem as a kind of quick and dirty solution, in a language that is much more forgiving and tends to be aimed more torwards experimenting and instant feedback, and where runtime speed and memory usage is not critical, vs the idea of getting together a team for a month with UML diagrams to plan out the objects, classes, and data structures.

« Last Edit: January 20, 2007, 02:43:49 PM by mouser »

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 36,412
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: Scripting vs. Programming
« Reply #31 on: January 20, 2007, 02:47:25 PM »
another way to think about things like this:
if you tell a master coder, write me something quick that reads in a file and writes it out again with some text replacements.  good solution is open up your text editor or ide and write a quick and dirty perl or python script.  speed and memory not important.

now you tell the coder they have to design some code for a mission critical piece of hardware, that has to operate millions of database calls a minute, with very tight and exact memory limits, where everything is going to have to work perfectly together, and the coder is going to have to know where every cpu cycle is going, and be able to reduce memory usage to a minimum and account for every byte of ram.  Well now you are talking about a c/c++ task, and you'd be a fool to use a scripting language for that.  You simply don't have the fine grain level of control that you need.

Veign

  • Charter Honorary Member
  • Joined in 2005
  • ***
  • Posts: 993
    • View Profile
    • Veign - Where design meets development
    • Donate to Member
Re: Scripting vs. Programming
« Reply #32 on: January 20, 2007, 02:47:42 PM »
any simple definition is not valid since it can never match the past and the current situations.

That is probably the only 100% accurate statement made in this thread as most are a percentage of an opinion.

Its just such a hard thing to define.
« Last Edit: January 20, 2007, 03:59:15 PM by Veign »

CodeTRUCKER

  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 1,060
    • View Profile
    • Donate to Member
Re: Scripting vs. Programming
« Reply #33 on: January 20, 2007, 04:14:56 PM »
Yep, clear as mud!
« Last Edit: December 08, 2009, 05:40:40 PM by CodeTRUCKER »

Renegade

  • Charter Member
  • Joined in 2005
  • ***
  • Posts: 13,220
  • Tell me something you don't know...
    • View Profile
    • Renegade Minds
    • Donate to Member
Re: Scripting vs. Programming
« Reply #34 on: January 20, 2007, 08:47:40 PM »
I'm a little bit late here, but I'll go out on a limb and say that even HTML/CSS is programming, though a radically different kind.

If you've done templates before, or worked with higher requirements for HTML display, then you'd probably agree that HTML/CSS is still "programming". It's not easy when you start trying to match correct display for Trident, Gecko, and other engines. Especially for CSS 2.

It might be more accurate to say "coding" instead of "programming", but either way, it's all just one big fuzzy ball of different kinds of code.

This reminds me of how all the C guys used to squint and look down on the VB guys. That has kind of changed now with languages like Python and others like it where they typing is much looser. There are certain advantages that you get there that aren't available in C without a massive amount of programming/coding.

e.g.

// Create a variable to hold an int
var myVar1;
myVar1 = 3
myVar1 = 3 + 8;

// Create a variable to hold a string
var myVar2 = "Hello!";
myVar2 = myVar2 + " My name is var!";

// The following block would throw an error because myVar1 has been cast as an int and myVar2 as a string:
var myVar3 = myVar1 + myVar2;

So at the end of the day, it seems to me that writing "code" is still some form of "programming". You're writing a set of instructions. That's about it.

Unless we want to start telling the Python guys that they're not "real programmers" because Python isn't strongly typed, etc... Doesn't seem very reasonable to me.

(OK - that was a huge jump in logic there, but I'm just a bit too lazy to go through it right now... )
Slow Down Music - Where I commit thought crimes...

Freedom is the right to be wrong, not the right to do wrong. - John Diefenbaker

Andre C.

  • Participant
  • Joined in 2009
  • *
  • default avatar
  • Posts: 1
    • View Profile
    • Donate to Member
Re: Scripting vs. Programming
« Reply #35 on: March 03, 2009, 09:32:54 PM »
As far as I understand it, scripting is a form of programming that uses higher level constructs than traditional programming. In a standard high level programming language, expressions are built from variables operators and functions (Wikipedia, 1). In a scripting language much of this is the same, except you also have the ability to use operating system specific calls as well as calls to other scripts or programs. One could argue that scripting is just as daunting as programming. In any case, it’s silly to try to say one is harder than the other because it depends on the task at hand.

From my personal experience, scripting is used to automate tasks that could be done by a person. Most of the time, the tasks are just repetitive and tedious. It's much cheaper to pay a programmer to write a script than pay a person to sit all day in front of a terminal and do tedious routine work.

Most of the time, you can get away with writing a script to do something rather than programming it in a high level language. However, it is bad practice to do this because scripts are not very portable and they have inconsistent runtime characteristics when executed on different platforms. Scripts are usually only useful for performing administration functions and managing the operation of programs. Anything beyond that needs to be coded in a programming language that provides higher levels of abstraction.


1. Wikipedia. (January 18, 2009). Expression (programming). In Wikipedia. Retrieved March 3, 2009, from http://en.wikipedia....ression_(programming).

mitzevo

  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 462
  • Control is power
    • View Profile
    • Donate to Member
Re: Scripting vs. Programming
« Reply #36 on: March 03, 2009, 09:59:39 PM »
another organization question.. code? script? programming? lol depends on the thinker.
The clock is running. Make the most of today. Time waits for no man. Yesterday is history. Tomorrow is a mystery. Today is a gift. That's why it is called the present.

CodeTRUCKER

  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 1,060
    • View Profile
    • Donate to Member
Re: Scripting vs. Programming
« Reply #37 on: December 08, 2009, 05:38:17 PM »
Quote
...
euhmm... and now ...
what is xslt & sql?

(just to finish the full classification  ;))

Now you done it!  You just had to ask... just had to ask!
[Farmsteader slaps his dusty hat on the knee of his faded overalls as he gets up to leave.]  :D

MrCrispy

  • Participant
  • Joined in 2006
  • *
  • Posts: 331
    • View Profile
    • Donate to Member
Re: Scripting vs. Programming
« Reply #38 on: December 09, 2009, 02:32:33 AM »
To me the key concept is problem solving, creativity and using/inventing standard data structures and algorithms. If you do that you're programming, the language/environment doesn't matter.

Scripting is much narrower in scope

e.g.
A function in c# to read a file using std library calls its akin to a script.
A jscript function that then finds unique patterns in that file is a program.

kakarukeys

  • Supporting Member
  • Joined in 2009
  • **
  • Posts: 25
  • Save time play more
    • View Profile
    • Time-saving Guides, Windows and Office Tips to increase your productivity
    • Read more about this member.
    • Donate to Member
Re: Scripting vs. Programming
« Reply #39 on: December 09, 2009, 03:13:12 AM »
I think a programming language ought to support the 3 classic types of process flow: sequential, conditional branching, looping and object oriented constructs. If you agree to the above definition, then it's easy to categorize scripting languages: HTML -> not a programming language, Python -> a program language
life is short, play hard

Eóin

  • Charter Member
  • Joined in 2006
  • ***
  • Posts: 1,401
    • View Profile
    • Donate to Member
Re: Scripting vs. Programming
« Reply #40 on: December 09, 2009, 08:19:00 AM »
kakarukeys, I'd say you're pretty much right but I'd remove the need for object oriented constructs. All a language need to be able to do is manipulated some sort of data and that's enough.

Though quoting Wikipedia is dubious it's article on Programming language gets right to the heart of the matter. The simple fact is that scripting and programming are the same thing. And HTML is not a scripting language


Tuxman

  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 1,770
    • View Profile
    • Donate to Member
Re: Scripting vs. Programming
« Reply #41 on: December 09, 2009, 10:33:53 AM »
Quote
scripting and programming are the same thing
Depends. A script (the result of scripting) is not necessarily a program (the result of programming).

(Besides, there's still application scripting, like Vim or Irssi scripts. Try to program these.)

CodeTRUCKER

  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 1,060
    • View Profile
    • Donate to Member
Re: Scripting vs. Programming
« Reply #42 on: December 09, 2009, 12:11:13 PM »
You know, this is really good practice for arguing about...
Ford and Chevy
As a courtesy for any non-USA residents that may not understand this here is a little background.

Ford and Chevrolet ("Chevy") are major manufacturers of automobiles in the USA and elsewhere.  Given attitude in human nature of "mine is better," long-standing rivalries developed between Ford and Chevy owners about which is better.  Every year there was some racing big shot bragging about how their "Ford" was faster than all the "Chevies" only to be beaten by a Chevy the next year, yada, yada, yada. 

The fact that this battle still rages on simply means that neither brand was "better."  They were (are?) both good cars.

I have driven and owned both and the only real difference I ever noted, besides styling, was that one cranked the window down with a clockwise motion and the other with a counter-clockwise rotation.  When I was a young stallion and owned a Ford, Ford was "Boss!"  When I owned a Chevrolet, my Chevy was King of the Road.  When I owned an older Honda Civic, I had fun! :D
A friend called it a "pregnant roller-skate" since it was so small, but I had a blast with that little car!  :-*


The only useful reason I can see for even going through this exercise is to eliminate ambiguity when someone says, "program" or "script."  This gets everyone on the same page and eliminates any confusion which enhances productivity.  It should also reduce stress. 

Given this is something of a quasi "Ford and Chevy" debate, perhaps we might be able to simplify it, just for convenience (and our sanity).  After reading and rereading this series of posts I see one common thread.  So, I submit the following...

If it is a list (series or parallel) of coded instructions which uses "variables" (volatile locations in RAM that can be changed, directly or indirectly, by the programmer's action it is a "Programming" language, regardless of whether it is "compiled" or "interpreted."

If it is a list series (series or parallel) of coded instructions which does not use "variables" (volatile locations in RAM that can be changed, directly or indirectly, by the programmer's action) it is a "Scripting" language, regardless of whether it is "compiled" or "interpreted."

I know I'm not the sharpest knife in the drawer here, but I don't get what all the hub-bub is about?  :huh:

Veign

  • Charter Honorary Member
  • Joined in 2005
  • ***
  • Posts: 993
    • View Profile
    • Veign - Where design meets development
    • Donate to Member
Re: Scripting vs. Programming
« Reply #43 on: December 09, 2009, 02:39:06 PM »
If it is a list series (series or parallel) of coded instructions which does not use "variables" (volatile locations in RAM that can be changed, directly or indirectly, by the programmer's action) it is a "Scripting" language, regardless of whether it is "compiled" or "interpreted."

Scripting Languages use variables - example: VBScript.

Tuxman

  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 1,770
    • View Profile
    • Donate to Member
Re: Scripting vs. Programming
« Reply #44 on: December 09, 2009, 02:41:23 PM »
vimscript: let myvar="hello world"

CodeTRUCKER

  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 1,060
    • View Profile
    • Donate to Member
Re: Scripting vs. Programming
« Reply #45 on: December 09, 2009, 02:54:50 PM »
Quote
...
Scripting Languages use variables - example: VBScript.

How about this...

The only reason that any one conceives of VBScript, Javascript, etc. IMIO is because the "script" moniker was hung on to the name.   Would it (them) be known as "script" if the author(s) had named them "VBExtra," "JavaRod," etc.

Could this be a valid explanation?

Tuxman

  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 1,770
    • View Profile
    • Donate to Member
Re: Scripting vs. Programming
« Reply #46 on: December 09, 2009, 02:57:57 PM »
So what about application scripting then? Is it "application programming" for you?

CodeTRUCKER

  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 1,060
    • View Profile
    • Donate to Member
Re: Scripting vs. Programming
« Reply #47 on: December 09, 2009, 03:06:36 PM »
So what about application scripting then? Is it "application programming" for you?

Hi Tux.  I see what your saying, but that is a whole other realm.  I was talking about proper names of entities.  You are discussing idiomatic terminology for an action that is based on colloquial patterns of accepted norms of usage.  The norms being that the term "scripting" suggests quick or brief coding.  The term "programming" usually carries a sense of long, complicated and laborious, but you and I both know that the descriptions are often reversed, right?  

See what I mean?

Tuxman

  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 1,770
    • View Profile
    • Donate to Member
Re: Scripting vs. Programming
« Reply #48 on: December 09, 2009, 03:13:10 PM »
The norms being that the term "scripting" suggests quick or brief coding.
This is the first time I actually hear this definition. Quick coding is Q&D.  :D
You can as well develop a C++ application quickly.

Eóin

  • Charter Member
  • Joined in 2006
  • ***
  • Posts: 1,401
    • View Profile
    • Donate to Member
Re: Scripting vs. Programming
« Reply #49 on: December 09, 2009, 03:26:09 PM »
The idea of a programming language is very general and encompasses most scripting languages, though not usually data description languages (eg HTML). Of course this line is blurred, PostScript is mostly used as a description language, yet it is also a fully qualified programming language. PDF's however use a simplified version of PS which isn't Turing complete and generally not considered a programming language.

But I don't really think that's the debate going on here is it? ;)

Rather I think people are concerned with what qualifies as a program in day-to-day sense. For example a basic automation script to perform a couple of simple task sequentially is very difficult to classify as a program. And from that alone it's hard to say the author is a programmer. I don't think this is necessarily elitist, but to be able to program in a useful sense you need an grasp of program flow, logic and data manipulation which such an example doesn't demonstrate.

It's the same as describing someone as a runner or a writer. Most people can run and write yet the titles imply a higher level of competency and experience in the task.

In this sense I believe it is fair to distinguish between programming and scripting, but the languages used are all "programming languages", they can just be used for both tasks