
The software ecosystem isn't dry - alexandercrohde
http://blog.alexrohde.com/archives/555
======
banku_brougham
Welll, yes I think the case is proven for MongoDB and the like, but is the
author beating up on the easy ones?

Some examples that come to mind:

\- Postgres. MySQL is great but was eventually obtained by Oracle with a
questionable open source future. I think they both originated long ago and
evolved in parallel. I wish author would weigh in on which should not have
been developed.

\- Julia is a new dynamic language that intends to perform with speeds like C.
But shouldn't we stick with python because that is the current standard? Wait
though, the author says Python is just the same as javascript, ruby, and PHP.
PHP was first, so I guess I should be doing my data science in PHP?

I think languages and ecosystems are more analagous to companies/enterprises.
They evolve, arise, and die out. Some succeed.

~~~
alexandercrohde
[Author] I'll weigh in-

MySql, Postgresql [and the other major players] should all leverage the same
standardized syntax (they're close, but not drop-in replacements). In this
case when one gets acquired the switching cost is 0. In fact, if they follow
the same query contract you could database-dump from one to the other.

Which one shouldn't have existed? Whichiver came second, I suppose. I don't
understand why the authors between the two wouldn't cooperate and build one
open-source system and fork it if it got acquired.

------
tluyben2
Exactly. But DRY does not give you fast github stars nor makes your work sound
significantly interesting (I used a perfectly fine but boring 15 year old lib
versus I rolled my own). To the Mongo point; investors often want to hear you
rolled your own as well. So it will not change soon.

------
meitham
"Nobody seems to admit it, but Php, Ruby, Python, and Javascript are the same
language"!!!

That's a big claim and I bet the author doesn't know any of these languages.

~~~
alexandercrohde
I'm the author, I know all of them. Php, Javascript, and Python the best. Php
well enough to have read add patched the source code. If you'd like to explain
what you think some fundamental differences are between them I'm all ears.

For any line of python, there's a line or two of PHP to accomplish the same
thing (same with javascript).

However you cannot say this for Scala vs Java for example.

~~~
babyrainbow
>For any line of python, there's a line or two of PHP to accomplish the same
thing (same with javascript).

Python decorators? What is the counterpart of that in Php?

~~~
alexandercrohde
The syntactic-sugar form isn't there with the @, but it can still be done in a
single line.

[https://coderpad.io/RWTYEFY3](https://coderpad.io/RWTYEFY3)

<?php

// DEFINE DECORATOR

$decoratorFunction = function($orig) { print "decorating $orig"; return
function() use ($orig) { $params = func_get_args(); print "\nCalling a
function with: " . count($params) . " arguments"; return
call_user_func_array($orig, $params); }; };

// DEFINE A FUNCTION TO DECORATE

function someFunction($a, $b) { return $a + $b; }

// CREATE NEW DECORATED FUNCTION(s)

$decorated = $decoratorFunction("someFunction");

$decorated2 = $decoratorFunction("printf");

echo "\noutput: " . $decorated(1,2);

echo "\nOutput: " . $decorated2("\n%s", "cool"); }

~~~
babyrainbow
>The syntactic-sugar form isn't there with the @..

But those things are differences, right? Certain languages makes certain
things easy and idiomatic. The differences in languages are all about that...

~~~
alexandercrohde
So there are two options:

1\. Join the languages (so PHP would get that syntatic sugar too) [or
preferably never have so many in the first place]

2\. Be where we are now, where we have redundant libraries, frameworks,
languages, package-managers, version idiosyncrasies, and IDEs for mere
syntactic sugar.

~~~
babyrainbow
Eh? Two options for what? I was talking about how languages are different...

