I just wanted to point out that the author of this article is a high school student. http://jozefg.bitbucket.org/about.html
Wow, "writing lots of compilers and type checkers" definitely wasn't on my radar screen when I was in high school.
Leaving Go
151–160 of 220 posts
Re: Leaving Go
#152Earlier quoted context omitted.
I don't even understand your question. My internet is filled with half-baked webapps with bad errors and riddled with stupid security vulnerabilities, many of which can be defined to not occur in an adequately designed tech stack. Desktop programs work through dint of manpower, crufty testing environments, and users-as-QA. What exactly are you looking for? Web app frameworks? they exist. database connectors? they exi…
> Sophisticated programs running sophisticated systems? They exist Not really. Well, far less than in all those horrible, unusable languages. All I'm saying is, if Haskell makes writing correct code so easy, where is it? There should be tons of it now. It should be practically everywhere. In fact, it should be financially stupid to do anything in any language other than Haskell. So where are all the companies making…
I'm not willing to claim that Haskell is perfect, but I am willing to claim it is better. I'm also willing to claim that if it had anything resembling the community, say, C# has (to pick a random example) then it'd solve most of the problems you're highlighting here.
And it's getting that way. The number of programmers proficient in it and projects succeeding using it grow year over year.
But if you want to argue from a perfect world then you need to note reality will look different and search for trajectories that aim to approach your perfect world... not just current states which are far from it.
Re: Leaving Go
#153Earlier quoted context omitted.
I honestly am not sure I follow what your concern is with that line of code. list.New() looks extremely clean to me.
You frequently have packages that are named after generic nouns, like time, host, file etc. There are many contexts where this same generic name makes for the best variable name: clear, short, and easy to type: func ReadFile(filename String) { file := file.Open(filename) } In Go you have to invent a new name, so invariably you will see a lot of: theFile := file.Open(filename) aFile := file.Open(filename) readFile :=…
f = file.open("a.txt")
out_file = file.open("b.txt", file.WRITE)Re: Leaving Go
#154Try Nimrod. Or Julia. I haven't tried them yet, but it looks like their fun.
Re: Leaving Go
#155Earlier quoted context omitted.
> The number of times I've needed a generic abs in my life -- zero. What about a generic max() or min() function?
Or a generic list, vector, map...
Re: Leaving Go
#156If you're looking for a language that will enable "bottom-up development", where you gradually define, in Paul Graham On Lisp style, a language optimized for your problem domain, Golang is not the language for you. Similarly, if you're looking for a language that will read and write like a specification for your problem domain, so that writing your program has the side effect of doing half the work of proving your pr…
> Systems C programmers I don't know many (TBH none) c programmers that likes or actually uses go. The thing is that as for c++ if you are still writing in c is just for few reasons: portability (in terms of embedding your library) and speed. Especially the former seems very important. EDIT: I know => I know personally or I follow.
Why do people make generalizations like this, Language wars are so much fun but we really do waste a lot of time on them.
Re: Leaving Go
#157[deleted]
Re: Leaving Go
#158Earlier quoted context omitted.
It's not a good thing - for production software - for a language to be too much fun to use. It means that developers spend all their time using the language and not enough time solving problems . The suckiness of Java/C# tends to encourage people to solve their problem and move on quickly to the next problem, because it's honestly not much fun trying to extend the language or build abstractions. Haskell & Lisp progra…
Then I guess that Emacs users never get any work done? ;) (I wouldn't know, but I would be surprised if that was the case)
Elisp gurus, in my experience, don't get all that much work done, other than writing lots of editor extensions. This is great if their job is writing editor extensions, less great if their job is something else. It's the same as with compiler writers: they're great at making other people more productive, but when it comes to writing end-user software, not so much. In general, of course - there are exceptions.
Re: Leaving Go
#159These sorts of posts are profoundly boring. I know people will up arrow it -- some sort of spiteful "Down with Go!" contrarian thing, when they aren't talking up rust -- but it isn't because the content is interesting or illuminating, but rather as some sort of activist thing. This particular piece (by a high school student, as an aside) starts off trying to create a surrogate for generics in Go. Don't . Here's the t…
Generic abs is an unrealistic toy example, sure. A much better example is an extensible array (a.k.a. vector a.k.a. list). This is the most basic data structure in all of programming, the first data structure needed in almost every program I write, and to be honest, I am of the opinion that a programming language that doesn't provide this has no reason to exist in the twenty-first century unless it was grandfathered…
x = append(x, a, b, c)
[0] http://golang.org/pkg/container/list/Re: Leaving Go
#160Earlier quoted context omitted.
Yes, Go is boring, but it's interesting that the people who hate on Go for being boring are not the same people who hate on Java for being boring (though Java 8 is much improved).
People don't hate Java for being boring, per se. They hate it for being inflexible, verbose and having a bureaucratic culture.