Talk:JavaScript: Difference between revisions

Content deleted Content added
Execvator (talk | contribs)
m New entries go towards the bottom
prune nonsense
 
(630 intermediate revisions by more than 100 users not shown)
Line 1:
{{talkheader}}
{{WikiProject Internetbanner shell|class=B|importancevital=high}}yes|
{{WikiProject Computer science|class=B|importance=midhigh}}
{{WikiProject Computing|importance=High|websites=y|websites-importance=Top|software=y|software-importance=High|science=y |science-importance=high}}
{{todo}}
{{WikiProject Internet|importance=Top}}
 
{{WikiProject JavaScript|importance=Top}}
{{ archive box |
{{WikiProject Spoken Wikipedia}}
# [[/Archive 1]]: Dec 2001 - Jun 2005
# [[/Archive 2]]: Jun 2005 - Aug 2006
# [[/Archive 3]]: Aug 2006 - Feb 2008
}}
{{Merged from|Server-side JavaScript|25 April 2012}}
{{merged from|Online JavaScript IDE|2 August 2015}}
{{Backwardscopy
|author = Miller, F. P., Vandome, A. F., & McBrewster, J.
|year = 2010
|title = JavaScript: JavaScript syntax, client-side JavaScript, JavaScript engine, Ajax (programming), Web interoperability, web accessibility, cross-site scripting, cross-site request forgery, ECMAScript, dynamic HTML
|org = Alphascript Publishing
|comments = JavaScript: JavaScript syntax - {{OCLC|721316846}}, {{ISBN|9786130097844}}.<br>JSON: Computer programming - {{OCLC|664131009}}, {{ISBN|9786130264369}}.
|author2 = Miller, F. P., Vandome, A. F., & McBrewster, J.
|year2 = 2009
|title2 = JSON: Computer programming, human-readable medium, data structure, associative array, Douglas Crockford, Internet media type, serialization, Ajax (programming), XML, JavaScript, Ecma International
|org2 = Alphascript
|bot=LivingBot
}}
{{Archive box}}
 
== Perl should be added to the list of influencers of JavaScript ==
{{selfref|For the use of JavaScript on Wikipedia, see [[Wikipedia:JavaScript]].}}
 
==Merge with Client-side Javascript==
This article is mostly about [[Client-side JavaScript]]. I have proposed a merge with [[Client-side JavaScript]]. [[JavaScript]] is more abundant on the client-side so maybe [[Server-side JavaScript]] should have its own article but these should be merged or [[JavaScript]] should summarise both. What are your thought? [[User:Bamkin|Bamkin]] 19:05, 22 July 2007 (UTC)
:'''(older [[/Archive 3#Merge with Client-side Javascript|2007 comments]])'''
 
:I would have to disagree, They are distinctly different languages... [[User:Prophet0014|Prophet0014]] ([[User talk:Prophet0014|talk]]) 03:10, 23 January 2008 (UTC)
 
:Disagree with merge. While JS/ES is today most common in web browsers, there will in the future be more and more widespread alternate implementations. ActionScript, for instance, isn't the same as DOM programming. For that matter, web client programming is moving toward frameworks, a subject which clearly belongs with ''Client-side scripting'', which doesn't seem right in a general description of the language. A big link the top saying "You might be looking for ''web page scripting'' might be appropriate instead. [[User:Shantirao|Shantirao]] ([[User talk:Shantirao|talk]]) 06:04, 14 February 2008 (UTC)
 
:Disagree with merge - look at a server-side Javascript product like Jaxer from Aptana - JavaScript is not just for the browser anymore. This article deals well with Javascript as language - [[Client-side JavaScript]] deals well with an application of Javascript. [[User:Ctkeene|Ctkeene]] ([[User talk:Ctkeene|talk]]) 17:21, 9 May 2008 (UTC)
 
:Most people care only about JS client side! So a clear difference between both is useful <small>—Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[Special:Contributions/83.228.157.69|83.228.157.69]] ([[User talk:83.228.157.69|talk]]) 23:43, 13 February 2008 (UTC)</small><!-- Template:UnsignedIP --> <!--Autosigned by SineBot-->
 
::I disagree. Things like aptana jaxer blur the lines between js on the client and the server, and I feel it is important to discuss both in the same article. [[User:Psychcf|Psychcf]] ([[User talk:Psychcf|talk]]) 12:40, 15 April 2008 (UTC)
 
== JavaScript 2? ==
 
How about something about version 2? Either in it's own section or under Language?
 
: Yes, this is a great idea, and it warrants a new section &mdash; quite a big one; there is really quite a lot to say. [[User:Dlexc|Dlexc]] 09:58, 27 October 2007 (UTC)
 
