Perl python ruby javascript

Which Languages to Learn? Perl, Python, Ruby, JavaScript, PHP, Emacs Lisp

Perl Larry Wall signature

xah’s rumination extempore! episode №201311271922. Computer Languages Comparison.

in past few days, i started to read python doc for real. (started learning python since 2005) Stern advice to newbies: if you want to pick a new scripting lang, perl, python, ruby, javascript, i advise not python.

How easy is it to learn?

PHP ≻ Ruby ≻ Emacs Lisp ≻ JavaScript ≻ Python ≻ Perl

  • PHP is the most easy to learn.
  • Ruby is also very easy to pick up.
  • Elisp is easy too, except it’s not familiar to most people due to the nested parenthesis.
  • JavaScript is the most simple of them all, until you want to understand its contorted inheritance scheme. The most pain with JavaScript is when you want to write web apps, that’s when you encounter a magnitude of mutually hostile historical baggage of HTML/XML/CSS, and worst of all, DOM HELL, not even considering browser incompatibilities.
  • Python is easy as a scripting lang, but when you get serious as software dev, it becomes inscrutable Comp Sci Я Us.
  • Perl’s like vi — you pay up-front, with its golf syntax and scalar vs list DWIM (pronounced Dimwit I Am). It’s unix shell on drugs.

How much functional programing you can do in a team without raising eyebrow?

Emacs Lisp ≻ JavaScript ≻ Ruby ≻ PHP ≻ Perl ≻ Python

  • All Emacs Lisp code is functional, since it does not support any OOP. Thank Heaven.
  • real world JavaScript code make heavy use of passing functions and chaining functions. Almost in every line. [see Functional Programing in JavaScript]
  • Ruby is both functional and object oriented. “Everything” is a object, but “everything” also has a return value, including function definition or statements.
  • PHP is practically functional, because it’s really too simple, just function return value. No complex holier-than-thou comp-sci monad iterator decorator generator closure List Comprehension voodoo. But PHP does have OOP system added post 2000. [see Python Closure] [see JavaScript Closure]
  • Perl is like a extended bash, so it is mostly function/subroutine in the unix scripty way. Heavy reliance on builtin global variables, such as $_
  • Python code is almost 100% OOP. The language does support some FP, but you’ll cause lots problems coding functional style in a team. The worst is that python doesn’t fully support lambda. [see Why Python Lambda is Broken and Can’t be Fixed]
Читайте также:  Javascript ip адрес клиента

How object oriented programing it is?

Ruby ≻ Python ≻ PHP ≻ JavaScript ≻ Perl ≻ Emacs Lisp

  • Ruby is both OOP/FP in its bone. (Ruby is a child of Perl + Emacs Lisp. [see Ruby Creator Matz on How Emacs Changed My Life]) So, in any large project, the macro structure would be OO, while per line are heavy function/method applications on expressions.
  • Python is OOP. Less clean than Ruby.
  • PHP code is mostly calling functions that return values, but PHP also supports robust OOP a la Java. [see PHP: Object Oriented Programing Tutorial]
  • JavaScript has a prototype system, which is nothing like traditional class/object model. [see Understanding JavaScript Object System] But, in industry code, you’ll find heavy use of its prototype inheritance, as well classic class/object model people devised in frameworks on top of the lang. It gets incomprehensible fast.
  • Perl the language isn’t OOP. It’s mostly like shell script. But, because it supports reference, you can create OOP on top of it. Since the OOP craze in around 1996, almost all perl modules have both OOP interface and functional interface, in a confusing way. [see Perl Folks Try to Erase History!]
  • Emacs Lisp doesn’t do OOP. RMS said never! and life’s good. (there’s a OOP package bundled with GNU Emacs called EIEIO, modeled after Common Lisp object system.)

How well is the language designed?

Ruby ≻ Emacs Lisp ≻ Python ≻ Perl ≻ PHP ≻ JavaScript

• Ruby and emacs lisp are most consistent.

• Python is pretty badly designed, lots inconsistencies. Its syntax is a syntax soup, and its semantics a semantics soup. It’s coherent with respect to the mind of certain benevolent dictator.

• Perl, is designed to be the best unreadable and confusing from the ground up. There’s certain madness in its methods.

• PHP, although very simple, but is a hack by a teen to create a Pretty Home Page. Originally it was just some Perl script. Huge amount of inconsistencies if you look at the detail.

• JavaScript is a hack by a lisper who really wanted to do Scheme Lisp, but reality required him do Java syntax, and he’s got one week to finish design and implementation. [see Xah JavaScript Tutorial]

How culty is the community?

