That's still not 2 mind you...
How We Went from 30 Servers to 2: Go
101–110 of 511 posts
Re: How We Went from 30 Servers to 2: Go
#102Earlier quoted context omitted.
What, you don't know about The Programmer Hierarchy? https://news.ycombinator.com/item?id=1622553 http://lukewelling.com/wp-content/uploads/2006/08/programmer... I find a lot of people who use high-level languages are terrified of tediously direct contact with the machine, and a lot of people who use low-level languages are terrified of the performance costs of abstraction. I'm terrified of both. I think that in gene…
Love this comment, "I'm terrified of both."
EDIT: I originally meant this as a joke, but seriously, if someone accurately knows where the gotchas are, that's valuable. Also note if they're biased to false positives and/or false negatives, and by how much. Are their heuristics for dealing with unknown territory efficient and likely to converge on good approximate results?
Re: How We Went from 30 Servers to 2: Go
#103Earlier quoted context omitted.
It's quite strange to me that people would identify as or look for a "[language] programmer". Sure, I happen to write more C++, Python, and C than anything else, but I've dabbled in just about everything and could reach comfortable proficiency in a matter of weeks. Most of programming and all of computer science is universal. Any serious programmer should be a polyglot by default.
> It's quite strange to me that people would identify as or look for a "[language] programmer". I understand people doing this. First you can be more sure of what you're getting. It's sad that tests like FizzBuzz are so useful, but it's a fact. If I hire a Java developer for a Java position, I can figure out there Java skills. If I look at a PHP developer, it's more of a crapshoot. They may have a lot of PHP experien…
Re: How We Went from 30 Servers to 2: Go
#104this is one bold as fuck post.
Re: How We Went from 30 Servers to 2: Go
#105Earlier quoted context omitted.
Do you have a citation for Mozilla using Go? I would be a bit surprised given their(Mozilla) development of Rust.
Rust and Go are not similar or competing. They are both new, but aside from that the differences are huge. So if a project uses one, that doesn't mean the other was a possibility for that project too.
Rust is more "kitchen sink" (done as elegantly and cleanly as possible) and Go is more minimalist.
Re: How We Went from 30 Servers to 2: Go
#106> "We also weren't sure if we would be able hire top talent if we chose Go, but we soon found out that we could get top talent because we chose Go." I feel[1] that a smart/talented C/C++/anything developer can go from someone who has never seen or heard of golang to a proficient and productive Go developer in a matter of a few weeks, maybe even _days_, if not less. That's how long it takes to go through the following…
It's quite strange to me that people would identify as or look for a "[language] programmer". Sure, I happen to write more C++, Python, and C than anything else, but I've dabbled in just about everything and could reach comfortable proficiency in a matter of weeks. Most of programming and all of computer science is universal. Any serious programmer should be a polyglot by default.
Code in it, yes. And I agree with the polyglot.
Re: How We Went from 30 Servers to 2: Go
#107Out of curiousity, I would be interested to know which version/patches of ruby you were using. With ruby I'm used to running out of memory on servers long before running out of CPU. Of course, most of our workloads are IO bound, so that may be the diffent.
Re: How We Went from 30 Servers to 2: Go
#108Earlier quoted context omitted.
It's quite strange to me that people would identify as or look for a "[language] programmer". Sure, I happen to write more C++, Python, and C than anything else, but I've dabbled in just about everything and could reach comfortable proficiency in a matter of weeks. Most of programming and all of computer science is universal. Any serious programmer should be a polyglot by default.
I agree with the premise that, as a professional software engineer, it is my responsibility to be a polyglot. As for myself, when I started writing Python, I mainly wrote C or Java code in Python - in a similar way, perhaps, how early C programs were littered with __asm__() constructs. It took a long time to learn how to write things in (though I hate the term) a "pythonic" way. That is, to learn the common language…
Re: How We Went from 30 Servers to 2: Go
#109What changed in the architecture? It is rather interesting that by just having a language change you could remove 28 servers from the system.
My guess is that removing 2-5 layers of abstraction can get you pretty far along.
Re: How We Went from 30 Servers to 2: Go
#110Earlier quoted context omitted.
This is why Joel Spolsky correctly observed that the replacement of C/C++ and functional languages with Java in university CS curricula is a tragedy. If you don't understand pointers or recursion, you are not a polyglot and you cannot pick up just any language in a matter of weeks. The "[language] programmer" (where [language] usually = Java or .NET) trend is a misguided attempt by industry to commoditize programmer…
I've seen C/C++ programmers failed in writing good readable code. C/C++ programmers tend to do premature optimization (habit) due to the culture and the problem domain (past experience): device driver, kernel code, game development. How important Pointer is for say learning any high-level programming language that don't have pointers (pretty much everything outside C/C++/Objective-C)? Sometimes I felt that knowing Po…
References in high level languages are mostly hidden pointers. A good knowledge of how pointers work is really important to get a good understanding of how high level languages work (a lot of Java programmers don't well understand the distinction between value and reference types, for instance).
Likely, be at ease with recursion is also very important as many complex problems are recursive by nature, and so way easier to solve using functional techniques.