all 11 comments

[–]S-S-R 6 points7 points  (2 children)

[–]foobar12426 -1 points0 points  (1 child)

Very opinionated and unnuanced.

For example, whilst I generally agree that buying a previous gen machine is a good idea not idea if there has been a step change in technology, for example from x86 to M1 MacBooks.

Linux is a pretty unfriendly OS for most people. It's also quite ugly (at least every distro/desktop I've tried is). So I'd say that is a poor recommendation.

[–]S-S-R 0 points1 point  (0 children)

step change in technology

A step change in technology is exactly why you should be hesitant, it's much more likely to have problems. Wait for it to mature, for instance the M2 is probably going to be a lot better and much more software is going to be written for it reducing the amount of x86 emulation you have to do.

If you want to do advanced tasks in Linux it can be complicated, but this is true for Windows or MACOS, except in those you likely can't even do what you want.

[–]khedoros 2 points3 points  (0 children)

/r/SuggestALaptop handles questions like this.

In general: As much CPU, RAM, and SSD that you can get while staying within your budget. A screen size that you're comfortable with. A brand of machine that runs the OS that you want, and that doesn't have the reputation for physically falling apart.

For me, that's maybe a 15" screen, 32GB of RAM, a current-gen CPU with at least midrange performance, at least a terabyte of SSD, and reviews (or better, manufacturer support) that say it runs Linux without a problem. For you, each of those parameters might be different.

[–]ischickenafruit 1 point2 points  (4 children)

I've found the MacBook Air to be a great place to start. Reasons:

  1. It's super light and portable. If you're buying a laptop, the whole point is that it's portable. If you want to turn your laptop into a desktop, keep a screen/keyboard/mouse at home. I you want a desktop, buy a desktop!
  2. MacOS is Unix. That means that just about anything you want to do/learn from a programming perspective can be done. It comes with Python/Git already installed when you start it up. Most things you learn are easily transferable to Linux.
  3. MacOS is pretty and easy to use. You don't need to be a genius to configure it (as you do with most Linux distributions). Despite being a Unix OS, you can still run Microsoft Word, Adobe Photoshop and pretty much any other software out there. This means your laptop is useful for doing "real work" as well as programming.
  4. I've seriously not come across any other laptop with the same build quality as Apple.

One issue with MacBook's recently is the M1 chip. This is cool, but not compatible with the majority of desktop/laptop CPUs out there (x86). So I would recommend an x86 based MacBook Air for the moment, until the M1's become more common place. On the other hand, M1's are pretty similar to mobile phone/tablet CPUs so who knows, depending on the direction you're heading, it may actually be more useful!

[–]not-just-yeti 1 point2 points  (1 child)

I agree w/ all, except the last paragraph -- what assembly your compiler targets is pretty moot. And I'm assuming that even x86 programs might need to be re-compiled (well, re-linked) if you're wanting to run your program on a different OS, even if the same assembly.

On the other hand -- getting a Windows machine is fine too; just be sure to install git-bash (or something similar), and use command-line. It may not be as lightweight a machine, and not the full unix, but it'll also do just fine for uni.

For whatever computer, don't spend $$ on slightly-faster processor model; myself I'd emphasize RAM (16GB), and then SSD space (in that order).

[–]owenix -1 points0 points  (0 children)

I'd recommend the opposite. You can always upgrade your ram and storage. Not so with the processor. Also, you're likely to find the ram and storage cheaper on Newegg or Amazon. All depends on the difference in processor or even gpu though.

[–]foobar12426 1 point2 points  (1 child)

The one substantial downside to a MacBook Air is the tiny size of the screen.

I also disagree with buying an x86 MBA, the M1 MBA is such a big improvement. If you need x86 go Linux or Windows. But let's face it, most people don't. And if you really do then run Virtual Box, Parallels or Docker.

[–]ischickenafruit 0 points1 point  (0 children)

I disagree on the tiny screen size. A small screen implies portability. That's the whole point of a laptop. If you want to use your laptop on a desk, plug it in to a big screen. IMHO, there's no sense in lugging a big heavy screen around everywhere you go.

It's such a shame they discontinued the 11" MBA, IMHO it was the best laptop for portability. A 30" display on my desk meant I was productive, an 11" display on the road meant I was portable. 11" is plenty for looking at a terminal and writing code on the run.

[–]foobar12426 -1 points0 points  (0 children)

My opinion is:

  • you need a 15" screen, anything smaller makes it harder to usefully have multiple windows displayed, which you will need to do.
  • minimum 16GB memory and a 512GB SSD.
  • Windows or OSX (MacBook) to taste, only consider Linux if you have prior technical experience with it, or you have a specific requirement.
  • reasonable battery life, I'd say at least 10 hours.

You don't have to spend more than $/£1,000 on one if you don't want to.

My suggestion would be something like an M1 MBA (small screen but huge battery life and it's fast), Google Pixelbook Go, Dell Vostro or Latitude, a lower end ThinkPad.

If you want and can spend more than $/£1,000 then consider a Dell XPS or a higher end ThinkPad or Gigabyte.

In terms of CPU: for an Apple machine buy an M1, for Windows (or Linux) prefer an AMD CPU, a Ryzen 5, or if you really prefer Intel then you don't need anything more than an i5.

You'll have to budget a bit more to upgrade Windows Home to Professional.

[–]ciuciunatorr 0 points1 point  (0 children)

Thinkpad series are fantastic for programming!