Page 1 of 2 12 LastLast
Results 1 to 30 of 34

Thread: Scripting vs coding vs programming

  1. #1
    Glom's Avatar
    Glom is offline Insert awesome title here
    Join Date
    Sep 2002
    Posts
    10,689

    Scripting vs coding vs programming

    What is the distinction between the three terms?

    (I'm speaking from a Fortran, C++, Visual Basic, Java, etc perspective.)

  2. #2
    Join Date
    Aug 2002
    Posts
    4,365
    Seems to be a bit blurry line, but scripting is generally done in a limited (ie not complete) language (example of scripting languages: Javascript, flash actionscript, shellscript - all done to serve a purpose, not all purposes).
    Coding and programming I'm not sure there's a big difference in comp sci terms, one is just colloquial.


  3. #3
    Join Date
    Nov 2002
    Posts
    14,599
    Programming: The overall act of designing, expressing, debugging, then optimizing a software package.

    Coding: Expressing (implementing) a program. (You'll note I've yet to say anything about computer languages. This was intentional.)

    Scripting: Expressing a program (function, or subroutine) in a particular language.
    "Words that make questions may not be questions at all."
    - Neil deGrasse Tyson, answering loaded question in ten words or less
    at a 2010 talk MCed by Stephen Colbert.

  4. #4
    Join Date
    Mar 2007
    Posts
    2,018
    Scripting has a few senses.

    One is code that's used to direct the behavior of other programs instead of code that's used to write standalone applications all by itself. JavaScript and ActionScript fall into that category.

    Another is code that's written in an interpreted language (such as perl, bash, or PowerShell) that's intended do small tasks for you and doesn't have a user interface or anything like that.

    Scripting languages themselves actually tend to be less limited than non-scripting languages, in that they come with a lot more features and do the housekeeping for you. They tend to be designed for ease of use rather than performance, though, and often do not come with a compiler. A common practice nowadays is to write the guts of an application in a traditional programming language and then do all the higher-level control and whatnot in a scripting language so that you're using each for the kinds of tasks it's best suited for. About half of Adobe Lightroom is written in Lua for example.


    If there's any difference between coding and programming, it's that programming can be used to describe any part of building software, up to and including doodling in a notepad, whereas coding specifically means sitting at a keyboard banging away on source code.

  5. #5
    Join Date
    Sep 2004
    Posts
    14,077
    And tonight I'm going hardcore: I'm going to write code into notepad. I don't have my programming environment here but I still want to continue on my program. So tonight it will be without compilers but only with pure and raw logic of the human mind.

    Since I'll write VB6 code as a part of a program, that would be scripting. Or coding, as in coding the gear box subroutine. Though where I come from, we'd say "programming the gear box subroutine". But that may be just us.

  6. #6
    Join Date
    Sep 2003
    Location
    Denmark
    Posts
    18,408
    Quote Originally Posted by nauthiz View Post
    Another is code that's written in an interpreted language (such as perl, bash, or PowerShell) that's intended do small tasks for you and doesn't have a user interface or anything like that.
    At the risk of starting a religious war, I'd say that perl doesn't belong in that list.

    First of all because it's not interpreted, second because it's actually a complete language, including easy to use GUI programming interfaces1.

    It belongs in the language group with Java, not with bash or JavaScript.


    1) I've implemented GUI applications in perl, I found it easier that Visual blah with MFC and a bazillion wizards and it has the advantage that it the resulting program was OS independent too, without extra work.
    __________________________________________________
    Reductionist and proud of it.

    Being ignorant is not so much a shame, as being unwilling to learn. Benjamin Franklin
    Chase after the truth like all hell and you'll free yourself, even though you never touch its coat tails. Clarence Darrow
    A person who won't read has no advantage over one who can't read. Mark Twain

  7. #7
    Join Date
    Mar 2007
    Posts
    2,018
    Quote Originally Posted by HenrikOlsen View Post
    At the risk of starting a religious war, I'd say that perl doesn't belong in that list.

    First of all because it's not interpreted, second because it's actually a complete language, including easy to use GUI programming interfaces.

    It belongs in the language group with Java, not with bash or JavaScript.
    Sure, you can generate a standalone executable from perl code, but at least in my experience the standard method is to let perl run the script. Yes, it uses a just-in-time compiler to do this, but that's the case for all sorts of languages that are categorized as interpreted nowadays - Lua comes to mind again there. I think the key distinction is whether the usual way to run a program is 1-step (pass the source code into a program that runs it, it doesn't matter how) versus 2-step (pass the code into a program that compiles it into a standalone executable, then run the executable).

    Not to mention that the standard term used to denote something written in the language is "perl script".

  8. #8
    Join Date
    Feb 2009
    Posts
    1,232
    For the most part the terms are used to denote the same thing, writing computer code whether it be for an application or website.

    For a distinct between the three in real life terms though:

    Script - generally a stand alone function that produces a result or returns a value. (i.e. javascript, VBscript, etc)
    Code - usually denotes a part of a larger application or class object.
    Program - The complete code of an application, kind of a high level of all the functions, classes and methods.

    When we're talking in the office and someone says they are scripting, it usually denotes working on a website, when they say coding they're working on an desktop app.

  9. #9
    Join Date
    Oct 2001
    Posts
    8,831
    I think that in a broader sense theyīre interchangeable. A program is the implementation of an algorithm. Whether your program is coded or scripted it is of minor importance, although scripts are usually related to interpreted routines.

  10. #10
    Join Date
    Feb 2009
    Posts
    1,232
    Quote Originally Posted by Argos View Post
    I think that in a broader sense theyīre interchangeable. A program is the implementation of an algorithm. Whether your program is coded or scripted it is of minor importance, although scripts are usually related to interpreted routines.
    You're used to working on mainframes aren't you.

  11. #11
    Join Date
    Aug 2005
    Location
    location
    Posts
    11,557
    Might you also include programming as working on physical machines as well? I'm thining of robotics and chipsets used in machines. So, I think of programming as the implementation of code into it's environment.

    I think of coding as the process of banging out instructions to later be compiled.

    I think of scripting as a writing simpler executable string that calls and relies upon programming previously done elsewhere or by others.
    Et tu BAUT? Quantum mutatus ab illo.

  12. #12
    Join Date
    Aug 2002
    Posts
    4,365
    There are complete languages that are interpreted as well...

    As for Nicolas' comment, I usually program that way. A big environment isn't really necessary for coding (though I like syntax highlighting).


  13. #13
    Join Date
    Oct 2001
    Posts
    8,831
    Quote Originally Posted by rommel543 View Post
    You're used to working on mainframes aren't you.
    Well, Iīve had my mainframe days.

    Quote Originally Posted by Ara Pacis View Post
    Might you also include programming as working on physical machines as well? I'm thining of robotics and chipsets used in machines. So, I think of programming as the implementation of code into it's environment.
    I like it put that way. In fact, rigorously, a program is a low level process. You can even program a mechanical [as opposed to electronic] system. It does not have to be digital, neither having a code.

  14. #14
    Join Date
    May 2008
    Location
    The Netherlands
    Posts
    10,754
    Several good answers, but in the end it's context context context. Using the supplied definitions might lead to misunderstandings in environments where the words have a subtle difference in usage.

    (I once learned that someone worked as a programmer, but I couldn't relate to what he said about his work at all. After an awkward moment I found out he put together schedules for bands on festivals, etc.)
    ____________
    "Dumb all over, a little ugly on the side." -- Frank Zappa
    "Your right to hold an opinion is not being contested. Your expectation that it be taken seriously is." -- Jason Thompson
    "This is really very simple, but unfortunately it's very complicated." -- publius

    Moderator comments in this color | Get moderator attention using the lower left icon:
    Recommended reading: Board Rules * Forum FAQs * Conspiracy Theory Advice * Alternate Theory Advocates Advice

  15. #15
    Join Date
    Nov 2001
    Posts
    3,178
    Speaking from being in the industry for 27 years...

    Programming: The art of designing and writing complex applications or software. (A programmer would also be a good Coder, however a coder is not neccesarly a good programmer.)
    Coding: The act of writing some code.
    Scripting: A programming like interface used to write control or automation routines for applications or software, usullay without the need of compiling.

  16. #16
    Join Date
    Apr 2006
    Posts
    4,181
    Quote Originally Posted by Glom View Post
    What is the distinction between the three terms?

    (I'm speaking from a Fortran, C++, Visual Basic, Java, etc perspective.)
    To me, coding is mechanical, putting the algorithm into the computer so to speak, making sure syntax is correct, everything is defined before it is used, etc. The program may have been "written" (in the mind and/or as a design in psuedocode, drawings, etc.) by the same person, or someone else. That's programming, to me.

    Scripting is writing a program of the simplest sort---each command is something potentially powerful (like a shell command) and they are run in the right order, maybe with some loops and branching, but the key thing is the programs are already there, and you choose how they get run. It's a step up from a "batch job" which had (if even that) rudamentary looping or branching (e.g. a goto statement, or an if x then execute this one statement).

    In other words, a Perl script is often really a program, not a script.

    A higher-level up from programming is designing--deciding what will be done, and even choosing existing (or creating new) algorithms, though if you write the algorithm in the final language to program in, you are also programming AND coding at the same time!

  17. #17
    Join Date
    Aug 2005
    Location
    location
    Posts
    11,557
    Quote Originally Posted by Argos View Post
    Quote Originally Posted by Ara Pacis
    Might you also include programming as working on physical machines as well? I'm thining of robotics and chipsets used in machines. So, I think of programming as the implementation of code into it's environment.
    I like it put that way. In fact, rigorously, a program is a low level process. You can even program a mechanical [as opposed to electronic] system. It does not have to be digital, neither having a code.
    Good point. Maybe I should say it's an implementation of instructions or instruction sets instead of implementation of code, which seems limited to digital and or electronic instructions.

    After reading some other posts, maybe breaking it down this way makes more sense.
    Programming is designing. Coding is describing. Scripting is applying.
    Et tu BAUT? Quantum mutatus ab illo.

  18. #18
    Join Date
    Nov 2006
    Posts
    462
    I've done software development since 1977 and then professionally since the mid '80s.

    I would say that while there is a lot of overlap, programming means coming up with the conceptual and design stuff while coding is taking those concepts and designs and, well, coding them up. As for scripting, historically a script has tended to be a non-compiled language such as a shell script, java script and such. But to be honest those distinctions seem to be fading.

  19. #19
    Join Date
    Jan 2005
    Posts
    812
    Quote Originally Posted by slang View Post
    Several good answers, but in the end it's context context context. Using the supplied definitions might lead to misunderstandings in environments where the words have a subtle difference in usage.
    Many years ago I ran into another one of those contextual definitions. During a job interview for an entry-level shop monkey position (which included some basic drafting), I was asked if I'd done any programming. When I replied, "I've done some C++, and I had to take a FORTRAN course in college," I was met with a blank stare. Apparently, in manufacturing, 'programming' refers solely to making NC programs for CNC machines.

    I did get the job, but they never let me try the CAM software.

  20. #20
    Join Date
    May 2009
    Posts
    457
    Quote Originally Posted by GeorgeLeRoyTirebiter View Post
    Apparently, in manufacturing, 'programming' refers solely to making NC programs for CNC machines.

    I did get the job, but they never let me try the CAM software.
    Well in some places yes, but in general in Industry, programming tends to be more PLC programming, the main players in the field being Siemens and Allen Bradley (or Rockwell Automation), these days a good knowledge of C++ and VB are also essential.

    Aw what am I talking about, I've been doing this for 15 years and they expect me to be able to program anything in any language. I have to run just to keep up.

  21. #21
    Join Date
    Jan 2005
    Posts
    812
    Yeah, I probably should have been more specific. It was one of those sub-sub-sub-contractor job shops that machine aircraft parts. The kind that's just a handful of 3 and 5-axis CNC milling machines, plus a few old Bridgeport knee mills and maybe a turret lathe.

    It may just be in machine shops that "programming" refers to the CAM department (while PLC programming is called "fixing the machines").

  22. #22
    Join Date
    Aug 2002
    Posts
    4,365
    I'm running up against definition walls in my current job all the time.
    Still trying to explain the difference between "program blocks" and "block programming" to some...
    I'd really rather not have to resort to PLC-style programming (in a graphic environment) when there's simpler solutions around, but you know what they say: "When all you have is a hammer..."


  23. #23
    Join Date
    Mar 2002
    Posts
    2,346
    Quote Originally Posted by HenrikOlsen View Post
    At the risk of starting a religious war, I'd say that perl doesn't belong in that list.

    First of all because it's not interpreted, second because it's actually a complete language, including easy to use GUI programming interfaces1.

    It belongs in the language group with Java, not with bash or JavaScript.


    1) I've implemented GUI applications in perl, I found it easier that Visual blah with MFC and a bazillion wizards and it has the advantage that it the resulting program was OS independent too, without extra work.
    I knew someone was going to start the religious wars, and I completely agree that Perl is a programming language, not a scripting language. The difference has become kind of fuzzy anyway. The fact that Perl originated as a Practical Reporting and Extraction Language is immaterial. I use Perl in a scripting capacity, but it has all the features of a so-called complete language. True, the object-oriented features are an afterthought, but everything you expect in a language, such as program control structures, memory variables and general-purpose support of input and output. In addition of course, the list and hash manipulation features put many languages to shame.


    Let the ad-hominems begin....

  24. #24
    Join Date
    Jan 2002
    Location
    The Valley of the Sun
    Posts
    6,124
    "Scripting" is a word you use when you want to talk about computer programming without scaring people away.

  25. #25
    Join Date
    May 2008
    Location
    The Netherlands
    Posts
    10,754
    Quote Originally Posted by jfribrg View Post
    [...]everything you expect in a language, such as program control structures, memory variables and general-purpose support of input and output.
    Generally this happens to a lot of coding environments that started out to serve a very limited goal (as is the case for most traditionally known as 'scripting' languages, macro coding, etc). The more popular it becomes, or the more widely used they become, the louder becomes the call to add features like you mentioned. Ultimately though, most languages turn out (or remain) especially strong in some applications, and marginally acceptable in others. Use the tool that's best suited for the task at hand, and you best know how to use. Let others worry if the work you do should be called coding, programming, scripting or spaghettifying.

    Let the ad-hominems begin....
    Perl is code on crack!
    ____________
    "Dumb all over, a little ugly on the side." -- Frank Zappa
    "Your right to hold an opinion is not being contested. Your expectation that it be taken seriously is." -- Jason Thompson
    "This is really very simple, but unfortunately it's very complicated." -- publius

    Moderator comments in this color | Get moderator attention using the lower left icon:
    Recommended reading: Board Rules * Forum FAQs * Conspiracy Theory Advice * Alternate Theory Advocates Advice

  26. #26
    Join Date
    Aug 2002
    Posts
    4,365
    Speaking of code on crack...

    I once worked at a company where our code testing setup was a browser interface using php and sql, with a perl backend with inline awk commands running a sed/shellscript that linked into our synergy "version control" system and compiled/ran our C files.

    I think I might have forgotten some other languages that were involved somewhere around the way. I found out when I was tracing a really weird error once.
    It was the most baroque code I've ever seen. Inline scripts inside inline scripts. We joked that it had to have been someone's degree paper, because nobody in their right mind would use so many languages in the same place otherwise.

    (the error message I got? It said "should never get here". )


  27. #27
    Glom's Avatar
    Glom is offline Insert awesome title here
    Join Date
    Sep 2002
    Posts
    10,689
    What is VBA then?

  28. #28
    Join Date
    Feb 2009
    Posts
    1,232
    Quote Originally Posted by Glom View Post
    What is VBA then?
    Visual Basic for Applications. It's the code behind in MS Office.

  29. #29
    Join Date
    Oct 2001
    Posts
    8,831
    I know itīs a rhetorical question, but itīs worth noting for the occasional reader that it isnīt a general purpose language. Visual Basic for Applications is designed to enable building Windows-based applications.

  30. #30
    Glom's Avatar
    Glom is offline Insert awesome title here
    Join Date
    Sep 2002
    Posts
    10,689
    Quote Originally Posted by rommel543 View Post
    Visual Basic for Applications. It's the code behind in MS Office.
    I meant is it a scripting language or a programming language. Trust me, I'm intimately familiar with it.

Similar Threads

  1. Anyone wanna try to teach me Coding?
    By Majin Vegeta in forum Off-Topic Babbling
    Replies: 30
    Last Post: 2005-Mar-15, 12:35 AM
  2. A little programming help
    By Tranquility in forum Off-Topic Babbling
    Replies: 8
    Last Post: 2005-Mar-14, 07:31 PM
  3. Computer Programming
    By Pi Man in forum Off-Topic Babbling
    Replies: 26
    Last Post: 2003-Aug-12, 12:12 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
here
The forum is sponsored in-part by: