diff --git a/Misc/comparisons b/Misc/comparisons
new file mode 100644
index 0000000..8e52e82
--- /dev/null
+++ b/Misc/comparisons
@@ -0,0 +1,129 @@
+Comparing Python to Other Languages
+-----------------------------------
+
+These comparisons are a personal view.  Comments are requested.
+--Guido van Rossum <guido@python.org>
+
+Python is often compared to other interpreted languages such as Java,
+JavaScript, Perl, Tcl, or Smalltalk.  Comparisons to C++, Common Lisp
+and Scheme can also be enlightening. In this section I will briefly
+compare Python to each of these languages. These comparisons
+concentrate on language issues only. In practice, the choice of a
+programming language is often dictated by other real-world constraints
+such as cost, availability, training, and prior investment, or even
+emotional attachment. Since these aspects are highly variable, it
+seems a waste of time to consider them much for this publication.
+
+Java
+
+Python programs are generally expected to run slower than Java
+programs, but they also take much less time to develop. Python
+programs are typically 3-5 times shorter than equivalent Java
+programs. This difference can be attributed to Python's built-in
+high-level data types and its dynamic typing. For example, a Python
+programmer wastes no time declaring the types of arguments or
+variables, and Python's powerful polymorphic list and dictionary
+types, for which rich syntactic support is built straight into the
+language, find a use in almost every Python program. Because of the
+run-time typing, Python's run time must work harder than Java's. For
+example, when evaluating the expression a+b, it must first inspect the
+objects a and b to find out their type, which is not known at compile
+time. It then invokes the appropriate addition operation, which may be
+an overloaded user-defined method. Java, on the other hand, can
+perform an efficient integer or floating point addition, but requires
+variable declarations for a and b, and does not allow overloading of
+the + operator for instances of user-defined classes.
+
+For these reasons, Python is much better suited as a "glue" language,
+while Java is better characterized as a low-level implementation
+language. In fact, the two together make an excellent
+combination. Components can be developed in Java and combined to form
+applications in Python; Python can also be used to prototype
+components until their design can be "hardened" in a Java
+implementation. To support this type of development, a Python
+implementation written in Java is under development, which allows
+calling Python code from Java and vice versa. In this implementation,
+Python source code is translated to Java bytecode (with help from a
+run-time library to support Python's dynamic semantics).
+
+Javascript
+
+Python's "object-based" subset is roughly equivalent to
+JavaScript. Like JavaScript (and unlike Java), Python supports a
+programming style that uses simple functions and variables without
+engaging in class definitions. However, for JavaScript, that's all
+there is. Python, on the other hand, supports writing much larger
+programs and better code reuse through a true object-oriented
+programming style, where classes and inheritance play an important
+role.
+
+Perl
+
+Python and Perl come from a similar background (Unix scripting, which
+both have long outgrown), and sport many similar features, but have a
+different philosophy. Perl emphasizes support for common
+application-oriented tasks, e.g. by having built-in regular
+expressions, file scanning and report generating features. Python
+emphasizes support for common programming methodologies such as data
+structure design and object-oriented programming, and encourages
+programmers to write readable (and thus maintainable) code by
+providing an elegant but not overly cryptic notation. As a
+consequence, Python comes close to Perl but rarely beats it in its
+original application domain; however Python has an applicability well
+beyond Perl's niche.
+
+Tcl
+
+Like Python, Tcl is usable as an application extension language, as
+well as a stand-alone programming language. However, Tcl, which
+traditionally stores all data as strings, is weak on data structures,
+and executes typical code much slower than Python. Tcl also lacks
+features needed for writing large programs, such as modular
+namespaces. Thus, while a "typical" large application using Tcl
+usually contains Tcl extensions written in C or C++ that are specific
+to that application, an equivalent Python application can often be
+written in "pure Python". Of course, pure Python development is much
+quicker than having to write and debug a C or C++ component. It has
+been said that Tcl's one redeeming quality is the Tk toolkit.  Python
+has adopted an interface to Tk as its standard GUI component library.
+
+Smalltalk
+
+Perhaps the biggest difference between Python and Smalltalk is
+Python's more "mainstream" syntax, which gives it a leg up on
+programmer training. Like Smalltalk, Python has dynamic typing and
+binding, and everything in Python is an object. However, Python
+distinguishes built-in object types from user-defined classes, and
+currently doesn't allow inheritance from built-in types. Smalltalk's
+standard library of collection data types is more refined, while
+Python's library has more facilities for dealing with Internet and WWW
+realities such as email, HTML and FTP.  Python has a different
+philosophy regarding the development environment and distribution of
+code. Where Smalltalk traditionally has a monolithic "system image"
+which comprises both the environment and the user's program, Python
+stores both standard modules and user modules in individual files
+which can easily be rearranged or distributed outside the system. One
+consequence is that there is more than one option for attaching a
+Graphical User Interface (GUI) to a Python program, since the GUI is
+not built into the system.
+
+C++
+
+Almost everything said for Java also applies for C++, just more so:
+where Python code is typically 3-5 times shorter than equivalent Java
+code, it is often 5-10 times shorter than equivalent C++ code!
+Anecdotal evidence suggests that one Python programmer can finish in
+two months what two C++ programmers can't complete in a year. Python
+shines as a glue language, used to combine components written in C++.
+
+Common Lisp and Scheme
+
+These languages are close to Python in their dynamic semantics, but so
+different in their approach to syntax that a comparison becomes almost
+a religious argument: is Lisp's lack of syntax an advantage or a
+disadvantage? It should be noted that Python has introspective
+capabilities similar to those of Lisp, and Python programs can
+construct and execute program fragments on the fly. Usually,
+real-world properties are decisive: Common Lisp is big (in every
+sense), and the Scheme world is fragmented between many incompatible
+versions, where Python has a single, free, compact implementation.
