
Programming language subreddits and their choice of words - quantisan
https://github.com/Dobiasd/programming-language-subreddits-and-their-choice-of-words
======
ivoras
An interesting indicator from the "mentions" graph: how compatible or co-used
two technologies are in practice.

For example: C++ programmers apparently don't mention SQL at all, while it's
very popular with PHP (which doesn't have a built-in ORM). There is also no
overlap between C++ and JavaScript programmers.

Rust is obviously very influenced by C++ and Haskell, but the C++ community
doesn't even know about its existence. Somewhat naturally, the Matlab and PHP
communities really don't have much in common.

~~~
ll123
None of these languages have a built in ORM.

~~~
dubcanada
Does any language have a built in ORM? I was thinking maybe Ruby, but even
that is a gem.

~~~
schwap
Would Entity Framework qualify as a "built-in" ORM for .net languages?

 _edit_ I guess not, since it's a nuget package now. Maybe LINQ to SQL could
have been considered a built-in ORM?

~~~
dragonwriter
> Maybe LINQ to SQL could have been considered a built-in ORM?

It might be more accurate to say LINQ is built into the languages, but LINQ to
SQL is a .NET platform feature, not a language feature. (Of course, the
languages are so tied to the Microsoft distribution and the .NET platform that
distinctions between language features, language standard library features,
and platform features are, for .NET languages, somewhat academic in practice
[inasmuch as there is a practical difference that is likely to matter, "does
it work on Mono" is probably more important than strict
language/library/platform distinctions].)

------
WayneS
"But what is up with the Visual Basic community? They are neither angry nor
happy. They just ... are? :)"

This is answered by the mentions relative to TIOBE graph. They use VB, but
they are careful not to talk about it.

~~~
Spearchucker
Not sure if "careful" is the right word. I've gone through many, many
languages over the last 20 years, and VB has become my first choice (when the
choice is up to me). Most other VB devs I know (there aren't many) just
seem... uninterested in arguing over it vs. C#, or anything else for that
matter. It's part of the appeal to me - shipping, and the journey are worthy
of discussion. Language is incidental.

------
dbbolton
I wonder why Perl was excluded. A quick search reveals that /r/perl has more
subscribers than lua, matlab, objectivec, scala, sql, and visualbasic.

~~~
gamegoblin
I suspect the answer to "Why was ___ excluded" in most of these cases is
"accidental oversight".

~~~
enraged_camel
>>"accidental oversight"

Which is just another word for "conspiracy."

~~~
enraged_camel
Proof that HN has no sense of humor. :)

------
josteink
I know PHP-bashing isn't particularly creative nor nice, but I wasn't
surprised when I saw the word-analysis at the end there :)

That said, I don't think the findings for C was shocking either.

You're not going to be writing kernel-modules in Clojure. It's going to be
some sort of C. And the chances of it involving hardware (performant code or
not) is significantly higher than other non-systems languages.

~~~
tormeh
Why are no one using JSP, by the way? Isn't it a better, more secure direct
competitor to PHP?

~~~
ptx
The thing PHP and JSP were designed to do seems to be generally seen as a bad
idea nowadays. PHP is used anyway only because it's already installed
everywhere, so those who would be able to set up JSP can also choose something
else (i.e. neither PHP nor JSP) and probably do.

~~~
tormeh
What would you use instead? Javascript fetching data from server and doing all
UI stuff on client?

~~~
superuser2
You use a _structured_ framework that has some separation of concerns
(typically Model-View-Controller or some variant). In Java-world, some
examples are Struts, Spring MVC, and Play, all of which can be used to write
high-quality software for real-world applications. JSP might even be involved
in the view/presentation layer.

There are also MVC frameworks for PHP. The most popular, though, are those for
scripting languages like Ruby and Python, namely Rails and Django.

What you _shouldn 't_ be doing is interleaving data access, business logic,
and presentation all in one file, which is what straight PHP and JSP usually
consist of. This is called "spaghetti code" and it's been widely regarded as a
really terrible practice for around 10 years.

You can do client-side apps in Javascript that fetch JSON or XML from the
server, but you want to be using a framework with some structure to serve the
data, still not just straight PHP or JSP.

~~~
dragonwriter
> What you shouldn't be doing is interleaving data access, business logic, and
> presentation all in one file, which is what straight PHP and JSP usually
> consist of. This is called "spaghetti code" and it's been widely regarded as
> a really terrible practice for around 10 years.

