Live data from Hacker News

Three Months of Go, from a Haskeller’s perspective (2016)

barrucadu.co.uk

171–180 of 363 posts

Re: Three Months of Go, from a Haskeller’s perspective (2016)

#171
post #8

It is, I think, going to be very difficult to enjoy writing code in a less powerful language when you are exposed to languages that hold awesome power. In fact, this has been the basis for much writing on Lisp too. Paul Graham has written entire essays along the same lines. If you work in a job that forces the use of a less powerful language than what you've been exposed to, you can, I think, go through a sort of dep…

You're not wrong. When you have access to what feels like "the answer" to so many problems and you repeatedly see your company experience those problems...over and over again...it can be depressing when the solution falls on deaf ears.

Re: Three Months of Go, from a Haskeller’s perspective (2016)

#172
post #120
post #82

Earlier quoted context omitted.

This is true, from my experience. When I'm screening candidates, I often ask them to solve a problem in their language of choice. They choose PHP, even though I know the same problem solution can be expressed far clearer and shorter in Ruby. Perhaps we are unearthing various kinds of choices i.e choices for best fit vs best convenience. Perhaps that's a case of engineering vs something other.

Despite its checkered past, isn't php these days a more powerful language than ruby?

Not at all.

I abused Ruby's metaprogramming capabilities to build a small functional language with operators. I monkey patched symbols with operator overloading to add the typical functional operators such as composition (using * since . isn't possible). I created operators for piping, partial application, etc. Terrible abuses that probably reduced inter-library and future compatibility to 0.

I don't think that would be possible in any way with PHP without PECL (there is an extension for operator overloading magic methods) whereas it is with Ruby out the box.

If the language allows me to abuse it in such a way more than another, I reckon it holds more expressive power. Case in point: Lisp.

Re: Three Months of Go, from a Haskeller’s perspective (2016)

#173
post #8

It is, I think, going to be very difficult to enjoy writing code in a less powerful language when you are exposed to languages that hold awesome power. In fact, this has been the basis for much writing on Lisp too. Paul Graham has written entire essays along the same lines. If you work in a job that forces the use of a less powerful language than what you've been exposed to, you can, I think, go through a sort of dep…

I don't know how to ask this without it sounding offensive, and I don't intend it that way. But do these "hardcore" haskellers enjoy writing programs at all? Like are there any well known open source apps that people actually use written in Haskell? There are tons of hobbiests and it has a following but what are the examples of its greatness? I ask as an old SML guy, I like the math theory, I like the promise of bett…

In addition to the others mentioned, PostgREST: https://github.com/begriffs/postgrest

Re: Three Months of Go, from a Haskeller’s perspective (2016)

#174
> But Go does have generics, for the built-in types. Arrays, channels, maps, and slices all have generic type parameters.

Doesn't this mean you could implement a generic tree type if you fix the underlying data structure to be an array/map? (Not a go programmer yet, but honestly curious)

Re: Three Months of Go, from a Haskeller’s perspective (2016)

#175

When I look at a programming language, I look at the community and how it gets stuff done and projects that are noteworthy. Something about Haskell strikes me as different. Despite the buzz about it, I don't see many projects for it other than shellcheck, pandoc and xmonad, and for two of those, there's better solutions around (sphinx, awesome/i3). The other thing is the general flow I've see with Haskell programmers…

Here's a snippet from #haskell which doesn't agree with your assessment: https://gist.github.com/quchen/5280339

Re: Three Months of Go, from a Haskeller’s perspective (2016)

#176
post #8

It is, I think, going to be very difficult to enjoy writing code in a less powerful language when you are exposed to languages that hold awesome power. In fact, this has been the basis for much writing on Lisp too. Paul Graham has written entire essays along the same lines. If you work in a job that forces the use of a less powerful language than what you've been exposed to, you can, I think, go through a sort of dep…

I don't know how to ask this without it sounding offensive, and I don't intend it that way. But do these "hardcore" haskellers enjoy writing programs at all? Like are there any well known open source apps that people actually use written in Haskell? There are tons of hobbiests and it has a following but what are the examples of its greatness? I ask as an old SML guy, I like the math theory, I like the promise of bett…

I wrote a small javascript compiler in Haskell and it was great fun.

Re: Three Months of Go, from a Haskeller’s perspective (2016)

#177
post #174

> But Go does have generics, for the built-in types. Arrays, channels, maps, and slices all have generic type parameters. Doesn't this mean you could implement a generic tree type if you fix the underlying data structure to be an array/map? (Not a go programmer yet, but honestly curious)

Defining the accessor methods would be the pain point there. The caller has to cast the returned object back to the correct type.

Re: Three Months of Go, from a Haskeller’s perspective (2016)

#178

Earlier quoted context omitted.

> Only you can easily change languages... That's a ridiculous blanket statement to make. Changing languages can incur a very high cost. Making peace with this as an individual seems like a useful skill to acquire. If you want to insist then there's no connection to stoicism, then fine, but don't try to pass off language choice as something that's easy to change along the way.

> That's a ridiculous blanket statement to make. Changing languages can incur a very high cost. Yes, but you can always not even get started with Go (or whatever language you don't like) to begin with, so no change cost there. Also, you can always change organizations, especially in today's "buyer's market" IT landscape. Better than working with something that you feel makes you miserable and non-productive. And it's…

> That said, I absolutely love your libs and programs and use them all the time :-)

I don't write Rust or Go code but his repo seems like it is a great showcase for both languages - from what I read, it seems Rust is a little bit more expressive than Go but, having not written anything significant in either, I'm not the best judge.

I think Rust especially should be on on my "to explore" list :)

Re: Three Months of Go, from a Haskeller’s perspective (2016)

#179

Earlier quoted context omitted.

Well, I never had segfaults. Anyways, it's true, I miss pattern matching on errors. However, in practice, you just get used to it. I haven't had a situation in the past half year where I'd forget to handle the error / check it.

> However, in practice, you just get used to it. I haven't had a situation in the past half year where I'd forget to handle the error / check it. But with the same argument, you could as well use PHP7. And this still doesn’t allow you to replace all stdlib datatypes with your own implementations without using custom precompilers.

Excuse me, what do you mean by 'replace all stdlib datatypes with your own implementations'. Why would I do that?

Re: Three Months of Go, from a Haskeller’s perspective (2016)

#180

Earlier quoted context omitted.

Totally not, I'm working in Poland. And, I'm sorry to say, if you haven't heard about Consul, then you're really not in a position to judge if infrastructure tools are or aren't written in Go. Consul is the de'facto industry standard for service discovery for a few years already. EDIT: Cockroach is actually the most SV'ish of all those.

etcd is also used quite a bit for service discovery, but it's written in Go too :)

Are you using it personally? I never met anyone using it for that. How's your experience with it been? (in case you did use it)
Post reply on HN