The Instigator
Pro (for)
6 Points
The Contender
Con (against)
0 Points

That Javascript is the greatest programming lanuage

Do you like this debate?NoYes+1
Add this debate to Google Add this debate to Delicious Add this debate to FaceBook Add this debate to Digg  
Vote Here
Pro Tied Con
Who did you agree with before the debate?
Who did you agree with after the debate?
Who had better conduct?
Who had better spelling and grammar?
Who made more convincing arguments?
Who used the most reliable sources?
Reasons for your voting decision
1,000 Characters Remaining
The voting period for this debate does not end.
Voting Style: Open Point System: 7 Point
Started: 11/4/2010 Category: Technology
Updated: 7 years ago Status: Voting Period
Viewed: 2,007 times Debate No: 13566
Debate Rounds (3)
Comments (9)
Votes (2)




In this debate, I contend that Javascript is the greatest programming language. My opponent is to choose any other programming language and argue its superiority over javascript.

Programming Language: written set of instructions that a computer can interpret, either directly or in "compiled" form
Javascript: The latest version of the Javascript programming language as defined by the standard published by the Mozilla Foundation.
Greatest: In terms of ability, flexibility, speed, ease of use, how widespread the adoption is and any other like relevant factor.

My main contentions:

1. Javascript is adopted widely
Almost every operating system in the world has a web browser with Javascript support. Therefore almost every computer in the world uses Javascript. It has a near monopoly on client-side web communication, and is increasingly being used for compiled applications (see this effort by Gnome: It is one of the few languages that is both compiled and interpreted.

2. Javascript is well supported
There are more online forums discussing Javascript than most other languages out there. A quick study of my local bookstore this morning revealed about one half of the computer books deal, directly or indirectly, with Javascript.

3. Javascript is easy to use
Javascript is used by amateurs all over the globe. It is very easy to get started, there are numerous tutorials littering the net. The fact that it can be run without compilation makes it easier to write too.

4. Javascript is powerful
With useful features such as an object-orientated environment, indefinite function argument, closures and dynamic variable typing, Javascript does not really restrict the programmer from doing anything they want.

5. Javascript is fast
When interpreted, Javascript is among the fastest interpreted languages due to the many recent breakthroughs in Javascript interpretation. When compiled Javascript is not usually noticeably slower than something programmed in anything else.

No other language in the world can boast these five features. Therefore I conclude that Javascript is the best. I will produce more specific arguments on learning what language my opponent decides to take.


I disagree.

Going by my opponent's own criteria, Machine Language is far better than Java.

Quick definition: *Machine code or machine language is a system of instructions and data executed directly by a computer's central processing unit. (wiki at*

Now, to my opponent's criteria.

1. Adopted widely

While Java is adopted by most PC's, Macs and many mobile phones, Machine Code is adopted by every and any system that contains a CPU. This includes every microwave, digital watch or DVD player, to name but a few.

2. Well supported

My opponent bases this conclusion on the number of forums discussing Java. However, my opponent does not provide any sources for that contention. A quick Google search shows that "Java language" returns about 20 million results while "Machine Code" comes back with some 100 million. Clearly, machine code is the more talked-about language.

3. Easy to use

Right, I have to concede this particular point. Machine Language requires some expertise and can't be used just by any amateur with a PC and 5 minutes of spare time. My opponent wins on this point.

4. Powerful

Of course it's true that Java is powerful in its object-oriented environment, indefinite function argument, closures....etc etc etc...But of course Java could never function, it wouldn't exist, if there were not a machine language underneath it all. Machine language has the ultimate power. It drives the entire machine; whether it's a microwave, a PC, a Mac, a mobile phone, a digital watch, a DVD player or a mere space shuttle. Machine language is the most powerful language of all because all other languages depend on it. All of their instructions are mere requests for Machine Language to perform a certain function.

5. Fast

There's no language faster than Machine Language. Machine Language is the only language that interacts directly with the machine. All other languages (Java included) are interactions with the machine lanaguage (either directly or indirectly). All other languages (being higher-level languages) are simply sets of requests for the Machine Language to perform a function, as it is only the Machine Language that interacts directly with the machine. There's no doubt that, where computer languages are concerned, the Machine Language is the fasters of them all.

In conclusion, Machine Language beats Java in 4 of the 5 features that my opponent relies for his own argument. The only component in which Java beats it is ease of use. It is therefore beyond any doubt that Machine Language is, by my opponent's own standards, a better language than Java.
Debate Round No. 1


First thing I'd like to clear up - my opponent appears to be arguing against another language, Java. I argue for Javascript. They are ridiculously different. See

Now I'd like to clear up a few myths surrounding machine code:

1) Every central processing unit has a different set of instructions, known as an instruction set ( Therefore code programmed for one central processing unit will not usually work on any other computer in the world, unless it has the same central processing unit. There is no common standard for machine code language, unlike Javascript ( Thus while all the manufacturers use "machine code," in reality it is very different and no one machine code instruction set has widespread adoption. Using a vendor-neutral programming language such as Javascript overcomes this limitation. Thus any one "machine code" is actually less widely adopted than Javascript.

2) If you do a Google search for "Javascript language" (again, I do not argue for Java, which is far less supported) you get in fact 85.3 million results (Note there is no need for quotes in this search because the two need not appear as "Javascript language" put together for the page to be about the Javascript language). If my opponent had done a proper search for "machine code," (using quotes because "machine" and "code" on different parts of the page yields some very irrelevant results), he would have only 679,000 results. Therefore Javascript is over 125 times more supported than machine code. I also note that very few of the results for "machine code" are tutorials, discussion forums or help-desks - indeed, all of them seem to be technical articles and irrelevant material - I particularly like result number 18. Machine code is not, as my opponent asserts, more talked about.

3) Thanks to my opponent for conceding ease of use. Wise move.

