Does anyone know of a document/blog entry/etc. that compares programming in Racket to programming in a language like Go? I'm still trying to get the hang of how to think of the structure of applications in Racket and it's something to get the mind wrapped around...I mean, in (for example) Go, you start with some imports, a package name, a main(), and in main(), I can call another function that passes back the result (and maybe an error), then call another function, just keep passing the data through these functions or hand them off to another routine via a channel that maybe passes the result to a structure or through a network connection that was passed as an argument to it. You create various steps to operate on data that is passed around. I find I need to check data at some point, I can write another function and just insert it into the flow. Racket doesn't seem to quite do that, it's...operating on lists and handles data through recursion?
I suppose I'm looking for a way to model the flow of data in my head. I have read articles that describe Racket (and Lisps and Schemes) as being difficult until it just sort of..."clicks", then it's a joy to work with. It sounds like there's a hurdle to comprehend how to "get" it and experience in other languages can hinder that inflection point? I wasn't sure if I was just a little too dim to understand how to use the language but then I saw something about debugging in Racket where it's not quite as useful to use a traditional debugger with the traditional methods, instead using the REPL to test and check functions (please feel free to correct me if I'm wrong there...)
I wondered then if there's a good description of something to help get the in-head modeling of programs written in Racket described. Or if anyone can share some insight on this inflection point in learning the language, or if I'm off base on this impression?