Earlier quoted context omitted.
It seems that enough people are tired of such a verbose idiom in 2014 to merit a library like this. I really dislike being that guy, but there's no reason why a language, today, shouldn't implement a decent map shorthand construction. For loops and unnecessary visual burden for a large variety of tasks and give no hint to the semantics of the code within a loop (is my loop doing a map, a transform, a reduction?).
It depends on the level of abstraction with which the language was designed. Go was designed for systems programming, and the code is intentionally verbose. A few extra characters, brackets, and syntactic constructs are a small price to pay for more control in performance-critical applications. JavaScript was designed for the web to make authoring interactive pages easier. The web benefits as an ecosystem to have com…
Underscore.go
41–50 of 62 posts
Re: Underscore.go
#42What is the term for unpythonic in the Go community? This seems to be it. By the way it isn't using gofmt. https://github.com/tobyhede/underscore.go/blob/master/src/un... It shows that the author knows how to code go, but I get the impression that go programmers are more picky about idiomatic code than even python programmers, so if the author wants to get into go development, the author should probably stop that and…
stoppy
Re: Underscore.go
#43Earlier quoted context omitted.
It seems that enough people are tired of such a verbose idiom in 2014 to merit a library like this. I really dislike being that guy, but there's no reason why a language, today, shouldn't implement a decent map shorthand construction. For loops and unnecessary visual burden for a large variety of tasks and give no hint to the semantics of the code within a loop (is my loop doing a map, a transform, a reduction?).
It depends on the level of abstraction with which the language was designed. Go was designed for systems programming, and the code is intentionally verbose. A few extra characters, brackets, and syntactic constructs are a small price to pay for more control in performance-critical applications. JavaScript was designed for the web to make authoring interactive pages easier. The web benefits as an ecosystem to have com…
Seriously; LuaJIT achieves greater performance and has more abstractions in place; Rust fills the niche of systems programming languages easily.
I just fail to see the long-term utility of Go in a space where you have upcoming, high-performance languages like Julia and Rust, all while V8 and asm.js continue to improve in performance, LuaJIT wipes the floor in sheer speed for a dynamically typed language, C++ gets saner abstractions every day and the Erlang VM gets such a nice language as Elixir in the space of critical distributed apps.
Go would be interesting if you were at least getting something interesting out of that garbage collector in terms of type system goodness; as it stands Go is only slightly safer than C in that regard.
And by the way: what the hell does not having a Map() function have anything to do with performance? C++11 has std::transform which goes as fast as anything else. Any functional traversal of data structures can be trivially turned into an internal representation with the same performance characteristics as a loop. It's the biggest cop out ever.
Re: Underscore.go
#44Earlier quoted context omitted.
It depends on the level of abstraction with which the language was designed. Go was designed for systems programming, and the code is intentionally verbose. A few extra characters, brackets, and syntactic constructs are a small price to pay for more control in performance-critical applications. JavaScript was designed for the web to make authoring interactive pages easier. The web benefits as an ecosystem to have com…
A systems programming language would never come with a baked-in, hardcoded garbage collector incapable of soft realtime applications and such a limited scope in utility, not such a constrained set of concurrency primitives and such a basic type system. Seriously; LuaJIT achieves greater performance and has more abstractions in place; Rust fills the niche of systems programming languages easily . I just fail to see th…
Re: Underscore.go
#45Earlier quoted context omitted.
It depends on the level of abstraction with which the language was designed. Go was designed for systems programming, and the code is intentionally verbose. A few extra characters, brackets, and syntactic constructs are a small price to pay for more control in performance-critical applications. JavaScript was designed for the web to make authoring interactive pages easier. The web benefits as an ecosystem to have com…
A systems programming language would never come with a baked-in, hardcoded garbage collector incapable of soft realtime applications and such a limited scope in utility, not such a constrained set of concurrency primitives and such a basic type system. Seriously; LuaJIT achieves greater performance and has more abstractions in place; Rust fills the niche of systems programming languages easily . I just fail to see th…
Re: Underscore.go
#46While this could be considered pedantic idolatry by some, Codegangsta's very public admission on his experience with Martini (and now Negroni) show that this is a something to be considered when launching shiny new baubles.
In my opinion, the more attempts at stuff like this, the better. This is how we all learn!
http://blog.codegangsta.io/blog/2014/05/19/my-thoughts-on-ma...
Re: Underscore.go
#47Oh hello. Library author here. Underscore.go is a mostly WIP that I hadn't intended to go live on HN :) The general feedback so far is __ is annoying, I thought it was cool and if people were annoyed they could fix it on import. But I might be quite wrong on this one. The directory layout is going to change and I am working on a branch at the moment that splits the whole thing into a file per algorithm, which makes t…
Re: Underscore.go
#48Underscore is not a perfect fit for JS, but it's close enough; if you like coding in the style Underscore promotes, Underscore.js makes Javscript programming simpler. Underscore seems like it would not at all be a good fit for Golang. Golang really wants you to just use a for-loop.
It seems that enough people are tired of such a verbose idiom in 2014 to merit a library like this. I really dislike being that guy, but there's no reason why a language, today, shouldn't implement a decent map shorthand construction. For loops and unnecessary visual burden for a large variety of tasks and give no hint to the semantics of the code within a loop (is my loop doing a map, a transform, a reduction?).
Re: Underscore.go
#49If there's a `src` folder in your repo, you're doing it wrong.
Re: Underscore.go
#50Earlier quoted context omitted.
A systems programming language would never come with a baked-in, hardcoded garbage collector incapable of soft realtime applications and such a limited scope in utility, not such a constrained set of concurrency primitives and such a basic type system. Seriously; LuaJIT achieves greater performance and has more abstractions in place; Rust fills the niche of systems programming languages easily . I just fail to see th…
Something that gets lost in the use of "System Language" is that the language was intended to make systems like a web server. This can have a garbage collector since it can pause a bit.