4) The reason why programming languages were built on top of machine code is because machine code can actually do very little. Basic math, memory calls and signals to various chips on the motherboard. That's pretty much it (some vendors may also have a threading functionality). No loops, no OOP, no functions even. Just read memory, write memory and so on. If we are to measure power in terms of what it can do, Javascript clearly wins the day. While it is true Javascript is translated into machine code, it could in theory be translated to anything and still have the same functionality - it's not because of machine code, which requires thousands of lines of code to even just wrap a function! If it weren't for other programming languages we might as well still be using punch cards - machine language doesn't do anything more. Thus Javascript is actually more powerful.

5) I will concede speed, although since most programmers are sloppy, I think the advantage in speed gained by using a direct language over an optimally processed language are minimal and thus it's not really noticeably faster in almost every case, due to the superior processing power.

Thus in fact Javascript, not machine code, wins out in 4/5 points and is thus an inferior language (if it can even be considered a single "language").


1. I agree that machine langauge is different between various machines, although much of it has been standardised. However, that doesn't mean that there's no such thing as "machine language". Of course there is and the term refers to machine language generically. It's the same as saying that aerial combat is the most effective method of waging a war. If I said that, would my opponent somehow make the claim that aerial combat ranges from fighter planes to drones to bombers to ICBMs? I doubt that. The argument would have no relevance. Machine language is the greatest language of all because without it no CPU-driven device would ever operate. Machine language is the most widely adopted language of all. It's adopted by every single CPU in the world and no CPU could ever function without it. And it's the machine code that executes every command of every program, no matter what language the programmer wrote it in.

2. Good points about google. My oversight and I concede that. But where does that leave us?

Machine code is a specialised language, unique to the specifications of every machine. It's supported by the manufacturers and developers of each individual machine. It is not a higher level language such as Javascript, C++, or Basic. It is not something that amateur programmers would want to or need to learn. There's no need for forums and online libraries. But we can be sure that those who use it (employed by the manufacturers of each machine) have all the support and expertise they need.

3. You're welcome.

4. I disagree that machine code can do very little. Machine code can do MUCH MORE than any other language. Every single thing you can do with ANY LANGUAGE (including Javascript) is in fact done by the machine code itself. Javascript is simply an interface between the machine code and the programmer. It's there to make programming easier for the HUMAN SIDE of the process and not for the machine side of it. Machines don't understand anything except for the machine code. You type in a command and that command is interpreted (or compiled) into machine code. From Wiki: The name "compiler" is primarily used for programs that translate source code from a high-level programming language to a lower level language (e.g., assembly language or machine code). It is the machine code that executes every program. Javascript can't talk to the machine. It can only talk to humans and to the machine code. In the end, it can't do a single thing, other than to ask the machine code to do things. In effect, the machine code is THE ONLY language that can do anything at all.

5. Thank you for conceding speed. I have to disagree, however, with your point about programmers being sloppy. It's irrelevant. Even a program written using a higher level language (eg Javascript) is ultimately executed by the machine code. If you were to write the same program in the machine code directly (or simply compile it into .exe; probably a wiser option!), you would invariably have a faster execution than you do if you use an interpreter. Interpreters do not transform a higher-level program into machine code. Rather, they translate them as they go along. In doing so, they still need to talk to the machine code because the machine code is the only thing that can interact with the machine in the first place. The point I'm making is that a program that is written (whether by hand or by a compiler) in machine code is the fastest possible computer program. It can't ever be beaten by any other type of program because all other types (in all other languages) necessarily require the additional steps of talking to the machine code.

