Hacker News new | ask | show | jobs
by drchiu 1918 days ago
> From what I can tell their API deprecation strategy is quite hostile to developers.

Yes, every 3 months you need to revisit the API. It's good and bad. It means that if you're casually developing an app, this will consume a lot of time. Good because if forces you to update and keep your app relevant.

8 comments

Well, yeah, but why do they need to make changes to their API so frequently? This is both developer and business hostile. I get extremely pissy when paying for a service where the provider regularly dumps non-value-adding work into my product backlog that sucks up time I could invest in more valuable areas.
OP is wrong. While there’s a new version of the API after few months, they support older versions for 18 months. They have versioning.
Correct, but if you make one call to a deprecated api, your app will be unlisted immediately
This is very poor from Shopify's perspective if that's the case: API can change as often as they want,but each new version comes as a new thing with its own documentation and so on,while the old ones stay there for a long time with whatever functionality was supported. I did receive some emails from Salesforce, saying they will be retiring version 7 of their API soon. Guess what, their current version is 51.
>Good because if forces you to update and keep your app relevant.

The real question we should be asking is, is churn adding value? I understand security updates but otherwise you can only improve the wheel so many times before it just becomes a waste of time (decreasing marginal returns). Software engineering _badly_ needs a concept of finished version and mature software. Often there is very little gained from a new framework every few months besides assuaging the egos of a new generation of developers.

> Software engineering _badly_ needs a concept of finished version and mature software

It used to be like that. Back before the expectation of regular updates, in fact back before downloading updates off the internet was considered desirable or even feasible, when releasing a patch was a borderline embarrassing admission that we didn't get it right the first time, software shipped on CD and the version that shipped was understood to be the version installed on the vast, vast majority of customer systems, so it had better be a finished product or there were reputations on the line.

Keeping your app relevant because the API it is built upon is unstable or has breaking changes is hardly a good.
"Good because if forces you to update"

That's the opposite of good.

> forces you to update and keep your app relevant.

"Relevant" to whom? As long as the store is selling stuff, it's highly relevant to the buyer and seller.

> Good because if forces you to update and keep your app relevant.

That is the consumer being "good". There is nothing regarding the provider there which is good.

> forces you to...

Never good.

Python forces you to indent.
Python is a great language for other reasons. Forcing you to indent isn't one of those reasons.
The statement wasn't on greatness. The statement was on "never good."

I think the programming community largely agrees that indenting is good. If something is forcing you to do something that is good, then it definitely doesn't fall into the category of "never good."

I can't think of a single time in the nearly 10 years of using Python daily that made me want it to operate differently w.r.t. indenting.

The programming community most certainly does not agree that "forcing you to indent the way the language designer decided you should indent" is good. There are lots of programmers that disagree with it. There are lots that agree with it. But the "programming community" as a whole has certainly not come to a consensus on it.
When you're testing fragments of code by copying from one place to another to run, such as just pasting directly into a shell, indenting is an unnecessary hassle.
Indenting is good. (as is, generally, being consistent and readable)

Indenting as code always struck me as a horrible idea. Better than, say, type coercion... but still horrible.

So code linters, code formatters, and style guides used in any well maintained code base.