

I enjoyed playing with Kotlin on Android. Nice ergonomics.


I enjoyed playing with Kotlin on Android. Nice ergonomics.


Conversely, I’ve written C++ code to into DLLs interop with .NET. It makes a lot of sense given what .NET was developed for.


Rust adds the curly brace syntax so you can import a specific subset from a module, but I can’t decide if I like that. In C# you just keep adding extra lines which take up more vertical space, but if you sort your using a alphabetically (which your IDE can do), I think you get a very readable list. In sum, Rust adds a feature that I don’t really actually like.


I have so little Python experience I didn’t even mention it, but I remember enjoying that too.


Wow, now I have something to hold over all my Java dev friends. Thanks!


I think C# handles this pretty well. You include namespaces with whatever granularity you need, down to a single class (or interface or whatever) and can alias them.
using MyProject.Domian.Entities; //the whole module
using Routes = MyProject.Api.Contract.Routes.Http; //an aliased single class
I bet Java had this too, C# us still mostly Java: Microsoft Edition.


A method in an interface (or a function in a trait or equivalent) should be unequivocal, as it’s literally a contract.
I think there’s nuance in the private scope, especially in variable names, but I’d still expect the name to be fairly explanatory. Maybe not EnsureUserCreated(UserDto userData), but still EnsureCreated(UserDto user).
You know, I don’t know enough about Delphi. I’ve great good things, I should check it out, I guess it might be familiar.