Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
The software ecosystem isn't dry (alexrohde.com)
12 points by zug_zug on July 8, 2017 | hide | past | favorite | 10 comments


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.


[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.


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.


"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.


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.


>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?


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

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"); }


>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...


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.


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




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: