Content deleted Content added
Stevebroshar (talk | contribs) |
ClueBot III (talk | contribs) m Archiving 1 discussion to Talk:Scripting language/Archives/2022. (BOT) |
||
(31 intermediate revisions by 9 users not shown) | |||
Line 2:
{{WikiProject banner shell|class=C|
{{WikiProject Computing |importance=Mid |software=y |software-importance=Mid |science=y |science-importance=Mid}}
}}
{{User:ClueBot III/ArchiveThis|archiveprefix=Talk:Scripting language/Archives/|format=Y|age=26297|index=yes|archivebox=yes|box-advert=yes}}
==Scripting: Definition - an idea==
Line 130 ⟶ 98:
:: I whole-heartedly agree. I was using [[C shell|csh]]/[[tcsh]] (back when [[Unix shell|sh]] was still relatively primitive) long before the Internet or CGI, to automate system maintenance. [[User:BMJ-pdx|BMJ-pdx]] ([[User talk:BMJ-pdx|talk]]) 19:54, 29 May 2023 (UTC)
==The scripting language question==
Line 240 ⟶ 113:
:#If you define ''scripting'' as ''writing code in a scripting language'', and ''scripting language'' as a language as listed, then you miss the original sense of ''scripting'', namely, automating tasks by writing scripts in a special ''extension'' language. This is what motivated the term ''scripting'', so it must be mentioned when the term is defined, even though that term is now applied more broadly.
:So I agree the present definition is lacking, but your proposal also has drawbacks. If you can think of a way out, that will be great. [[User:Rp|Rp]] ([[User talk:Rp|talk]]) 17:36, 8 February 2018 (UTC)
== Scripting Not a technical term ==
Line 305 ⟶ 119:
:Maybe scripting is not a perfect term for a language, but for an activity it is a precise description. [[User:Manorainjan|Manorainjan]] ([[User talk:Manorainjan|talk]]) 21:19, 7 September 2014 (UTC)
:Sort of agree. Scripting is a subjective view. There is a wide-grey line between what is a script and what is something other than a script. For example, a Python script that's 10 lines long I would call a script without hesitation. If I write an application in Python that involves multiple directories of files, I'd argue that is not a script. Somewhere between those two extremes lines a diving line. ... The activity of scripting has the same fuzziness. [[User:Stevebroshar|Stevebroshar]] ([[User talk:Stevebroshar|talk]]) 16:45, 4 May 2024 (UTC)
== Scripting engine? ==
Line 342 ⟶ 125:
''[[Scripting engine]]'' redirect to ''[[scripting language]]'', though the term is not explained. Can someone give more information about it? Thanks, --[[User:Abdull|Abdull]] ([[User talk:Abdull|talk]]) 15:34, 2 January 2010 (UTC)
:I have altered the {{no redirect|Scripting engine}} redirect to [[Template processor]] based on [https://stackoverflow.com/a/1692561/22673230 this stack answer's] use of the term. [[User:Tule-hog|Tule-hog]] ([[User talk:Tule-hog|talk]]) 03:06, 4 August 2024 (UTC)
== Remove This Page ==
Line 441 ⟶ 195:
:I feel this discussion stems from an inadequate introduction in the article. I have attempted to improve it. [[User:Rp|Rp]] ([[User talk:Rp|talk]]) 13:27, 2 March 2012 (UTC)
::Nope. The issue is the article title. Should be 'script'. [[User:Stevebroshar|Stevebroshar]] ([[User talk:Stevebroshar|talk]]) 16:30, 4 May 2024 (UTC)
== Focus on Script and Scripting! ==
Line 464 ⟶ 208:
:I am not sure the present article is so bad. What is wrong with it? In IT, we have to work with the terms we have, as fuzzy as they are; 'scripting language' is a common term, as ambiguous as it is, so it must be defined here. How can the article be improved? If you see an outline for a different article that would provide a much clearer explanation, why don't you post it here? The types of scripts you mention are covered in the article, but only in general terms. Perhaps it would be good to add a few specific uses of scripting languages with examples? [[User:Rp|Rp]] ([[User talk:Rp|talk]]) 19:42, 8 September 2014 (UTC)
:Agree. The term 'scripting language' and every other category on [[List of programming languages by type]] are almost valueless. What scripting language means is: the language used to write a script where script means a relatively short and simple sequence of instructions (to automate...). Theoretically, I can use any language to write a script. There may not exist a tool today where a particular language can be used for scripting, but someone could write that tool! I've used a C interpreter even though most consider C compiled. I can write a complex application with Python that I would argue is not a script. I think all languages fall into all categories. If we're going to talk about implementations that exist, then the story is different. But I think trying to document all existing implementations is a foolhardy and low value goal. ... yes ''scripting language'' is a term in the world that people use. But, just because something is a term does not mean it should have an article. I suggest that 'scripting language' should redirect to 'script'. So, yeah rename this page. I think the redirect will prevent howling. ... and yes, same should done for every other ''xxx language'' article. [[User:Stevebroshar|Stevebroshar]] ([[User talk:Stevebroshar|talk]]) 16:25, 4 May 2024 (UTC)
== Merge with "Interpreted language" ==
Line 486 ⟶ 219:
::I don't think a markup language (like HTML) is interpreted. It's not compiled, but interpreted implies a statement-by-statement sequential process. A markup file doesn't have statements; kinda has to be consumed whole; it's data, not code. [[User:Stevebroshar|Stevebroshar]] ([[User talk:Stevebroshar|talk]]) 15:53, 4 May 2024 (UTC)
:I think most scripts are run via an interpreter. But scripting does not imply use of an interpreter. [[User:Stevebroshar|Stevebroshar]] ([[User talk:Stevebroshar|talk]]) 16:08, 4 May 2024 (UTC)
==Wiki Education assignment: Linguistics in the Digital Age==
Line 503 ⟶ 232:
:I think the edit ought to be reverted. No doubt there are scripting languages to control hardware. What's worse is that neither formulation covers all uses of the term ''scripting language''. Perl and Python are scripting languages, but must Perl and Python programs do not control or automate systems, they convert input to output or constitute standalone interactive applications or they do whatever else software can be used to do. [[User:Rp|Rp]] ([[User talk:Rp|talk]]) 18:16, 19 March 2024 (UTC)
::You are pondering what a script is. Me too. IMO not all Python code is script. I've used sophisticated GUI applications written in Python. That is hardily what I think of a script. I think the hallmark of a script is that it's relatively simple; has little branching; probably no multiprocessing. And it generally automates an otherwise manual process. It need not drive an application per se or hardware, but it does operations that otherwise a person would do in an less automatic way. ... Therefore I think script is subjective. ... Is Python a scripting language? I guess so since you can write a relatively simple list of instructions to automate an otherwise manual process. But I don't think of Python as ''primarily'' a scripting language. It's a powerful, capable language one can use to write almost any application. Calling it a scripting language is selling it short. I think of a scripting language as something that's so limited that it can't be used to write more sophisticated apps. For example, Windows batch (command) is a scripting language. It's basically not possible to write a non-trivial app with it. I don't think it's useful to put Python in the same category as Windows batch. ... I think my point is that you are both right. A script can control hardware and a script need not control an application. The article should embody those ideas. [[User:Stevebroshar|Stevebroshar]] ([[User talk:Stevebroshar|talk]]) 20:41, 10 May 2024 (UTC)
== Rename ==
Looking at the comments, I see this is controversial. This article should _not_ be called ''scripting language''. I propose ''Script (programming)'' or ''Script (computing)'' ... Script (''something''). And 'scripting language' should redirect to it.
The term 'scripting language' and every other category on [[List of programming languages by type]] are almost valueless. What scripting language means is: a language used to write a script where script means a relatively short and simple sequence of instructions (for automation...). Theoretically, I can use any language to write a script. There may not exist a tool today where a particular language can be used for scripting, but someone could write that tool! I've used a C interpreter even though most consider C compiled. I can write a complex application with Python that I would argue is not a script. I think all languages fall into all categories. If we're going to talk about implementations that exist, then the story is different. But I think trying to document all existing (and past!) implementations is a foolhardy and low value. ... yes ''scripting language'' is a term in the world that people use. But, just because something is a term does not mean it should have an article. ... Putting an adjective in front of a noun does not always make for a noteworthy phrase.
And yes, similar should done for every other ''xxx language'' article. [[User:Stevebroshar|Stevebroshar]] ([[User talk:Stevebroshar|talk]]) 16:56, 4 May 2024 (UTC)
:I disagree. An article about scripts will describe the properties, typical use, etc. of a script, but it may not go very much into the characteristics of a language that make it suitable for scripting. So while this could definitely be done, the title suggests a different emphasis. [[User:Rp|Rp]] ([[User talk:Rp|talk]]) 09:16, 13 May 2024 (UTC)
::@[[User:Rp|Rp]] "the title suggests a different emphasis": Exactly my intent. I agree that there are different things to say about ''script'' vs ''scripting language''. But, I don't know whether they both deserve an article. ... I think script and scripting are way more central concepts than scripting language. Thing is, this article already covers the ''script'', ''scripting'' and ''scripting language'' concepts, but I think it's awkward that the article is titled based on the least central concept: the language. IMO, the script (and scripting) is the story. The language is (just) an enabling tool. [[User:Stevebroshar|Stevebroshar]] ([[User talk:Stevebroshar|talk]]) 12:44, 13 May 2024 (UTC)
:The problem is that, historically, languages have been labelled as scripting languages if either
:*The syntax was designed to make issuing host commands natural, e.g., [[Bourne shell]], [[CLIST]], [[REXX]]
:*The impetus for designing the language was writing scripts, e.g., [[Perl]]
:This is a case where usage isn't well correlated to the syntax and semantics of the language, but depends largely on its history. Should Wikepedia be imposing a more logical nomenclature, or sticking to the actual usage in the literature? Wouldn't the former be [[WP:OR|OR]]? -- [[User:Chatul|Shmuel (Seymour J.) Metz Username:Chatul]] ([[User talk:Chatul|talk]]) 12:26, 13 May 2024 (UTC)
::@[[User:Chatul|Chatul]] What's the problem? You list two items that are both about scripts. What is the distinction you are trying to highlight? Bourne shell was designed to write shell scripts. Perl was designed to write Perl scripts. I think there is a complexity difference between Bourne shell and Perl, but how is that relevant to whether they both are designed and used for writing scripts? ... A scripting language is a language which a script can be written in, right? ... I'm not familiar with [[CLIST]] but the article does not contain the text "script" ... not familiar with [[Rexx]] but it seems to be a scripting language used for writing scripts. [[User:Stevebroshar|Stevebroshar]] ([[User talk:Stevebroshar|talk]]) 13:05, 13 May 2024 (UTC)
:::The problem is that there is a camp that wants to restrict the term to simple languages, while in the literature the term is not so limited.
:::CLIST is an IBM language that IBM originally developed to script [[time sharing option|TSO]] commands and subcommands. CLIST uses & in roughly the same way that Unix shells use $. The [[OS/360]] version of CLIST was not Turing complete, but IBM greatly extended it in [[MVS|OS/VS2]] Release 3.6.
:::[[VM (operating system)|VM]] includes applications implemented with thousands of lines of REXX code, much larger than what is commonly thought of as a script. Similarly, many Perl programs are far from trivial. In both cases they are considered scripting languages due to their original uses more than technical details. -- [[User:Chatul|Shmuel (Seymour J.) Metz Username:Chatul]] ([[User talk:Chatul|talk]]) 15:56, 13 May 2024 (UTC)
::::Um. what term is that some camp wants to restrict? "script" or "scripting language" or both?
::::I assume by camp you mean WP editors? Or do you mean citable sources?
::::You miss my point about CLIST. My point is: why do you mention CLIST when its article does not say its a scripting language or mention 'script'? ... I guess you are saying that it is in fact a scripting language. So, I'd say its article should say that. But, we're diverging from the central idea here.
::::As for REXX I don't get the point you're driving at. And it's not important to my point.
::::What are the problems you are talking about. I would like to know and it would be good to add to an article about script / scripting language.
::::But all this misses my point. My point is that ''script'' is a much more central concept than ''scripting language''. All the things are talking about are surely part of the nexus that is script, scripting and scripting language. My point is that the article should be named by the most central term; not the least central term.
::::You seem to think that since there is controversy about what constitutes a scripting language that the article cannot be called 'script'. I do not see how the former implies the latter.
::::IMO, the article is lacking a description of this controversy, ''and'' it should be titled 'script'.
:::::[[User:Stevebroshar|Stevebroshar]] ([[User talk:Stevebroshar|talk]]) 15:57, 14 May 2024 (UTC)
:::::I've seen controvercy over the meaning of ''scripting language''; I haven't seen controversy over the meaning of ''script''. By ''camp'' I mean editors, not sources.
:::::The point on Perl and Rexx is that the term ''scripting language;; has historically been applied to somewhat sophisticated languages.
:::::I take responsibility for what I actually wrote, not for what somebody tacks on to my words. I expressed no opinion on whether there should be separate articles on ''Script (computing) '' and ''scripting language'', nor on whether the second should exist at all. I addressed only the issue of what the scope should be of an article called ''scripting language''. -- [[User:Chatul|Shmuel (Seymour J.) Metz Username:Chatul]] ([[User talk:Chatul|talk]]) 14:27, 15 May 2024 (UTC)
::::::I find it wise to take responsibility for what people understand me to say. ... I created this topic about renaming this article. If you are replying to my topic, then I assume you have an opinion on the topic. But you say you have no opinion on that, so, I don't know what you are driving at. ... I seem to have touched a nerve. Sorry about that. [[User:Stevebroshar|Stevebroshar]] ([[User talk:Stevebroshar|talk]]) 15:00, 15 May 2024 (UTC)
::::I think that a clear description of what script is and what a scripting language is ... is missing from the article. I took a stab at a better definition, but it leans towards the limited scope. If the scope is broader then lets add that as an alternative/contested meaning.
::::IMO, a scripting language is ''fundamentally'' a programming language; a language used for scripting. ''Scripting language'' is basically the word ''language'' with an adjective in front of it. A language is ''classified'' as scripting based on characteristics of which (as you suggest) some are controversial. [[User:Stevebroshar|Stevebroshar]] ([[User talk:Stevebroshar|talk]]) 16:15, 14 May 2024 (UTC)
== Notable environments? ==
What are the criteria for the notable environments section? Are scriptable games really more notable than:
*Command lines
*debuggers
*Dump readers
*Editors
*[[ISPF]] on [[IBM]] mainframes
*Web browsers
Even for games, aren't there more notable examples? -- [[User:Chatul|Shmuel (Seymour J.) Metz Username:Chatul]] ([[User talk:Chatul|talk]]) 09:32, 5 May 2024 (UTC)
:I find such lists to be low value. I would prefer deleting the list than adding items. But, it seems others like lists. [[User:Stevebroshar|Stevebroshar]] ([[User talk:Stevebroshar|talk]]) 11:03, 7 May 2024 (UTC)
:But, yeah as an example of a scripting environment, computer games is less common. In general examples are a slippery slope> Once you mention one example, one can always ask: what about that other one? And with scripting there are a zillion examples one could use. ... I think the gaming one was from a gamer who loves that environment. There is too much detail ;) ... I also think there is too many languages listed with too much info about each. ... and it's odd that the first thing under characteristics is that Java is _not_ an example! ... IMO the article needs an overhaul to focus on important things and drop less important stuff. [[User:Stevebroshar|Stevebroshar]] ([[User talk:Stevebroshar|talk]]) 19:32, 10 May 2024 (UTC)
:I deleted that paragraph about notable environments. It adds little/no value IMO. What environment does scripting _not_ apply to? ... spoiler alert: none. [[User:Stevebroshar|Stevebroshar]] ([[User talk:Stevebroshar|talk]]) 17:55, 3 June 2024 (UTC)
== Type section ==
The ''type'' section seems very bloated with words. Concept to word ration is very low.
Glue languages: a language that glues components together. What language doesn't glue things together?
Editor language: macros? Arguable whether that's a language. Even if a language, is it a editor language? Or is scripting inside an editor. I think this is covered by saying some apps have scripting built-in.
GUI scripting: more macros. what these languages? One case where not enough examples.
Application specific languages: ''Application specific languages can be split in many different categories'' begs the question: what's an application specific language? xml is not a language.
Extension/embeddable languages: What is all this about? Is this about languages that are used outside of one particular app? Either designed and then embedded or generalized from an embedded environment? Don't think this needs 5 paragraphs to cover.
Just say: some apps support internal scripting either via a custom language or a general purpose language. In some cases a custom language of an app is generalized to be used outside of the original host. [[User:Stevebroshar|Stevebroshar]] ([[User talk:Stevebroshar|talk]]) 18:10, 3 June 2024 (UTC)
:That doesn't say enough. Some scripting languages were never tied to a specific host. Their interpreters have API's that let applications effectively embed them. That is certainly true of [[CLIST]] and [[REXX]]. -- [[User:Chatul|Shmuel (Seymour J.) Metz Username:Chatul]] ([[User talk:Chatul|talk]]) 19:49, 3 June 2024 (UTC)
::Thanks for that. I know I've oversimplified. But I think what is now several pages of info can be covered sufficiently in a few sentences. I think the current content is overly detailed about a relatively small number of implementations when in the real world the landscape is a thousand times more complex. I think a good way to handle the content is to use broader strokes; not get bogged down in the details. Thing is, I've never heard of CLIST or REXX. Not that I know everything, but I question whether they are notable -- whatever that actually means :) I realize it's hard to describe some things without giving examples. But examples do not describe a concept fully while giving the impression that they do. I say [[Keep it simple stupid|KISS]] it. [[User:Stevebroshar|Stevebroshar]] ([[User talk:Stevebroshar|talk]]) 18:24, 4 June 2024 (UTC)
:::[[CLIST]] is the original scripting language for [[Time sharing option|TSO]] on large IBM mainframes; IBM later added it to, e.g., NetView. While it is still supported, use dropped with the availability of [[REXX]] in those environments. There is a lot of Rexx activity in the PC world, but not nearly as much as in the mainframe world.
:::I believe that the first sentence, {{tqq|A number of languages have been designed for the purpose of replacing application-specific scripting languages by being embeddable in application programs. }}, although somewhat awkward, gives a good general idea of what it is all about. Possibly streamline the first paragraph, give a list of examples, and generalize the rest, shortening it in the process.
:::In the [[KISS principle|KISS]] article that you cited, I find the familiar quote {{tq|"Make everything as simple as possible, but not simpler"}}; Extension/embeddable languages is a case where the second part applies. -- [[User:Chatul|Shmuel (Seymour J.) Metz Username:Chatul]] ([[User talk:Chatul|talk]]) 17:03, 5 June 2024 (UTC)
|