The Lounge is rated PG. If you're about to post something you wouldn't want your
kid sister to read then don't post it. No flame wars, no abusive conduct, no programming
questions and please don't post ads.
ah, well ANTLR is pretty well covered territory for me. In fact I started experimenting with a similar technology that ANTLR uses for its "parse tables" (actually state machines) in my projects though I may not go with it as I think I found a better way to do LL(k)
In the end, I'm making a universal LL generator. LL parsing is the easiest to use, but currently the hardest to design grammars for because LL(1) is limited, and LL(k) is complicated and traditionally memory intensive, while LL(*) is expensive.
ANTLR4 uses a variant of LL(k) called LL regular (I think?)
I'm making my own "strong" LL(k) using a technique that i think is somewhat similar to this one: The PREDICT-k Function[^]
So basically I'm making my own ANTLR but eventually I intend to extend it to LL(*) - which I've already implemented part of, and I need to finish my LL(k) parser.
When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.
Probably not so much.
Basically it was a way to implement Remote Procedure Calls (RPC) - expose functionality to other apps.
Now there are other (better and simpler) ways to implement that functionality.
WCF (though it was complicated at one point in history) is far more prevalent now (maybe the default for C#?)
Now you can quite easily create a self-hosted app and expose functionality.
(of course, security is always a challenge and a necessity).
used it for 7ish years back in the day for last company's flag ship product for communication between computers, it worked well, then WCF came out; and I believed the hype that it was so much better, and restructured the system for a big new release around WCF. In the long run it wasn't anything spectacular and I don't think it improved anything, now according to the latest news WCF will not be carried forward into Dotnet 5.
before that news came out though we had already made the commitment to leave WCF and start using REST services, it was more flexible and I could tie our java products into the same calls as the .net projects with no extra work.
I just recently left my last job, and they supported it quite heavily. The applications were extremely old. I avoided it as much as possible, but the little I did learn came down to you could replace the entire system with web services, of one flavor or another, and make life very easy. If I had to explain it to somebody who had never seen it, I would say .Net Remoting was the grandfather of web services, before anybody know what web services were.
One of the many problems that we faced, in working with Remoting, was the code had been built in Visual Studio prior to 2005. That was our guess anyway. We didn't have any licenses for an IDE that would work on it, and it was next to impossible to make changes. The programs that used it were on a 6 months cycle that lasted 3 months. They ran data in March through June and then again in September through November. That left us only 3 months to rewrite everything before the software had to be ran again and it was a fairly large and complex system. In general, dealing with it sucked. I don't know the final outcome but the program was on the board for a modernization to using web services.
Assert.IsTrue(token != Guid.Empty, "Token not received.");
or Option 2:
Assert.IsFalse(token == Guid.Empty, "Token not received.");
Personally, I go for option 1, because there's a bias to assert that things are true rather than false (except in politics) and it reads better. I have to process the false == into a true !=. With Option 1, I don't have to do that. Interesting how the mind works.
I'd go for first as well, coz it's more straightforward. Less mental operations = better readability. Unless you're writing negative tests of course 😆
Edit :- okay, you're saying the same thing. So I agree.