微信号:infoqchina

介绍:有内容的技术社区媒体

Q新闻丨微软将Linux带至桌面操作系统;VS Code提升JavaScript编辑能力……

2016-04-09 09:40 Q新闻

欢迎收看本周Q新闻,实习主播小Q为您播报。今日书单彩蛋:《Java性能权威指南》。
Microsoft将Linux带至桌面操作系统

在3月31日的Build大会上Microsoft宣布:今年的Windows 10年度更新将使得Windows 10系统能够无缝运行Linux二进制程序。多年来,专家与开发者都在猜测,Linux如何以及何时才能在普通PC用户的桌面系统中更加流行。从今天的新闻来看,似乎Microsoft本身已经成为这样的一种推动力。

Microsoft与Canonical合作开发了运行二进制程序的能力,这些二进制程序包括Bash Shell脚本和不加修改的Emacs。在今天的Build 2016主题演讲上,来自Microsoft的Kevin Gallo演示了他是如何在Windows下打开一个标准的Bash命令行,并借此运行GNU Emacs的。Gallo称这是真正的Linux兼容—而非通过移植或虚拟机实现。

Microsoft的Scott Hanselman随后发表了一篇简短的声明,并在其中详细披露了一些细节。鉴于Ubuntu是Debian Linux发行版的衍生版,因此用户可以使用自己熟悉的程序包安装器apt-get。与Linux桌面上的操作一样,Windows用户也可以通过apt-get安装新的程序包。有关在Windows 10环境中托管Linux二进制程序所需的技术规范还有待公布,但根据现场提供的屏幕截图来看,至少可以支持64位Linux二进制程序,是否支持32位Linux二进制程序还有待确认。据Hanselman说,64位Windows是必须的。

若想自行尝试该功能,还请期待今年夏天的Windows 10年度更新。

更新:来自Microsoft的Rich Turner和Russ Alexander通过发布在Channel 9,名为《在Windows上通过Ubuntu运行Bash》的演示介绍了更多细节。该项目源自用户在User Voice提交的请求,用户的两个主要诉求是希望获得更好的控制台,以及为Windows提供UNIX/Linux工具。因此他们在Windows内核中构建了一个全新的子系统,用来暴露那些支持Linux所需的系统调用。

Microsoft和Canonical合作开发的这个新系统名为Windows Subsystem for Linux,可提供一种“用户模式 Linux”。这个新增的子系统可以“提供兼容Linux的系统调用层”。

此番合作证明上述的子系统不是虚拟机或仿真系统,他们在演示中使用的系统为Ubuntu 14.04.4 LTS。如果你希望了解第一手信息,可以从视频中看到,目前已经支持原生运行多种程序:GNU编译器、Vi文本编辑器,甚至可以在Linux中挂载本地文件系统。然而目前还有些程序无法支持,因此诸如MySQL等程序还无法运行,但该团队正在继续努力工作,以进一步改善用户体验。

英文原文链接:

  • http://www.infoq.com/news/2016/03/linux-windows-together

VS Code提升JavaScript编辑能力

Microsoft跨平台开源编辑器VS Code近日发布了三月份的最新构建版本。大多数的web开发者都能找到有利于他们工作的新功能,并可以在任意一个平台:Windows、Linux或是Mac OS X上尝试使用VS Code。

VS Code项目一直以来都在寻找改善JavaScript编辑体验的方法,试图让它可以更贴近TypeScript使用者的用户体验。由于将现有的JavaScript项目完全转换为纯TypeScript有时是不太实际的,因此提升VS Code的JavaScript编辑能力势必对程序员的工作效率会产生很大的影响。使用VS Code之后,开发者会发现其JavaScript项目现在开始也可以享受到IntelliSense和JSDoc注释的优势。

另外,编辑器提示工具现在会指出文字提示来自何处。例如,为了与lint程序(支持ESLint和JSHint)反馈区分开来,JavaScript语法错误之前会加上标识[js],而lint程序之前则没有标识。

JavaScript代码的几种格式化选项都可进行配置。for循环的间距空间,大括号应该放置在代码块的哪里,以及其他的格式化问题都可以根据你个人的(或是团队的)编码风格进行配置。TypeScript使用者也可以找到TypeScript语言中的类似选项。

HTML格式化是基于beautifyjs的,它所提供的一些格式化选项在新版本的VS Code中已经可以使用。用户现在能够自定义自动折行与手动换行的行为。

与往常一样,VS Code提供两种不同的版本:一种是稳定版,而另外一种是较有风险的内部预览版(“Insiders”,这是Microsoft对于早期预览版的专用术语)。你可以下载到Windows, Mac OS X和Linux平台的任何一种版本。更好的是,Linux平台下的VS Code支持Debian(DEB)和Redhat (RPM)包格式。

