Mac vs Windows for Software Engineers (best laptop for programming)

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hi my name is Patrick Shu and that will be the tech Li today I thought what I will talk about today is a trend that I've been seeing which is that nearly every developer I see seems to be on the Mac and there's a good reason for this and so the question I hope to answer for you in this video is if you're getting into programming and you're looking at getting a new computer or laptop which laptops are you get Mac or PC and the short answer is I think you should probably go for a Mac and let me tell you why so I'm not personally a Mac fanboy like I have been developing on PC for a very long time ever since up until like four or five years ago I've been on PC only and the short answer to that the short reason why Mac is better is because it is UNIX based and it has one application terminal you can use the terminal to write programs run them have them call other programs as they're running process files like you can just do a lot of stuff on the terminal and it is where the programmer generally lives like I always have a terminal window open when I'm at my desk I can use the terminal to connect into other computers and start running programs and doing things on other computers so the terminal is a very important part of a programmers life and the Mac has native support for this terminal based on UNIX windows also has a terminal it's called the command prompt and the problem with this Windows command prompt is it's based on ms-dos which is a language that very few people are actually using or running on except for Microsoft these days many web servers backends database servers they're all based on UNIX and so for a programmer in order to gain that expertise in being able to work on web servers and database servers and all these back-end systems it helps them if they also work on the similar UNIX environment on their home computers so they only need to learn one environment the windows ms-dos command prompt I'm not even sure if many people bothered to try to understand how to use it like most Windows users probably aren't going into ms-dos to do anything even if it is capable of doing some things the language is just so obtuse and difficult to use now on windows it is possible to actually get a unix-like terminal through emulation so for myself I would always set up this program cygwin and it makes a lot of things workable the problem with cygwin is you always have to update it it's not really native a lot of the things don't really work well with it like if you're trying to install a program or something sometimes you run into hiccups and something's just plain don't work now to microsoft's credit they recently released something called windows subsystem for linux and I would highly recommend checking this out if you're on Windows it's in the Windows 10 I believe and it's essentially a UNIX based terminal for Windows so from what I've read the windows subsystem for Linux is pretty decent like it can get you set up and they can run a lot of stuff so if you're a student then yeah this will do it probably but for a lot of professional developers you'll see that a lot of the Silicon Valley engineers through our carrying MacBooks because this windows subsystem for Linux was released only recently it is still an emulation that's going to be a little bit slower than normal but I think it's a pretty good step now I also wanted to talk about my story several years ago I was only into Windows and one time I bought this two thousand dollar Windows laptop very sleek brand-new state-of-the-art and it depreciated so quickly and I would go traveling around what they're going to stay in hotels and I found that they had difficulty connecting to so many Wi-Fi networks like half of the Wi-Fi networks just couldn't connect to this computer for some reason whereas I saw other people using their Mac books they could connect fine if I disabled Bluetooth Wi-Fi would work sometimes it was really weird and then there would be dead pixels the screen will have lines starting to show up on it and glitching out after a few years of usage I wanted to sell this computer but when I tried to go see what the price would be for something like this there were no prior listings for this type of computer because it was such an obscure computer it was like the Sony Vaio TZ w w140 T like no one had any clue what this was even though at the time it was a state of the art computer several years later I bought another very sleek sony vaio computer it was supposed to be very good and then after two years of usage again I started seeing dead pixels the fans started getting really loud and overheating I would see lines start showing up on the monitor the aspect ratio was kind of strange I think it was sixteen by nine or something and it just wasn't very standard since I was into photography I noticed that all my pictures were appearing more blue than normal and that's because the screen was not well calibrated and during this time iPhone came out and I couldn't get into iPhone development I had just bought this brand new computer and so I missed out on like the first two to three years of iPhone development when everyone else was making tons of money on the App Store I was stuck on the Windows machine and I couldn't build for iOS two years later with this computer started breaking down I took it to the Sony store to get it repaired and they said they don't repair these computers anymore in fact only got out of the laptop business I pretty much had to trash the computer it was completely ridiculous you don't hear about these stories with Mac books everyone knows what the Mac books are they're very reliable the screen color is well tuned as a photographer I realized I don't need to really calibrate that color scientifically I need to calibrate that for my audience who's viewing on the MacBook so if I could process the photo on the MacBook then I know they're going to look great for a lot of my viewers to who are on Apple machines and all of Apple's computers are calibrated to that same color profile and since this is basically system locking for like four years or so it's not really clear how the tech landscape will change over that long period of time and being able to have that flexibility to know well if you need to develop for Windows you can and if Apple suddenly releases some platform or software three years down the road hey you're still going to have a Mac so that you can develop for it if you want to these days there's also a lot of applications and software that maybe one system only like like systems like nodejs and Ruby on Rails were originally developed for Mac only it was very difficult to get these programs to run on Windows like imagine if the developer of nodejs or Ruby on Rails did not have a MacBook they basically would not have been able to create these software systems and if you were on Windows it would have been very difficult for you to get enthusiastic about these systems maybe you could have run them but it would have been pretty difficult and it would have been uphill all the way for designers that there's this app called sketch and I highly recommend if you're into design that you look into it because it's used all over industry sketch is Mac only if you're a student designer you would not be really well prepared for your future career if you did not have a Mac so that you can get sketch and develop expertise in that a lot of web front-end web developers are running mac books so that they can easily run no js' Ruby on Rails other than those package managers brew package managers like a lot of these frameworks are built with Mac users in mind and for back-end developers like if you're into database systems or getting into site reliability engineering system and ministration you're going to want to have a very strong Unix Linux background and for them to they're going to be far more comfortable in the Mac environment where there's where it's UNIX based rather than the Windows environment where they have to boot up either the command prompt which no one knows how to use or they need to go into the windows subsystem for Linux and yeah maybe they can get that going but it's still going to just be like an emulation kind of buggy and there's going to be problems getting things running so what we have our mobile iOS engineers are on Mac because they need to be designers are going to be on Mac back in the engineers are going to be on Mac and front-end engineers are gonna be on Mac like if you're an Android or Java engineer it's kind of your pick but these days I would say a lot of mobile developers are also going into back-end code that they're trying to be more cross-platform they may even be learning some iOS code because you need I oh s back-end and Android to be able to ship a complete product these days so even Android Java developers I think still get some benefit of being in a UNIX Mac environment and just having that flexibility to switch over to learn some iOS if they wanted to I would say that the one place you really need windows is if you're doing dotnet or game programming a lot of those are done in Visual Studio and and even though Mac has Visual Studio as well the native environment for these developers is going to be on Windows everything is just going to work better and but even for that I would say like if you want to you can get a MacBook and dual boot into Windows and then you can do your dotnet or game programming when you want to but I think that just the overall flexibility of environments is really nice to have you may be thinking well I want to Windows PC so that I can play all my games that's actually probably a negative for Windows computers like maybe it's better that there are less games on Macs so that you actually sit down and focus on work more now beyond all that there are other reasons that a MacBook is preferable in my opinion like the the build quality is very nice the trackpad works well the keyboards kind of garbage actually in the recent iteration everyone knows about the MacBook iterations so that the resale value is going to be higher these Macs are generally used by industry engineers in Silicon Valley at least like I see them all over the place so that it prepares you better to just generally speak the same language as everybody else the screen that's nice it's very high resolution so you know when you're really slogging through some bug in the middle of the night and there's problems everywhere in your code it's just a little bit more inspiring for yourself when you know that you're working on a good machine that you can feel good about instead of working on the garbage machine that's not really working well and it was kind of cheap and it's slow and the fans starts humming up and there's that pixels on the screen the screen is casting a strange blue glow you guys start going into cygwin or windows subsystem for Linux to like try to get things going and then you know just local itches and bugs here and there and the keys not really working well the trackpad is not that great all of that is just demotivating and you may just say you know what just I'm just gonna go sleep forget it whereas at least for me when I have nicer equipment I just feel more inspired to put out my best work because I've invested in myself and I take comfort in knowing that this is the two of that industry professionals are also using and if they can do it then I can do it too now if you're on Windows that's not to say it's terrible I think Windows can do pretty much everything that Mac can do with a little bit more work and even though this video makes it seem like Windows is garbage it's really not and I've used Windows a long time I've even thought like yeah maybe if I get another computer I might go back and take a look at Windows again just because they have that window subsystem for Linux system now that makes things bearable maybe probably not actually I don't think I could go back to Windows but you know it's it's cheaper now all that said I will not go Russia and buy a Mac right now like as of June 2018 at least Apple has not updated their line of Mac's in like a year so if you buy a computer now you're basically using technology that is a year old and you're not going to be getting the best bang for your buck in terms of CPU or memory computers are a long term investment they will last you at least two years and maybe even four and you don't want to yourself over those four years and I think that you don't know what the future will bring if you think you may become an iOS developer or Mac developer or get into front-end development or again to design in the end though I would say that really both Windows and Mac are very capable things you know if you really want that terminal you can still set it up like you get SSH and putty or cygwin and windows subsystem for Linux and you can SSH into a remote UNIX machine and if that's what I have been doing for a while it takes a little bit more time to setup you may need to get a web hosting server that's running UNIX so that you actually have an environment where you can run these tools once you get that environment set up where you can associate you into a UNIX machine and that might be like a remote web server then you'll pretty much be set up to do a lot of your back-end database work front-end work using like JavaScript nodejs package managers Ruby on Rails PHP Python and all that good stuff so yeah it's really all workable but I hope that this video kind of helps answer the question of like why when you go to conferences you see all the developers seem to be carrying MacBooks well it's just it's just a nicer experience over anyway don't let me tell you what to do or what to buy I'm not your dad so let me know what you think in the comments give it a like and subscribe and I will see you next time so the first thing I did was I went to these web sites like Python and downloads for Windows or PHP you can download like a zip file it really makes me wonder what this even is like Python is supposed to be a command-line tool it's not like a package that you download and then you install like a Windows program Python exe really funny thing see what it is see that Python core interpreter I don't even know what that is okay so it's finished installing and I don't even really know what it's done at this point normally what I'm expecting is a command line tool Python that can just start running I don't see Python here and what it's really done is it's installed it into this strange little directory that's actually hidden and I can't even so that directory is app data it's not actually visible you go to local and then programs and python and there it is and now yeah finally okay we have Python so I can print something but it's not really clear to me how to even actually keep this on the script and it's not enough like what I really need this a terminal like with the shell yeah you can like run the PHP program and sure it's gonna work but the show is just so difficult to work with the environment just isn't really well set up at this point like I don't feel like it's easy for me to make a PHP script and then have it you know feed into a Python script and then run node or something like that like it's what we have here are a bunch of interactive shells but they're not really useful at this point like it's just a little playground but it's not enough to write anything real without a real terminal that can glue every piece together
Info
Channel: TechLead
Views: 677,054
Rating: 4.5312457 out of 5
Keywords: facebook, windows, pc, google, mac, software engineer, computer science, silicon valley, apple, developer, osx, os x, tech, techlead, programmer
Id: ghTwo5Kvbmo
Channel Id: undefined
Length: 15min 27sec (927 seconds)
Published: Sat Jun 16 2018
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.