:See [http://ecmascript.org/ ecmascript.org]. Per [http://wiki.ecmascript.org/doku.php?id=proposals:versioning the versioning proposal] which builds on [http://www.ietf.org/rfc/rfc4329.txt RFC 4329], JavaScript 2 is intended to denote exactly the same language as ECMAScript Edition 4. --[[User:Brendan Eich|Brendan Eich]] 04:33, 23 October 2007 (UTC)
 
:Agreed, we need to start covering the different versions of JS in this article. [[User:Psychcf|Psychcf]] ([[User talk:Psychcf|talk]]) 01:06, 17 April 2008 (UTC)
 
:I was surprised to see nothing about the next version in proposal/specification/development, what Brendan Eich calls JS2. The controversy about the next generation of [[ECMAScript]] is covered in that article, but regardless it's clear there will be a JavaScript version 2 from Mozilla that will have a subset /superset of next-generation features. -- [[User:Skierpage|Skierpage]] ([[User talk:Skierpage|talk]]) 02:39, 2 May 2008 (UTC)
 
== "Weakly" Typed ==
 
Wouldn't it be more NPOV to refer to this as "loosely typed" rather than "weakly typed"? After all, lots of people prefer loose typing, and don't think of it as "weak". <small>—Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[Special:Contributions/71.243.40.241|71.243.40.241]] ([[User talk:71.243.40.241|talk]]) 23:00, 21 March 2008 (UTC)</small><!-- Template:UnsignedIP --> <!--Autosigned by SineBot-->
 
:Not really. [[Weak typing]] is a technical term. Other examples: [[weak reference]], [[weak topology]] - these are completely neutral terms. --[[User:Maian|Maian]] ([[User talk:Maian|talk]]) 15:46, 11 July 2008 (UTC)
 
== the debugger section is not up to date ==
 
Hello, the debugger section is not up to date anymore. Actually Opera realized its script debugger. The following sentence should be changed from
:Currently, Internet Explorer, Firefox, Opera and Safari all have script debuggers available for them.
to
:Currently, Internet Explorer, Firefox, and Safari all have script debuggers available for them. Opera announced a debugging developer tool in a preview released in February 2007.
Also, I would like to set an external link to [http://www.fincy.com/easy_http_request the easy http request page] to give some examples for http requests made by pure javascript without a huge framework behind. Also the [http://en.wikipedia.org/wiki/Mootools mootools framework] is very very popular and hard to find at wikipedia. On the opposite the [http://en.wikipedia.org/wiki/Ajax_framework Ajax framework page] is linked everywhere. This influences a reader by suggesting the ajax framework everywhere to the believe that a framework is necessary to create a http request via javascript and leads to an improper support for the ajax framework.
 
However, a reader should receive a neutral overview and not be pushed to only one method.
 
--[[Special:Contributions/84.227.206.177|84.227.206.177]] ([[User talk:84.227.206.177|talk]]) 03:57, 28 March 2008 (UTC)
 
:Thanks for noting Opera Dragonfly. I updated the article. In general, make the changes you want directly rather than suggesting them here. I'm not seeing unsupportable statements in favor of frameworks in the article; edit the article or mention particulars here if you know what you want to remove. Maybe the article should mention Prototype, jQuery, Dojo, YUI, mooTools, and other popular libraries, but it should probably address them collectively rather than individually, and I strongly lean against mentioning just one. --[[Special:Contributions/67.119.195.0|67.119.195.0]] ([[User talk:67.119.195.0|talk]]) 00:14, 19 May 2008 (UTC)
 
:IMO, the debugger section is just too big. We shouldn't list every single debugger out there. If anything, that list should be put in its own [[List of JavaScript debuggers]] article. --[[User:Maian|Maian]] ([[User talk:Maian|talk]]) 15:57, 11 July 2008 (UTC)
 
== Merger proposal ==
 
I think it's a good idea to merge this page with [[JavaScript syntax]]. This is because Wikipedia is [[WP:NOT|not]] an instruction manual. Wikibooks [http://en.wikibooks.org/wiki/Programming:JavaScript already has] a book about JavaScript, and there is no reason to duplicate content. [[User:Nate879|Nate879]] ([[User talk:Nate879|talk]]) 02:10, 27 August 2008 (UTC)
 
: I'm pretty neutral to this idea. I'm not sure what should be moved from the JavaScript syntax to this article without making this article bloated. Maybe, we should just move all the information that JavaScript syntax has to the wikibook, if it's not already there. Is it possible to have [[JavaScript syntax]] redirect to the JavaScript wikibook? --[[User:Maian|Maian]] ([[User talk:Maian|talk]]) 01:22, 1 September 2008 (UTC)
 
:The wikibook version is too "web-centric", and spends more effort on how javascript is embedded within other environments. The wikipedia article is independent, pristine Javascript. Like [[Goldilocks]], I find this treatment "just right".
 
:You point out that Wikipedia is not an instruction manual. I don't believe this article satisfies the definitions of a how-to manual that you [[WP:NOTHOWTO|cite]]. For example, the article on the [[International Phonetic Alphabet]] gives a full exposition of the the structure of IPA - to my eye it is very similar to the Javascript article in question. I think for something that truly permeates the entire web, an extensive declarative exposition (as distinct from the history and politics of) is certainly in the purview of Wikipedia. I used my old [[Funk and Wagnalls]] (now [[Encarta]]) as a refresher for many a mathematical concept. For example, look at the Encarta treatment of [http://encarta.msn.com/encyclopedia_761568582/Calculus_(mathematics).html Calculus]. It might be from the terrible Microsoft empire - put it reflects what Funk and Wagnalls did for decades. Clearly it qualifies as something an encyclopedia does! The main body of the article is a simple exposition of the topic itself - the Leibniz versus Newton controversy or any of the politics of Calculus is reserved for a brief mention in the final section. I find the wikipedia Javascript syntax article to be very equivalent. --[[User:BirdieGalyan|BirdieGalyan]] ([[User talk:BirdieGalyan|talk]]) 00:40, 3 September 2008 (UTC)
 
:js syntax article is long enough to be on its own i think. <span class="autosigned">—Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[Special:Contributions/69.125.25.190|69.125.25.190]] ([[User talk:69.125.25.190|talk]]) 15:51, 14 September 2008 (UTC)</span><!-- Template:UnsignedIP --> <!--Autosigned by SineBot-->
 
