程序员的笔记本电脑
绝大多数时候,我都没在用笔记本(电脑),而是在用台式机,笔记本除了便携一个优点外,其余都是被台式机全面吊打,对我这种非常注重使用体验的人来说,笔记本用起来简直是受虐,除了在做iOS的APP开发不得不用Macbook Pro以外,我其它时候是能不碰就不碰了。但便携这个优点在某些时候就变成了压倒一切的优点,比如外出办公,比如现场实施运维,这样的场景是没办法搬着台式机走的,且如果自己一直用着一台笔记本,一定会很熟悉,得心应手,就好像这是一把自己精心打造好的利剑一样,学武之人应当有这么一把利剑。
而挑选一台称心如意的笔记本电脑真是不容易的事情,于是我写这么篇文章,客串一下笔记本电脑的产品经理,说说我心目中“程序员的笔记本电脑”这个产品的定义。
说到产品经理,我还真被联想邀请去面试过,现在看已经是十几年前的事情了,那时我失业找工作中,我突然接到联想的面试通知,就在张江,虽然我印象中没投过联想的简历,且职位也是我从来没申请过的产品经理,但我当时正好就在张江,也闲着,于是就去了,联想公司门面挺大气,进出人员装扮都蛮考究,屏幕上还循环播放着杨元庆的视频,面试我的是几个美女,问了我一些跟技术完全无关的问题,然后就这么结束了,没有下文……这可能是我经历的最莫名其妙的一次面试了。许多年后,联想成了“美帝良心想”,成了我的圈子里最不受待见的IT公司之一,我就笑着说:当初真让我去当产品经理的话就不会这样了。Okay,就当开个玩笑……
下面是进入主题:
1,CPU
使用最新的第八代Intel处理器(i7-8750H/i7-8250U),提供低压版和标压版两个版本的CPU供选择
CPU是电脑最为核心的部件,我用电脑到现在,从来没觉得CPU性能过剩过,好的CPU能带来更快的编译速度、压缩/解压速度、代码智能提示响应、CPU密集型任务中更强的算力、以及更快的程序启停速度。要求低的可以选择低压版,否则选标压版。
也许有人说,我平时也用不到那么好的性能啊?怎讲,比如你买辆车,平时也不需要多强的加速性能啊,但你超车的时候,如果加速性能不足,就可能十分危险,性能这个东西并不一定是给“平时”用的,再说程序员要求CPU高速运转的时候还是很多的。
2,内存
双通道DDR4 2666以上,提供16G和32G两个选择
我强烈鄙视现在居然还有4G内存和8G内存的电脑,真是比手机都不如,用来忽悠小白可以,但我们程序员可是专业人士,哼~16G内存起,我家的电脑,从2012年起,就是16G了,现在都快7年过去了,居然还这么多人只用8G内存的电脑。大的内存可以让你同时打开很多个集成开发环境,可以让你同时跑N个虚拟机,还能显著提升系统性能,现代操作系统对大内存配置都进行了许多的优化,如果你内存足够大,操作系统会将更多的内存资源用作磁盘缓存,你可以理解为虚拟磁盘,以此实现程序秒开。一般来说16G内存是充足的,对于虚拟机多开人士,可以考虑选配32G内存的电脑。再说现在内存也降价了,有啥理由不上更大的内存?
3,固态硬盘
第一梯队(Intel/三星)的NVMe固态硬盘,提供250G/500G/1T几个选择
硬盘,200%只配固态硬盘,2019年了,机械硬盘根本不应该用于电脑上,我自从配备了NAS之后,就彻底把所有电脑上的机械硬盘拆了,机械硬盘电机启停带来的延迟和噪音真的很烦,且机械硬盘用于笔记本电脑还会带来额外的电耗,因为有机械活动部件,这根本不适合。而固态硬盘也不能随便配阿猫阿狗的,性能一定一定要强劲,这是电脑运行速度的一大关键点,在公司,我跟领导申请给小伙子们都配备了三星的EVO 970固态硬盘,这是M.2接口的NVMe固态硬盘,速度非常快,但考虑到公司成本问题,我们只配了250G的,目前够用。另外我想说SATA硬盘都是淘汰货,不应该考虑。对于一台专业的程序员笔记本来说,500G的固态硬盘应当是标配,当然如果觉得没必要,可以退而求其次选250G的,而虚拟机狂人可以选1T的。
Intel近年来有个新的存储技术叫“Optane”,中文名傲腾,傲腾SSD更接近内存,而不是NAND这种存储介质,它寿命极长,速度飞快,除了价格,简直完美。但有些文章说这可能只是一种“过渡技术”,具体为什么我没细看,但我想如果能在自己的工作笔记本上配备一块傲腾SSD,那是极好的事情。
4,显卡
集成显卡
没有玩游戏需求,没有3D/视频渲染的需求,所以没必要配备更好的独立显卡,集成显卡足够。
也许你说,万一是游戏程序员呢?我说,即便是游戏程序员,也分很多种的,如编写服务器端的程序员,并不直接涉及图形及3D渲染,用不着的。直接做游戏图形的程序员不多,如果真有,大多数也会用台式机应付,移动办公的需求几乎没有,可以忽略。
5,显示器
广色域IPS雾面高分辨率屏,15寸窄边框,3:2比例,无触控
- 13寸太小,14寸适中,15寸有点大,不过如果能做成窄边,15寸也能跟普通14寸一般大,便携又能展示更多内容
- 作为一天到晚盯着的生产力工具,显示器一定要好,看起来舒服,需要有比较准确的色彩还原(广色域),再说程序员确实有可能需要修修图,兼一下美工的活,色彩准真是个需求
- 大的可视角度——我常常会站起来坐下来活动活动,我不希望我换个角度就颜色全走样了,劣质的TN屏就如此,所以选择以画质见长的IPS屏
- 一定是雾面屏,镜面屏曾经流行过一段时间,现在好像也都改回去了(除需要触控的之外),我可不想边写代码边照镜子
- 刷新率,响应速度不重要,因为不打游戏,刷新率60Hz即可,响应速度<=8ms,够用了
- 更高的分辨率可以获得更细腻的显示效果,使得代码的字体看起来更圆润
- 3:2的比例拥有相对较多的垂直像素,我们程序员是经常需要上下滚动查看代码的,3:2相对16:9来说可能可以多显示几行代码,并且用来阅读文档会更舒服一些
- 触控功能是鸡肋,舍弃,且我超级不喜欢屏幕上有指纹
我觉得华为最新的Matebook X Pro在屏幕比例及窄边框方面做了个挺好的榜样。(注意,我只是说屏幕比例和窄边框,不含别的)
6,键盘
标准87键位的键盘,具有较长的键程
这就是87键位的键盘:
对我来说,之所以觉得笔记本没有合适程序员的,很大程度上是这个原因:键盘根本不顺手!我一直不太搞得懂,为什么将台式机标准的87键位的键盘搬到笔记本上就这么难,没有商家愿意去做,哦,严格说不是没有,有的,大家看图:
宏碁掠夺者PREDATOR G9-791 21X,这是一台性能怪兽本,但几乎也没什么便携性可言了,且价格是“打扰了”的级别,不过不得不说把全尺寸的机械键盘直接做到了笔记本里,是够惊艳!下面是一些对目前主流笔记本电脑键盘的吐槽:
- 作为程序员,F1-F12是一直离不开的按键(大家是否还记得Macbook Pro把F1-F12包括ESC这排按键取消,换成触摸条的那个时候,程序员圈子里骂声一片),绝大多数笔记本电脑都把F1-F12做得极其紧凑,也许是为了节省空间,也许是为了一般人所理解的“美观”,但这样毫无实用性可言,这些功能键之间如果没有间隙,就很容易按错,几乎没法盲打,每次都要看着,不然很容易误触
- 上下左右四个按键,大多笔记本没有空隙作为参考,每次都需要用眼看一下,体验差
- 大多数笔记本的没有把PageUp、PageDown、Home、End按键放到可以盲打的地方,甚至取消,需要组合键来模拟,而这几个按键在写代码的时候使用相当频繁
- 小键盘对程序员来说用处不大,但很多大尺寸笔记本都保留了,占地方且多余
- 很多产品把电源键放在主键盘区的角落里(一般在靠近Backspace的地方),很容易误触
- 很多产品把Fn键放在主键盘区里,但这个是个很少用到的键,应当考虑跟电源键一起挪到别处去
上面提到的宏碁的掠夺者笔记本电脑的键盘是个理想的键盘,但实际上使用了这种机械键盘的笔记本电脑厚度根本下不来,失去了便携性,所以我的看法是保留键位的同时,使用薄膜键盘即可。同样是薄膜键盘,键程也有不同,为了获得较高的输入反馈体验,长一点的键程是需要的。
另外就是键盘的位置,绝大多数笔记本的键盘,都是靠近屏幕这边,而不是靠近用户这边的,因为靠近用户这边需要放置一块触摸板,而实际体验来说,如果不使用触摸板,把键盘放在靠近用户这边无疑是更好的选择,这样用户就能更自由的调整打字的姿势,而不是双手前探,作脖子前倾状(想想好难看~),如果键盘像宏碁的掠夺者那样摆放的话,触摸板放哪里呢?一般是放在右边,掠夺者这台笔记本足够大,放得下,另外华硕玩家国度的“冰刃3”笔记本,也是这样放置触摸板的:
我觉得冰刃3是一款十分优秀的产品,但按照我之前提到的87键位键盘的15寸笔记本的布局,右边可能就没地方放触摸板了,所以只好适当妥协,还是把键盘安置在靠近屏幕的一测,触摸板放在键盘下方,靠近用户的一测。当然我也考虑过取消触摸板,但这样的想法似乎有点激进,触摸板在不方便使用鼠标的情况下还是很有用的,如果做得足够好,能很大程度上取代鼠标,下面我会提到。
7,触摸板
支持手势,调教良好,提供开关快捷键
前面我说了,好的触摸板可以很大程度上取代鼠标,没错,说的就是Macbook,事实上我在做iOS APP开发的时候,Macbook就不连鼠标,全都是用触摸板操作的,感觉完全能应付得过来。这很大程度上得益于苹果对触摸板的调教,让它支持各种手势,如双指滚动,三指拖拽等,用起来是丝滑的流畅,Windows的笔记本当然后来也加入了类似的手势,但实际用起来总觉得差那么点火候,我觉得应该不是硬件的问题,而是驱动和软件的优化的问题。
当然了,平时我是用台式机的,根本没有触摸板,不一样好好的?但要知道笔记本的使用场景,有时候真的不太适合鼠标,如:拥挤的会议室,桌子上乱糟糟,不方便摆鼠标;或者去机房仓库调试程序,环境特殊,仅够摆放一台笔记本,没有多余空间;再比如在飞机上,要拿笔记本出来办公,这时候肯定没地方摆鼠标的……所以一个好用的触摸板是非常有用的,苹果的系统在触控体验方面确实领先Windows好几条街。
另外有点令我头大的问题是,由于触摸板在键盘下方,我打字的时候,手的其它部位经常会误触触摸板,系统有时会将这种误触判定为点击之类的操作,对打字很影响。所以一个便捷的触摸板的开关就挺有必要,不需要触摸板的时候(比如用鼠标的时候),就把它关掉,防止误触,触摸板边上做一个小小的指示灯来表示触摸板是否在工作。
8,摄像头、麦克风、扬声器
较好的品质,支持回声消除及降噪
这几样东西主要用于视频/语音会议,我觉得大多数笔记本都做不好,你说这几个东西如果用好一点的料,应该也多花不了几个钱,但为什么每次用笔记本开电话会议,总是要闹心一番呢?“断断续续”、“杂音”、“听不清”、“你说什么?”……虽然这些不一定是麦克风扬声器的问题,但总归有些影响,用上品质上乘的配件是有必要的,虽然不追求什么高保真,回声消除及降噪不一定是硬件的功能,也许软件也能做到,但如果硬件芯片上就支持的话就更好了,技术成熟的东西,应该花不了几个钱。
9,电池及续航
4小时的办公作业时间
对于没有独立显卡,不玩游戏的笔记本来说,续航通常不是什么大问题,但一定要稳定,不接电源的场合通常是在现场进行问题排查的时候,这个时候通常不会开多个开发环境,开多个虚拟机,不会有这种非常消耗CPU资源的任务,做到4小时的续航应该是没问题的,稳定就行,不能电池一下从70%掉到1%。
10,接口
USB 3.0方口*3,Type-C口*2(支持雷电),HDMI输出*1,DP*1,以太网口一个
- USB 3.0可以接有线鼠标/有线键盘和移动硬盘/U盘,3个应该够用
- Type-C口可以连接新型的设备,其中一个支持雷电即可
- HDMI用于接投影仪,我看一般投影仪不支持DP口,而现在比较高端的显示器都是使用DP口的,甚至有些都不再提供HDMI接口了,所以两个视频输出都需要有
- 以太网口必须有,一来平时用有线比较快速和稳定,二来到现场安装配置网络设备的时候你必须用有线连接(这时候WIFI还用不了),另外可能还有一些特殊场合不能使用WIFI的
这些接口算是比较丰富的,如今的很多笔记本为了追求轻薄,去掉了很多接口,其中以Macbook最为激进,只保留了几个Type-C口,虽然看起来很有未来感,但站在实用的角度来说,并不好,我们是务实的程序员。
11,风扇、噪音及散热
合理的散热逻辑
没有独立显卡,不玩3D游戏,有这两个先决条件,发热少了一半以上。但在进行CPU密集型工作的时候,难免产生一些热量,需要用风扇吹出去,于是风扇加速呜呜呜作响,这个是好理解的,难以接受的是,有时候莫名其妙地风扇就狂转起来了,这时候看看自己也没干什么,只是打开浏览器看看网页。所以我要的是合理的散热逻辑,风扇该转的时候就转,不该转的时候就安安静静的,不要打扰本码农的工作。
12,外观
偏商务,比较轻便
笔记本有两种,一种叫轻薄本,一种叫游戏本,其余种类都是在这两种之间摇摆,选择一个平衡点。程序员的笔记本也应该在其中一个平衡点上,具有以下特征:
- 便携,但又不需要追求极致便携,在确保必要性能和接口齐全的前提下,尽量轻薄一点,因为需要携带,但相比便携,性能和功能优先级更高
- 不需要(也不应该)花里花哨,没有RGB灯,没有贴纸纹身,程序员大多都偏向于低调务实,带点商务风,工具需要和工作环境相衬
- 使用黑色的外观,方正结实的感觉,老IBM Thinkpad算是楷模,小米笔记本Pro也挺不错
- 免LOGO,保持简洁,小米笔记本是好榜样,另外屏幕下方的LOGO也不要,仅仅在角落用程序员最喜欢的小字体Mark上品牌和LOGO,就如真正的高手不需要把名字写到衣服上来让别人知道你是谁对吧?(hey~别杠!)
IBM Thinkpad T42的外观堪称“方正”的经典
小米笔记本Pro,无LOGO的A面,业界良心
13,其它配置
可能有些人还是觉得不要那么多的接口,轻便点更好。我觉得怎么说呢?接口这个东西,当你想用,没有的时候真是麻烦得要死,你看一般台式机后面都会有4-6个USB口,通常我们也就插键盘鼠标,还有几个用不到啊,可你想某天你要接个摄像头,再插个U盘,嗯?4个口全满了,这时候再来个读卡器,插哪里?用USB分线器?那如果我本来就有这么多借口了那岂不更好?额外带着一个分线器不也影响便携么?我偏向于是把东西都直接配齐了,不要到用的时候缺这缺那,以太网口也是一样道理,很多时候我还是更愿意接有线办公,有线比无线,谁比谁知道,既然是必要的东西,那为什么还搞个外接?
这里我又想再提一下玩家国度的冰刃3,它是一款轻薄的游戏本,嗯,十分另类,一改笔记本傻大黑粗的形象,那散热它是如何处理的?它有一个特殊的机械结构,在你打开笔记本的时候,它会在底部撑起一条散热缝来,这个设计我觉得非常巧妙。
上面没提到主板,WIFI,蓝牙之类的,因为我觉得这些东西没什么特殊要求,配备当前质量上乘的主流产品即可。
操作系统,当选Ubuntu,为什么不是Windows?因为不是所有程序员都需要使用Windows的,直接预装的Windows多半是家庭版,根本不够用,那还不如不装,节省点成本,让用户买回去之后自行选择,程序员完全可以自己搞定。当然了,要针对Ubuntu做一些优化,如配备稳定的驱动程序,配置好稳定可靠的软件包安装源等。还可以预装WINE,让实在要用Windows程序的用户也可以应急一下用起来。软件优化适配是个大话题,先不展开了。
14,品牌、价格定位及名称
务实耐用,不需要追求极致性价比
品牌及价格定位,这是非常关键的东西,我并不是这方面的专家。对我而言,实用性比什么都强,但大多数人不这么认为,因为对大多数人来说,了解一个复杂的产品的方方面面细节实在太困难了,于是就选择品牌,再查看价格,挑一个自己价格满意的,就这么简单。所以即便对于懂技术的程序员,也要做好品牌经营。品牌要起一个技术气息浓厚一点的名字,不要跟游戏本那些妖艳货色一样,暗影精灵,拯救者,未来人类,战神……呃,有点雷声轰隆隆的感觉啊,我宁愿接受一个中庸点的名字,比如Dell的XPS,LG的轻薄本Gram,或者ThinkPad,(注意,这里提及到的品牌不代表我“推荐”,仅仅作为比较参考)
小米是一家号称追求极致性价比的公司,但我看下来小米笔记本其实性价比也称不上多极致,只能说一般,也许在笔记本这个行业,价格都比较透明化了。程序员一般算不上大款,但也普遍不寒酸,对自己的生产力工具还是挺舍得花钱的,六七千到小一万的价格应该很好接受,关键是东西质量过硬,能形成良好的口碑。
15,推广与代言人
不要流量明星,邀请大神
流量明星又贵,程序员又不感冒,甚至还有点反感,用来推推潮流产品可以,用来推生产力工具,还是拉倒吧。我有个大胆的想法,之前从来没人试过,就是请技术大神来当代言,尽管不一定可行,比如:
Linus Torvalds
再比如
Richard Stallman
或者……他
他们都是程序员心目中的真正的英雄,当然了,他们不一定能看上商业推广这种事情(雷总估计是请不起)。那就变通下,比如请阿里巴巴的核心技术团队做一些推广活动,营造出产品的某种特殊的技术气息。
16,迭代更新
一个产品,免不了要更新换代,我觉得在CPU,内存,固态硬盘,这几方面跟上时代的步伐即可,保持产品的活力。
17,最后
很早前我就有这个想法了,想把自己心目中理想的(并且是可行的)笔记本电脑的方案写一下,今天总算完成了这桩心愿,在这个忙碌的时代,想静下来做点自己想做的事情真是不容易。我并不是产品经理,也没当过产品经理的职位,以上可以当做行外人士的BB,但每个人都有发表些看法的权利把,你足球踢得没有国足好,难道就不能评论一下吗?评论、看法这些东西不需要什么“资格”,但要理性和合乎逻辑。
欢迎讨论。