[haiku-depot-web] Re: My Server Side Technology Choice: Google Go

  • From: Ryan Leavengood <leavengood@xxxxxxxxx>
  • To: haiku-depot-web@xxxxxxxxxxxxx
  • Date: Sat, 28 Sep 2013 15:15:24 -0400

On Sat, Sep 28, 2013 at 1:00 PM, Ingo Weinhold <ingo_weinhold@xxxxxx> wrote:
>
> But would you work on the project, if Go was chosen? You have repeatedly
> stated on mailing lists that you will work on X as soon as you have time or
> that you would like to work on Y, but don't have the time ATM. I totally
> understand the situation -- I have been there myself -- but in the end it
> doesn't help to choose a language/technology when the only one familiar with
> it doesn't have the time to contribute.

Yes fair enough, I cannot make any 100% guarantees about having time
to work on much of anything right now.

> I also think that it isn't that relevant how development time efficient a
> certain solution initially is. In the end it is important that things get
> done -- i.e. there are people doing them -- and that the result is
> maintainable. IMO the latter also rules out obscure languages like Go.

It really isn't that obscure and is easy to learn, but if I'm the only
person who knows it now, and no one else is willing to learn, then it
does make it a bit of a moot point.

I would like to address Scott a bit in regards to Django and all the
packages available for it: I am very familiar with this sort of
situation because it is the same with Ruby on Rails and at first it
seems really nice to have all these packages to do all kinds of work.
But what happens eventually is that you have so many third-party
libraries involved that you have no idea how anything works, bugs in
those libraries can be very hard to track down, the app takes ages to
load, and there are so many things happening behind the scenes in
those libraries that everything in the app is slow and even a basic
page takes 5 to 10 seconds to load. Sure some of that can be "fixed"
with caching and I've heard of all of the tricks you can imagine from
Ruby guys, but personally I'm sick of that situation.

I've been a "hard-core" Ruby guy for 12 years but even I've gotten
sick of the bullshit there. I honestly don't think Python or Django is
much different, and I'd hate to see us put a bunch of work into this
and then have it be dog slow. But maybe it won't be, it is probably
worth trying.

Also the initial version doesn't have to be kept forever, maybe it
could be considered a prototype, and then pieces could be rewritten in
Go or whatever later to get more speed. Though I will say that
database speed will kill any app, no matter what it is written in.
Perfect hand-coded assembly could be brought to a crawl by bad
database design.

On that note, I would also suggest open minds in regards to the
database, and not just using SQL without thought. There are a lot of
neat and fast "NoSQL" databases these days...though I know that is a
whole different argument and possibly a bike-shed discussion from
hell.

Honestly what might be best here is you guys make your choice, I'll
help how I can, and if I'm so motivated I could try prototyping pieces
in Go just to give you guys an idea of what it might look like.

-- 
Regards,
Ryan

Other related posts: