5 ms·
> Most well-intentioned "grug" developers will write software so simple that it becomes it's own form of complexity: a giant mud-ball of for-loops, while-loops,
by lijogdfljk 4y ago
> Most well-intentioned "grug" developers will write software so simple that it becomes it's own form of complexity: a giant mud-ball of for-loops, while-loops, variable assignments, and other wonderful side effects. Instead of addressing complexity head-on with abstraction, "grug" will beat "galaxy brain" over the head.
Hah. Related, i became disgruntled with my previous favorite language for this reason. It promoted this style of development. Surface level simplicity built into the language, with minimal tools to actually manage the complexity that is inherent to the problem space you're working in.
- short_sells_poo 4y agoAlright I'll bite :) Python? Java? C? Assembly?
- bityard 4y agoNot who you're replying to, but Tcl was that language for me. Dead-simple syntax, documentation, and behavior. I loved it. But also dead-simple tools. And if you wanted to do anything that wasn't a "solved problem" already, you had to write your own library. When I switched my focus to Python, everything was more effort but I could also do _much_ more with it.
- dusted 4y ago> And if you wanted to do anything that wasn't a "solved problem" already, you had to write your own library. For which language is that statement not true ?
- girvo 4y agoTheir point is that the language they’re discussing requires you to write that library far more often than other languages, as a second order effect of few using it. But you know that already, you just want to make a semi-snarky reply instead, I guess.
- dusted 4y agoNo, I just sincerely don't believe that library availability indicates anything except library availability. It tells nothing about a language other than how man libraries are available.
- lmm 4y agoInteresting - I found TCL to be very much the opposite, because it makes "meta" things so easy. Like, if you want to write your own control flow construct, you can go right ahead, it's like Lisp except that it's easier to write macros.
- mgsouth 4y agoThat would make for some interesting posts. "How X promotes wishful simplification," for various values of X. I imagine some common traits would be probably be "X makes simple things simple," with "it makes hard things look like simple ones." But there's also "X has defaults that Just Work" with "until they don't." I don't think I'd include assembly, C, or Java in those categories. Python? Maybe; "batteries included" is starting to break down. Go? Yep. Goroutines and channels usually work well for simple stuff, often for more complicated, and the core libraries follow that pattern. Model failures tend to be buried and solved when the service is turned off and back on. Rust? Don't think so; its schtik is making hard things into blockers. Web frameworks? Yes, oh very yes. Lisp? "Simple? Blink blink. Oh, you mean elegant."
- kapp_in_life 4y agoMy guess would be Go since I've heard that as a common complaint.
- deleted 4y ago[deleted]
- lijogdfljk 4y agoI was purposefully vague heh. Trying not to start a language flame.. i do that enough in the actual language threads lol. I will say someone here was right though. :)
- pharmakom 4y agoPython is this. Complex made easy (in Rich Hickeys terminology)