I can't see how my opponent calculates his "4/5" conclusion. Let's look at the 5 points again:

1. Adopted widely. Machine code wins. Every single machine uses it and no machine could work without it. Ever.
2. Well supported. Inconclusive and irrelevant. Machine code is not used by amateur programmers or high-level software developers. It's only used by professionals who need to use it in the design of a machine or an operating system. Arguably those professionals get all the support they need.
3. Easy to use. Javascript wins.
4. Powerful. Machine code wins. Javascript can't do ANYTHING AT ALL except to talk to the machine code. Every single function a machine performs is done by the machine code.
5. Speed. Machine code wins. Any other language necessarily has to go through the additional step of talking to the machine code. Machine code is the fastests because it interacts with the machine directly.

What this leaves us with is Machine Code winning in 3/5 or 4/5 (depending on how we handle the issue of "support").

But Machine Code has its own greatness that makes it completely unique of all the languages. Every machine uses it and no machine could ever work without it. We could (and do) have powerful computer applications even if nobody ever invented Javascript. But we can't even have a programmable VCR without a machine code. What's the greater machine in the field of aviation? Boeing 747 or the jet engine? Without doubt, it is the jet engine. Without it, no jet would ever fly. Well, in this analogy, Boeing 747 is Javascript and the jet engine is the machine code.
Debate Round No. 2


1. My opponent concedes that machine code is not adopted universally in any specific implementation. If I was to write code for an i86 and want it to run on a 4-core x64 configuration, or a microwave for that matter, I would have no chance. A language is said to be "adopted" by a platform when it is usable across that platform AND between that platform and all other platforms that adopt the language. A given implementation of machine code is far less often adopted than Javascript. My opponent's claim that he is arguing for machine code generally is as silly as arguing Jet Aircraft over a Boeing 747-400 in a topic on the greatest vehicle. In both cases, one is a much more defined case than the other. If we are to compare like with like, we must take a specific implementation of said machine code - or to use our example, "Jet Aircraft" is not a vehicle, it is a type of vehicle, just as machine code is not a programming language because in and of itself it does not qualify as a written SET of instructions (there is no unified set of accepted machine language codes). Therefore I claim machine code IS specific to each processor, unlike Javascript, which is completely abstracted. Thus Javascript is more widely adopted.

Now, count with me ... that's 1 for Javascript, 0 for machine code. I'll keep a running tally for you as you seem to doubt my mathematics.

2. My opponent claims that since machine code is only used in-house by big developers, only those programmers need to find it easy to learn. He asserts they have all the support they need. First of all, there is no factual basis for my opponent's claim. Many professional programmers lament how difficult it was for them to learn machine code. Second I contend that usually machine code is programmed by those people that designed the chip. The reason for that is that it's too difficult to teach somebody else how to use the machine code for a wristwatch. In these cases there can be no claim that it's easy to learn. Third, my opponent is correct in saying it is often used by software developers for computers who are not amateurs. The reason why amateurs don't is because it's really hard to learn. But this fact in and of itself doesn't make it any easier to learn for professional programmers. In fact, I argue the only reason why professional programmers are able to is because of the money held by these software companies. But seen objectively, the language is still comparatively harder than javascript, which both amateurs and professionals alike find easy to pick up and learn as I have shown in previous rounds. My opponent questions the importance/relevance of this point: simply put, a easier to learn language is greater because 1) I said so in round 1, in my definitions, and 2) ease of learning encourages development which makes the language fulfill its role as providing a medium of communication between human and computer better. Because Javascript is easier to learn I win the point.

I think that's 2 for Javascript, 0 for machine code.

3. This was conceded by my opponent. So, Javascript has 3 points, and machine code has 0.

4. "Javascript can't talk to the machine" > that depends on the machine in question. Anyway, here is a full list of every command you can possibly give an x86 CPU: I challenge my opponent to write a hello world program. My guess is that he'll have no idea where to start. Power is all about doing more while writing less code. Javascript allows you to do anything assembler can do, except that it does it in only a few lines. My opponent also claims that Javascript must be changed into machine code. This is true, and is an unfortunate side-effect of abstraction. If processors ran Javascript natively rather than interpretively we would have come into the quantum age decades ago. But my crazy theories aside, that doesn't make Javascript any less powerful. Second, I maintain that machine code has no support for things like OOP, which must be "emulated" using a silly little programmer's trick for machine code. Therefore the instruction set itself is less powerful. Therefore the language is less powerful. Therefore Javascript is more powerful. QED.

By my calculations, Javascript now has 4 points, machine code has 0.

5. This was conceded by myself (though I still think speed gains are minimal in practice, despite my opponent correctly pointing out machine code runs faster in theory, and that this is because compilers can usually think of better ways to do things with machine code than humans). So, by my count, that leaves us at ... 4 for Javascript, 1 for machine code. Javascript also gets 9000 bonus points for being awesome.

So given that Javascript is better than machine code by a 9004:1 ratio, I think it is clear who has won the debate. I thank my opponent for the entertainment and urge voters to vote for Javascript.


1. It seems that my opponent introduces a new argument in the final round. He now suddenly contends that Machine Code is not a programming language. Aside from the unfairness of this conduct, the assertion is incorrect.

a) From wiki:
Machine code or machine language is a system of instructions and data executed directly by a computer's central processing unit. Machine code may be regarded as a primitive (and cumbersome) programming language or as the lowest-level representation of a compiled and/or assembled computer program.

b) Definition: Machine code is the name for the Instructions that a CPU can execute.

c) Machine code, also called machine language, is a computer language that is directly understandable by a computer's CPU (central processing unit), and it is the language into which all programs must be converted before they can be run. Each CPU type has its own machine language, although they are basically fairly similar.

OF course machine code is a programming language. It is developed by humans and executed by machines. The fact that hardly any end-user programmer ever uses machine code (because it is extremely difficult to use) does not change this.

(As for the Boeing 747 analogy, it appears that my opponent is now committing the Strawman Fallacy. He is misrepresenting my argument and attacking the misreprestented version of it. I never suggested in the analogy that we must be looking at a specific type of jet engine. Jet engine is a greater aviation device than a specific jet plane.)

Finally, even if machine code is specific to each processor, machine code remains machine code. There are a number of versions of BASIC and PASCAL and many other languages; incompatible with each other and made for specific machines. This does not change the fact that BASIC is BASIC and PASCAL is PASCAL and each is a computer language. As is machine code.

Machine code is the most widely adopted computer language because it is used by every single CPU in the world. No exceptions. 1 for Machine Code, 0 for Javascript.

2. My opponent now claims that Javascript wins this point because it is easier to learn. He is AGAIN introducing a brand new argument. If you look at Round 1, you will see that Contention 2 was not about ease of learning but about the amount of available support. My opponent is trying to shift goalposts while the ball is already in motion and with 2 minutes till the final whistle.

Has my opponent demonstrated that Javascript is better supported than Machine Code? No. Have I demonstrated that Machine Code is better supported than Javascript? No. Nil Nil.

The count remains 1 for Machine Code, 0 for Javascript.

3. This point was conceded by me from the start.

The count is now 1-1

4. The number of individual instructions available in machine code is indeed limited. But it is COMBINATIONS of those instructions that constitute a program. A program written in a higher language (such as Javascript) provides the programmer with more instructions. They are ready-made to make the programmer's life easier.

But after writing the program, it is translated (or compiled) into machine code. It is the machine code that executes the program. No other language can do this. Only machine code. Every single action that the computer executes is done by the machine code.

There is nothing that machine code can't do. It can do everything that any language does. It can do things that C++ does and Javascript doesn't. That's because every single thing the computer does is done by the machine code.

Machine code is without question the most powerful computer langauge in the world. It controls every single action of the CPU. No exceptions.

Score: Machine Code 2 - Javascript 1

5. This point was conceded by my opponent.

Score: Machine Code 3 - Javascript 1

I thank my opponent for this debate and urge the voters to vote for Machine Code. Machine code is the most widely used (every machine has it) programming language. It is the most powerful computer language (controlling every single action of the computer, even if the program was originally written in Javascript or C++ and then compiled), and it is the fastest computer language (conceded by my opponent). Machine code wins 3-1, even on my opponent's own 5 criteria.

Thank you
Debate Round No. 3
9 comments have been posted on this debate. Showing 1 through 9 records.
Posted by Lightkeeper 7 years ago
I rebutted that argument by analogy to Basic or Pascal. Each has a large number of versions, often incompatible with each other. And yet Basic is still Basic. What's more, much of machine code is standardised. I've made reference to that and sourced it, if I recall correctly.

Oh OF COURSE programming in machine code would be a pain. But machine code is STILL PROGRAMMED. Those who make the machine, make the machine code. If the resolution was "Javascript is the greatest HIGH LEVEL language", I would have no case. But that's not the resolution.

