I have a framework laptop and really like it.
The main benefit is that it is fairly future proof, so you could get one the of the cheaper ones now and then upgrade if you need better ram/CPU/apu
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Follow the wormhole through a path of communities !webdev@programming.dev
I have a framework laptop and really like it.
The main benefit is that it is fairly future proof, so you could get one the of the cheaper ones now and then upgrade if you need better ram/CPU/apu
pardon my English not my first Language, and thanks in advance
Considering OP might not from the US nor Europe, I don't think Framework will fall on his budget (I mean he probably could get a lower end one, but alas), and shipping would be a hassle.
I liked framework a lot, but understand that they're new in town and selling world wide is not an easy feat to do for new company.
I am a big fan of my Framework laptop. It is super easily upgradable and repairable so should last a good while. They are a little sold out of all of their old models so they only have pre-orders right now. They have options for a 13th gen i5 and a Ryzen 5 that both start at $850. The intel ones ship sooner and are have cheaper DDR4 RAM (vs DDR5 for Ryzen). The $850 is "base", an i5 configured with 16g of RAM, a 500gb SSD, and no OS (assuming you'll use linux or already own windows) is just under $1100. You can go as low as just over $1k for 8g of ram and 250g SSD.
If you're concerned with cost they do have refurbished 12th-gen i5s in stock now for $720, but you'll need to buy RAM and an SSD (which if buying from them would bring your total to $820 for 8g of RAM and 250g of SSD).
I can't comment on the tablet/pen stuff. I have never owned a laptop that does that. It might be worth it if you do drawing or whiteboarding and stuff, but those are the only people I know of that actually use that sort of stuff.
Be careful with the Intel laptop chips and make sure you understand what you're getting. My work laptop has an i7 with 12 "cores" but it's 10 of the low powered e-cores and 2 of the hyperthreaded p- cores, so for heavy applications (like compiling) it's a glorified dual core i3.
Yeah, my current one is 11th gen, just before they started doing that, so I don't know how good or bad the "efficiency" cores are or if the power savings is worth it.
How does it do on battery? And heat?
Under load it can get pretty hot, might be better with a less power hungry processor (I've got an i7). Battery is reasonable 4-5ish hours (55wh and they recently announced a drop-in replacement with better chemistry that is 61wh) with what I would consider to be "normal" usage in Windows 10 including WSL, browsing, running the software I am working on (usually node or golang), etc. It's also better if I lower my screen brightness, but I usually keep it pretty high/max.
For programming, you need as much RAM and as much processor as you can manage, and all other considerations are secondary. If you're intending to keep this machine for more than a year or two, that becomes even more important, because software always seems to expand to fill the space availableβkind of like clutter. If you're buying a laptop, you're sacrificing upgrades in return for portability, so assume that you're going to have a hard time adding more RAM after you buy (the memory might even be soldered in place if it's a cheap thin-and-light machine). Framework is an exception to that.
I find the Ryzen processors offer better value for money than Intel, but the last time I checked they were more difficult to find in laptops. You shouldn't compromise on other things just to get the AMD chip.
2-in-1 with pen: likely not worth it unless you, y'know, want or need a tablet anyway.
Buy the cheapest MacBook model you can find with an M-series chip and as much RAM as you can stomach the cost for.
I'd say 8gb is barrrrre minimum for doing app development. You'll want 16gb.
Listen, I'm the last person you'd expect to recommend a Mac. I am an Android guy. No other Apple products in my place.
...but I've owned every top end model from pretty much every relevant PC manufacturer just trying to find something as reliable, hassle free, and well built as my work Mac and it just doesn't exist.
The MacBooks are just in a whole other class. The battery life, the standby time, the speed of those M1/2 chips, runs cool and quiet.
I'm neutral on MacOS. It tends to stay out of my way. I don't use any of the Apple apps. It is usually stable as hell. My work MBP currently has an up time of 68 days without a reboot, and the only reason it rebooted last time was for security patches.
Build quality is unmatched, screen is great, trackpad is still a generation ahead of anything else, keyboard is great.
I accept my fate, Fediverse. Roast away
Nothing wrong with recommending a Mac. I'm not a Mac guy myself but I am pretty productive with one.
Iβm not here to βroastβ but M chips arenβt fully supported for everything a software engineer could be compiling/running. At the current moment, theyβre not quite as well-supported in every single way possible like an x86 chip would be for dev environments (even though we all really want them to be).
I second the Mac recommendation. I use Linux on my desktop, but use Mac for laptop, after 6 years of using MBP (I still use my mid-2015 15" MBP for mobile development and day to day work), I can vouch for their quality (but skip the 2017, 2018, butterfly keyboard + touchbar crap, our company have buttload of those broken). Their M1/M2 battery life is just out of this world.
If OP worry about spending big and having buyers remorse, I recommend MBP.
I have an x86 MacBook.
How well do the M-series MacBooks work if you want to run Windows or Linux in a VM?
From what Iβve read: not well.
I do a substantial amount of software development inside a Linux VM on an M2 Pro. Runs fine. The guest OS is AArch64 too.
I use Lima for this.
I should have been a bit more specific: How well do the M-Series run an x86 guest OS?
I've heard not well too. But don't personally know anyone who has experience with this.
This thread, Windows 11 for Arm runs unbelievably fast, seems to say that Windows ARM (not x86) runs well and it emulates x86. One person says well, one person says garbage.
Back to OP's question - I have a two MacBooks and one HP Windows laptop. I much prefer the MacBook hardware, but am 50/50 on the virtue of the OSs. Windows having WSL2 is a big benefit. That said, I'd probably buy another MacBook as they do seem to last a long time, I'm writing this on a 2018 MacBook, and like the Apple integration.
The stack overflow survey showed 33% of devs are using MacOS. You won't (or shouldn't) be roasted for recommending a mac.
Same. I haven't used a Mac seriously since my 2004ish G5 power mac.. I've been on Linux pretty much exclusively for 20 years. My current job gave me a new apple silicon Macbook though and it's almost unbelievable how good of a machine that is. I think 90% of that comes down to the chip but still... The software is still mostly just fine but the chip is in a class of its own.
You could do your programming theoretically on any laptop, although I'd say faster the better/easier it'll be for you in the long run. In regard to your comment on upgradability I'd recommend taking a look at a Framework laptop where their whole goal is repairability which comes with the added benefit of being upgradable.
Those Framework laptops look amazing. I hope they take off so the big guys take notice.
@out_of buy what you can afford . The more power the better when programming. Remember you are running 2 maybe more applications at once. The IDE and the application you are debugging (maybe not so much with Android dev). Unlike a normal user who is just using their browser or word or excel . HTH
System76 laptops I've seen recommended, I'm currently deciding between one of these and a Framework laptop
I've been very happy with my System 76 laptop. I suspect I'll try Framework next time, just because I like the concept.
I hadnβt heard of them. Thatβs a pretty cool concept though. Thanks for bringing it to my attention!
Have you checked out Framework? They have a great selection.
Personally, I bought a 14" Alienware just for remote programming in vscode on a server. I don't play games on it, but it's quite the powerhouse for everyday use.
Others have said it already, but I love my Framework laptop. I have one of the first gen ones, running Ubunut, and I'm looking forward to upgrading it to the new AMD motherboard they're releasing later this year. The fact that they have upgrade paths for their laptops is amazing.
They really do deserve success with their business model, it's great to see cases being made available that turn the used mobos into 'new' computers as well.
If your doing android work, you'll be running Android studio and likely an emulator. Both love ram. Get 16gb if you can afford it. I believe many newer laptops are going with unupgradable ram, you'll need to check the specific laptop carefully.
Cores will also be loved by Android studio and the emulator.
Check the video out put options as well, you'll likely want an external monitor at some point, the benefits of dual (and triple) monitors can't be overstated.
If your concerned about cost, maybe look for second hand stuff? But lots of cores and lots of RAM will be worth it in the long run.
IntelliJ and BlueStacks both love RAM
They also love CPU.
For a dev machine, I wouldn't go below 16GB RAM and at least a current-generation i5 (or Ryzen equivalent).
IDEs for this purpose (android dev) are not small little text editors that work well with limited resources. Keep that in mind. You will also need to consider things like compilation and phone emulation, which can also be resource intensive.
I highly recommend looking for something that is built with a Linux distro by default. This will make your life easier in the long run, although it may not be a simple task up front if you are not familiar with Linux.
I don't actually have a Linux laptop, it is a desktop, but I use my Steam deck as a Linux laptop, and can almost do everything I want to, although steamos will require some weirdness similar to Windows. I use IntelliJ Ultimate on my steam deck and can successfully work on smaller scale Go and Kotlin projects while running IntelliJ low power mode.
Most larger dev shops (in the JVM world) will just hand out whatever is the current top ~$3000 MacBook pro (for reasons). This leads to a lot of devs using OSx at work and Linux (at home) for personal projects. An apple computer of any type can help prepare for this inevitability, if Linux is out of the options. I personally dislike this, as I am not an Apple fan, but this is what I have experienced.
Although I use Windows for some personal development, there are so many hoops that one has to jump through to get Windows working properly for advanced things, it almost isn't worth it and requires heavy windows development knowledge, and is probably best to just get a MacBook (of whatever type).
Could you elaborate on your workflow with the SteamDeck? I'm quite curious on how you work with it
I am still fairly new to Steam deck (~6 months).
Outside of having the dock to allow for normal USB ports for both keyboard and mouse (without converters and such), this awesome steam-deck-tricks readme/repo is majorly where I have been learning from.
The major catch is rootfs read only and strategizing how to avoid reinstalls after steam updates. I haven't quite gotten all the way there yet since I am using it more for tinkering (linux host on local network) for the time being.
Always get more RAM.
For your case, you are going to need at least 16GB. I remember that 4 years ago I loaded Android studio with 8GB and it took a while to load. It also ran a little slow. I suggest 16GB,preferably 32GB and SSD at least 512.
As many people are saying, a DIY frame.work laptop should be considered if you can get one on your country. Screen is good for work, battery life is decent, Linux compatible, trackpad and keyboard are good, you get to choose your ports, etc. I use one daily for work, mainly docked to my monitor but if the weather is decent I'm out in a park working.
Look for used ThinkPads with Ryzen, I bought an L14g2 (5850U+16GB) for about 600 USD and it's just amazing value
hard to regret more ram. maybe your current programming context doesn't need it but a future one might welcome 32gb. I'd completely ignore 8gb. also pay attention to which laptops can extend ram in the future. some come with only capacity for the soldered ram and that's it. try a framework laptop. no clue on what the prices are.
edit: oh, android. yeah, ram. remember it's not just actually application active ram. also, compilers.
I would recommend taking a look in the second hand market. You'll find great deals there.
As for the device itself, I think a Lenovo Thinkpad would be the best option for your needs.
I personally use a $200 Thinkpad T480 i found on eBay. Has 8th gen i5 processor, 16 GB memory, and 256 GB storage on an SSD.
Buy current gen Ryzen if you can. They are more efficient (= longer battery life) and offer more GPU muscle than their Intel counterparts. Just make sure it's a 7X4X part, the 4 indicates it's actually Zen 4
1000$ is way too much if all you want to do is programming. If that's really all you want to do, all you'll really care about is it not being complete garbage in some regard and the keyboard. Maybe the display if you want to work outside.
Edit: I realized this might be confusing. To be clear: I mean if you want to splurge on a laptop, you might as well get a Ryzen one. I don't recommend spending too much on a laptop used for programming only tho
Are you sure you need a laptop? You can get a refurbished HP workstation with a 1TB SSD, i7 (7th gen), and 32GB DDR4 for less that $300. Just look on Amazon.
I would get a higher end Chromebook. They run Linux, have a built in android container, nice keyboards, touch screen, often have 360 hinges if that matters to you.
I've got the middle one in that pic and it's almost as fast as my 24 core desktop. Like others said, get 16 gig of ram. Edit: i use VS code which is less beastly than Android studio, but there's no need to run an emulator because it's already built in, accelerated.
These things have been the source of so much frustration for me over the years. I think you are the only person I've ever seen IRL or online who didn't immediately regret the purchase after about 3-6 months.
I returned my $4000 MacBook, I don't like the keyboard layout and thought it had poor performance for the hardware. I would go for a Linux laptop but other than that I prefer Chromebooks and have been using them for 10ish years.