I need some advice about laptop for software engineer, my friend is a programmer and this laptop is a anniversary gift. I choose top 3 laptop brands HP, Lenovo and Apple (based on http://thebestlaptopbrands.com/) but don't know what is the best for programmer? please help!
<troll mode>Well, C++ is so fast that you can buy the cheapest laptop possible and you won't notice. We Java coders must buy the most expensive laptops and still our IDEs feel like running on a 386.</troll mode>
But, seriously, it very much depends on the kind of projects you are going to code with it. E.g. I'm often launching clusters of VMs on my laptop, so I'd not imagine working on something that has less than 24 GB of RAM.
For the love of god please don't buy an HP laptop. HP has a horrible track record. That's not to say that every HP laptop there is is trash (some of them will last you years without a single problem), it just seems that there are more bad apples in HP's bunch than there are in other manufacturers'.
If your friend has prior experience with Apple computers, (and you're able to throw 2 grand out the window for him), i'm obligated to recommend Apple. I own a macbook myself and it's phenomenal. However, if he's never used an Apple computer before I wouldn't recommend getting him one because it's a completely different experience from Windows.
Lenovo is a good company. From what i've seen of them they do pretty well.
I would personally go for one of the new Ultra books. Most have top grade hardware for their respective prices and improved battery life and they weigh next to nothing. I'm actually thinking about replacing my cheap laptop with one this year sometime.
Though if you friend uses a mac or is open to using one and you are willing to drop a few grand it then a Mac would be the best choice.
I really like Samsung; my Samsung notebook (notebook!) can run Skyrim and I've had good laptops from Samsung before. For a programmer, you don't need that good hardware: the most important things are the screen size and quality and the keyboard (ideally you want one that lets you use keys like Home, Page Up etc. without pressing a Fn key). Another problem I have with my notebook is that when I program, I accidentally touch the trackpad, moving the cursor and sometimes highlighting text (which means it gets deleted if I don't realise quickly enough). It doesn't cause major problems (because of Undo) but it is annoying. So ideally you want a laptop that will avoid that problem, maybe one where the trackpad is somehow kept out of the way.
<troll mode>Well, C++ is so fast that you can buy the cheapest laptop possible and you won't notice. We Java coders must buy the most expensive laptops and still our IDEs feel like running on a 386.
But, seriously, it very much depends on the kind of projects you are going to code with it. E.g. I'm often launching clusters of VMs on my laptop, so I'd not imagine working on something that has less than 24 GB of RAM.</troll mode>
I have an HP Envy dv6, it's pretty new, so I guess I can't really say how well it will do down the line, but so far, I've not had one problem. And yea the track pad thing does mess me up sometimes, but I usually turn it off, it has a little spot to double tap and then it's off.
To be honest, I agree with chrisname, but I think somthing with the following specs with be the best:
Keyboard: Full keyboard (home and end keys that aren't tiny as hell like on mine; the backlight is also great)
Processor: i3 seems to be right in the middle. It isn't too slow, but it isn't the best out there. It can run SC2, and some pretty CPU intensive Steam games like Star Conflict without CPU lag (they run one at a time, though). I suppose if you're developing somthing extremely CPU intensive, like, I don't know, a super-computer algorithm perhaps (lol?) you would need top-of-the-line. I wouldn't know, though.
Touch Pad: get somthing that doesn't turn off by software. On my computer, I can turn it off through the hardware, by pressing FN + F7. Regardless of the software, the touchpad is off, which makes it SO convenient for me. Otherwise, get somthing with a small touch pad, or a touch pad that hasn't been put in a retarded position by non-computer Laptop-user designers.
USB: at least 4, and not on the same damn side as the power plug. I have 3... on the same side as my power plug... and it irritates the crap out of me when I have to use every single one of them, and then try to run a power cable past them (i have an L plug). Also, make sure that not all of the usb ports are on the same side. It really sucks when you have to plug somthing in, that wont fit because the others are occupied.
Battery Life: At least 8 hours on balanced, while not running very CPU intensive software, and while disconnected from the internet (airplane mode on, or the hardware turned off).
HDD/SSHD: Easy to acces. Get a computer that doesn't force you to unscrew every damn screw, take the keyboard off carefully, so as not to rip out the keyboard cable, and then take out the guts just to get at the drive. Get one that, preferably, can be accessed from the bottom, via a plate and a couple of screws.
This would be what I would want based on my own personal experiences.
To be honest, programming on a laptop is not very convenient, regardless of what laptop it is. You need an external keyboard, mouse, a big monitor or better two. 17'' laptop screen is not a big monitor. Therefore a docking station is a must. This rules out ultrabooks and macbooks. Get a solid desktop replacement laptop and it will last you for 3 or more years.
Well, attaching all those monitor cables, adapters, power adapters, sound cables, keyboard/mouse etc. to the notebook whenever you have to go to a meeting is nothing comfortable nor time-saving. It is always fun to watch when people with MBP take out those adapters/converters and more fun when they realize they forgot their DisplayPort adapter and their 30'' monitor is useless for a day.