The Big Programming Thread - Page 669
Forum Index > General Forum |
Thread Rules 1. This is not a "do my homework for me" thread. If you have specific questions, ask, but don't post an assignment or homework problem and expect an exact solution. 2. No recruiting for your cockamamie projects (you won't replace facebook with 3 dudes you found on the internet and $20) 3. If you can't articulate why a language is bad, don't start slinging shit about it. Just remember that nothing is worse than making CSS IE6 compatible. 4. Use [code] tags to format code blocks. | ||
Azerbaijan
United States660 Posts
| ||
phar
United States1080 Posts
On October 16 2015 09:57 Azerbaijan wrote: Does anyone here know anything about Google's engineering residency program? I recently had a phone screening for a Site Reliability Engineering position but it seems I didn't make the cut. They instead put me on an interview track for what seems to be a fancy internship. I am probably just being impatient but I am still waiting to be contacted by the recruiter that will be handling it. There doesn't seem to be much information about it available beyond the job postings. Just wondering if anyone may have had experience with the program or might know someone who has. Nobody has experience with the program, because it is literally brand new. So that may be part of why you're not finding much information about it. That said, it is sort of halfway between an internship and normal position. There's some amount of training up front, and then one or two project rotations where you'll have a single host/mentor, and work on actual feature dev (though if you're aiming for SRE it may be slightly different). Something like that, I'm not sure. Also I think it's like a year instead of 3 months. | ||
Blisse
Canada3710 Posts
| ||
phar
United States1080 Posts
Also I don't know how eng residency conversion [to fulltime] interviews are handled, but if it's anything like intern conversion interviews they will be much less stressful - the input from your team host(s) is taken into account as well. | ||
Chocolate
United States2350 Posts
Sorry if this isn't programming-related enough. To balance it out, a programming question: When and why should I implement a clone method for a Java class, if I already have a copy constructor? It seems unnecessary and confusing in general. Every time I've been to implement Cloneable I just use the copy constructor anyway. | ||
Azerbaijan
United States660 Posts
On October 16 2015 13:33 Blisse wrote: Probably it's new. If it's anything like the normal fast-track programs they pretty much give a full-time interview at the end for everyone who doesn't suck. If it's year long and they pay like they normally do, and you don't have a job or prospective interviews lined up, and you are interested in the possibility of *interviewing* for a position at Google after a year of somewhat okay salary, and you live in the area, then maybe consider it. That's a lot of conditions though, so I would get more clarification or just pass. I don't think the fast-track programs are worth it if you're competent. On October 16 2015 14:16 phar wrote: Yea it's definitely worth applying to a bunch of other places for full-time positions in the meantime. But if you can't pass the traditional technical interview hiring bar anywhere (not everybody can, it's a weird skillset), then maybe give eng residency a shot. Also I don't know how eng residency conversion [to fulltime] interviews are handled, but if it's anything like intern conversion interviews they will be much less stressful - the input from your team host(s) is taken into account as well. Thanks for the input. Hopefully I will have more information shortly but yea I won't be putting all my eggs in that basket by any means. I am lining up other interviews but a few of my professors have related to me that the opportunity to start networking in silicon valley would likely be worth a smaller initial salary. If I do end up with an offer for the program I'll still have to think hard about it. My wife and I both have a lot of student debt and we have a small child; I know the cost of living in Mountain View is pretty brutal. | ||
Manit0u
Poland17187 Posts
Puristic OOP approach sometimes blows my mind... | ||
solidbebe
Netherlands4921 Posts
Some are religiously zealous to the point of stupidity. | ||
spinesheath
Germany8679 Posts
On October 16 2015 20:50 Manit0u wrote: https://r.je/this-keyword-isnt-oop.html Puristic OOP approach sometimes blows my mind... Honestly, the general idea of this I can agree with. It feels kinda bad when I have a private static method. Protected static feels really odd. Obviously you can take everything too far, but I'd say sometimes you can spot a reasonable class in there. | ||
Acrofales
Spain17842 Posts
On October 16 2015 20:50 Manit0u wrote: https://r.je/this-keyword-isnt-oop.html Puristic OOP approach sometimes blows my mind... My main question there is: so bloody what? Procedural is just fine in most cases. Stop insisting on something being OOP when the OOP adds nothing except overhead. So I agree with you: go away silly OOP purists. | ||
Shield
Bulgaria4824 Posts
On October 17 2015 01:04 Acrofales wrote: My main question there is: so bloody what? Procedural is just fine in most cases. Stop insisting on something being OOP when the OOP adds nothing except overhead. So I agree with you: go away silly OOP purists. OOP adds much more than "nothing except overhead". Of course, if you're a hardcore C guy, then that explains a lot. There is a but though. Even C anti-OOP guys use structs and sometimes function pointers in structs. Guess what that is. OOP in a shit way but it's resemblance anyway. To clarify on 'this', I find it useful and explicit when you have a member variable and a variable and want to make a distinction. E.g. "go cut grass please" vs "George, go cut grass please". The second one is explicit. Also who cares about what a lecturer believes in programming? Real programmers aren't lecturers at university. Not for long at least. ![]() | ||
RoyGBiv_13
United States1275 Posts
On October 17 2015 08:11 darkness wrote: OOP adds much more than "nothing except overhead". Of course, if you're a hardcore C guy, then that explains a lot. There is a but though. Even C anti-OOP guys use structs and sometimes function pointers in structs. Guess what that is. OOP in a shit way but it's resemblance anyway. To clarify on 'this', I find it useful and explicit when you have a member variable and a variable and want to make a distinction. E.g. "go cut grass please" vs "George, go cut grass please". The second one is explicit. Also who cares about what a lecturer believes in programming? Real programmers aren't lecturers at university. Not for long at least. ![]() I had written a rather lengthy reply on precisely where the overhead comes from (vtable and vptr when using virtual inheritance), but I think that missed the point. OOP is a great way to introduce abstract concepts to young programmers. OOP is a terrible way to actually implement a program to make it run quickly on real hardware. It's not wrong for thinking more explicit code is better than less explicit code, but that misses the point. For nearly all cases where a user is involved, fast code is most important. For cases where fast code isn't important, usually the most important thing is producing a working program quickly. In neither of these cases does OOP out perform any other style of coding. In fact, the place where OOP shines is when you have too many programmers working on the same project. In that case, the project is already doomed. I think this is where most hate from OOP actually comes from. When you see a project using "Pure OOP" for their design and implementation, it already leaves a sour taste that the project is likely to fail. | ||
Acrofales
Spain17842 Posts
On October 17 2015 08:11 darkness wrote: OOP adds much more than "nothing except overhead". Of course, if you're a hardcore C guy, then that explains a lot. There is a but though. Even C anti-OOP guys use structs and sometimes function pointers in structs. Guess what that is. OOP in a shit way but it's resemblance anyway. To clarify on 'this', I find it useful and explicit when you have a member variable and a variable and want to make a distinction. E.g. "go cut grass please" vs "George, go cut grass please". The second one is explicit. Also who cares about what a lecturer believes in programming? Real programmers aren't lecturers at university. Not for long at least. ![]() I think you misunderstand me. I think OOP is great. I also think functional programming is great. And just plain procedural programming is great. All have things they are really good for, and things that they are clunky for. They are tools. If you're writing a complex graph traversal algorithm, you can do it in OOP, but it is going to be both faster, and far far more legible to do it in a functional manner. On the other hand, if you are writing a large system with lots of different parts that have to interact together, OOP is amazing in how it allows you to compartmentalize your problem, whereas sticking with some purely functional language (I´d say Haskell, but it has evolved, so lets say LISP) would make this a Herculean job. It´s why we have different programming languages, and why we choose different languages to solve different problems. Therefore while this guy is technically right, and using $this->method() is essentially a static call, who the fuck cares, if a static call is all you need at that point. It saves you a lot of overhead to write $this->foo(), rather than defining some fooHandler if you're only planning on one possible implementation of foo(). It´s also not hard to refactor if you realize in the future that your vision was limited and you need three different fooHandlers for different situations. Finally, the use of php-esque code for trying to explain some fundamental point about OOP blew my mind. | ||
Nesserev
Belgium2760 Posts
| ||
phar
United States1080 Posts
On October 16 2015 15:56 Azerbaijan wrote: Thanks for the input. Hopefully I will have more information shortly but yea I won't be putting all my eggs in that basket by any means. I am lining up other interviews but a few of my professors have related to me that the opportunity to start networking in silicon valley would likely be worth a smaller initial salary. If I do end up with an offer for the program I'll still have to think hard about it. My wife and I both have a lot of student debt and we have a small child; I know the cost of living in Mountain View is pretty brutal. Come up to Seattle, we have eng residency too. They're sitting literally right next to me. Not cheap, but not MTV expensive. | ||
Azerbaijan
United States660 Posts
On October 17 2015 12:33 phar wrote: Come up to Seattle, we have eng residency too. They're sitting literally right next to me. Not cheap, but not MTV expensive. I'm going to email my recruiter and change my location preferences. Turns out my wife really wants to live in Seattle. | ||
Shield
Bulgaria4824 Posts
On October 17 2015 09:53 RoyGBiv_13 wrote: I had written a rather lengthy reply on precisely where the overhead comes from (vtable and vptr when using virtual inheritance), but I think that missed the point. Even if this is overhead, I doubt modern CPUs have any problems with that. ![]() | ||
Itsmedudeman
United States19229 Posts
| ||
waffelz
Germany711 Posts
On October 19 2015 08:53 Itsmedudeman wrote: How much would a compiler necessarily optimize OOP code? I mean, at the end of the day it's all just 0's and 1's to the CPU anyway but OOP is definitely easier to work with and think in terms of, at least for me anyway. In short: There is a ton to optimize in any code. It is very interesting to play around with some small c-programms and then watch the Assembler-Code The long answer would be much of "Steve Furber: ARM System-on-Chip Architecture". When dipping into ARM and embeded systems in general aswell as basic understanding of computer-architecture, this is a must read. | ||
LaNague
Germany9118 Posts
| ||
| ||