英文原文链接:

  • http://www.infoq.com/news/2016/03/vscode-march

    内向的人很难成为群体程序员吗?

    Aaron Griffith是一名来自Hunter Industries的程序员分析师。近日,他在博文“群体编程之于内向的人”中分享了他作为群体编程团队成员的经验。根据高级顾问Woody Zuill(敏捷专家&教练)的定义,“群体编程(Mob Programming)”是一种软件开发方法,整个团队在同一台电脑、同一个地方、同一个时间从事同一项工作。对于外向的人而言,这个概念行之有效,但对于内向的人而言,同一大群人在一起工作并不简单。Aaron指出,这是一项令人愉快且有益的锻炼,但对于内向的人而言,有一些挑战,不过很容易克服。

    Aaron在分享中指出,内向的人更喜欢小一些的群组设置,更善于通过写来表达自己,喜欢有一个专用的工作空间。相比之下,群体程序员同整个团队在一起工作,进行口头对话,并且在一个开放的楼层中工作。因此,对于内向的人而言,成为一名群体程序员可能很困难。

    Matt Schartman在博文“我的群体编程经验”中分享了他作为一名内向的群体程序员所面临的挑战:

    作为一个相当内向的人,频繁的交流比我以前在公司里的许多工作都更耗精力,虽然可能更有趣。一天工作下来,我经常发现自己渴望回家,用一本好书或者一个节目让自己恢复精力。

    作为一个内向的人,Aaron在一个群体编程团队中工作,他分享了自己对于克服这些挑战的观点:

    内向的人和外向的人有许多不同的特质。这些特质与群体编程有不同程序的兼容性。我不认为,这些特性中的任何一项会让群体编程对于内向的人而言成为一个不可能,但他们要比其他人面临更多的挑战。

    他分享了如下建议:

    我的建议是,一名内向群体程序员只需要做自己,并对提供和接收反馈持开放态度。如果你有什么担心,让人们知道。不是每个人都清楚内向的人与外向的人之间的细微差别。对于内向的人和外向的人如何互补,并在一个工作环境中共存,分享你的关切、文章和博客,这对团队中的每个人都有帮助。

    如果你是一个内向的人,并且是一名群体编程新人,那么你要做好准备,花一些时间习惯,就像你以前进到所有其他的新环境和情境中所做的那样。如果你是一名外向的人,并且是一名团队新成员,那么你要有豁达的心胸,那些你认为不太友好且冷淡的人,可能只是尚未敞开心扉的内向的人。

    Chris Holmes最近写了一篇有关群体编程试验的博文,在文中,他分享了自己在一个英国政府项目上使用群体编程方法的经验。他提到了一些改进方面,其中包括确保比较内向的团队成员不至于太不舒服以致不提出指导意见。

    在尝试了上面提到的一些技术后,Aaron分享了他为什么喜欢成为一名群体程序员:

    我成为一名群体程序员已经将近四年了。如果可以选择的话,我不会采用其他工作方式。群体编程让我成为一名更好的开发人员、一名更好的测试人员、一名更好的领导者、一个更好的人。我不是很确定群体编程的哪个方面吸引了我这样一个内向的人,但我有个想法。外向的人将亲密的朋友关系看得很重,并且极度忠诚,我认为,就是那个把我引入了群体编程。

    英文原文链接:

    • http://www.infoq.com/news/2016/03/mob-programming-introvert

    扩展阅读:

    送书彩蛋!

    感谢人邮出版社异步社区和图灵教育的大力支持!每天为InfoQ读者免费送出5本好书,一直送到世界读书日!书籍是人类进步的阶梯,跟小Q一起好读书,读好书吧!

    参与规则:很简单!请于本文评论区留下足够打动小Q的真知灼见,对书的或是对文章的均可。评论被赞最多的5个人,即是中奖用户。



    本文系InfoQ原创首发,未经授权谢绝转载。

     
    InfoQ 更多文章 年前挖的坑都填了吗?技术债务偿还计划 程序员VS武林高手:技术为外功,思维乃内力 腾讯游戏大数据服务场景与应用(附PPT) 偷师饿了么:怎样用HTTP/2优化iOS APP网络层次架构? 作为高颜值的女程序员是一种怎样的体验?
    猜您喜欢 【福利】敏捷思维、高并发挑战、数据库瓶颈如何突破? 毕业了,去大公司实习还是去创业公司实习好? 加入我们,成为 Python 黑客 【测试总结】第一次编写测试用例总结 软件项目免坑指南