Live data from Hacker News

Buffalo – MVC Web Framework for Go

gobuffalo.io

41–46 of 46 posts

Re: Buffalo – MVC Web Framework for Go

#41
post #16

Go is such an easy language as it is, these kinds of frameworks just encourage amateur developers to skirt by with minimal understanding of what they're really doing. An MVC framework sounds like a great personal hacking project for fun, but I would beware of advertising anything like it for professional use.

Go is a basic like very, very verbose language that necessitates code generation once you get to a decent size projects.

This is a code generator. Looks very useful to me.

Re: Buffalo – MVC Web Framework for Go

#42
post #14
post #13

That REPL is awesome and an actual differentiating factor. I grew to web programming with Rails and Django, and trying out PHP (where to my knowledge nothing comparable exists, or apparently even could exist) for a few years felt like I had entered the stone ages. And that feeling did not pass.

Isn't Laravel[1] the Rails or Django of PHP? [1]: https://laravel.com/

As a Laravel developer that listens frequently to Taylor Otwell on the Laravel podcast[1]: yes, it is. I heard Taylor say multiple times that one or more parts of Laravel are inspired by RoR.

[1]: http://www.laravelpodcast.com/

Re: Buffalo – MVC Web Framework for Go

#43
post #11

Earlier quoted context omitted.

Nothing can be omakase in Go. The language disallow it, unless you completely opt out of its type system. But then, what's the point of using a statically typed language? Go is built in a way that forbids writing abstractions. When I say forbid it really does forbid it. Even C is more expressive. Buffalo isn't a framework, unless a router + few bells and whistles is now considered "framework".

Go is built in a way that forbids writing abstractions. There are lots of abstractions in Go - e.g. structs, interfaces, goroutines, channels. It may not have all the abstractions you're used to (e.g. inheritance, generics), and might still be lacking in areas, but your statement is extreme hyperbole and not useful. As to whether something is a framework or not, why is this important to you?

> There are lots of abstractions in Go

These are not abstraction a Go developer is writing himself. You are talking about language features. Indeed, the languages cheats and does things the users is not allowed to do, like append or delete functions.

Re: Buffalo – MVC Web Framework for Go

#44
post #43

Earlier quoted context omitted.

Go is built in a way that forbids writing abstractions. There are lots of abstractions in Go - e.g. structs, interfaces, goroutines, channels. It may not have all the abstractions you're used to (e.g. inheritance, generics), and might still be lacking in areas, but your statement is extreme hyperbole and not useful. As to whether something is a framework or not, why is this important to you?

> There are lots of abstractions in Go These are not abstraction a Go developer is writing himself. You are talking about language features. Indeed, the languages cheats and does things the users is not allowed to do, like append or delete functions.

Well structs, interfaces do allow the user to create abstractions, in quite a nice way I think - it's very bare-bones compared to say inheritance in C++, and deliberately so.

the languages cheats and does things the users is not allowed to do, like append or delete functions.

I agree and find this slightly distasteful too, but I think it was borne of pragmatism. There is definitely also a cost to language purity and parsimony, and I'm glad they're a little pragmatic, but collections are the only area I've felt the language is seriously lacking in elegance (maybe option types would be nice too).

Personally I find it quite pleasant to create abstractions in, those grips notwithstanding.

Re: Buffalo – MVC Web Framework for Go

#45
post #16

Go is such an easy language as it is, these kinds of frameworks just encourage amateur developers to skirt by with minimal understanding of what they're really doing. An MVC framework sounds like a great personal hacking project for fun, but I would beware of advertising anything like it for professional use.

When programming, you usually have three options:

- Use a framework that someone else did. You will have to spend time learning the abstractions of the framework.

- Spend time building your own framework, creating your own abstractions.

- Create a massive amount of spaghetti that, at some point, no one -including you- will want to maintain.

Re: Buffalo – MVC Web Framework for Go

#46
I think the main point of Buffalo is using the common web app libraries that are used most. Yes it's still important to understand how it all works underneath the hood. Coming from a Rails background, Buffalo makes me really enjoy web development. I feel this is what Rails was to Ruby in a way.
Post reply on HN