3 ms·
A language efficiency is about how convenient it is to use for humans to express and absorb ideas about solving a problem. A lot goes into that. It starts with
by avmich 11y ago
A language efficiency is about how convenient it is to use for humans to express and absorb ideas about solving a problem.
A lot goes into that. It starts with programmers training to look into problem some way, which allows to formalize the task - as in conversion of a physical problem to a mathematical model.
Then it proceeds to offer good abstractions to use for problem statement. Those abstractions should be convenient - a reasonable set, a generic nature, a good correspondence to "the real world".
Then composability of those abstractions should allow more convenient canned solutions to common subproblems - which are libraries.
Last two parts require to carefully select the language syntax.
It turns out it's tricky to have a language which is good enough for every possible problem to solve. It's also hard to have a good set of composability features - usually you have one set of several possible, and you don't have at the same time all possible mechanisms to combine and use primitives.
I'm not sure Fortran compares well with existing offerings. Literal "formula translation" is a basis of several language philosophies (APL comes to mind), and in non-numeric applications there are other issues.
- pjmlp 11y agoHence why one profits from being a polyglot programmer instead of focusing in just one. I never considered myself a "X Developer".
- AnimalMuppet 11y ago> A language efficiency is about how convenient it is to use for humans to express and absorb ideas about solving a problem. That's one kind of efficiency. There are others. One kind that often comes up Fortran is "efficiency of using the CPU". Fortran is pretty good at that kind of efficiency. For people using months of supercomputer time, that kind of efficiency is pretty important.
- avmich 11y ago> One kind that often comes up Fortran is "efficiency of using the CPU". I think that's rather efficiency of implementation of the language's compiler. Yes, given particular hardware properties, it might be beneficial to have language enforcing programmers to use mechanisms, which are easier (for translator) to convert to hardware instructions.