Perl ≻ Python ≻ Ruby ≻ Emacs Lisp ≻ JavaScript ≻ PHP

  • Perl cult needs no explanation. Ever heard of “Laziness, Impatience and Hubris”? “More Than One Way to Do It”? “DWIM”? “Swiss army knife”? “State of the onion”, “Perl Mongers”, “Perl Apocalypse”? Though, you don’t hear much about Perl these days unless you are near a graveyard. [see Larry Wall and Cults]
  • Python, originally started life as Perl alternative, in particular, against Perl’s various hippie mantras. However, Python is also extremely culty, in a passive-aggressive dogma way. It’s called “pythonic”!
  • Emacs Lisp, among lisp communities, is a bastardization. No lisper thinks well of elisp. But, precisely due to this fact, emacs lisp doesn’t have a cult, and is good. However, emacs itself, is as culty as Perl, from which you have undying myths. [see Emacs Modernization]
  • JavaScript, started life as a language for idiots (called web monkeys, meaning, those who are not professional programers but know some HTML/CSS). Hardcore programers spit on JavaScript. Yet, JavaScript has important functional programing DNA from Scheme Lisp, and this fact made the lang extremely simple and powerful. And, because it is the only front end lang for web (kicked out Java applet and Visual Basic), it has grown and grown, and today is the all important respectful language, yet sans cult. (many JavaScript frameworks (For example, AngularJS), node.js, and the smart phones world is changing this.)
  • PHP, a very simple and practical lang, that every pro programer hates, yet everyone uses. This made the growth of PHP healthy, based on facts and needs.
Читайте также:  Java telegram bot replykeyboardmarkup

Which has the best doc?

PHP ≻ Ruby ≻ Emacs Lisp ≻ Perl ≻ Python ≻ JavaScript

  • PHP doc is the most easy to understand, easy to find what you need, and full of practical examples. A extreme joy to use. No pretension nor big talk whatsoever.
  • Ruby i don’t really have much experience. Its doc seems quite simple and clean.
  • Emacs Lisp manual, is extremely well written, in the art of technical writing sense. However, the doc is written in 1990, with 1980s mindset. It is some 900 HTML pages, extremely verbose, mixed with FSF propaganda. It’s like reading 3 hundred years old English, you no comprehend❗ [see Problems of Emacs’s Manual]
  • Perl’s doc is pretty much like unix man pages in style — juvenile jokes and hacker humor and jargons galore. [see Perl Documentation: the Key to Perl]
  • Python doc is stilted idiocy. [see Python Documentation Problems]
  • JavaScript has a doc? Where? Try JavaScript and Ruby Books by David Flanagan, Microsoft’s JScript doc, or Mozilla’s wiki you wiki me.

Which lang you like most?

Ruby ≻ JavaScript ≻ Emacs Lisp ≻ PHP ≻ Python ≻ Perl

  • Ruby i actually don’t know well, but from what i know, it’s quite well designed, in particular, i love the fact that everything is a expression (has a value). This means, it’s a extreme joy for functional programers. [see Ruby Tutorial by Example]
  • JavaScript, although the lang has many ills, but the fact is that the lang is extremely functional. Its function is pure (aka lambda), and function definition returns a value. Function can take other functions as value, or return a function. This fact along, makes JavaScript a joy. The prototype system, is also more powerful and simpler than classic Class/OOP model. [see Functional Programing in JavaScript]
  • Emacs lisp is quite simple and practical. However, it’s some 30 years old, and there is no support or advance in the language. Available library is 0.1% of other languages. And the language is limited to text processing only. However, if you only consider text processing, then elisp is easier and more powerful than all the others. [see Text Processing: Emacs Lisp vs Perl]
  • PHP, i like its simplicity, and its extremely easy to use, well-written doc, and sans a cult that daily tells you what you should or should not do.
  • Python, can’t stand its pretentiousness. A mediocre language, filled to the brim with human-made complexity.
  • Perl, can’t stand its unix juvenilia.
Читайте также:  Все классы java spring

perl is end of life. Ugly, wasted, out of lies and out of juice. It’s not worthwhile to study. Nobody’s give a fly about it today. The perl fanatics, once covered the entire planet with their “more than one way dwim”, but now you can’t even find one active perl forum. It’s busy brooding death. [see Perl by Example]

python is very OOP. If you don’t like OOP, or don’t like particular OOP shoved down your throat, don’t do python. Also, if you like functional programing, python kicks you in every way. OOP is in python’s bones, with duck tape. You have to deal with “objects”, and imperative objects and jargons the like of . Its doc is incomprehensible, pretending to be a academic computer science book, with writing quality of a hacker. The python folks think “comp sci Я us”, with stern mugs, mirroring Guido’s correctitude. [see Python Tutorial]

Ruby is nice. All start-ups are using ruby. The lang is much more clean than perl or python, much easier to learn, and actually support both OOP and FP more than both perl and python. [see Ruby Tutorial]

JavaScript is nice. For front end web dev, you are stuck with it. But, if you like Functional Programing, you’ll love it. The lang has lots warts, but its overall model, is pretty simple. [see Xah JavaScript Tutorial]

PHP, is actually the simplest of them all. The lang, suffers the same problem as javascript, lots minor detail inconsistencies. However, these are trivial issues. The more important thing is the picture of the lang’s overall model. So, PHP, is really good, similar to JS. PHP is, in fact the easiest to learn of them all. [see PHP in 1 Hour]

of course, if you are a programer, picking up emacs lisp benefits you for life. [see Xah Emacs Lisp Tutorial] [google plus discussion https://plus.google.com/+XahLee/posts/VCScbYifEwB]

Источник

Оцените статью