致长期以来一直关注solidot的海内外朋友,请点击这里查看。
程序
AnkhMorpork(36532)
发表于2016年02月14日 22时10分 星期日
来自男性偏见
GitHub是最大的开发者社区,拥有超过1200万用户。GitHub用户个人简介不显示性别,但他们的Gmail电子邮件相关联的G+账户上有性别信息。计算机科学研究人员利用这一方法识别出1,426,121位GitHub用户的性别,然后分析了他们向开源项目递交的pull request以及维护者是否接受他们贡献的代码。结果出乎意料,虽然女性开发者的数量比较少,但她们递交的代码比男性开发者更可能被接受研究报告发表在《PeerJ》期刊上。分析显示,78.6%女性的pull request被接受被合并到项目代码中,而男性是74.4%;有四分之一女性开发者的pull request被几乎100%接受,而只有13.5%的男性的pull request被几乎100%接受。一种可能的解释是:留在软件开发领域的女性可能能力更出色,而缺少能力的女性开发者多转行了。对开源领域的女性研究发现,她们更可能拥有硕士或博士学位。
程序
AnkhMorpork(36532)
发表于2016年02月04日 07时40分 星期四
来自
匿名读者 写道 "D语言是目前几大新兴系统编程语言里最成熟的一个。当几年前D2.0宣布不向下兼容时,许多开发者放弃了D语言。以至于D语言社区的活跃度锐减。但是随着近年来D语言不断成熟,越来越多的开发者重新开始使用D语言,在TIOBE排名再次上升到了前20目前D语言的TIOBE评分比go语言和rust高5倍。关于这3种语言的比较可以看这篇文章。"
程序
AnkhMorpork(36532)
发表于2016年01月22日 11时48分 星期五
来自mozilla的未来
Rust编程语言项目发布了v1.6。Rust语言采用了类似浏览器的快速发布周期。Rust 1.6的最主要变化是libcore库稳定了。Rust语言的标准库有两层:一个较小的核心库libcore,以及一个完整标准库 libstd。libcore是一个平台无关库,仅仅需要一小部分外部字符去定义。libstd是基于libcore构建,加入内存分配、I/O和并发支持。使用Rust开发的嵌入式应用程序和操作系统底层程序通常不使用libstd,而只使用libcore。libcore稳定是Rust的一个重要里程碑,开发者现在可以用稳定版Rust去开发底层应用程序。
程序
AnkhMorpork(36532)
发表于2016年01月04日 11时33分 星期一
来自RIP
丹麦籍图灵奖得主Peter Naur于1月3日去世,享年87岁。Peter Naur最早是一名天文学家,在遇见计算机后他改变了职业,从1969年到1998年长达30年里他是哥本哈根大学的计算机科学教授,他是BNF(Backus-Naur Form)范式中的N,参与开发了ALGOL 60编程语言。他发表了大量计算机科学主题的文章和论文,其中包括《Programming as theory building》等。
程序
AnkhMorpork(36532)
发表于2015年12月16日 10时27分 星期三
来自变量1,2,3
匿名读者 写道 "计算机科学里两件最难的事:缓存失效和命名。Codelf通过搜索在线开源平台Github, Bitbucket, Google Code, Codeplex, Sourceforge, Fedora Projec的项目源码,帮开发者从中找出已有的匹配关键字的变量名,从而帮助为变量名苦恼的开发者命名。这个搜索服务支持直接搜索中文。

Codelf 由前网易前端工程师知名移动前端调试工具MIHTool的作者基于searchcode和有道词典开发完成。目前开源在Github上。"

程序
AnkhMorpork(36532)
发表于2015年11月19日 17时58分 星期四
来自儒略
摩尔基金会向Julia编程语言捐款60万美元,以资助开发团队加快进度开发出生产版本。Julia是一个数值和科学计算的动态语言,结合Matlab和R的长处,易于编程,提供了类似C语言的性能。Julia于2012年发布了第一个版本,最新稳定版本还是0.4。这笔捐钱将在两年内拨给Julia开发团队。该基金会的一个目标是创造出更高效更强大的科学计算工具去帮助数值驱动的研究。
程序
lx1(25847)
发表于2015年11月04日 18时46分 星期三
来自 Linus要被打入地狱
Google开发者Andrew Gerrand发表了Go社区行为准则提议,提议中的部分行为准则条款和示例引发了争议。一个例子,一名开发者评价另一个人是白痴,受到管理员(或叫moderator)警告后仍然坚持自己没有错,那么管理员可以封杀他;另一个例子,有人说了这样的话“Go的类型系统是如此简单,连我的祖母都能理解”,这句话被批评边缘化了女性和长者,也就是政治不正确,如果发帖者道歉了,那么问题就解决了;第三个例子,一位女性开发者宣布了 Go-to-Forth编译器,有人留言称赞了她的工作,但强调了女性这个性别特征,结果激发了这名女性开发者的女权观念,留言者需要向她发邮件道歉。类似有争议的示例还很多,对违反行为准则的人的惩罚还包括通报批评、永久性或临时性的封杀。
程序
lx1(25847)
发表于2015年10月28日 16时08分 星期三
来自粗略估计
伯乐 写道 "全球有多少 C/C++ 程序员?Java、Python、PHP、JavaScript 程序员又有多少呢?哪些行业 C++ 用的最多?用 C++11 的程序员有多少?GCC 是最热门的 C++ 编译器么?看完这篇文章你就知道这些答案了。"
程序
lx1(25847)
发表于2015年10月22日 20时24分 星期四
来自微软想要你使用
微软在11月释出的Visual C++更新将整合Clang开源C和C++编译器,开发者将可以用Clang编译Windows应用程序。Visual Studio 2015已经整合了Clang编译器,但它是被用于Android和 iOS上的应用开发,而这一次整合是用之开发Windows程序。Visual C++由多部分构成,其中包括前端编译器,用于生成代表程序内容的抽象语法树;后端编译器则读取抽象语法树生成执行代码。前端编译器称为C1,后端称为 C2,由微软的不同团队开发。最新的整合将用Clang取代C1,后端继续用C2。微软推出Clang/C2 for Windows的目的是改进跨平台支持。
程序
lx1(25847)
发表于2015年10月13日 11时55分 星期二
来自C+++
伯乐 写道 "2011年10月,我们失去了两位对业界有巨大影响的人:C 语言之父丹尼斯·里奇和乔布斯。不可否认,乔布斯带给我们世上从未见过的创新和标志性的产品,但是苹果和乔布斯以及很多其他公司所创造的“神奇”产品,和所有现在我们了解和写在现代计算里的东西,都要归功于丹尼斯·里奇。在丹尼斯·里奇离世 4 周年的之际,Jason Perlow 写了一篇纪念文章中文)。"
程序
WinterIsComing(31822)
发表于2015年09月18日 11时51分 星期五
来自版本号即将超过Go
Rust编程语言发布了v1.3稳定版。主要变化包括:改进了性能,加入了Rust编程指南电子书《The Dark Arts of Advanced and Unsafe Rust Programming》,新的稳定API如Duration API,子字符串匹配使用了更高效的算法,更快的零填充方法,更快的Read::read_to_end 实现,等等。Rust编程语言采用了类似浏览器的六周发布周期。
Google
WinterIsComing(31822)
发表于2015年09月17日 15时38分 星期四
来自如果这个代码库给毁了
Google的互联网帝国是建立在软件之上,但它的软件规模究竟有多大?在本周硅谷举行的一个工程会议上,Google的Rachel Potvin回答了这个问题,她称构建Google互联网服务的软件大约有20亿行代码,这涵盖了搜索、地图、Google Docs、Google+、YouTube及其它所有Google互联网服务。相比之下,微软的Windows系统大约有5000万行代码。所有的Google代码都储存在一个单一的源码库内。Potvin称它可能是世界上最大的单一代码库。它只开放给公司的2.5万名程序员访问,有自己的版本控制系统叫Piper。Potvin说,搜索引擎算法等敏感代码储存在单独的库内,只开放给特定雇员访问。Piper库的容量大约为85TB,2.5万工程师每天会递交4.5万次commits,每周修改25万个文件的1500万行代码。
程序
WinterIsComing(31822)
发表于2015年09月10日 19时58分 星期四
来自千核万核
在现代的多核芯片中,每个核心都有自己的小的内存高速缓存,用于储存常用数据,而整个芯片还有一个大的共享高速缓存,所有核心都可以访问。如果一个核心试图更新共享缓存中的数据,其它访问该数据的核心都需要知道。共享缓存有一个哪个核心拷贝了哪些数据的目录。共享缓存的很大一块被这个目录占据着。在64核芯片中,目录占了12%的共享缓存。随着核心数量的增加,这个比例还会逐渐增长。128核、256核心乃至上千核的芯片需要更有效的方法去维持缓存一致性。MIT的研究人员将在下个月举行的国际会议上介绍一种新的缓存一致性机制,大大减少目录的占用比例,它与芯片核心数的对数成比例增长。在128核芯片上,新技术需要的内存为旧方法的三分之一。芯片核心越多,效率越明显。在1000核芯片上,新技术比旧技术减少96%的内存。论文第一作者是研究生Xiangyao Yu。
商业
WinterIsComing(31822)
发表于2015年08月24日 12时14分 星期一
来自面向银行
古老的编程语言 COBOL还活着,仍然有很多人为COBOL写代码,而微软想对它进行现代化的改造,简化COBOL程序员的工作。微软的最新集成开发环境Visual Studio 2015引入了Visual COBOL。Visual COBOL包含了COBOL语言的全面支持,含有智能感知、智能编辑、自动完成,代码分析和调试工具等功能。此外,它还允许开发者在其应用中加入 .NET和 C#代码,使他们的程序更具灵活性。
Google
WinterIsComing(31822)
发表于2015年08月20日 17时00分 星期四
来自中国流行Go
Google发布了编程语言Go 1.5版。开发者称,Go 1.5是一个重要版本,包含了大的架构改变,其中包括:用Go语言重写了编译器和运行时,C语言代码被完整移除;垃圾收集器支持并发,显著降低停顿时间;Go程序的GOMAXPROCS默认设置不再是1而是可用的CPU核心数;等等。更多可浏览发布公告。
Mozilla
WinterIsComing(31822)
发表于2015年08月08日 16时14分 星期六
来自六周快马加班
 Rust编程语言发布了Rust 1.2 稳定版和1.3 beta版。Rust 1.2改进了编译性能,引入Parallel codegen,显著改进Cargo性能,支持MSVC (Microsoft Visual C)工具链,动态大小类型(dynamically-sized type)等等。Rust 1.3 beta加入了一本电子书《Rustonomicon》,介绍如何正确写 Unsafe Rust程序;初步支持为Windows XP构建程序,等等。