"spaghetti code" actually has a much broader definition than that particular
kind of lack of structure (though I agree that that example might be viewed as
a fairly modern example of "spaghetti code") and has been considered a
terrible practice for _much_ longer than PHP, JSP, or even the web itself has
existed. [1]

[1]
[http://en.wikipedia.org/wiki/Spaghetti_code](http://en.wikipedia.org/wiki/Spaghetti_code)

------
ChikkaChiChi
This is awesome. It almost paints a picture from PHP => Python => cpp & Java.

Considering that would be considered a growth path of a developing programmer,
I find that fascinating.

PS: Go will always have problems with stuff like this. They should have just
named the language string or var or something equal toxic to machine
collection.

~~~
byuu
I'm not defending the name choice; but to be fair, nearly all of the major
languages have put zero consideration into their name SEO: Java competes with
coffee, Ruby with the gemstone, Python with the snake, C# with the musical
note, and C ... C is just a damned letter :P

~~~
ChikkaChiChi
Maybe this just means engineers shouldn't name things! :)

Then again marketing people would have made choices like RadPython,
RubyGrunge, and CFlowerPower...

~~~
M2Ys4U
Well there are four hard problems in computer science:

1\. Naming things 2\. Cache coherence 3\. Off-by-one errors.

~~~
byuu
Yep, I gave up on naming things. I tried to use really creative names as is
common in the Linux world (Ristretto, Amarok, Brasero, Thunar, etc), but it
drove me up the wall (I once named a project "xkas", ugh.) It's so hard to
find a name that's easy to pronounce, sounds good on the tongue, and is not
already used a million times.

Nobody's ever going to find them through Google, but oh well. Nobody was going
to use them anyway. May as well name them the way I like, right? ;)

------
squirrelthetire
It's great to look at correlations between Rust, C++, and Haskell. Rust
programmers are very interested in Haskell, and Haskell programmers Rust;
which indicates that Rust's design has a lot of influence from Haskell. C++
programmers are talking about Rust more than anything else; which shows that
they are likely interested in moving to Rust.

This is very exciting to me, because I believe Rust is going to be a great
replacement for C/C++, and if anyone understands how to create quality
programming languages, Haskell programmers do.

TL;DR Rust is going to be the new C++, and the new Lisp. These are exciting
times.

------
josephschmoe
I feel like Haskell gets name dropped a lot more - when you mention something
from a C-language you can have a reasonable expectation the other person knows
what that thing is.

~~~
gamegoblin
I tend to agree -- I feel like the C-family concepts are the default, and when
you go outside of that range, you specify.

e.g.

"I think function application is super easy, you just do f(x,y,z)!"

vs.

"I think Haskell style function application is super easy, you just do f x y
z!"

But I also suspect Haskell is just getting more attention these days -- it's
quite trendy for sure.

------
fenomas
I agree with the author that the top graph may not be hiding any important
insights, but the interactive version (linked from the image) is sexy as all
get-out.

------
tel
I wish the colors indicated not absolute comparative volume (more X talk
happens on Y forum, than visa versa, so it's colored Y) but instead
comparative relative volumes

    
    
        Forum X spends a great percentage of their time
        talking about Y than visa versa so it's colored X
    

Basically, who obsesses over who more.

------
LukeHoersten
That's really clever. I had a good laugh at some of the results. Well done.

------
virtualwhys
There's a language that everybody is talking about; yet nobody uses it.

Kind of a spinoff of Stroustrup's, "there are languages everybody complains
about, and languages nobody uses".

------
tormeh
This is really cool. I wonder how the "buzzfactor" of Haskell would measure up
against Idris.

------
th3iedkid
looks like users of PHP are most offensive when given to choice of words to
hate the language and users of mathematica are least offensive ! Funny but not
unexpected

clojure users seem very happy with what they use!

On the mutual mentions java users have near zero mention of haskell?

~~~
BrianEatWorld
I started using Clojure about a month ago, after spending a lot of time with
Python and I have to say it does make me oddly happy. Once you have paredit
set up, the way you can move code around is just mesmerizing.

------
amcnett
My kingdom for a sarcasm detection algorithm!

------
huangc10
nice job. as a user of PHP. no comments. :)

