3 ms·
The things is there's multiple computation models, and while they are equivalent, there's a fairly involved computation needed to move from one model to the nex
by skydhash 1y ago
The things is there's multiple computation models, and while they are equivalent, there's a fairly involved computation needed to move from one model to the next. Then you got a lot of patterns of abstractions and best practices (best known as paradigm) that are built on top of those models to get today's programming languages.
So something like python is a fairly specialized language. Most of its concepts are not that easy to translate to another language which may involved another set of specialized paradigms.
You will need to revert to a common base, which basically means unravel what gives Python its identity, then rebuild according to the other programming language identity. And there's a lot of human choices in there which will be the most difficult to replicate. The idiomatic way of programming is a subset of what is possible in the language just to enable faster reading between human developers.
So there's no language agnostic programming as there's no agnostic computation models. It's kinda how there's no agnostic hardware architecture. There's a lot of fairly involved work to have cross-platform programs. But that can work as the common platform is very low-level itself (JVM and other runtimes)
- yojo 1y agoThat was my first thought coming from SPA development. Like, is there even a meaningful translation between rendering logic written in a functional, declarative style to e.g. object-oriented imperative Java? How many LOCs of C would be required to model a simple DOM operation? Yes, everything is Turing complete and a translation can exist, but how would you make any sense of it as a reader?
- skydhash 1y agoAs another commenter have put it [0], the need for specialized paradigms is to restrict what you can do and data type available to you, because it's easier to think and act when things are specialized and distinct. But in daily life, people are not accustomed to formalize their thought at that extent as there's a collective substrate (known as culture and jargon) that does the job for natural languages. But the wish described in TFA comes from a very naive place. Even natural languages can't be reduced to a single set. [0]: https://news.ycombinator.com/item?id=45482816 https://news.ycombinator.com/item?id=45482816
- mrkeen 1y agoI occasionally wonder what the best standard would be for passing code (as opposed to data) between systems. I keep coming back to System F or similar.