Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Complexity Considerations (red-lang.org)
34 points by bradrn on Jan 1, 2022 | hide | past | favorite | 1 comment


I’ve editorialised the title very slightly to highlight what I thought was the most interesting part of the article, a meditation on complexity, scaling, libraries and the role of language ecosystem in software development. Key quote:

> It used to be that you could take a FORTRAN, COBOL, Lisp, VB, Pascal/Delphi, Access/PowerBuilder, dBase/Clipper/Paradox, or even a Java developer, drop them into a project, and they could work from a solid core, learning the team's custom bits and any commercial tools as they went. With JS leading the way, but not alone in this, a programmer can only rely on a much smaller core, relative to how many libraries are used.

> Because those libraries, and the choices to use a particular combination of them were not designed to work together, there is no guarantee (or perhaps hope) of consistency to leverage. It's worse if you came from a history of other tools that were based on different principles or priorities, because you have to unlearn, breaking the patterns in your mind. Or you convince people to use what you did before, even if there is overlap with tools already in use.

I am but a lowly hobbyist programmer, writing little programs for my own amusement, yet this assessment rings true to me. I am happiest when writing my own code and solving my own problems, not when I am wrestling with a half-consistent library or trying to interoperate between two vaguely contradictory platforms. I start writing an interpreter for string processing, which I do in my favourite language Haskell… but then I want to give it a GUI (requiring Unicode support!), which I have to do in Qt using C++… and that means I have to figure out the FFI between the two — easier than you might think, but still somewhat painful… and then before I know it I’m spending my time writing code to convert from C strings to Haskell strings, rather than actually solving the problems I wanted to solve. Thankfully such things haven’t completely taken over the project yet, but I expect it will only get worse as the projects get bigger. A single good language with a single coherent ecosystem would be amazing, and Red seems closer to that goal than any other project I’ve seen.




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

Search: