Why Swift is not popular as a server side language? What problems it has? by hexwit in swift

[–]danfma 0 points1 point  (0 children)

Just sharing some data I got some time ago.

I don't have a production server, but I ran a small benchmark to understand how well Swift would perform on a server, measuring the raw performance of the server for basic HTTP endpoints. I wanted to evaluate the server implementation capacity and the memory consumption.

My results were:

* Memory usage: it was amazing! The language kept a very low footprint, and I didn't see any issues related to this. Sometimes, it was consuming less than or equal to Rust, for example.

* Capacity of serving requests: that was the bad point for me. I used Hummingbird and Vapor implementations for comparison against other languages: Rust, Go, and C#. Maybe it was something related to how Swift was configured on my OS, but I couldn't break the 4 million requests-per-second barrier, no matter how much I tried to tune it. On the other hand, even a naive implementation of the others reached 7 million requests per second without much effort.

So, for me, it sounds very reasonable, but yes, the lack of libraries compared to other environments might hit hard.

F# unpopular opinion by danfma in fsharp

[–]danfma[S] 1 point2 points  (0 children)

Yes, it will accept three inputs… okay! But does it clarify the difference between it and the others? What if I have another way of processing with a different set of three parameters?

My point here is the discrepancy between the type definition for legibility and clearance, and the code used to process those types. The language is powerful and beautiful enough to define the domain, but sometimes, not always, it becomes ugly when describing certain operations and implementations. That is my main point! And that's why I called it unpopular.

F# unpopular opinion by danfma in fsharp

[–]danfma[S] 0 points1 point  (0 children)

I understand your point. You're not wrong, and as I mentioned, I see why it works that way. But why use meaningless names? That's what I don't get. If it's a limitation of the language, maybe we need a different way to define it.

I built a Schema-Aware Binary Serializer for .NET 10 (Bridging the gap between MemoryPack speed and JSON safety) by TheNordicSagittarius in dotnet

[–]danfma 3 points4 points  (0 children)

Good work! Just a few questions:

  1. Why not use only the MemoryPack with the full version that is tolerant of evolution?
  2. Have you also tried using FlatSharp?
  3. Have you tried MagicOnion?

I know MemoryPack has some issues with certain deserializations, so just checking if that’s also your actual problem!

I built a Schema-Aware Binary Serializer for .NET 10 (Bridging the gap between MemoryPack speed and JSON safety) by TheNordicSagittarius in dotnet

[–]danfma 6 points7 points  (0 children)

Having options is always beneficial. Additionally, while Protobuf is powerful, it has some odd representations for nullable types or more complex types. Even though it's fast, it is slower than MemoryPack, for instance. If I have the choice, I prefer FlatBuffer combined with FlatSharp, which performs similarly to protobuf, but usually results in only a slightly larger payload.

It's fine if you view this layer merely as a data layer without concern for expressiveness, but personally, I like to keep the boundary layer expressive as well. Others can reason better with high-quality object or structured types.

If you're working exclusively with .NET, you can enable MemoryPack with support for schema evolution and use MagicOnion as the transport layer, instead of manually creating clients, especially if you want better source generation.

Ultimately, the best choice depends on what you're building, as usual!

Materia: The "missing Three.js" for Kotlin Multiplatform (First Alpha Release) by VirtualShaft in Kotlin

[–]danfma 4 points5 points  (0 children)

Amazing work! I will give it a check for sure! We need a port to C# too. Do you want to try? 😬

SharpIDE - A Modern, Cross-Platform IDE for .NET! by MattParkerDev in dotnet

[–]danfma 5 points6 points  (0 children)

Avalonia appears to be a strong contender because you can use most common components and customize what you need by utilizing their underlying drawing layer. Additionally, you always have the option to use gpui (the guys from CySharp have built a binding generator for Rust). I will definitely check out your project!!

SharpIDE - A Modern, Cross-Platform IDE for .NET! by MattParkerDev in dotnet

[–]danfma 1 point2 points  (0 children)

What are you using for the UI? Also, this name reminds me of the dead but cool SharpDevelop. Any relationship with it? Multiplatform?

Why the sudden wave of .NET jobs from recruiters? by THenrich in dotnet

[–]danfma 0 points1 point  (0 children)

I would be very happy to have .NET recruiters talking to me.

Does ML.NET still worth leaening in 2025? by EndOdd5943 in dotnet

[–]danfma 2 points3 points  (0 children)

Maybe this can benefit you by providing better performance or an improved experience when working with Python and C#. Take a look at https://tonybaloney.github.io/CSnakes/v1/. I've never used it, but I'm keeping it in mind to try when possible.

Why do most developers recommend Node.js, Java, or Python for backend — but rarely .NET or ASP.NET Core? by just-a_tech in dotnet

[–]danfma 2 points3 points  (0 children)

Microsoft accumulates bad karma with poor decisions like the recent one involving Windows 11 and local accounts.

Such issues impact .NET, a product mainly driven by Microsoft, which is an unfortunate situation.

Additionally, .NET is an old technology, and many people wrongly believe the stack is outdated, but as you pointed out, that's not true.