程序
WinterIsComing(31822)
发表于2015年07月17日 15时53分 星期五
来自程序员晕过去了
卡车/巴士系数是指一个项目在失去多少关键开发者后会瘫痪,失去关键开发者的最少数量就是卡车/巴士系数,系数越高意味着一个项目在发生严重事故后仍然有足够的人能带领项目继续前进。开发者退出有一个短语形容——被卡车/巴士撞了,意思是职业和生活方式变动、婚育、意外伤亡等导致他们停止参与一个开源项目。巴西米纳斯州联邦大学计算机科学系的研究人员发表了一篇论文(PDF),设计了一种方法去计算开源项目托管平台Github上流行项目的卡车系数。他们的方式是从系统中不断移除某个开发者的所有文件,直至超过半数的系统文件没有作者。他们共计算了133个项目的卡车系数,结果显示46%的项目卡车系数是1,28%的项目是2,而Linux内核项目是90,Mac OS X Homebrew包管理器最高159。对Linux项目,许多人有异议,认为Linus Torvalds的重要性被低估了。
Google
WinterIsComing(31822)
发表于2015年07月07日 10时43分 星期二
来自奇虎木马入侵谷歌
奇虎360的软件工程师在Go语言官方博客上发表文章介绍该公司使用Go语言的经验。尽管Google被封杀,但该公司主导开发的Go语言在中国非常受欢迎,而让很多人感到不可思议的是,奇虎是一家受争议的公司,同时还是封杀Google的帮凶。在Go博客文章中,奇虎的工程师称他们从2012年开始使用Go,被用于旗下产品的推送服务。奇虎的产品多为免费,它的收入来源与推送关系密切。奇虎工程师称,基于Go的推送系统最初运行在20台服务器上,有2000万的实时连接,一天发送200万条信息。今天,这套系统运行在了400台服务器上,支持2亿+的实时连接,每天发送超过100亿条信息。
Bug
WinterIsComing(31822)
发表于2015年06月30日 19时12分 星期二
来自如果又发现了bug
在本月美国计算机学会举行的编程语言设计和实现会议上,MIT的研究人员展示了名为CodePhage的系统,它不需要访问应用程序的源代码就能自动修正其bug。CodePhage的工作原理类似于器官替换,有大量的开源项目实行了相同的功能,CodePhage系统就是识别目标软件有故障的组件,然后将“捐赠者”的好组件拼接到目标软件上替换故障组件。但说起来简单实际上很复杂,因为不同的软件使用了不同的编码标准,不同的变量名,不同类型的变量,变量可能是局部的也可能是更高级的,而CodePhage需要识别这些联系,让捐赠的组件能完美工作。研究人员在会议上用CodePhage修复了7个发现bug的开源程序,花费时间从2分钟到10分钟不等。
程序
WinterIsComing(31822)
发表于2015年06月26日 12时29分 星期五
来自版本号大跃进
Rust编程语言项目采用六周的发布周期:在1.0稳定版发布六周之后它正式宣布了1.1稳定版和1.2的beta版。Rust 1.1的主要改进是编译时间,相比1.0版,1.1的编译时间减少了32%。另一个主要改进是编译中产生的错误信息。其它特性包括:新的std::fs API,支持musl,cargo rustc等等。1.2 beta版也将再次改进编译性能,测试显示它的编译时间又比1.1版减少了30%。Rust项目计划在六周之后发布1.2版的稳定版和1.3版的beta。