And convenience of use has never been a criterion suggested by Pro. See round 1. All I did was to address the criteria that Pro relied on in his claim. But it seems that voters and commentators (as unfortunately often on this site) rely on external information. They shouldn't.
Posted by RoyLatham 7 years ago
Pro argued "There is no common standard for machine code language, unlike Javascript ( Thus while all the manufacturers use "machine code," in reality it is very different and no one machine code instruction set has widespread adoption." That is correct. The resolution is "programming language" not "set of related programming languages." Therefore the argument fails.

Writing machine code is such a pain, even collectively I don't see any way it could be "greatest." Yes, I know your arguments, but it's like arguing that fugu liver is the greatest food in the world, despite the disadvantage that it is poisonous and will kill you quickly. One major disadvantage outweighs many advantages.

Your point does highlight the issue of how much knowledge a reader is allowed to bring to the debate. I think Pro explained it well enough so that not much else was needed.

I think you should have argued there is no greatest programming language because "greatest" depends upon the criteria and the application. Since there is no greatest, Javascript cannot be it.
Posted by Lightkeeper 7 years ago
I disagree, RoyLatham.

I provided clear sources that consider machine code a low-level programming language. The sources were never challenged by the opposition. The proposition that it's a programming language stands unchallenged. In fact, Pro's very definition of "programming language" is very much met by machine code. "Written set of instructions that a machine can interpret".

I took the definitions as per dictionaries and wiki, applied them to the subject matter and then attacked Pro's own criteria. I don't care if my argument is "cute" or a "copout". I did it for fun. The fact of the matter is that it's logically coherent and based on unchallenged sources. I should be winning :)
Posted by RoyLatham 7 years ago
It was apparent from early on that "Machine code" is not a programming language. Therefore Con fails.

A Google search for "machine code" with the phrase in quotes yield 697,000 hits. 100 million includes hits for "machine" and "code" appearing separately. I've seen this error in a few other debates.

If I were debating this, I would have attacked the use of popularity as a measure of greatness. McDonalds has the most popular food, but there is a good argument that it is not the greatest.

Javascript is good for its intended use. However, Fortran is still better for scientific programming, C++ for systmens applications, etc. I would contest that there is any "greatest language" any more than there is a "greatest car" or "greatest movie" It all depends.

The Turing Theorem proves that a language that can implement anything (well, any computation) can implement everything. Convenience is another matter.
Posted by larztheloser 7 years ago
The owner of the site hates everyone except Americans.
Posted by tvellalott 7 years ago
If I could vote, I'd choose Pro.
I think choosing Machine Language is a cop-out and a fail. You clearly chose it thinking that the "all languages translate down to machine code, thus machine code is the best" argument would win automatically. Sure, all programming languages 'translate' to binary, but that doesn't make it the greatest language.
It has NO fuctionality, which is the most important thing in a programming language.
Sure machine code can do everything that any programming language can do, but it's still friggin' machine code:
Why would I want to write potentially thousands of lines of machine code to get some server-side functionality when I could do the same thing with one line of code of (or C# if you're that way inclined ^_-).
Why would I want to write potentially thousands of lines of machine code to get the same client-side fuctionality when I could do the same thing with a simple javascript subroutine?

Unfortunately, because the owner of this site hates Australians, I can't vote.... :)
Posted by larztheloser 7 years ago
Yeah, I know it's not the point. But c++ seems like a pretty arbitrary example. Anyway, good debate!
Posted by Lightkeeper 7 years ago
I disagree. But that's not the point. This was an illustration only that machine language can do everything that any language can do, including all the things that langauge A can but language B can't do.
Posted by larztheloser 7 years ago
"It can do things that C++ does and Javascript doesn't." - such things do not exist. Javascript syntax was based on C and can now do anything C++ can do and more.
2 votes have been placed for this debate. Showing 1 through 2 records.
Vote Placed by RoyLatham 7 years ago
Agreed with before the debate:-Vote Checkmark-0 points
Agreed with after the debate:-Vote Checkmark-0 points
Who had better conduct:--Vote Checkmark1 point
Had better spelling and grammar:--Vote Checkmark1 point
Made more convincing arguments:Vote Checkmark--3 points
Used the most reliable sources:--Vote Checkmark2 points
Total points awarded:30 
Vote Placed by vbaculum 7 years ago
Agreed with before the debate:Vote Checkmark--0 points
Agreed with after the debate:Vote Checkmark--0 points
Who had better conduct:--Vote Checkmark1 point
Had better spelling and grammar:--Vote Checkmark1 point
Made more convincing arguments:Vote Checkmark--3 points
Used the most reliable sources:--Vote Checkmark2 points
Total points awarded:30