3

Don't you just hate it when there seems to be nothing but in some ways lacking solutions to a definite task in your capability arsenal? Or rather, I don't really know how I should feel about it... I've been developing this solution to receive a 3DES encrypted Azure Service Bus message, decrypting it and chewing the output XML down so as to be digestible to the PHP application whose API the message gets delegated to... but there just seems to be no perfect solution: subscribing to the event topic straight from the target app just... doesn't seem to work properly, a Python implementation.... well, let's just leave it at that... a Node.js implementation would require TS and completely rewriting a proprietary library with 100+ complex types - also, there's some hiccups with both the subscription and the decryption...

I started with an F# implementation (after deeming the PHP one flawed), and it seems it's still the best. But goddamn it I had problems with it on the dotnet core side of thing (decryption output incorrect), so I had to switch to dotnet framework... Now finally everything crucial is peachy, but I can't seem to be able to implement a working serialized domain model pipeline to validate the decrypted message and convert it to something easier to digest for the target application (so that I could use the existing API endpoint instead of writing a new one / heavily modifying the existing implementation and fear breaking something in the process...). I probably could do it in C#, I don't know, but for the love of Linus I'm not going to do it if I can avoid it, when implementing the same functionality I have now without the Dto and Domain type modules would take 3x LoC than the current F# implementation incl. the currently unused modules!

And then there's the problem of deployment... I have no idea what's the best way to deploy a dotnet framework module to an app completely based on MAMP running on a mostly 10yo AWS cloud solution. If I implemented a PHP or Node.js solution, it'd be a piece of cake, but... Phew, I don't know. This is both frustrating, overwhelming and exciting at the same time.

Comments
  • 1
    Weekend.

    Now.

    2 days off.

    Let your brain calm it's neurons
  • 0
    @IntrusionCM exactly why I ranted. Needed to get it out so I can weekend
  • 0
  • 0
    You know F#? how is it?
  • 1
    @Bubbles loving it, for many reasons: it's functional first, concise with powerful type inference, convenient, makes it hard not to write correct code, concurrent and complete since it's a first class citizen in the dotnet ecosystem, giving access to dotnet libraries if needed, and theoretically at least whatever you can do in C# is doable also in F#.

    For enterprise purposes I see it as the perfect language by design, while sometimes I'm missing the more constrained nature of e.g. Haskell. All in all, F# is a joy to develop with.
  • 1
    @100110111 I see, that's interesting. off the top of my head your the first person Ive seen that uses it lmao (not saying it doesn't have a lot of users I just don't see people talking much about it)
  • 1
    @Bubbles it is a shame, if you ask me. I think it gets a bit overshadowed by better known functional languages and on the other hand by the more established enterprise languages. I think Microsoft could promote it a bit better, and expand their dotnet documentation to cater for the F# users' needs as well. I find it a little odd that they're doing such minimal effort, when they know at Microsoft what a gem of a language they have there...
Add Comment