If there are no dependencies in your code then you do not code or you haven't moved past Hello World. A software system simply cannot be built without components based on other components whether they are soft or hard dependencies. Data is often dependent.
-
-
-
Oh the irony
your argument aside, the tweet you wrote from your android phone probably made possible by the guy you said haven’t moved past hello world. Google Erlang. -
Indeed - if you use WhatApp or if your mobile Internet comes through an Ericsson Base Station, then some of the software was stuff I wrote 25 years ago and which has no dependencies (other than the compiler)
- 1 more reply
New conversation -
-
-
what does code that doesn’t depend on anything even do? Without any API/ABI interactions of any kind?
-
To clarify - the code has no dependencies on any libraries or frameworks that I do not have control over. It depends upon the compiler and I have to assume the correctness of the compiler.
End of conversation
New conversation -
-
-
Why so? Do the original versions of the dependencies disappear? Or what? If so, why not static linking or docker or “vendorization”?
-
The dependencies themselves may not disappear but grow and change. Joe should like "snaps" in Linux. But then that's dependent on the containerisation infrastructure. And I guess any program is dependent on the surrounding OS continuing to exist. Oh my aching brains!
-
Compexity of maintaining forks of 3rd party dependencies (when features don't match anymore) can exceed the complexity of building the needed functionality yourself.
-
Who’s talking about maintaining forks?
-
The problem is that dependencies have dependencies and the world moves on even if you don't. So sticking with an old version of a dependency often means effectively maintaining a fork.
- 1 more reply
New conversation -
-
-
-
Some 15 years ago, I had to resurrect a complex set of libraries (forms, btrees, stuff like that) I cobbled up in '87. Given that its set of external dependencies was tiny (screen and file I/O) and factored out in a couple of modules, it was surprisingly easy.
-
In 80s, development were easy to today. I mean no browser issues no any other fancy graphical libraries required. You want to code for embedded systems? Take a book and read the instructions and code your algorithm. But today, even that fancy Flash scripts or Applets won't work.
-
We are using IP addresses to connect to internet right? IPv4 released 35 years ago. It works well but address space is so small and not enough for today's iot devices. So IETF released IPv6. I mean even this kind of basic things deprecated today.
-
Even concrete buildings making problem when years passed after. Just like buildings, code is a living thing too. Evolves as time goes on. And needs to maintain when requirements change.
End of conversation
New conversation -
-
-
There’s a balance though because you don’t want to, for example, write your own SSL or date/time parsing, but you also don’t want to be subject to disappearing dependencies. How do you feel about vendoring those dependencies so they effectively become static?
-
shipping an old (or aging) statically linked SSL lib is only marginally better than implementing it yourself, considering how often they tend to get security updates (no, I have no good solution for this)
-
Use SSL offloading and make some other service in front of yours to take care of SSL :) yes, that can be done secure, yes, latency will increase, yes, it is easier to maintain and scale, no, most probably first two concerns are not critical for your application :)
-
But what about client software?
End of conversation
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.