The example contained 3 versions, C, D and Go. function pointer tables aren't that uncommon, maybe the []error part is uncommon
Examples from real world code: https://github.com/egonelbre/fedwiki/blob/master/action.go#L59 https://github.com/ethereum/go-ethereum/blob/master/crypto/sha3/sha3_test.go#L40 https://github.com/jteeuwen/go-bindata/blob/master/testdata/out/compress-memcopy.go#L205 https://github.com/golang/net/blob/master/proxy/proxy.go#L57 https://github.com/golang/go/blob/master/src/cmd/vet/main.go#L150 https://github.com/golang/go/blob/master/src/net/http/server.go#L2391 https://github.com/golang/go/blob/master/src/cmd/compile/main.go#L23 And I've used it in Go, Java, C#, JavaScript, Delphi, C... The main reason you don't see these one-liners often in C, D et. al. is because they are hard to read. For common C, C++ examples, see signal and interrupt vector tables. On Wednesday, 2 August 2017 12:05:43 UTC+3, ecstati...@gmail.com wrote: > > Still waiting the Go version of this very useful D code... > > I'm not asking you to browse the web to find to find most complex > declaration you can ever do in D, Go or C++ for instance. > > I've never used such ridiculous code in my Go/D/C++/Java/C# applications, > and neither will you. > > I'm just asking you show me how *simple* code in Go will become much more > complicated in D, as this is what you seem to think. > > And I mean something we will all use all day long (ex: declaring or using > functions/types/arrays/slices/references/loops/etc etc), not the most > complicated code you can come up with. > > THAT would be useful, and also a fair comparison between both languages. > > Because from what I see below, I may think you couldn't manage to find > such an example > > But maybe I'm wrong, I don't know... > > On Wednesday, August 2, 2017 at 9:33:48 AM UTC+1, Egon wrote: >> >> On Wednesday, 2 August 2017 10:51:43 UTC+3, ecstati...@gmail.com wrote: >>> >>> For all the common parts with Go (functions, methods, reference classes, >>> strings, arrays, slices, ranges, foreach, etc), honestly I don't know why >>> you say it's simpler in Go. >>> >>> Can you show me two examples of code side by side, and tell me "look how >>> much simpler it's with Go's" ? >>> >>> Because from what I read, I'm sometimes wondering if you really know >>> that the type declarations in D are MUCH simpler than in C/C++. >>> >> >> error* (**callbacks)(int); >> >> Error[] function(int)[][string] callbacks; >> >> var callbacks map[string]func(int) []error >> >> >>> For instance : >>> >>> int[] >>> first_array_of_ints, >>> second_array_of_ints; >>> >>> int[string] >>> first_map_of_ints_indexed_by_a_string, >>> second_map_of_ints_indexed_by_a_string; >>> >>> TYPE >>> first_reference_to_an_object_of_this_type, >>> second_reference_to_an_object_of_this_type; >>> >>> So, with all due respect, how many applications have you already >>> programmed in D before telling me that Go's syntax is so simpler to use and >>> to learn ? >>> >>> I agree there are much *less* possibilities in Go, but that doesn't >>> mean it's automatically a simpler language to learn for all the common >>> parts with D. Seriously. >>> >>> Because I had to learn both, and at least for a C++/Java/C# programmer >>> like me, D transition was almost immediate, really a matter of hours to >>> become comfortable with the language. Everything was alike, but much >>> simpler and easier than in C++. >>> >>> Believe me or not, I've taught programming with D to my two teenagers >>> with D. Really. >>> >>> I've chosen it because it was the only strongly-typed language close to >>> Javascript that was really easy to learn, while allowing them to quickly >>> switch to C++, Java or C# later if they wanted to. >>> >>> Go is much simpler than C++ too, I agree of course, but for having >>> learned both Go then D, again from the point of view of a former >>> C++/Java/C# programmer like me, I didn't feel that quickly at home with Go >>> than with D, mainly because Go diverged much more from its predecessors >>> than D from a syntactic point of view. >>> >>> So, again from a syntactic point of view, I don't think how you can >>> affirm that it's much easier in Go than in D to declare and use types, >>> references, functions, methods, slices, arrays, foreach, and all the common >>> stuff between both languages. >>> >>> Honestly, no offense intended. >>> >>> On Tuesday, August 1, 2017 at 10:11:10 PM UTC+1, Doğan Kurt wrote: >>>> >>>> But from my personal experience, D is *at least* as easy to learn than >>>>> Go, if not easier. >>>> >>>> >>>> I seriously doubt, no offense. Go is so small and so intuitive, one can >>>> argue that there are people out there who knows most of the Go unknowingly >>>> :) >>>> >>>> Just the fact that it doesn't break much with the familiar syntax of >>>>> C#, Java, C++, etc helps a lot in making the transition. >>>>> >>>> >>>> Go's syntax is very familiar to C, i've never heard it was an issue. >>>> The only think you must get used to is declarations and i LOVE the Go way. >>>> I remember the days i was struggling with C's declaration model, the >>>> spiral >>>> rule etc. sure we use typedefs but it rather feels like a hack. >>>> I can write any declaration no matter how complex it is, with my eyes >>>> closed in Go. It's so great. >>>> >>>> And genericity and polymorphism are invaluable tools when optimizing >>>>> code reuse without reducing execution speed. >>>>> >>>> >>>> I don't ever remember duplicating any code in C. I can't understand how >>>> people are unable to write reusable code with C, seriously. Whenever i >>>> discuss this with a C++ programmer, they immediately share some generic >>>> Max >>>> function that works with int and double. I admit i use macros in that >>>> case, but come on it's not even 1% of the serious programming you do in C. >>>> >>>> If you are a competent C programmer (structured programming in >>>> general), you know how to write reusable code. >>>> >>> -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.