: I do agree that some sections are applicable for merging with [[JavaScript syntax]]. However, this also talks about other things which are generally irrelevant to the syntax of JavaScript. Perhaps some of the information could be merged while others remain on this page on its own. --[[User:E0alpha|E0alpha]] (19:03, 25 September 2008)
 
: The JavaScript syntax page is alright on it's own. This page is fine without it. Searching (JavaScript syntax) in the browser should lead us there. <span style="font-size: smaller;" class="autosigned">—Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[Special:Contributions/202.156.9.4|202.156.9.4]] ([[User talk:202.156.9.4|talk]]) 07:56, 26 September 2008 (UTC)</span><!-- Template:UnsignedIP --> <!--Autosigned by SineBot-->
 
: There is absolutely no need for a "[[JavaScript syntax]]" page, especially not when there's a link to MDC in the external links section. --[[User:Execvator|Execvator]] ([[User talk:Execvator|talk]]) 10:49, 26 September 2008 (UTC)
 
: The two pages should remain separate, one is more about the history of JavaScript and the other a brief summary of its use. The syntax page omits some of the more technical features (such as closures and the this keyword) but that is OK. Also, it should make clear the distinction between the language (which is actually ECMAScript Language or ECMA-262) and JavaScript, which is both the official name of Netscape’s implementation and the colloquial name for all other implementations in browsers.--[[Special:Contributions/61.88.57.1|61.88.57.1]] ([[User talk:61.88.57.1|talk]]) 00:06, 10 October 2008 (UTC)
 
: I personally think this page should remain how it is, it's got some great information in it. Those who aren't actually programmers might want to learn about the history of the languages, not the actual syntax of it. [[User:RuneScapez|RuneScapez]] ([[User talk:RuneScapez|talk]]) 19:47, 17 October 2008 (UTC)
 
: I believe [[JavaScript]] and [[JavaScript syntax]] should be merged. If you're describing JavaScript, part of your description should include the language's syntax. JavaScript syntax doesn't exist on its own; it's an integral part of JavaScript, and has no life outside of JavaScript. Yes, there's lots of good info in both articles, and the total is quite long for a single article, but to me this says "trim it down" rather than "split it up". Yes, the current Wikibooks article is very web-centric, and not as thorough, but that doesn't mean that Wikipedia needs to do what should be Wikibooks' job. -- [[User:Dtgriscom|Dan Griscom]] ([[User talk:Dtgriscom|talk]]) 16:50, 3 November 2008 (UTC)
 
:'''Oppose merge:''' Both articles have substantial content and both seem to have encyclopedic merit. [[User:BirdieGalyan|BirdieGalyan]]'s points above state the point well. What would ''really'' be useful is if the content could be united under an article series. [[User:Dreftymac|dr.ef.tymac]] ([[User talk:Dreftymac|talk]]) 12:23, 18 November 2008 (UTC)
 
== JS syntax example ==
 
The syntax example is 50 % DOM and not JavaScript. We should keep those concepts separate.--[[User:Itpastorn|itpastorn]] ([[User talk:Itpastorn|talk]]) 18:16, 6 October 2008 (UTC)
 
: I agree. It was originally an image of JS code, but it was replaced with the text of that image. I'd like to change it, but I can't really think of a concise example that exploits all major JavaScript features with a small dose of DOM (its most common use). Of course, the DOM usage should be commented that it is not native to JS. --[[User:Maian|Maian]] ([[User talk:Maian|talk]]) 07:23, 7 October 2008 (UTC)
 
: BTW, someone previously posted this [http://upload.wikimedia.org/wikipedia/en/c/c6/Jquery.PNG image] as a syntax example, but it was reverted because the image was far too large. --[[User:Maian|Maian]] ([[User talk:Maian|talk]]) 08:47, 19 October 2008 (UTC)
 
== Capitalization ==
 
Shouldn't the sub headings in the features section be capitalized? I am of the opinion that it would look better that way —Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[User:Higanesh2003|Higanesh2003]] ([[User talk:Higanesh2003|talk]] • [[Special:Contributions/Higanesh2003|contribs]]) 11:57, 10 September 2008 (UTC)<!-- Template:Unsigned --> <!--Autosigned by SineBot-->
 
== selfref ==
 
I have moved the selfref template to the very top of this page (just below the other informational and sidebar templates) from the main article as there is really no need for the selfref to be there. [[User:Cat-five|Cat-five]] - [[User talk:Cat-five|talk]] 01:29, 15 September 2008 (UTC)
 
== Function-level vs. functional programming ==
 
In the JavaScript features section, there is subsection called "functional programming". I originally wrote/revamped the JavaScript features sections (I was [[Special:Contributions/76.212.137.43]], [[Special:Contributions/72.177.62.3]], and [[Special:Contributions/72.177.62.3]] when I was too lazy to log in), and I had it named "functional programming". However, [[User:MilesAgain]] changed it to "function-level programming" ([http://en.wikipedia.org/w/index.php?title=JavaScript&diff=187235026&oldid=187150183]). Since then, it has eventually been reverted back to "functional programming". After reading that [[function-level programming]] article again, I cannot see how "function-level programming" would correctly describe that section, since conventional JS functional style definitely does not preclude the usage of variables. I just want to verify with someone knowledgeable with this subject that it really should be "functional programming". --[[User:Maian|Maian]] ([[User talk:Maian|talk]]) 07:52, 7 October 2008 (UTC)
:I can't see JavaScript fitting in either of these categories.
::[F]unctional programming is a programming paradigm that treats computation as the evaluation of mathematical functions and avoids state and mutable data. It emphasizes the application of functions, in contrast with the imperative programming style that emphasizes changes in state.
:JavaScript is most certainly an imperative, value-level language. First-class functions do not make it functional; they just make it extremely value-level (and I believe a functional language would also be function-level). "Imperative" is in the Paradigm section of the infobox, just below "functional," but these are exact opposites. --[[User:Jesdisciple|Jesdisciple]] ([[User talk:Jesdisciple|talk]]) 20:32, 17 October 2008 (UTC)
::The thing with programming paradigms is that it depends on the programmer - all the language needs to do is be capable of following that paradigm. Indeed, you can program in JS in a purely functional way, avoiding state and mutable data. There's also the concept of non-pure functional languages. In fact, the posture child of functional languages, Lisp, has many non-pure functions among its various dialects. Also, here's an article expounding on the virtues of JS similarities with Lisp: http://bc.tech.coop/blog/030920.html --[[User:Maian|Maian]] ([[User talk:Maian|talk]]) 08:43, 19 October 2008 (UTC)
:::I can see a JS program successfully imitating a functional language, but I cannot see the term being part of its definition. To summarize the issue from my perspective: Should a language be classified by what a programmer ''can'' do with it or by what its features ''suggest''? I think the former answer would drive us to flood every language with (almost) every known paradigm.
 
:::EDIT: Woops, I just remembered to check your link. That confirms my first clause above (that JS can be bent into a functional-ish shape), but, to give a practical test of the features' suggestions, I don't see any well-introduced JS newbie adopting that programming style. (This also calls its prototype-based status into question, although, I think, not as emphatically.)
 
:::EDIT2: I just had another thought. Can you actually ''do'' anything useful without having side-effects in JS? To my knowledge the DOM is the only means of output, and that entails side-effects. (I may be revealing how little I know about functional programming here, but just the same...) --[[User:Jesdisciple|Jesdisciple]] ([[User talk:Jesdisciple|talk]]) 01:33, 27 October 2008 (UTC)
 
:::: Programming paradigms are not mutually exclusive. I think we all can accept that object-oriented programming is distinct from structural programming, yet Java encourages the usage of both paradigms. The same can be said about functional programming. Functional programming does ''not'' prohibit side effects - only "pure" functional programming does. As I mentioned before, most dialects of Lisp have several side-effecting functions, yet Lisp is considered a functional programming language.
 
:::: With regards to your comment about the JS newbie, keep in mind that not everyone comes from a non-programming or a Java-ish background. Many CS students are familiar with functional programming to a certain extent and may tend to program in a functional way, and JS with its first-class functions and closures is very amenable to that (compared to say, Java). Like I said, it depends on the user. --[[User:Maian|Maian]] ([[User talk:Maian|talk]]) 00:51, 31 October 2008 (UTC)
 
::::: I get the 'inclusivity' but still find functional JS a bit awkward. Revisiting our newbie, I would consider any considerably experienced programmer (from, Java, Lisp, PHP, or anything else) to be a biased sample. If he's already been taught to code a certain way and he knows how to do that in JS, he'll probably do it until something breaks him of it.
 
::::: But I don't have any deep emotional need to win this debate; if you feel so inclined, just don't respond as I think we understand each other. --[[User:Jesdisciple|Jesdisciple]] ([[User talk:Jesdisciple|talk]]) 02:52, 31 October 2008 (UTC)
 
No notes about its lambda nature? <span style="font-size: smaller;" class="autosigned">—Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[Special:Contributions/65.73.82.80|65.73.82.80]] ([[User talk:65.73.82.80|talk]]) 02:33, 19 November 2008 (UTC)</span><!-- Template:UnsignedIP --> <!--Autosigned by SineBot-->
 
: That's covered in the functional programming section. --[[User:Maian|Maian]] ([[User talk:Maian|talk]]) 07:36, 19 November 2008 (UTC)
== Influenced by ScriptEase? ==
 
This [http://en.wikipedia.org/w/index.php?title=JavaScript&curid=9845&diff=250012972&oldid=250007607 edit] added ScriptEase to the list of languages that influenced JavaScript. I did some research on the ScriptEase. It's original name is Cmm and was developed by a now defunct/bought company called Nombas. It was part of a larger web development framework/IDE called CEnvi. They had a page on the [http://web.archive.org/web/20040308172906/http://www.nombas.com/us/scripting/history.htm "history of scripting"]. They claim:
 
:The advantages of client-side handling were made obvious by Nombas' "Espresso Pages", and Netscape soon began work on their own version, which they called LiveScript, and then renamed to JavaScript just before its final release.
 
ScriptEase eventually came to incorporate JavaScript by 2002 (may have happened earlier).
 
A book called [http://www.wrox.com/WileyCDA/WroxTitle/Professional-JavaScript-for-Web-Developers.productCd-0764579088.html "Profession JavaScript for Web Developers"] by Nicholas C. Zakas, written in April 2005, also [http://books.google.com/books?id=f_2R9ra2PjEC&pg=PA2&vq=scriptease&dq=professional+javascript+for+web+developers+nicholas+zakas&source=gbs_search_s mentions ScriptEase] as an influence of JavaScript.
 
[http://www.accu.informika.ru/accu/isdf/public/isdf3/isdf305.htm This page] also mentions Cmm:
 
:ScriptEase (Cmm) by Nombas is being folded into the ECMA work on JavaScript.
 
However AFAIK, Brendan Eich has never mentioned Cmm/ScriptEase before when discussing the history of JavaScript. Cmm may have influenced Netscape to make a scripting language, and both JavaScript and Cmm share a heritage with the C language, but I'm not so sure Eich had Cmm in mind when designing the language.
 
See
--[[User:Maian|Maian]] ([[User talk:Maian|talk]]) 09:33, 7 November 2008 (UTC)
 
- https://2ality.com/2013/02/javascript-influences.html
: Just noticed that Brendan Eich already talked about this before [[Talk:ECMAScript#Origins_of_LiveScript|here]]:
 
listing similar methods where the comments explicitly mention Perl
:: Hello. I first met Brent Noorda in late 1996, when Netscape [http://cgi.netscape.com/newsref/pr/newsrelease289.html brought] JavaScript to ECMA for standardization. I had never heard of NOMBAS or its products before then. When I created JS in May 1995 (in about ten days for the core language implementation; the rest of that year was consumed by the DOM and browser embedding work), my influences were awk, C, HyperTalk, and Self, combined with management orders to "make it look like Java."
 
And consider the newer "use strict" which is literally a Perl pragma
: So although Cmm might have (if at all) influenced ECMAScript, it didn't influence JavaScript.
 
I don't know how to add this information, since editing is protected. [[Special:Contributions/2A00:FBC:E1C4:5A7E:952E:5756:15EC:39D|2A00:FBC:E1C4:5A7E:952E:5756:15EC:39D]] ([[User talk:2A00:FBC:E1C4:5A7E:952E:5756:15EC:39D|talk]]) 03:36, 29 March 2025 (UTC)
: --[[User:Maian|Maian]] ([[User talk:Maian|talk]]) 20:19, 9 November 2008 (UTC)
 
== Semi-protected edit request on 29 March 2025 ==
== queries ==
 
{{edit semi-protected|JavaScript|answered=yes}}
what is java script and what is use ? <span style="font-size: smaller;" class="autosigned">—Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[Special:Contributions/203.129.201.62|203.129.201.62]] ([[User talk:203.129.201.62|talk]]) 03:52, 20 November 2008 (UTC)</span><!-- Template:UnsignedIP --> <!--Autosigned by SineBot-->
Add Perl to the list of "Influenced By", links to sources can be found in the talk section.
 
- Um...read the article (-_-) --[[User:Maian|Maian]] ([[User talk:Maian|talk]]) 19:52, 20 November 2008 (UTC)
 
Reasoning:
== Inconsistency ==
 
It's not only very obvious that perl influenced methods in the Array, String and RegEx objects by name and semantic. The original source code of JavaScript is explicitly referencing Perl in the comments on numeral occasions.
I just noticed that the [[ECMAScript]] says:
 
Perl might be an unpopular language in 2025 but was very popular at the time of the creation of JS.
JavaScript was originally developed by Brendan Eich of Netscape under the name Mocha, later LiveScript, and finally renamed to JavaScript.
 
The "use strict" feature in newer instances of JS is a straight forward copy from Perl. [[Special:Contributions/2A00:FBC:E1C4:5A7E:952E:5756:15EC:39D|2A00:FBC:E1C4:5A7E:952E:5756:15EC:39D]] ([[User talk:2A00:FBC:E1C4:5A7E:952E:5756:15EC:39D|talk]]) 14:19, 29 March 2025 (UTC)
Wheras this page says:
:{{Not done}}: please provide [[Wikipedia:Reliable sources|reliable sources]] that support the change you want to be made.<!-- Template:EEp --> Where you write "links to source''s''", do you mean the ''one'' link you included in the section you created just above? That's one person's blog, unfortunately, which doesn't qualify as a reliable source. Can you supplied at least one? Aside from that, I'm looking at where AWK, Self, and HyperTalk are listed and thinking that if they're truly a source they ought to be mentioned as such in the article's body, but they aren't. [[User:Largoplazo|Largoplazo]] ([[User talk:Largoplazo|talk]]) 15:03, 29 March 2025 (UTC)
::This image from the Chinese blog entry mentioned in the other blog shows a grep in the original code base of JS mentioning Perl
::https://images0.cnblogs.com/blog/116671/201302/06202428-4fa9b726d88d4a16be4ac498a60f9a95.jpg
::What could be more obvious?
::I will add more sources later, because my mobile Chrome keeps erasing the form whenever I change the tab searching for more...
::I can start a detailed discussion at a programmers forum detailing the deep influence of Perl if this is considered "reliable" [[Special:Contributions/2A00:FBC:E1C4:5A7E:952E:5756:15EC:39D|2A00:FBC:E1C4:5A7E:952E:5756:15EC:39D]] ([[User talk:2A00:FBC:E1C4:5A7E:952E:5756:15EC:39D|talk]]) 16:16, 29 March 2025 (UTC)
:::That doesn't remotely qualify as a reliable source, and using it would probably amount to [[WP:OR|original research]], which isn't permitted; at best, it's a primary source. Did you follow the link to the guideline about [[WP:RS|reliable sources]] to acquaint yourself with what's meant by that here? [[User:Largoplazo|Largoplazo]] ([[User talk:Largoplazo|talk]]) 16:19, 29 March 2025 (UTC)
::::The original code base at Mozilla is not a reliable source? [[Special:Contributions/2A00:FBC:E1C4:5A7E:952E:5756:15EC:39D|2A00:FBC:E1C4:5A7E:952E:5756:15EC:39D]] ([[User talk:2A00:FBC:E1C4:5A7E:952E:5756:15EC:39D|talk]]) 16:21, 29 March 2025 (UTC)
:::::Not really because it's only claimed to be the real thing by a blog that itself isn't a reliable source. The MDN link you provided below is much more relevant. [[User:Largoplazo|Largoplazo]] ([[User talk:Largoplazo|talk]]) 16:55, 29 March 2025 (UTC)
:::::: [[Special:Contributions/2A00:FBC:E1C4:5A7E:952E:5756:15EC:39D|2A00:FBC:E1C4:5A7E:952E:5756:15EC:39D]] ([[User talk:2A00:FBC:E1C4:5A7E:952E:5756:15EC:39D|talk]]) 17:04, 29 March 2025 (UTC)
:::::::cut and paste into the mobile interface of Wikipedia is creating weird amputated results. I apologize, but that's a technical problem beyond my influence.
::::::: Will need to fire up my laptop later and create an official request at MDN for a link to the original code. [[Special:Contributions/2A00:FBC:E1C4:5A7E:952E:5756:15EC:39D|2A00:FBC:E1C4:5A7E:952E:5756:15EC:39D]] ([[User talk:2A00:FBC:E1C4:5A7E:952E:5756:15EC:39D|talk]]) 17:20, 29 March 2025 (UTC)
::::::https://github.com/ricardoquesada/Spidermonkey/blob/master/js/src/jsarray.cpp [[Special:Contributions/2A00:FBC:E1C4:5A7E:952E:5756:15EC:39D|2A00:FBC:E1C4:5A7E:952E:5756:15EC:39D]] ([[User talk:2A00:FBC:E1C4:5A7E:952E:5756:15EC:39D|talk]]) 17:06, 29 March 2025 (UTC)
::AWK's influence was stated by Eich as using the 8 letter word 'function' instead 'sub' like in Perl.
::I occasionally states in interviews that the 'onEVENT' callback naming syntax - like onMouseOver or onSubmit was inspired by HyperCard/HyperTalk, a hypertext system preceding HTML by many years. [[Special:Contributions/2A00:FBC:E1C4:5A7E:952E:5756:15EC:39D|2A00:FBC:E1C4:5A7E:952E:5756:15EC:39D]] ([[User talk:2A00:FBC:E1C4:5A7E:952E:5756:15EC:39D|talk]]) 16:32, 29 March 2025 (UTC)
:::I wasn't questioning the validity of the inclusion of AWK and HyperText, only commenting that they ought to be expanded on in the body of the article rather than relegated only to the infobox. [[User:Largoplazo|Largoplazo]] ([[User talk:Largoplazo|talk]]) 17:07, 29 March 2025 (UTC)
::A tweet from Brendan Eich the creator of JS, Juli 4th 2017
::<code></code>
::<code>Java inspired sort, which is in-place/mutating. TBH, JS1.0 in 1995 was under Perl influence; JS1.2 in 1997 fell more under Python influence.</code>
::<code>12:00 vorm. · 4. Juli 2017</code>
::<code></code>
::Source https://x.com/BrendanEich/status/881996154115837952
::X has problems displaying it on some browsers like Chrome.
::I did a screenshot with Firefox. Google search has it cached too. [[Special:Contributions/2A00:FBC:E1C4:5A7E:988B:44F9:E011:2675|2A00:FBC:E1C4:5A7E:988B:44F9:E011:2675]] ([[User talk:2A00:FBC:E1C4:5A7E:988B:44F9:E011:2675|talk]]) 12:36, 30 March 2025 (UTC)
::This is a link the current source of the Spidermonkey implementation of JS Arrays:
::https://searchfox.org/mozilla-central/source/js/src/builtin/Array.cpp
::Searching for the word "Perl" shows a list of "Perl-ish methods" like
::<code></code>
:: <code>/* Perl-ish methods. */</code>
:: <code>JS_INLINABLE_FN("join", array_join, 1, 0, ArrayJoin),</code>
:: <code>JS_FN("reverse", array_reverse, 0, 0),</code>
:: <code>JS_TRAMPOLINE_FN("sort", array_sort, 1, 0, ArraySort),</code>
:: <code>JS_INLINABLE_FN("push", array_push, 1, 0, ArrayPush),</code>
:: <code>JS_INLINABLE_FN("pop", array_pop, 0, 0, ArrayPop),</code>
:: <code>JS_INLINABLE_FN("shift", array_shift, 0, 0, ArrayShift),</code>
:: J<code>S_FN("unshift", array_unshift, 1, 0),</code>
:: <code>JS_FNINFO("splice", array_splice, &array_splice_info, 2, 0),</code>
::<code></code>
::Compare
::- join http://perldoc.perl.org/functions/join.html
::- reverse http://perldoc.perl.org/functions/reverse.html
::- push http://perldoc.perl.org/functions/push.html
::More corresponding Perl functions can be found in
::http://perldoc.perl.org/perlfunc.html
::I'm sure a repo of JS 1.0 would show more detailed comments regarding Perl.
::Claiming that Hypertalk or AWK had bigger influence on JS most probably comes from anti-Perl zeitgeist. [[Special:Contributions/2A00:FBC:E1C4:5A7E:988B:44F9:E011:2675|2A00:FBC:E1C4:5A7E:988B:44F9:E011:2675]] ([[User talk:2A00:FBC:E1C4:5A7E:988B:44F9:E011:2675|talk]]) 12:44, 30 March 2025 (UTC)
:"JavaScript borrows most of its syntax from Java, C, and C++, but it has also been influenced by Awk, '''Perl''', and Python."
: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Grammar_and_types#:~:text=JavaScript%20borrows%20most%20of%20its%20syntax%20from%20Java%2C%20C%2C%20and%20C%2B%2B%2C%20but%20it%20has%20also%20been%20influenced%20by%20Awk%2C%20Perl%2C%20and%20Python. [[Special:Contributions/2A00:FBC:E1C4:5A7E:952E:5756:15EC:39D|2A00:FBC:E1C4:5A7E:952E:5756:15EC:39D]] ([[User talk:2A00:FBC:E1C4:5A7E:952E:5756:15EC:39D|talk]]) 16:20, 29 March 2025 (UTC)
:the mentioned blog entry grepping the original code base.
:https://2ality.com/2013/02/javascript-influences.html
:The link to the code base is broken, I will provide a new one later. [[Special:Contributions/2A00:FBC:E1C4:5A7E:952E:5756:15EC:39D|2A00:FBC:E1C4:5A7E:952E:5756:15EC:39D]] ([[User talk:2A00:FBC:E1C4:5A7E:952E:5756:15EC:39D|talk]]) 16:28, 29 March 2025 (UTC)
:[[Brendan Eich]], Creator of JavaScript, in “Coders at Work: Reflections on the Craft of Programming” Peter Seibel 2009 page 158/159
:[[Coders at Work|https://en.m.wikipedia.org/wiki/Coders_at_Work]]
:
:''”When I did JavaScript's regular expressions I was looking at '''Perl''' 4. I did step through it in the debugger, as well as read the code. And that gave me ideas; the implementation I did was similar. In this case the recursive backtracking nature of them was a little novel, so that I had to wrap my head around. It did help to just debug simple regular expressions, just to trace the execution. I know other programmers talk about this: you should step through code, you should understand what the dynamic state of the program looks like in various quick bird's-eye views or sanity checks, and I agree with that.”'' [[Special:Contributions/2A00:FBC:E1C4:5A7E:A3D2:F879:5B28:77DA|2A00:FBC:E1C4:5A7E:A3D2:F879:5B28:77DA]] ([[User talk:2A00:FBC:E1C4:5A7E:A3D2:F879:5B28:77DA|talk]]) 14:05, 31 March 2025 (UTC)
 
[[File:X mark.svg|20px|link=|alt=]] '''Not done for now''': please establish a [[Wikipedia:Consensus|consensus]] for this alteration '''[[Wikipedia:Edit requests|before]]''' using the {{Tlx|Edit semi-protected}} template.<!-- Template:ESp --> This is now self-evidently not an uncontroversial change. As such a consensus needs to be developed here before reopening the edit request. [[User:PianoDan|PianoDan]] ([[User talk:PianoDan|talk]]) 19:38, 3 April 2025 (UTC)
The language was originally named "LiveScript" but was renamed in a co-marketing deal between Netscape and Sun,
 
:Most replies are by me, and it's hardly controversial.
Which is correct (i.e. was Javascript originally Mocha or LiveScript)?
:The reference to a publication with an interview of the creator of JS ticks all criteria of a reliable source:
:Brendan Eich, Creator of JavaScript, in “Coders at Work: Reflections on the Craft of Programming” Peter Seibel 2009 page 158/159
:Furthermore I linked to a tweet from the official account of Brendan Eich were he admits that "JS1.0 was influenced by Perl"
:Please explain how this can be controversial! [[Special:Contributions/2A00:FBC:E1FB:13BD:158B:C9C3:CD94:6E6D|2A00:FBC:E1FB:13BD:158B:C9C3:CD94:6E6D]] ([[User talk:2A00:FBC:E1FB:13BD:158B:C9C3:CD94:6E6D|talk]]) 11:07, 4 April 2025 (UTC)
::Sure - the policy is found at [[WP:SUNS]]. The relevant bit is that editors should respond to "either uncontroversial improvements (correcting typos, grammar, or reference formatting; improving the reliability or efficiency of template code) or are already supported by a consensus of editors, usually on the protected page's talk page." Since you have at least one editor disagreeing, it's not obviously a consensus opeion yet. [[User:PianoDan|PianoDan]] ([[User talk:PianoDan|talk]]) 16:20, 5 April 2025 (UTC)
:::He just stopped replying to the newer better suggestions.
:::This is just a game of frustrating people. [[Special:Contributions/2A00:FBC:EAD3:EB97:F83E:310C:4505:5E42|2A00:FBC:EAD3:EB97:F83E:310C:4505:5E42]] ([[User talk:2A00:FBC:EAD3:EB97:F83E:310C:4505:5E42|talk]]) 12:21, 8 April 2025 (UTC)
 
== Semi-protected edit request on 30 May 2025 ==
Edit: Seems this article says both too.
 
{{edit semi-protected|JavaScript|answered=y}}
[[User:Y Less|Y Less]] ([[User talk:Y Less|talk]]) 23:18, 29 November 2008 (UTC)
Add https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise as the missing citation under Features > Promises and Async/await.
 
Alternatively, remove "Features > Promises and Async/await" altogether, as it is already covered by the following two entries (Promises, Async/await) [[User:Lunamason|Lunamason]] ([[User talk:Lunamason|talk]]) 01:53, 30 May 2025 (UTC)
: Should be Mocha (see http://weblogs.mozillazine.org/roadmap/archives/2008/04/popularity.html, http://www.infoworld.com/article/08/06/23/eich-javascript-interview_1.html) --[[User:Maian|Maian]] ([[User talk:Maian|talk]]) 05:36, 30 November 2008 (UTC)
:{{done}}<!-- Template:ESp --> I opted for your second suggestion. [[User:DrOrinScrivello|DrOrinScrivello]] ([[User talk:DrOrinScrivello|talk]]) 18:14, 30 May 2025 (UTC)
 
== Image ==
==Weird demographics related statements==
The way this article talks about demographics" is so strange - as if use of a programming language is geography-dependent! I recommend deleting these statements.
 
The pages for CSS and HTML have their official logos as the image, while this page has a screenshot of js code. I think for consistency, this should have the js logo as it's main image [[Special:Contributions/129.97.60.173|129.97.60.173]] ([[User talk:129.97.60.173|talk]]) 00:36, 26 July 2025 (UTC)
"In regards to demographics, the language is extremely widespread in India with the United States, Russia and Ukraine also using it as a staple in their online programming. As the web continues to expand, the use of JavaScript looks like it will become more popular especially in Europe and Asia." <small><span class="autosigned">—Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[User:Mlavannis|Mlavannis]] ([[User talk:Mlavannis|talk]] • [[Special:Contributions/Mlavannis|contribs]]) 16:17, 21 January 2009 (UTC)</span></small><!-- Template:Unsigned --> <!--Autosigned by SineBot-->