I recommend you to use Nim because socket server must use FFI and might use syscall and assembly I heard that Crystal has own style pointer so you have to convert Crystal style pointer to C style pointer it will very uncomfortable and you can't remove GC Crystal use boehm GC but Nim has many memory system(none, ARC, ORC, refc(GC), Boehm(C style GC), Go(Go style GC), etc...) the best thing of nim is you can choose no memory management buy choosing none