
Programming Languages - Hammer Principle - jfaucett
http://hammerprinciple.com/therighttool
======
lucb1e
<http://hammerprinciple.com/therighttool/items/php>

Jesus christ guys. It were probably others than visitors from HN (most here
are a little more thoughtful and less trolling), but if there is nothing but
negativism on the PHP page (I can't find a single positive point) then why in
the world are we all using it? Why does almost everyone know the language? Why
is it one of the biggest languages on the planet?

I don't trust this site anymore just because of the first item I happen to
look at. PHP may or may not be a horrible language, but certainly it has some
good uses and advantages to other languages, or it would never have become
popular at all. Perhaps it's just because PHP is so easy and that's the only
reason. I'm not saying it is, but it might be. But then at least that should
have been written on the page.

~~~
dexen
Particularly ironic is PHP ranking high for ``This language is likely to be a
passing fad''. Given its 17 years of history and recent the recent progress
with versions 5.3 and newer... whoever voted on this position either wasn't
aware of PHP's actual situation and outlook, or was just being thinking
wishful.

\-- EDIT --

 _> Why does almost everyone know the language?_

If anything, it is that almost everyone can _dabble_ in PHP and ^C^V some
code. IMHO real knowledge of PHP and its ecosystem seem to be quite rare --
judging by reading some published code, which was as generic and un-PHP as
possible, and by comments attached to the official docs.

~~~
julian37
_Given its 17 years of history and recent the recent progress with versions
5.3 and newer... whoever voted on this position either wasn't aware of PHP's
actual situation and outlook, or was just being thinking wishful._

I don't know, I think it's a good prediction. Look at this chart for example
(yeah, I know... tiobe isn't necessarily an accurate indicator but still):

<http://www.tiobe.com/index.php/paperinfo/tpci/PHP.html>

In the 2000s, PHP was _everywhere_. But recently, Rails, Django, Node.js etc.
seem to be much more prominent. Maybe thinking of PHP as a fad is slightly...
optimistic, but I wouldn't call it "wishful thinking" as if PHP was here to
stay forever as one of the most popular server-side languages.

I'm not saying PHP is going away this year or the year after that, but
consider that some languages that go back to the 50s (Lisp) are enjoying newly
revived popularity (Clojure). Do you really think this would happen to PHP in
2050?

------
dizzystar
Lot of this is presented in a confusing manner:

Clojure ranks low for having annoying syntax and usually being verbose.

Java ranks low for being terse.

Python and Java _both_ rank low for easy to shoot yourself in the foot.

With the presentation this ambiguous, I am not sure how those taking this
survey interpreted the questions.

~~~
RyanZAG
Very confusing presentation.

It is a collection of statements about the language. So ranks low in 'easy to
shoot yourself in the foot' means that most people did not think that java or
python was 'easy to shoot yourself in the foot'.

ie. the low ranking statements mean that the language is not like that
statement.

------
polyfractal
Wow, this is like a case study on how not to present data. I'm sure this is an
interesting dataset...but it's _so_ confusing.

~~~
Symmetry
Yes! I was very confused when I saw that Python was ranked high for being
"good for beginners" but ranked low for being "usually bad for beginners".
Then I realized it was actually actually intended to be ranked low _in terms
of_ being "bad for beginners". Which makes sense, if barely.

If you're going to have "ranked high" and "ranked low", make all the
attributes positive.

~~~
jakub_g
Yeah, Python is good case study for confusion as it has a lot of negative
sentences in "ranked low".

I see in this thread that many people complain about it, so I've emailed
author with the link to this thread and to Python's page and suggested
renaming "Ranked high/low" to "Most people agree/disagree that..." or sth like
this.

Otherwise, very nice idea.

------
davedx
C#: "If my code in this language successfully compiles, there is a good chance
my code is correct."

Gave me a good chuckle, but now I can't work out if I'm supposed to take this
site seriously?

And all of the PHP statements were negative, of course...

/goes back to his PHP programming

~~~
mctx
I enjoyed Visual Basic's top few:

* I am sometimes embarrassed to admit to my peers that I know this language

* I am reluctant to admit to knowing this language

* The thought that I may still be using this language in twenty years time fills me with dread

* This language is frequently used for applications it isn't suitable for

* Code written in this language tends to be verbose

* This language is likely to be a passing fad

* This language has an annoying syntax

* I often get angry when writing code in this language

* Developers who primarily use this language often burn out after a few years

Is Visual Basic still used in industry? I haven't touched it in years.

~~~
jimmaswell
I learned Visual Basic .NET in high school. It honestly wasn't nearly as bad
as its reputation. It's more like a watered down C#. It's pretty decent once
you get past the syntax. There's still no reason to pick it over C# though.
One thing I can say I prefer in VB.NET is the handles syntax - private sub
blah blah .. handles object.event. A bit more elegant than C#'s making the
event function and adding it to the object with +=.

~~~
jasey
Visual basic 6 was/is allot worse than VB.net

VB.net is just the same as C# with a different syntax.

My evolution went something like this:

BASIC -> VB6 -> (VB.NET + JAVA) -> C#

Knowing VB.net and JAVA I pretty much picked up C# on day one of my first job.

------
buster
Well, doesn't really work out.. Example for python:

Pro #2: This language would be good for teaching children to write software

Contra #1: This language is unusually bad for beginners

Uhm.. ok.. so this shows how subjective it is to rate a programming language.
It depends more on the individual and its own thinking process and experience
then on hard facts.

~~~
icebraining
I don't think it's a Pro vs Contras, but "this statement applies Well vs Badly
to this language".

~~~
buster
Oh ok.. i see.. Now that's confusing. So the right side basically says
"everything that is listed here doesn't apply". Mhh... ok.. ;)

------
tinco
The ranking process requires answering 110 questions.. I can not imagine you
would actually need that many questions.

Perhaps the author can use the already submitted questionnaires to see which
questions correlate heavily, so they might be merged.

The only language I know from this list that I wouldn't recommend
wholeheartedly to someone else is Java, and that's just because I know C#.

A bunch of languages I know very superficially, and just haven't learned
because I didn't like their superficial qualities. Anyone here ever mastered
(not just learned) a language that they did not like at all? I don't like Java
all that much, but it is not absolutely terrible.

(From this list I am comfortable with Ruby, Haskell, C#, Java and Javascript,
less comfortable with C, C++, Scheme, Python, ASM, Matlab, VB, PHP)

~~~
FuzzyDunlop
Some of the questions are duplicate, in terms of both addressing the same
characteristic, but leading it in either a positive or negative way.

Presumably this is to fit in the format of just clicking 'rank' or 'skip', for
each question (which I think is also ambiguous).

Surely it would have worked better as 'statement -> yes/no[/skip]', cutting
down the number of questions by about half (I'd guess) at the same time?

------
ssabev
\- I often get angry when writing code in this language \- There is a lot of
accidental complexity when writing code in this language \- This language has
an annoying syntax

This is from the negatives for Python.. Really?

~~~
icebraining
No, those are statements that _rank low_ when applied to Python, not
negatives.

~~~
ssabev
Oh, absolutely sorry! Makes sense now!

------
pdonis
I found the interface for actually giving my answers to the questions
unusable, at least for such a large number of questions. ("Large" in this
case, I would probably say is "anything more than 5".)

------
the_cat_kittles
You need to resolve this ambiguity:

When something is ranked low for a bad thing, is that good (and I think it is)
or is that bad? For instance, python is ranked low for "There is a lot of
accidental complexity when writing code in this language", which I think means
that there is NOT a lot of accidental complexity when writing this code, but
it might confuse people because it looks like you are presenting two lists, a
list of top pros and a list of top cons.

------
pjmlp
Gave up after seeing how many steps were actually required.

------
hayksaakian
I didn't realize that bullet pointed list contained links until I was confused
by the comments on HN and accidentally clicked one.

Chrome for android on nexus 7.

------
gbog
Strange, I had no problem understanding the symmetric rankings, barely noticed
it before reading the many negative comments hee.

~~~
bencoder
Same, no problems at all. Was surprised at the negative comments but after
checking again I can understand the ambiguity of ranking low for a negative
item. I often have that problem with English speaking, but this made sense to
me.

I'd say it ranks low on "the presentation is difficult for programmers to
understand".

------
polskibus
I found the survey really slow - perhaps the server is being hammered too
much? 1 question submit is taking at least 10 seconds at the moment, which
means 20 minutes to just submit all questions without reading them and
reordering answers. Improve the site first, if you want to gather more data
quickly.

------
TinyBig
I love the idea behind this. The issue is that the questions are not MECE
(mutually exclusive, collectively exhaustive -
en.wikipedia.org/wiki/MECE_principle). Perhaps counterintuitive, but fewer
questions would actually lead to a richer dataset were they MECE.

------
Too
D

\- Most similar to: F# \- Most disimilar to: C

Is this really correct? The impression i've got of D is that it started as
"Take C, remove everything that sucks and add other nice features". It surely
looks more like C / C++ than some functional langage too me.

~~~
sparkie
The "Most similar to" feature is not necessarily a reflection of the
language's features, but of how closely they rank in the questions (which are
largely subjective, and lack technical depth.)

You're correct though, in terms of features, D is closer to C++, C#, Java.

------
erick23
System.out.println("porque muitos os outros desenvolvedores odeiam java?");
System.out.println("eu amo java! objective-c, php, jquery.etc...");

------
shoopy
Eh? Go: "Based on _7308_ responses from _586_ people, this is the picture
we've built up of Go."

Vote early, vote often, I guess.

------
pohl
Said of Scala: "I learned this language early in my career as a programmer"

It's cute, like when children use the phrase "my whole life".

------
neilbowers
That's a terrible UI. I wanted to add some data, but couldn't work out how to,
and gave up in frustration.

~~~
saraid216
I thought the two top-ten lists were upvotes/downvotes until I realized there
wasn't a way to disagree with the top ten Pro statements. :(

------
pekk
Cool, can you expose an API for this data?

