Content deleted Content added
→Web and Scripting: How they became famous: Added reinforcement of pre-WWW use. |
ClueBot III (talk | contribs) m Archiving 1 discussion to Talk:Scripting language/Archives/2022. (BOT) |
||
(47 intermediate revisions by 14 users not shown) | |||
Line 1:
{{Talk header}}
{{WikiProject
{{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 108 ⟶ 79:
For unix machines, I am old but not that old, I guess: .profile, .shrc and the like (in skeleton?). <span style="font-size: smaller;" class="autosigned">—Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[Special:Contributions/84.75.172.104|84.75.172.104]] ([[User talk:84.75.172.104|talk]]) 19:41, 26 February 2011 (UTC)</span><!-- Template:UnsignedIP --> <!--Autosigned by SineBot-->
:I agree that not all Python programming would often be called scripting, but short, one-file programs in Python are often called scripts, and writing them is called scripting. Try Google to find plenty of examples. A script, to many, is just a short program in one file. [[User:Rp|Rp]] ([[User talk:Rp|talk]]) 21:06, 29 May 2023 (UTC)
bis
Line 125 ⟶ 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 235 ⟶ 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 300 ⟶ 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 337 ⟶ 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 387 ⟶ 146:
:The reason of this use is historical, because in earl days, interpreted languages were limited with very simple types, while some compiled languages had some structured data types, like arrays in Fortran or records in Cobol. Pascal had arrays, sets, records and variant types! and structured statements, wow!.
:Today many scripting languages are very rich, but their use remains to be more interpreted than compiled, although the efficiency and use of virtual machines made that difference not enough to classify then,
:As I said, the difference is subtle. '''[from someone else]'''
:---
:"there is a subtle difference between writing a script and writing a program" yes!!! The page should be called 'script' [[User:Stevebroshar|Stevebroshar]] ([[User talk:Stevebroshar|talk]]) 16:39, 4 May 2024 (UTC)
== No serious person will say: Scripting language ==
Line 400 ⟶ 161:
B
F <span style="font-size: smaller;" class="autosigned">—Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[Special:Contributions/84.75.172.104|84.75.172.104]] ([[User talk:84.75.172.104|talk]]) 21:20, 11 March 2011 (UTC)</span><!-- Template:UnsignedIP --> <!--Autosigned by SineBot-->
:Huh? People do use the term. You're not using it does not affect whether it is a thing. ... Also, I'm fine using the term even though it is fundamentally flawed. I am not a serious person? ouch that hurts coming from you 84.75.172.104 :) [[User:Stevebroshar|Stevebroshar]] ([[User talk:Stevebroshar|talk]]) 16:37, 4 May 2024 (UTC)
==Programing vs Scripting==
Line 412 ⟶ 175:
Perhaps a scripting language would be best described as a language that can not run on computer hardware alone.
[[User:Pendare|Pendare]] ([[User talk:Pendare|talk]]) 23:37, 25 May 2011 (UTC)
:That would include just about every modern language, since they are all either compiled or interpreted. ''[[User:Rich Farmbrough|Rich]] [[User talk:Rich Farmbrough|Farmbrough]]'', <small>12:25, 18 September 2011 (UTC).</small
:Huh? What does "language that can not run on computer hardware alone" mean? What does it run on if not computer hardware? What else is there? [[User:Stevebroshar|Stevebroshar]] ([[User talk:Stevebroshar|talk]]) 16:33, 4 May 2024 (UTC)
:<br />
== C# vs. JavaScript as Hybrid Languages ==
Line 422 ⟶ 187:
This also implies the following argument: If code is run on a Framework or VM, then the Operating System could also be classified as a Framework and ALL programming languages are then scripting languages. The VM and Framework simulate the OS; thus, the OS is the "Framework" that the language scripts or manipulates. This implies that there is no solid programming language, but the scripting of events inside the Operating System's framework. [[User:Tuxmascot|Tuxmascot]] ([[User talk:Tuxmascot|talk]]) 17:58, 31 January 2012 (UTC)
:You mean Java, not JavaScript. It seems strange to say that they ''script how the VM operates'' and I think this is because the VM doesn't do anything useful without them, it only exists as a basis to allow such programs to be written - unlike, for instance, scripting for applications such as AutoCAD or Microsoft Office. I think languages such as Unix shells, Perl, Python and Ruby are better examples of the 'hybrid' languages you have in mind. [[User:Rp|Rp]] ([[User talk:Rp|talk]]) 19:04, 31 January 2012 (UTC)
:All correct. Classifying languages as scripting or any other category in [[List of programming languages by type]] is almost valueless. Much effort has been spent to classify languages, when IMO it's a waste of time. [[User:Stevebroshar|Stevebroshar]] ([[User talk:Stevebroshar|talk]]) 16:29, 4 May 2024 (UTC)
You may have a point there, but could you be confusing powerful scripting languages with an actual programming language? Python is used widely in the *nix area, but the python script is used in bash. I would have to argue that Python is a scripting language, not a 'hybrid' language.
Line 428 ⟶ 194:
: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 450 ⟶ 207:
: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 470 ⟶ 217:
:with interpreted linking to 'interpreter' instead of 'interpreted language' as it would make sense. The way I see it is the 'interpreted language' article that lacks content that would clarify differences. That said the list from there provides interpreted yet not scripting languages such as APL, Lisp, R et al. Also note [[Domain-specific language|___domain-specific languages]] such as those used for symbolic mathematics (e.g. Wolfram) and sql. --[[Special:Contributions/79.167.16.139|79.167.16.139]] ([[User talk:79.167.16.139|talk]]) 15:54, 20 September 2017 (UTC)
:In case this ever comes up again, [[markup languages]] are interpreted, but they are very much '''not''' scripting languages. --[[User:Chatul|Shmuel (Seymour J.) Metz Username:Chatul]] ([[User talk:Chatul|talk]]) 12:52, 19 October 2022 (UTC)
::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==
{{dashboard.wikiedu.org assignment | course = Wikipedia:Wiki_Ed/University_of_Arizona/Linguistics_in_the_Digital_Age_(Fall_2023) | assignments = [[User:Rhuch|Rhuch]] | start_date = 2023-08-21 | end_date = 2023-12-11 }}
<span class="wikied-assignment" style="font-size:85%;">— Assignment last updated by [[User:Fedfed2|Fedfed2]] ([[User talk:Fedfed2|talk]]) 00:54, 9 December 2023 (UTC)</span>
== Scope of article ==
Is the term ''scripting language'' limited to scripts that control other software, or does it include languages like [[Logo (programming language)|Logo]] that are used to control hardware?
This question was prompted by a recent edit that added the word ''software''. -- [[User:Chatul|Shmuel (Seymour J.) Metz Username:Chatul]] ([[User talk:Chatul|talk]]) 13:32, 18 March 2024 (UTC)
: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)
|