Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

New laptop for programming

Comments

  • QuizzicalQuizzical Member LegendaryPosts: 25,531
    While you can do some fairly light programming on a laptop, buying a laptop specifically to do programming on it is doing it wrong.  Why are you looking for a laptop as opposed to a desktop, anyway?
  • RidelynnRidelynn Member EpicPosts: 7,383

    I don't know what IDE/Compiler you will be using primarily... being for school I'll kinda assume a lot of Java.

    For nearly every language out there, you'll just be dealing with a text file, that you could open in Notepad or any other text editor. Any more I probably do most of my debugging in a SSH terminal that's 24x80. I will give you that there are infinitely better IDEs out there though - and depending on your curriculum you may be required to use one or another. The more resolution the better, but you don't necessarily need a huge HD resolution.

    Programming is a lot of typing and reference lookup.. that's not too intensive, and if it were just that, you could probably find a laptop that gets what battery life your wanting (although not in that screen size).

    Compiles and some JIT runs are fairly intensive though. Those will suck battery down. You can mitigate that, once you learn some neat CS tricks, like compiling it on a remote computer and transferring the executable over to your laptop.

    If your wed to a laptop, don't get it for programming - get it for whatever else you need to do with it, make sure it runs whatever software your curriculum requires, and then it'll be ok for programming as well. Unless your doing huge compiles of multi-megabyte commercial-level code bases that link in massive numbers of libraries across multiple repositories, even a cheap $49 Rasberry Pi will get you something good enough to learn how to program on.

  • CleffyCleffy Member RarePosts: 6,414

    I would never buy a laptop with Intel IGP as its graphics solutions. Even if your goal is programming, its a waste of money to pair it with a garbage graphics chip. Especially with programming moving towards heterogeneous.

    Programming tends to always be a lightweight application. Its only when you compile and run that the internal components become necessary. I would probably never use a laptop as a primary coding device because a 2nd monitor is infinitely more useful, and pairing a workstation laptop with a built in 2nd monitor costs a lot. Then being restricted to a 17" screen is also troubling as screen size really helps in coding.

  • VrikaVrika Member LegendaryPosts: 7,999

    For programming you'll want a laptop with good keyboard, enough battery life that you won't have to stress about it, and possibility to attach two external monitors. Performance is not really an issue, but if you use it in school and switch a lot between lessons you might want to get SSD for faster boot times and program launch times.

    You should get a laptop with as large screen as you're prepared to carry. The larger it is, the better it's to work with, plus large laptops will often have better keyboards too.

     
  • QuizzicalQuizzical Member LegendaryPosts: 25,531

    I wasn't thinking so much about raw performance as various other amenities:

    1)  If I'm going to be programming, I want two good-sized monitors.  Laptops do not come with any good-sized monitors.

    2)  I want to be able to position the monitors and keyboard independently.

    3)  I want a real wired, laser mouse, not some dinky trackpad.  There's no reason why you can't make a trackpad for a desktop, but I've never seen one because basically everyone believes that mice are better.

    You can kind of address (1)-(3) in a laptop by buying external hardware for the laptop and plugging it into the laptop.  But then you're stuck having to plug it in and unplug it every time you want to set it up, which is a nuisance.  If you leave the laptop in one place constantly, then you're basically using it like a desktop, and so a desktop would be far superior in basically all ways.  And there are some other things that you simply can't get in a laptop:

    4)  I want the hardware to be reliable.  Carrying around a laptop puts meaningful wear and tear on it that a desktop doesn't get from just sitting there.  High-performance laptops are fundamentally a proposition of cramming too much heat into too little space, which is asking for overheating problems.  Lower power, ultrathin laptops (e.g., Ultrabooks) can easily get the same effect from being too small to dissipate what heat they do produce, especially as dust builds up.  In a desktop, you can put a good-sized heatsink and fan(s) on anything that puts out a lot of heat, but a good-sized heatsink won't physically fit in a laptop.

    5)  If one part fails, I want to be able to replace that one part by itself.  With a laptop, the failure of any part built into the laptop and not user-replaceable can mean that the laptop is effectively dead.  With a desktop, if a monitor fails, you replace the monitor.  If a keyboard fails, you replace the keyboard, and so forth.

    6)  I want to have plenty of ports to be able to plug in whatever I want.  Laptops seem to typically come with about 3 or so USB ports.  On my current desktop, I've got six USB ports in use right now.  This might not be a problem if your primary concern is the portability of a laptop, but if you want to use it like a laptop and plug in a bunch of peripherals, a laptop might not have the ports for all of them.

    -----

    If you genuinely need a laptop for something, then $1200 is enough to get both a cheap laptop and also a nice desktop.  You could get a small, cheap laptop for $400 for whatever you need the portability for, and then also an $800 desktop that would be much nicer for most purposes than any laptop available at any price.

  • wyrdaskolirwyrdaskolir Member UncommonPosts: 563

    My reasons:

    1. I already have a great desktop built, but I don't want to stay home all the time. I want to be coding with groups, friends, anywhere I want.

    2. I want my life's work with me so I can work on it whenever I want.

    3. I obtained a great software engineering internship so I just wanted to treat myself to a new laptop since it will fund it.

    I actually just chose the Yoga 2 Pro today. It'll be a fun toy as well since its a 2in1 touchscreen so I can browse reddit in class.

  • QuizzicalQuizzical Member LegendaryPosts: 25,531
    Originally posted by wyrdaskolir

    I actually just chose the Yoga 2 Pro today. It'll be a fun toy as well since its a 2in1 touchscreen so I can browse reddit in class.

    You should be aware of some drawbacks of that laptop.

    1)  You're paying a high end price tag for lowish-end performance.  If you're not using the GPU, CPU performance will be okay, but nothing more than that.  That may not be a problem if you're using scripting languages for things that aren't performance-sensitive at all, but it could be problematic for some purposes.

    2)  A monitor with many pixels and few inches means that text will be small--about 1/3 of the height of text of more typical monitors.  And reading text is critical to programming.  You'll certainly be able to turn down the monitor resolution, and some programs will let you scale up the text size, but support for the latter is spotty.

    3)  The ultra-thin form factor means that everything has to be soldered onto the motherboard directly.  That means nothing is replaceable.  If a memory chip starts having trouble, that won't mean you shell out $20 for a new memory module as it would for a more typical laptop; it will mean that the laptop is completely dead and your data may be unrecoverable.

    4)  There are few external ports--in particular, only two USB ports.  Depending on what you want to do with the laptop, that may or may not be fine for you.

    5)  Do you really want to be hunched over an itty-bitty laptop typing out source code?  For short periods of time, maybe, but the form factor is ergonomically horrible, so if you're using a laptop to type out source code all day, you should worry that you'll hurt yourself.  You can improve the situation with an external keyboard and mouse, but it doesn't sound like you're going to do that.

    6)  There is no ethernet port at all.  That means that good network access is out of the question on that laptop.  It does support 802.11n, so you can get wireless network access, but that's less reliable.

    -----

    You should be aware that if you have a laptop open in class, most professors will assume--correctly--that it means that you're not paying attention.

  • RidelynnRidelynn Member EpicPosts: 7,383


    Originally posted by Quizzical
    I wasn't thinking so much about raw performance as various other amenities:
    3)  I want a real wired, laser mouse, not some dinky trackpad.  There's no reason why you can't make a trackpad for a desktop, but I've never seen one because basically everyone believes that mice are better.

    You can kind of address (1)-(3) in a laptop by buying external hardware for the laptop and plugging it into the laptop.  But then you're stuck having to plug it in and unplug it every time you want to set it up, which is a nuisance.  

    6)  I want to have plenty of ports to be able to plug in whatever I want.  Laptops seem to typically come with about 3 or so USB ports.  On my current desktop, I've got six USB ports in use right now.  This might not be a problem if your primary concern is the portability of a laptop, but if you want to use it like a laptop and plug in a bunch of peripherals, a laptop might not have the ports for all of them.


    To play Devil's Advocate:
    With regard to Point 3:
    https://www.apple.com/magictrackpad/
    http://www.staples.com/HP-Z6500-Wireless-Trackpad/product_541499
    http://www.staples.com/Logitech-Wireless-Rechargeable-Touchpad-T650/product_985172

    Just a few examples; I've seen a lot of the Apple ones, and they are really nice to use - there are times I prefer to use a mouse, but the gesture support is nice once you get used to it. And don't forget there are also trackballs, Wacom-style tablets, and even touchscreens/touchslates that are very popular with some people that aren't Mice. A Mouse may be the most popular but it's far from the only device that people use, even on a desktop. And being mostly USB devices, these all work equally well on desktops and laptops.

    With regard to Subpoint-3 and Point 6:
    http://www.ianker.com/product/68ANHUB-B10A

    One plug and your done. Don't like that one? There are literally thousands of different models, shapes, and various ports available. You can even get PCI slots...
    http://www.villageinstruments.com/tiki-index.php?page=ViDock

    So I would say most of your points are valid, but:
    "Because I want to use a mouse"
    "Mice are better than trackpads"
    "You have to plug stuff in"
    "Not enough USB/expansion ports"

    Are all pretty weak arguments against using a laptop

Sign In or Register to comment.