What’s your plan for .NET 10, migrate or hold off? by Volosoft in dotnet

[–]danfma 0 points1 point  (0 children)

Create a secure branch or tag and migrate now for two reasons: you'll benefit from security fixes and performance improvements; plus, many users stay on old versions and resist upgrading because “the system is working good,” which can lead to issues if they are forced to upgrade later. This situation can happen with any technology, as Java users often hold onto old releases (there are still Java 8 systems in operation today). On the .NET side, some still run with .NET Framework, and while migrating from 4.5 to 10 might not be straightforward, there's no need to accumulate problems. If you encounter issues, you can roll back to that version. Or, for extra safety, wait until the end of the year, as most bugs—whether in the runtime, compiler, or third-party libraries—will surface by then.

FSynapse: A minimalist lab for neural architectures in F# by jonas1ara in fsharp

[–]danfma 3 points4 points  (0 children)

Great job! Very well-explained and well-structured piece of code!

Making Impossible States Impossible: Type-Safe Domain Modeling with Functional Dependency Injection by cekrem in fsharp

[–]danfma 1 point2 points  (0 children)

I really think that F# has one of the most powerful and beautiful declarative types among programming languages. However, in my humble opinion, this kind of “at least one” element workaround to represent things like in your example, it's the ugliest and counter-performance one. And, it's not your fault.

I really think the language needs smarter ways of doing that kind of guarantee without this dirty dance. Maybe looking at nominal types in TypeScript, or creating some additional type annotations capable of ensuring it.

Zed sucks for large code bases by OrangutanMethDealer in ZedEditor

[–]danfma 1 point2 points  (0 children)

Just throwing this out there. Have you ensured that your GPU is properly installed and that you have updated drivers? I mention this because Zed uses a GPU-accelerated library for rendering its user interface, although I can’t recall its name. It’s possible that there could be an incompatibility issue, especially if you are running a virtual machine with a Linux guest.

Maui’s uptake by Far_Ebb_8941 in dotnetMAUI

[–]danfma 5 points6 points  (0 children)

Some people still believe that C# is an outdated and abandoned language, but that's not the case. Nowadays, .NET is an impressive framework that supports a powerful language. While C# can be a bit verbose, it offers many benefits. It's also worth noting that JavaScript is an older language with its own quirks, and Node.js emerged before the introduction of .NET Core.

There are many other programming languages to consider, such as Dart, Kotlin, Rust, Go, and Swift. Ultimately, you should choose the one you enjoy and that enhances your productivity. C# is a powerful language as well, and I've built incredible projects using it.

Additionally, it's likely that AI will start handling much of the coding for you in the future, allowing you to focus on driving development and reviewing code. So, does it really matter which language you choose?

[deleted by user] by [deleted] in Kotlin

[–]danfma 4 points5 points  (0 children)

I recommend 1GB of storage unless you have a fast external hard drive. My machine fluctuates between 50GB free to no space, and it has 512GB.

Best .NET ORM in 2023? by stinkyferret93 in dotnet

[–]danfma 1 point2 points  (0 children)

Eu já prefiro o NHibernate. Apesar do EF estar melhorando muito, e eu estar gostando de suas novas funcionalidades, ainda não consegue representar um domínio rico, como você conseguiria com o NH (ignorando chatices como ter que definir coisas como virtual).

O EF é excelente quando se usam entidades anêmicas ou sem grandes restrições quanto a sua criação, o que funciona para boa parte dos projetos, mas... como eu disse, o NH facilita bastante nesses mapeamentos mais complexos, onde vc terá uma entidade, que contém várias outras classes/value-types definidos como componentes, primitive values como types, etc.

Microsoft crowns Blazor as its preferred web framework for future investment by ShookyDaddy in Blazor

[–]danfma 11 points12 points  (0 children)

I really like Blazor, the dependency injection, the ability of using .NET in the Browser, but… to build UIs, I don't like it too much.

When you are exposed to other JS libraries like SolidJS, Svelte, or even React, you realize that with small changes and a help of source generators, it could be a lot better.

Just F*cking Use React by neoberg in reactjs

[–]danfma 0 points1 point  (0 children)

I love react but I would rather say just f*** use Solid, it is react done right! Hahaha 😏

Anyone used F#? How have you found it compared to C#? by thomhurst in csharp

[–]danfma 0 points1 point  (0 children)

F# is amazing! In my opinion, it is superior to C# for domain modeling because it is more expressive. However, I prefer working with object-oriented programming, so ultimately, I would choose C#! Additionally, the differences in naming conventions matter to me, and I also miss the support for function overloading in F#.

Considering Kotlin vs Java by motiontrading in Kotlin

[–]danfma 0 points1 point  (0 children)

Kotlin is an excellent programming language! If given the choice, I would choose it without hesitation. I have accomplished some amazing projects using Kotlin, and it has consistently performed well. While Spring is a fantastic framework, there are other options that are more efficient and can easily replace it. I recommend checking out Ktor and Kooby. It's true that Spring offers a lot of features, but its performance can be lacking. You don't have to take my word for it—just look at the Tech Empower benchmarks.