| Not liking Red is understandable. Programming languages, as largely subjective HCI, cannot appeal to every single software developer. Though, that is not a reason to be dishonest, and trying to paint a bad picture of our work (even in fallacious ways, as demonstrated below). > One of the reasons is that the Red community is very small and entrenched. "Entrenched" is just your opinion, not a fact. Given the rest of your post(s), your opinions about the Red project are demonstrably uninformed and highly subjective. > They know everything that comes out of the language, and to them everything is easy and understandable. If the core Red team and main contributors didn't "know everything that comes out of the language, and to them everything is easy and understandable.", that would be very worrying, don't you think so? > They will fight you to the death if you even try to say that "english-like syntax with no parantheses" is the opposite of readable or understandable when you don't know the system. Exaggerated, like your whole post. We have civil discussions with people who are actually interested in discussing about Rebol and Red. [1] From the way you sound, I am wondering if you might be one of the few arrogant people who show up on our online channels from time to time, trying to lecture us about "their right way" using a condescending tone...usually, that does not end well. Fortunately, such bad encounters are rare. We often get lispers showing up from CL, Scheme, or even language authors, like Joe Armstrong (Erlang's author) on our Gitter chats in 2017 IIRC, who liked Red and labelled it a "fun" language. Though, Joe was later upset by our branching into the blockchain world, like a few others in the community, but I hope they see now that we did it for good reasons. > Go into any of Red's source files and you will end up looking at dozens to hundreds of lines of code with no comments and which often look like this: return old-gradient-pen DC cmds start tail cmd sym catch?
OS-draw-brush-pattern DC size crop-1 crop-2 word as red-block! cmd sym = fill-pen
_read opfd hash alg-digest-size type
Patching together cherry-picked lines of code from different Red/System files, with zero context...how dishonest. (I give a detailed context and explanation about those lines you have extracted from different sources on a separate page [8], as it is quite long. It also debunks your "no comments" claim as the first line you have picked has 3 comments in the neighbouring lines.)So, you went to cherry-pick low-level code parts in Red/System, involving OS API calls, for what? For making a preposterous statement like "These are obviously impossible to look up and find."?... Those lines of code are not mine, though it took me only a few of seconds using a basic code editor (not even pulling VSCode with the Red plugin) to fetch the information needed to fully understand those expressions...so much for the "obviously impossible to look up and find"... People are using free-ranging evaluation in Red and Rebol code since 20 years, and readability is not something users complain about (they were certainly many other issues to complain about, but that is not one). On the contrary, it is one of the Rebol features I have found the most attractive, as have many others. I can understand that your mind is not wired for that, and that you don't like it, but that's not a reason for getting angry at us, nor at Red. The sad part is that you don't even bother asking why such design choice was done in the first place, and what is the aimed trade-off behind it...that speaks volume about your real agenda here. > The whole development is haphazard as well. Great, another armchair expert on Red! You are obviously not a Red contributor, I doubt you are a Red user either, so you really have no clue about the project's history, nor goals, nor organization, nor its real-world constraints (at this point, I don't think you care at all anyway, you are just here for bashing). Funny how you jumped from a feature of the language syntax to development process. Your post is really not meant to inform anyone, but only to cast negativity over the Red project...for no good reason. > Everything hinges on two may be three people who know Red internals wihch frantically move from subsystem to subsystem developing features and patching wholes. Let me rephrase that properly for you: "The core Red team is working very hard, despite being small, on many different sub-systems, restlessly implementing new features and fixing issues, making the Red users and community happier every day!". So now being a small, but very capable team is something bad? As you praise a pretty much solo-project later, I don't get the rationale there...double standard I guess. Moreover, you don't even know what you are talking about (again). I can count at least 7 people in the Red community, including the core team, capable of working on the Red internals, adding features or fixing bugs. Maybe it has escaped your understanding, but we are building a stack of programming languages (with lot of system programming), and not a web site. The skills and experience required for properly doing such work are very rare. The few capable people also have real-life constraints, so the permanent core team capable on working on the internals is currently 3 people, with additional 2 or 3 more working on their spare time. We are lucky and grateful to have that many capable people with us already. We are still in the early days, with an alpha Red, so having a small compact team is rather an advantage, as there is still significant design to do. > a fix is written (with zero comments even for the complex issues) and merged From 10 days ago, ticket #3692 [2] referenced a hard to reproduce complex crash (an heiseinbug), and includes a few hundred lines of detailed explanations about the debugging process, including some screenshots. I usually only comment some fixes when the explanation or fix is not obvious for the team. Sometimes, the comment is just put in the commit log. Systematically commenting all fixes would be useless anyway, as many fixes are straighforward, or simply don't deserve any comment (like the "Malignant output from react/link" [3] one you've pointed out below). Moreover, we have a strong presence on our Gitter chat, and are always happy to help contributors ramp up when needed. If someone thinks that a particular fix requires a comment or explanation, we are always glad to provide it. > About 0.001% of "tested" issues contain any tests. The majority of fixes are apparently only fixed and manually tested against the reported issue. You are implying here that tests for bugfixes are non-existent. Let's put your extravagant claims to the test (pun intended): - 1076 tickets with `status.tested` and `type.bug` tags [4] - 52 tickets with the extra `test.written` tag [5] That gives a 4.83% result...so about 5000 times more than your claim! That's what happens when you are pulling fake numbers out of your ass. Moreover, as you are wilfully ignorant about Red project (confirmed by your other posts), you don't know that: * the tests are sometimes provided in a later commit (using a `TEST:` prefix in the log), not necessarily within the fix commit. * some tickets get a test written, but the `test.written` tag is not set (no stats there, not sure how many) * we do try to address in batches the missing regression tests for fixes, from time to time. The last point has led to the creation of a specific test file [6] that gathers tests written in those batch sessions. I count 242 more tests there, so it gives a total of 294 written tests for fixes, about 27.3% as the final result. So much for the "0.001%"... That result is surely not satisfying though, even if 100% is not a goal there, as explained above, we should get a much more complete coverage for bugfixes. > etc. etc. Typical ending for a FUD-spreading post... The only honest statement from you I can find is your Twitter account's baseline [7]: "Opinions on things I know nothing about". That sums up well your posts here about Red. [1] http://lambda-the-ultimate.org/node/1240#comment-48582 [2] https://github.com/red/red/issues/3692 [3] https://github.com/red/red/issues/3713 [4] https://github.com/red/red/issues?q=is%3Aissue+is%3Aclosed+l... [5] https://github.com/red/red/issues?q=is%3Aissue+is%3Aclosed+l... [6] https://github.com/red/red/blob/master/tests/source/units/re... [7] https://twitter.com/dmitriid [8] https://pastebin.com/jezLyDVt |
1. I was looking for exaggerated examples, that's true. It's hardly cherry-picking as lack of parantheses to discern between functions and arguments makes it really hard to read/understand code everywhere
2. How nice of you to provide comments. Which are:
- not even in git, but on pastebin
- Instead of putting that extended description in the code comments, you put them... somewhere.
So far it doesn't look so good for you.
Let's look at the "three neighbouring comments". They have no meaning for anyone looking at the code who's not already familiar with the code. I'm really glad that you said that "we need at least two stops". It makes so much sense.
And, in the end, it still doesn't help the long line where you have no idea what is a function call, and what is just an argument.
Well, unless you scan the entirety of the code because something may be function defined somewhere in the file, some may be variables, some may be something else.
So, so far you've only validated everything I said.
> That gives a 4.83% result...so about 5000 times more than your claim
Wow. You've really, really "put my extravagant claims to the test". Well, you've actually just reinforced my words. A tiny fraction of all bugfixes ever get tests.
> the tests are sometimes provided in a later commit
> we do try to address ... from time to time
I will remain skeptical, as it's really hard to correlate a bug fix and a test that "may be sometimes from time to time" written at a later date.
But it looks like even your ardent supporters don't know about those tests.
Moreover, this approach clearly affects how people approach writing the system. "Oh, there are no tests for the bugfixes, and no comments in the code? when I submit my bugfix, I'll do the same".
> The only honest statement from you I can find is your Twitter account's baseline [7]: "Opinions on things I know nothing about".
Yup. The person accusing me of being arrogant and condescending goes to great lengths to find out who I am and revert to ad hominem attacks.
A real class act you are.