I linked to the anchor where it says that, right to the bottom of the section 4.3. Will people just STOP saying JavaScript was ‘never intended’ to have ‘nothing to do with Java’? They clearly meant JavaScript to be to Java what AWK is to C, at least syntax-wise. I was born one year after JS was conceived (the standard says ‘invented’, invented my ass! Who ‘invents’ a language?) so I am too young to have been around in the early days of web. But it seems like people back then wanted Java to be lingua franca of web, a bit like PostScript in the thread I posted a few hours ago. They named it JavaScript to assure people that it’s the interpreted, scripting form of Java.

Now don’t say ‘JS and Java are like car and carpet’ you will look like an idiot.

Also if you are wondering why I am reading the standard, it serves two purposes. First is, I wanna implement it one day in the future. Second is, I know shit about web scripting and I wanted to make myself a blog and I miserably failed. So I am learning it.

I know nobody asked, but one person might be wondering why someone would do this to himself.

  • macniel
    link
    fedilink
    21
    edit-2
    2 months ago

    Who ‘invents’ a language?

    Linguists or Developers.

    They named it JavaScript to assure people that it’s the interpreted, scripting form of Java.

    Who are they? There was that one guy who developed JavaScript, and he decided on the name of JavaScript, not ECMA.

    Now don’t say ‘JS and Java are like car and carpet’ you will look like an idiot.

    JS and Java are like car and carpet.

    • @[email protected]
      link
      fedilink
      English
      122 months ago

      It wasn’t even called JavaScript originally, it was called Mocha. It was then renamed to LiveScript before its original release. Then, Netscape wanted a licensing agreement with Sun to integrate Java into Navigator, and part of the agreement was to rename LiveScript to JavaScript with Sun holding the trademark for JavaScript. They also talked a lot about using JS to modify the properties and behaviors of Java applets in the 1995 press release, but that never really happened.

    • @[email protected]
      link
      fedilink
      1
      edit-2
      2 months ago

      There was that one guy who developed JavaScript

      Bullshit. AOL was a huge company with large development teams and lots of people worked on JavaScript. Obviously there was a project lead and in the beginning he did most of the work, but a project that big doesn’t get done by one person and by the end he would have been doing less than 1% of the work.

      he decided on the name of JavaScript

      The legal teams at AOL and Sun Microsystems negotiated JavaScript as part of a deal where AOL would “only” pay millions of dollars per month to license Java as long as they didn’t include any other programming languages in the browser. JavaScript wasn’t a separate language, we promise.

  • @[email protected]
    link
    fedilink
    152 months ago

    JavaScript was created by Brendan Eich for the Netscape Browser. The job said to embed Java in the browser, but Eich was a Lisp guy and wished he could actually embed Scheme instead. Scheme is about as far as Java as one can get in terms of paradigm. Eich must have been stubborn because the result was JavaScript which is almost, but not quite, entirely unlike Java. Lulled by the seemingly familiar syntax, decades of coders have been baffled by the wild prototype-based object paradigm and the functional style hiding underneath.

    JavaScript being somewhat like Java was an arbitrary constraint that was pushed by marketing and that was very partially honoured during implementation. The kinship between the two languages is slim at best. When explaining tech issues to the layperson, it’s important not to sweat the details and get to the point. Here the point is: JavaScript and Java are like car and carpet.

    Also, chill. You have a lot to learn. We all do. Stop saying your colleagues look like idiots.

    • @ChubakPDP11OP
      link
      -22 months ago

      Good info dump. Can’t image S-Expressions in web dev today really. Also, I did not mean it maliciously, this is a stupid thing after all.

  • @[email protected]
    link
    fedilink
    11
    edit-2
    2 months ago

    They clearly meant JavaScript to be to Java what AWK is to C

    No. From interviews with the people who created JavaScript what actually happened is they invented an awesome new language, and the boss had just signed a contract to integrate Java into Netscape.

    That contract specifically banned Netscape from supporting anything other than Java… but the new language was so awesome they didn’t want to kill it. The compromise was to call it “JavaScript” and insist it’s not a new language, it’s just a light weight version of Java. Even though clearly that was bullshit and they all knew it - they just didn’t admit it publicly until decades later.

    • @ChubakPDP11OP
      link
      22 months ago

      This makes so much sense! The other guy said they were planning an S-Expression language like Scheme… I think, had Netscape supported Scheme, the trajectory of the craft would change. At least we would not get so many ‘durr parenthesis’ memes. Just how hard is it to use [Neo]Vim when you’re writing S-Expressions? it keeps highlighting the paranthesis and brackets balance as I write. What text editor do people who hate S-Expression LISP-like languages use, Emacs? Lol.

      • @Tramort
        link
        12 months ago

        Emacs is written in lisp, so if people are going to die on the hill that they hate s expressions then I’m going to say no: they probably won’t be using emacs

  • etrotta
    link
    English
    92 months ago

    Would an experienced Java developer that has never touched JavaScript before know how to use JavaScript well enough to use it in a professional application without having to learn/revise a lot of things?

    Would an experienced JavaScript developer that has never touched Java before know how to use Java well enough to use it in a professional application without having to learn/revise a lot of things?

    No and No - They are like car and carpet. Unlike something like C and C++ or JavaScript and TypeScript that you can easily adapt to in a relatively small amount of time, Java and JavaScript serve completely different use cases and require significantly different skillsets.

    • @[email protected]
      link
      fedilink
      22 months ago

      Ugh I think the gap between c and c++ is wider than between java and Javascript, but admittedly I haven’t done much of the latter two

      • @spartanatreyu
        link
        72 months ago

        You can take the contents of a C file, put it into a C++ file and there’s an 80% chance it will work without modification, and 15% of the incompatibility will be just sticking a type on your pointer instead of using void pointers (untyped pointers), or in newer code switching the restrict keyword for one of C++'s newer pointers.

        You can’t do that between JS and Java.

    • @atheken
      link
      12 months ago

      Douglas Crockford, author of “JavaScript: The Good Parts” has said:

      “JavaScript is the only language in the world that people think they write without learning it first.”

      I think this is a true statement (well, that and bash).

  • @xoggy
    link
    92 months ago

    Java and JavaScript are like car and carpet because despite the beginning of the names matching they serve different purposes. In the early web days Java applets were a thing and it failed which is why a new language was needed. It’s not a secret that there was pressure to make Javascript look like Java, that’s just not the point of the figure of speech.

  • @[email protected]
    link
    fedilink
    English
    62 months ago

    If you actually knew how to program both Java and JavaScript (originally called Mocha btw), you would know that they are very different languages. Saying that JS was intended to have a similar syntax to Java is like saying Java was intended to have a similar syntax to C. They’re both true, but it doesn’t really mean anything.

    • @ChubakPDP11OP
      link
      -12 months ago

      Frankly one can learn any imperative language once one learns one. It’s the standard library of a language and the quirks of the library that is the real challenge .The syntx of the language doesn’t boggle anyone.

      • @[email protected]
        link
        fedilink
        4
        edit-2
        2 months ago

        These two code blocks don’t use standard libraries (aside printing output) and have nothing in common. Even output is totally different, since at the time JavaScript did not support text output at all (there was no browser console). They are as close as you can possibly get between the two languages (they’re not really close at all, because in the 90’s it wasn’t possible to define “real” classes in JavaScript, and to this day it’s not possible for a function to have instance variables in Java).

        And as someone who’s been writing JavaScript professionally for 20 years… I assure you it’s full of quirks that still confuse the heck out of me at times. I mean just last week I had a problem with variable scope that took me three hours to figure out what was wrong with the code. I’m sure some people are more familiar with it, but I’m not one of those people… probably because I avoid the language as much as I possibly can and try to make it behave like “any other language” even though it definitely isn’t that.

        Java:

        public class Animal {
            private String name;
        
            public Animal(String name) {
                this.name = name;
            }
        
            public String getName() {
                return this.name;
            }
        }
        
        public class Application {
            public static void main(String[] args) {
                Animal myAnimal = new Animal("Spike");
                System.out.println(myAnimal.getName());
            }
        }
        

        JavaScript:

        function Animal(name) {
            this.name = name;
        }
        
        Animal.prototype.getName = function() {
            return this.name;
        };
        
        var myAnimal = new Animal("Spike");
        alert(myAnimal.getName());
        
        • @ChubakPDP11OP
          link
          12 months ago

          I do believe other people have pointed out what went on that caused this to happen. This thread was a joke, but I did learn a lot from it.

  • @Lmaydev
    link
    32 months ago

    Yeah and java is the same as c lol

    They have similarities in Syntax but that’s about it.

  • Max-P
    link
    fedilink
    32 months ago

    Oh they sure did. ES4 was going to very much be like Java, with static types and a fair bit of what TypeScript looks like today. We got very close to taking a completely different direction. It was ultimately doomed by IE among other things, which is ironic given Microsoft came up with TypeScript a decade later that does more or less the same thing as ES4 was meant to be. But it got scrapped and we got ES5 instead.

    https://evertpot.com/ecmascript-4-the-missing-version/

    • @ChubakPDP11OP
      link
      -12 months ago

      I used to use IE when I was like 12~13 — I think I switched to FF when I was 13.5 and never looked back. Just the tabs man. I use Pop_OS! these days and a few months ago I accedentally enabled tiling, then it I realized it has tabs. I am as happy as I were back then. Tabs are a concept that were thought of too late.

      btw this document mentions JScript. I don’t know WTF is that but when I google normal JS comes up.