Python is the best and most popular general purpose scripting language; the universal scripting lang

Discussion in 'Python' started by Ron Stephens, Apr 10, 2004.

  1. Ron Stephens

    Ron Stephens Guest

    Python is the best and most popular general purpose scripting
    language. That is, Python is the best and most popular general
    purpose, dynamic, interpreted language. Sure, there are other
    scripting languages that are more popular for specific application
    domains, and there are big company backed systems languages that are
    far more popular; but in its niche, Python is tops.

    Being open source, and not backed by big companies' marketing dollars,
    Python is not even in the same league as Java, and the .NET languages
    C# and VB.Net. Those corporate backed entities have incredibly
    powerful tools, IDE's and marketing dollars behind them.

    And, among scripting languages PHP is tops for server side web
    scripting, Perl is number one for text parsing and CGI, Ruby is
    perhaps most popular with object oriented purists who don't mind the
    Perl-like syntax, and Javascript is most popular for client side web
    scripting, given its nearly universal support by web browsers. But for
    general purpose scripting, Python is clearly number one and gaining in
    strength.

    That positions Python as the universal scripting language. Not only
    does the Python virtual machine run on almost every platform, but
    Jython is available for the JVM and IronPython is in the works for
    ..Net and Mono.

    Let's face it, we could sit around and bemoan the fact that the big
    commercial "systems" languages have such incredible tool support and
    marketing muscle, such as the .Net juggernaut and the IBM, SUN, BEA
    and other IDE's for Java.

    But, better to take heart that for the pure writing of code, Python
    has the opportunity to become the universal solvent. It just may be
    that, twenty years from now, Python code will run everywhere, and will
    be the scripting language of choice on all the big company IDE's as
    well.

    There may by then be a lot of application areas where subject
    specialists create their own database front end's and customize real
    applications, by using big company tools that require no code to be
    written at all. But, computers will always need actual code, and
    Python can be the lingua franca.

    And on top of all that, while .NET, Eclipse, JBuilder etc. may
    outclass any one Python tool, we do have a plethora of good choices
    for almost any job requirement, including good access to about every
    important GUI toolkit imaginable, and we even have easy point and
    click GUI builders like PythonCard and the on-coming industrial
    strength Boa Constructor.

    So, Python is well on its way to world domination, just not in the
    same manner as Java or C#. Python is more like an underground movement
    that sneaks in around the edges and winds up playing a most
    significant role for the long run.

    Long live Python, the universal solvent!

    Ron Stephens
    www.awaretek.com/weblog/index.html
    Ron Stephens, Apr 10, 2004
    #1
    1. Advertising

  2. Ron Stephens

    Roy Smith Guest

    (Ron Stephens) wrote:
    > Python is the best and most popular general purpose scripting
    > language.


    Which raises the question, exactly what makes something a "scripting"
    langauge? When I tell people I do Python, they often say something
    like, "that's a scripting language, right?". My usual response is
    something along the lines of "Well, I suppose that depends on who you
    ask" and I'm not sure what to say after that.

    So, what makes something a "scripting language" as opposed to a
    "programming language"?
    Roy Smith, Apr 10, 2004
    #2
    1. Advertising

  3. Ron Stephens

    John Roth Guest

    "Roy Smith" <> wrote in message
    news:...
    > (Ron Stephens) wrote:
    > > Python is the best and most popular general purpose scripting
    > > language.

    >
    > Which raises the question, exactly what makes something a "scripting"
    > langauge? When I tell people I do Python, they often say something
    > like, "that's a scripting language, right?". My usual response is
    > something along the lines of "Well, I suppose that depends on who you
    > ask" and I'm not sure what to say after that.
    >
    > So, what makes something a "scripting language" as opposed to a
    > "programming language"?


    The distinction isn't "scripting" versus "programming" language,
    it's "scripting" versus something that doesn't really have a name.
    Scripts are executed from the top down once. In other languages
    (such as Java and C++) there's a designated starting point (main())
    that the compiler locates.

    Python is a scripting language because each module is executed
    from the top down as its loaded.

    As far as being most popular, I think Perl is still well ahead of
    it, and it's still well ahead of Ruby. I don't have a good feel for
    where either PHP or TCL stand in the "most popular" sweepstakes.

    John Roth
    John Roth, Apr 10, 2004
    #3
  4. Ron Stephens

    Jarek Zgoda Guest

    Roy Smith <> pisze:

    > So, what makes something a "scripting language" as opposed to a
    > "programming language"?


    I think the opposition of "scripting language" would be "general purpose
    language", not "programming language".

    --
    Jarek Zgoda
    http://jpa.berlios.de/
    Jarek Zgoda, Apr 10, 2004
    #4
  5. Ron Stephens

    Paul Prescod Guest

    Re: Python is the best and most popular general purpose scriptinglanguage; the universal scripting language

    Jonathan Daugherty wrote:

    > # So, what makes something a "scripting language" as opposed to a
    > # "programming language"?
    >
    > In a general sense I think "programming" languages are compiled and
    > "scripting" languages are interpreted. (If you want to go academic,
    > you could say python is both, but the internals of the interpreter are
    > irrelavant insofar as one might say it is an interpreted language.)
    >


    So which is Lisp? Prolog? Smalltalk? ML?

    What happens if I compile Python to a binary via Pyrex or to JVM
    bytecodes via Jython?

    I propose:

    A scripting language is a language that makes scripting (gluing together
    components) easy.

    A programming language is a language that makes programming (including
    the creation of components) easy.

    Python is both.

    Paul Prescod
    Paul Prescod, Apr 11, 2004
    #5
  6. Re: Python is the best and most popular general purpose scriptinglanguage; the universal scripting language

    # So which is Lisp? Prolog? Smalltalk? ML?

    I didn't claim that it necessarily holds for every language. :)

    # A scripting language is a language that makes scripting (gluing together
    # components) easy.

    You're defining it in terms of itself; what is scripting? The use of
    scripting languages, or the accomplishment of tasks quickly and
    easily? Some would argue the latter can be done with programming
    languages.

    # A programming language is a language that makes programming (including
    # the creation of components) easy.

    By this metric many languages are both, since the definition is
    subjective.

    --
    _ ,^. _
    ,'/ -' '- \`.
    / | \ / | \ Jonathan Daugherty
    | | | | | |
    | \_,' `._/ | http://www.cprogrammer.org
    | |
    \ /
    `. .'
    `--._.--'
    Jonathan Daugherty, Apr 11, 2004
    #6
  7. Ron Stephens

    Ron Stephens Guest

    Jarek Zgoda <> wrote in message news:<c59u4k$ki9$>...
    > Roy Smith <> pisze:
    >
    > > So, what makes something a "scripting language" as opposed to a
    > > "programming language"?

    >
    > I think the opposition of "scripting language" would be "general purpose
    > language", not "programming language".



    Hmm, yes, I think you are all correct. I was a little sloppy in my
    choice of the words "programming language" to oppose "scripting
    language".

    I guess my main point is, Python is the best general purpose scripting
    language. Maybe I (and maybe some other folks too?) sort of wanted
    Python to out-compete Java and C#: but it isn't happening. Likewise,
    as someone said, Perl is definitely more popular still than Python,
    BUT, I think Python is more general purpose than Perl. Perl has a heck
    of a lot of libraries (CPAN etc) and Perl is great for text
    processing; I also can't help but notice that Perl is the most
    commonly available and well supported language for CGI. But Perl
    doesn't get used for apps like Zope and Chandler, Python does. PHP is,
    for that matter, more popular than Python also, but for a limited
    problem domain.

    For better or worse, Python isn't going to be as entrenched in the
    corporate world as Java or .Net any time soon. Neither is Python going
    to displace PHP as most popular in PHP's domain, nor will Python even
    surpass Perl in absolute terms any time soon.

    BUT, Python is the most general purpose of the scripting languages and
    this gives Python a very interesting niche for the long term. Having
    Jython and now IronPython is a nice long term situation also.

    This may be a case of the tortoise beating the hare; but its not going
    to be just because the tortoise is the underdog and people's favorite;
    Python has something very real going for it, the fact that Python is
    the best and most popular general purpose scripting language.

    I know some of us take offense at the very term "scripting language"
    when its applied to Python, thinking that Python should be compared
    directly with Java and its ilk; that was one of my motivations to post
    this. I think we should get over it.

    There is nothing wrong with being a scripting language. Some people
    think scripting languages are the future. And Python is the best
    general purpose scripting language. Python, I think, has the chance to
    become the universal scripting language, the universal solvent among
    programming languages, ubiquitous but certainly not alone.

    Sorry for my sloppy use of words in the original post.

    And, of course, many feel that it is just plain silly and pointless to
    talk about which languages are most popular and which are gaining or
    losing in the popularity race for the future. I hope those people will
    just ignore this thread or at least not flame me too hotly ;-)))

    Ron Stephens
    Ron Stephens, Apr 11, 2004
    #7
  8. Ron Stephens

    Roy Smith Guest

    (Ron Stephens) wrote:
    > [...]
    > Python is the best general purpose scripting language.
    > [...]
    > Python is the most general purpose of the scripting languages
    > [...]
    > Python is the best and most popular general purpose scripting language.
    > [...]
    > Python is the best general purpose scripting language.


    Come on Ron, tell us how you really feel :)
    Roy Smith, Apr 11, 2004
    #8
  9. Ron Stephens

    simo Guest

    I always thought "scripting language" means interpreted instead of
    compiled into machine code (not bytecode).

    Although where that definition puts Java, I don't know.....

    As far as [popularity] ranking goes, I would say with 99% confidence
    that Perl is #1 for web and sysadmin applications.

    For web apps, I'd then say PHP, for sysadmin or prototyping tasks, I'd
    say Python would be #2.
    simo, Apr 11, 2004
    #9
  10. John Roth wrote:
    > The distinction isn't "scripting" versus "programming"
    > language, it's "scripting" versus something that doesn't
    > really have a name. Scripts are executed from the top
    > down once. In other languages (such as Java and C++)
    > there's a designated starting point (main()) that the
    > compiler locates.
    >
    > Python is a scripting language because each module
    > is executed from the top down as its loaded.


    By that definition, these would be scripting languages:

    Algol 60
    Algol 68
    APL
    Basic (traditional)
    BCPL
    Focal
    Forth
    Fortran
    Intel 8086 assembly in a "com" format executable
    Lisp
    Pascal
    PostScript
    Simula
    Snobol
    Turing (language)
    Turing (machine)

    I may have one or two of those wrong, but you get the idea... ;-)

    Wikipedia has a pretty good article on scripting languages:

    http://en.wikipedia.org/wiki/Scripting_language

    Even as informative as the article is, in the end it nearly gives up on the
    idea of distinguishing between scripting and other languages: "However, the
    boundary between scripting languages and regular programming languages tends
    to be vague, and is blurring ever more with the emergence of new languages
    and integrations in this fast-changing area."

    -Mike
    Michael Geary, Apr 11, 2004
    #10
  11. Re: Python is the best and most popular general purpose scriptinglanguage; the universal scripting language

    Roy Smith wrote:
    > (Ron Stephens) wrote:
    >
    >>Python is the best and most popular general purpose scripting
    >>language.

    >
    >
    > Which raises the question, exactly what makes something a "scripting"
    > langauge? When I tell people I do Python, they often say something
    > like, "that's a scripting language, right?". My usual response is
    > something along the lines of "Well, I suppose that depends on who you
    > ask" and I'm not sure what to say after that.
    >
    > So, what makes something a "scripting language" as opposed to a
    > "programming language"?


    There isn't one big thing that makes the distinction, but there are "clues:"

    Scripting Languages are "interpreted", not compiled to machine code.
    (Having a JIT engine like Psyco doesn't change my opinion on this; the
    code deployed is the source, or an intermediate form like .pyc.)

    Scripting languages do not have variable type declaration statements.
    Variables in scripting languages are dynamically-typed, and hold
    whatever type you assign to them.

    Scripting languages put a lot of emphasis on string manipulation, and
    usually have regular-expression support built in. They usually have a
    "big raw string literal" syntax, by which a string literal spanning
    multiple lines and containing most of the usual escape characters can be
    expressed simply.
    Richard Krehbiel, Apr 11, 2004
    #11
  12. Ron Stephens

    Roy Smith Guest

    (simo) wrote:
    > I always thought "scripting language" means interpreted instead of
    > compiled into machine code (not bytecode).


    When Apple first came out with the PowerPC processors, they emulated the
    old 68k instruction set in software, so you could continue to run 68k
    binaries. Did those old programs suddenly become scripts instead of
    programs because they were no longer running on the hardware? :)
    Roy Smith, Apr 11, 2004
    #12
  13. Ron Stephens

    RPM1 Guest

    "Ron Stephens" wrote
    <snip>

    > I guess my main point is, Python is the best general purpose scripting
    > language. Maybe I (and maybe some other folks too?) sort of wanted
    > Python to out-compete Java and C#: but it isn't happening. Likewise,
    > as someone said, Perl is definitely more popular still than Python,
    > BUT, I think Python is more general purpose than Perl. Perl has a heck
    > of a lot of libraries (CPAN etc) and Perl is great for text
    > processing; I also can't help but notice that Perl is the most
    > commonly available and well supported language for CGI. But Perl
    > doesn't get used for apps like Zope and Chandler, Python does. PHP is,
    > for that matter, more popular than Python also, but for a limited
    > problem domain.
    >
    > For better or worse, Python isn't going to be as entrenched in the
    > corporate world as Java or .Net any time soon. Neither is Python going
    > to displace PHP as most popular in PHP's domain, nor will Python even
    > surpass Perl in absolute terms any time soon.
    >
    > BUT, Python is the most general purpose of the scripting languages and
    > this gives Python a very interesting niche for the long term. Having
    > Jython and now IronPython is a nice long term situation also.


    From what I've seen over the years, it seems like one of Python's
    strong niches is scientific and numeric computing, which seems
    like a weird place for a "scripting language" to excel. It's probably
    due to Python's talent at wrapping C and Fortran code. Python
    does for programmers what GUI's do for users.

    Just my $0.02
    Patrick
    RPM1, Apr 11, 2004
    #13
  14. Ron Stephens

    Ron Stephens Guest

    Ok, "scripting language" is perhaps an extremely imprecise term. But,
    some folks will still use it in describing Python; and I'm not sure
    that is a bad thing.

    I still think that Python can be meaningfully described as being the
    best general purpose scripting language, sort of the Swiss Army Knife
    of programming languages. No matter how many programming languages you
    might already know, Python will give you a wide range of advantages in
    an awful lot of problem domains. On the other hand, if you are a
    business analyst or program manager and you are only going to learn
    one language, Python would be the best choice for you also.

    Ron Stephens
    <a href = "http://www.awaretek.com/plf.html">Python Learning
    Foundation</a>
    Ron Stephens, Apr 11, 2004
    #14
  15. Ron Stephens

    val Guest

    "Ron Stephens" <> wrote in message
    news:...
    > Python is the best and most popular general purpose scripting
    > language. That is, Python is the best and most popular general
    > purpose, dynamic, interpreted language. Sure, there are other
    > scripting languages that are more popular for specific application
    > domains, and there are big company backed systems languages that are
    > far more popular; but in its niche, Python is tops.
    > [...]
    > Long live Python, the universal solvent!
    >
    > Ron Stephens
    > www.awaretek.com/weblog/index.html


    An interesting discussion, and i'd like to ask experts
    a general question. Looking at a huge variety of programming
    languages each with its specific design and application niche,
    does it make a sense to design an *adaptive* language/interpreter?
    'Adaptive' in terms of optimizing its structure/design and libraries
    based on the specified criteria (performance, footprint, or whatever),
    including even its run-time dynamics degree (compilation/interpretation
    ratio).
    Such a beast would evaluate its input(code and data) making proper
    generalizations and restructuring itself properly within available
    hardware resources. I don't think this is a great innovation.
    JCL was probably a step in this direction. Also, at that time
    there were a few publications on "self-organizing compiler"
    (by Friedberg from IBM, 1958?). Then meta-programming and meta-classes,
    though without specific focus on the interpreter/compiler
    optimization.
    It may, though, confuse a user in terms of in what language to
    write an application; well, that's where the classical Python would
    probably be a great choice.
    Does it make any sense?

    too-many-languages-too-short-life-ly y'rs,
    val
    val, Apr 11, 2004
    #15
  16. Ron Stephens

    Paul Prescod Guest

    Re: Python is the best and most popular general purpose scriptinglanguage; the universal scripting language

    Jonathan Daugherty wrote:

    > # So which is Lisp? Prolog? Smalltalk? ML?
    >
    > I didn't claim that it necessarily holds for every language. :)


    But you didn't really answer the question. Is Lisp a scripting language
    or not? If not, why?

    > # A scripting language is a language that makes scripting (gluing together
    > # components) easy.
    >
    > You're defining it in terms of itself; what is scripting? The use of
    > scripting languages, or the accomplishment of tasks quickly and
    > easily? Some would argue the latter can be done with programming
    > languages.


    Scripting is the gluing together of components potentially written in a
    variety of languages.

    > # A programming language is a language that makes programming (including
    > # the creation of components) easy.
    >
    > By this metric many languages are both, since the definition is
    > subjective.


    Yes. The term is both historical and subjective. If you try to draw any
    line in the sand you will find outliers like Lisp and even Java (which
    is bytecode interpreted just as Python is) will cause you problems.
    There are compilers for Python and interpreters for C.

    Paul Prescod
    Paul Prescod, Apr 11, 2004
    #16
  17. Ron Stephens

    Nelson Minar Guest

    Roy Smith <> writes:
    >exactly what makes something a "scripting" langauge?


    A scripting language is a language that you can't use to write an
    operating system kernel.

    A scripting language is a language that isn't a pain in the ass to use.


    'When I use a word,' Humpty Dumpty said, in a rather scornful tone,' it
    means just what I choose it to mean, neither more nor less.'
    http://sundials.org/about/humpty.htm
    Nelson Minar, Apr 11, 2004
    #17
  18. Ron Stephens

    PiedmontBiz Guest

    Re: Python is the best and most popular general purpose scripting

    > You're defining it in terms of itself; what is scripting? The use of
    >> scripting languages, or the accomplishment of tasks quickly and
    >> easily? Some would argue the latter can be done with programming
    >> languages.

    >
    >Scripting is the gluing together of components potentially written in a
    >variety of languages.
    >
    >> # A programming language is a language that makes programming (including
    >> # the creation of components) easy.
    >>
    >> By this metric many languages are both, since the definition is
    >> subjective.

    >
    >Yes. The term is both historical and subjective. If you try to draw any
    >line in the sand you will find outliers like Lisp and even Java (which
    >is bytecode interpreted just as Python is) will cause you problems.
    >There are compilers for Python and interpreters for C.
    >
    > Paul Prescod
    >


    I have the answer. Scripts are concatenated sequences of instructions to the
    computer operating system to perfom a certain task. The script I create for my
    own purposes and my own personal use (or my work group) will always be known as
    a script.
    If my script is needed and used by others (outside my workgroup), it will now
    be called an application. The source code of applications is not changed by the
    user.
    My script is subject to refinements as required to suit my needs. If the user
    of an application needs the app to be modified, he must go to a programmer who
    then makes the changes to the script. The modified script is then given back to
    the user as an modified application.

    I am working on the chicken and egg thing also.


    Here is an overview of JCL.
    This is the archetypical scripting language perhaps.
    =====================
    http://www.okstate.edu/cis_info/cis_manual/jcl_over.html

    What is JCL?
    Job Control Language (JCL) is a means of communicating with the IBM 3090 MVS
    Operating System. JCL statements provide information that the operating system
    needs to execute a job.
    --------------------------------------------------------------------------
    ------
    A job is something that you want to accomplish with the aid of a mainframe
    computer, e.g. copy a data set, execute a program, or process multiple job
    steps. You need to supply the information that the job requires and instruct
    the computer what to do with this information. You do this with JCL statements.
    A job step consists of statements that control the execution of a program or
    procedure, request resources, and define input and/or output.
    --------------------------------------------------------------------------
    ------
    This includes information about:

    the program or procedure to be executed
    input data
    output data
    output reports
    A JCL statement also provides information about who the job belongs to and
    which account to charge for the job.
    ========


    allen
    PiedmontBiz, Apr 11, 2004
    #18
  19. Ron Stephens

    Andrew Dalke Guest

    John Roth
    > > Python is a scripting language because each module
    > > is executed from the top down as its loaded.


    Michael Geary
    > By that definition, these would be scripting languages:


    Actually, by that definition Python isn't a scripting language.
    A Python program is fully parsed and converted to byte code
    before anything in it is executed.

    Andrew
    Andrew Dalke, Apr 11, 2004
    #19
  20. Ron Stephens

    Peter Hansen Guest

    Re: Python is the best and most popular general purpose scriptinglanguage; the universal scripting language

    Roy Smith wrote:

    > (Ron Stephens) wrote:
    >>Python is the best and most popular general purpose scripting
    >>language.

    >
    > Which raises the question, exactly what makes something a "scripting"
    > langauge? When I tell people I do Python, they often say something
    > like, "that's a scripting language, right?". My usual response is
    > something along the lines of "Well, I suppose that depends on who you
    > ask" and I'm not sure what to say after that.
    >
    > So, what makes something a "scripting language" as opposed to a
    > "programming language"?


    For anyone thinking of adding to this thread, please consider
    reading (or re-reading) the following threads first, and post
    only if you have something original to add. It would make our
    good friends at Google feel like all their hard work (and Python)
    code hadn't gone to waste. <wink>

    From 2002:

    http://groups.google.ca/groups?threadm=dazD8.13642$

    From 2001:

    http://groups.google.ca/groups?threadm=

    From 2000:

    http://groups.google.ca/groups?threadm=y39V5.524$

    From 1999:

    http://groups.google.ca/groups?threadm=

    At this point, Guido needed the time machine back and I had to stop
    searching...

    -Peter
    Peter Hansen, Apr 12, 2004
    #20
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Steve
    Replies:
    0
    Views:
    367
    Steve
    Oct 25, 2004
  2. DaveInSidney
    Replies:
    0
    Views:
    400
    DaveInSidney
    May 9, 2005
  3. Back9
    Replies:
    4
    Views:
    726
    meitham
    Aug 12, 2010
  4. Replies:
    3
    Views:
    259
    Douglas Crockford
    Sep 3, 2003
  5. Lynn McGuire
    Replies:
    57
    Views:
    627
    Lynn McGuire
    Aug 22, 2013
Loading...

Share This Page