HN user

a_lost_needle

26 karma
Posts0
Comments30
View on HN
No posts found.

You can use most of the concepts in any language that allows first class functions, closures, pattern matching and types. Combinators are just ways to compose a function to create a new function that executes some aspect upon a set (usually).

A functional programming technique that allow you to declaratively define your language when using parsers as values. If you have a good functional language implementation, the code look very similar to someone able to read BNF. And then you run it, and get out an AST the back end.

edit: Forgot partial application. Not strictly required, but super handy.

Still easily implemented with combinators the whole way down. It’s building an ast, that’s it. Once you have a tree, you can do whatever you want with the result before passing it to a compiler for a language. Here though, just serialization stuff.

Having led the creation of a language/compiler professionally, the number of features that are "nice to have" are nearly infinite. And occasionally a lower priority item that was easier to implement at the time, become far larger in scope because of how another higher priority feature was implemented. Some of these can get scrapped or pushed back till the cycles allow it.

Often though, we learn in the implementation, and some of the lower priorities are no longer needed. And Reflections provided a lot of the functionality that you could make seamless from a parent class and attributes.

I love it, I don't like pop often, but I like soda water all of the time. And Pepsi came out with syrup for home use, so I just keep that in the cupboard and on weekends watching a movie or something, I'll throw in some syrup. Easy peasy, and I can make it as sweet as I want.

I'm in the process of doing a technical audit of several of these for a government. My favourite so far is the ServiceNow platform.

These platforms are great at making use of bottom tier devs quite effectively. They're a resource amplifier, when you don't have the cash to hire better devs. Hire a few devs to create the custom controls, actions, etc.. and have a boat load of juniors implement the requirements. Most of these folk haven't picked up a new language since college, and don't incorporate coding into their lives. These individuals have value, but often create more problems due to their lack of skill and/or experience. In a low/no code environment, you can better ensure that they're on rails.

The issues we're encountering is the pricing model, and it's most likely we'll end up going with Microsoft's because of the existing contracts. ServiceNow for all it's strengths really shoots itself in the foot with pricing. A product like this benefits from any "power" user being able to implement their own internal workflows, but ServiceNow charges per dev. So they're handicapping themselves. But someone will figure out all the pieces, it's inevitable.

As a means to solve boring, repetitive, uninspired development, it's great, and it'll be the future in the way that SquareSpace and Wix ate into front end presence sites...

And honestly, if you aren't a great developer, I suspect the rails would make you feel a lot better.

This won't take any jobs from anyone likely reading this. HN frequently has a blind spot for that vast majority of enterprise development. It's not sexy, but it makes up more developers than the Silicon Valley crowd by magnitudes. And most of them would fail a Fizz Buzz. With no code, I can make use of those resources.

Perform, conduct, execute, the experiment, etc... You generally would set up an experiment, after making a hypothesis. You could make up an experiment, and then execute I suppose. It's a noun and a verb, so you could experiment with making experiments, but making a following experiment would then be making a made thing, so I don't think that would be correct.

.NET 6 Released 5 years ago

Low/No code solutions are really eating the lunch of where C# was useful in large internal apps. I use it because F#, but it’s getting harder to sell that.

Take a look at what you do remember easily, and then game your note taking process, so that you add that stimulus/reward to your note taking. Maybe it's paper, maybe it's a computer, maybe it 's a fountain pen. Maybe you're like me and your retention is better if you're fully engaged and not taking notes. I see notes as some see a camera. You're so busy trying to transcribe what you're seeing, you're not fully comprehending it till later, and that's only if you're good at notes, otherwise, you now have a dumbass teaching you when you could have been listening to the litteral expert in their field explain it, paying better attention and understanding it; rather than memorizing it. Once you understand it, you're not memorizing, you're explaining. But that's just how I work. Find what works for you.

My functional API's never return void because they're functions and immutability is the benefit there. Returning void means you're either mutating something or interacting with something thing that does. Also, chaining can be dangerous, as if it's not implemented correctly, can hide errors, or not have adequate failure tolerance, and cleanup can be a mess if a stream or connection disconnects in the middle of your chain.

But in an OO project, void is a really useful. If you're doing game programming, mutability is required for all but the most trivial games. And throwing in more functions and more variables on the stack isn't going to benefit anything. You click a button, the gun fires. I don't need to check the return, it add no value, adds complexity and isn't idiomatic to the language.

Use the right tool for the job.

Well, the RTX 3090 apparently has 10496... But I'm not aware of how to use them to optimize garbage collection.