joshfeng777 :
I am a high school student looking to purchase a new 2017 MacBook Air. I want to use my laptop for coding and photo editing as well as everyday things such as media consumption and browsing the internet.
I highly recommend
avoiding the Macbook Air if you're going to do any sort of photo or graphics work. Unfortunately, Apple knows who their bread and butter customers are. Consequently they've crippled the color gamut (max color saturation) of the screen on all the MBAs as a ploy to get artists, photographers, and videographers to pay extra for the Macbook Pro. The color gamut of a TV or monitor and websites is 100% sRGB. The Macbook Pro screens are designed and calibrated to hit 100% sRGB.
The Macbook Airs typically only hit 50%-60% sRGB, meaning the colors will be pale and washed out. If you edit your photos on it, you will have a tendency to compensate by boosting the color saturation too much. And when your photos are viewed on a TV, monitor, or any laptop with a better screen, the colors will be lurid and oversaturated. Unlike a screen having
too much gamut, profiling the screen will not help. It will still be pale, and you will still tend to oversaturate the colors.
If you want to stay in the OS X ecosphere, you'll have to pay extra for a Macbook Pro or a Macbook. If you're willing to get a PC laptop, search for reviews which mention sRGB or Adobe RGB (approx 75% Adobe RGB is 100% sRGB, though individual colors can still be off). Most of the better PC laptop screens hit 80%-100% sRGB and are good enough for casual photo work. (They're not calibrated at the factory like Apple does the MBP, so you will need to generate your own color profile with a colorimeter.) Notebookcheck usually measures the color gamut of the laptops they review.
The other option is to always edit your photos on an external monitor, but that kinda defeats the purpose of getting a laptop. Although if you're going to do coding you'll probably want an external monitor for extra screen space (you typically run the program on one screen, have the code and debugger on the other screen).