adv

adv
solidot新版网站常见问题,请点击这里查看。
程序
WinterIsComing(31822)
发表于2014年09月29日 10时20分 星期一
来自
极客 写道 "编译器通常被看作是十分复杂的工程。事实上,编写一个产品级的编译器也确实是一个庞大的任务。但是写一个小巧可用的编译器却不是这么困难。 秘诀就是首先去找到一个最小的可用工程,然后把你想要的特性添加进去。这个方法也是Abdulaziz Ghuloum 在他那篇著名的论文《一种构造编译器的捷径》里所提到的办法。不过这个办法确实可行。你只需要按照这篇论文中的第一步来操作,就可以得到一个真正可用的编译器!(英文中文)"
GNU
WinterIsComing(31822)
发表于2014年09月26日 16时56分 星期五
来自历史课
源自BSD世界的strlcpy()函数家族是为了解决strcpy()及相关函数的安全问题而创造出来的,在GNU C Library (glibc)中引入Strlcpy()函数是glibc历史上持续时间最长的请求之一,但维护者一直拒绝加入。如今情况有望发生改变。strcpy()函数由于不执行字符长度检查而会导致缓存区溢出和安全问题,strlcpy() 创造出来就是为了确保所有字符串都是以null结尾。2000年,Christoph Hellwig递交了在 glibc中加入strlcpy()和strlcat() 的补丁,维护者Ulrich Drepper断然拒绝,称它是一个无效率的BSD垃圾,会带来其它问题,使用strcat 或strlcpy的人应该受到惩罚。Christoph在象征性的抗议后放弃了,但其他人没有,他们反复递交请求反复被拒绝。14年后,glibc仍然没有strlcpy()。然而,glibc项目的管理自2012年以来发生了很大的改变,对新功能的引入更加开放,开发者已经表示会合理的考虑strlcpy()实现。
程序
WinterIsComing(31822)
发表于2014年09月26日 09时48分 星期五
来自
极客 写道 "大部分开发者都认为自动垃圾回收器是理所当然的。实际上,这只是语言运行时提供的一项实用功能,旨在简化我们的开发工作。 但是如果尝试着了解垃圾回收器的内部原理,你会发现很难弄明白。除非熟悉它的工作流程和错误处理方式,否则内部成千上万的实现细节会让你不知所措。 Ken Fox 做了一个动画工具并专门写了一篇文章(英文中文),可以展现 5 类重要的垃圾回收算法。"
程序
WinterIsComing(31822)
发表于2014年09月22日 10时20分 星期一
来自黑客的基本素养
极客 写道 "这是 HN 和 Reddit 前几天的一个热门内容,土耳其安卡拉的一位技术人员应聘一个“软件安全工程师”岗位。面试时,公司问了他一些“低级”问题,虽然作者答出来了一些,但还有一些不行。最有意思的部分,是公司给他发的一封邮件,其中包括了一个已加密的程序,需要作者来破解。作者成功破解并被录取了,这是他后来写的一篇文章中文译文)。"
Netscaps
WinterIsComing(31822)
发表于2014年09月21日 21时50分 星期日
来自Javascript是恶Eich是恶人
Brendan Eich谈论了Javascript的起源。谈Javascript当然免不了谈Netscape公司。Netscape由Jim Clark和Marc Andreessen创建,最初是试图开发一个杀死Mosaic的杀手级浏览器,Netscape一开始不叫Netscape而叫Mosaic Communications,这显然会引起商标上的纠纷,所以很快改名。Netscape确实杀死了Mosaic,完全统治了浏览器市场。Eich是在1995年4月加入Netscape,当时Netscape 1.1已经发布。Eich是被请来开发运行在浏览器上的编程语言,是基于Scheme,而Eich是通过《Structure and Interpretation of Computer Programs》这本书学会了Scheme。结果到了Netscape后他被告知Netscape正与Sun合作在Java基础上开发新的语言,不要Scheme了。JavaScript的开发代号是Mocha,Eich认为Java并不适合被业余程序员或新手使用。他最后设计的JavaScript与Java没有多少共同点,而由于与Sun的合作,JavaScript实际上是Sun的注册商标(今天该商标由甲骨文继承),而Netscape获得JavaScript的永久使用权(今天由Mozilla继承)。Eich说,他以前用的是Emacs后来换到了Vim。
程序
WinterIsComing(31822)
发表于2014年08月20日 18时40分 星期三
来自小幅度变化
ISO C++14标准已经完成制定,正式的官方规格将于今年晚些时候发布。C++ 作者Bjarne Stroustrup称,主要的编译器开发商已经实现了C++14规格。C++14是C++11的增量更新,主要是支持普通函数的返回类型推演,泛型lambda,扩展的lambda捕获,对constexpr函数限制的修订,constexpr变量模板化,等等。
程序
WinterIsComing(31822)
发表于2014年08月11日 20时42分 星期一
来自NSA后门植入
如果你是一名Web开发者,你最喜欢哪种编程语言? CSS? JavaScript? PHP? HTML 5?为什么选择这种语言?卡内基梅隆大学的研究人员现在开发出一种新的语言,试图将所有这些语言结合在一起。新的语言被称为 Wyvern——以一种神话中的双足飞龙名字命名,让Web开发者使用一种语言去设计Web应用和网站。研究人员指出,今天的Web应用程序是用多种不同的语言编写的,如客户端JavaScript,HTML结构,CSS样式,Ajax通讯XML,Java,纯文本配置文件,数据库软件,等等。复杂性和学习成本大大增加,安全性也难以得到保障。Wyvern的开发得到了NSA的资助,源代码采用GPLv2许可。
程序
WinterIsComing(31822)
发表于2014年07月04日 16时00分 星期五
来自树大乘凉
devspaper.com 写道 "知名nodeJS框架Express的作者TJ Holowaychuk在Twitter发推并链接了自己的一篇文章,宣布弃nodeJS投Go。"他给出的理由是:Go语言和Rust、Julia等都是众多的下一代语言之一,虽然不能说它是最好的语言,但已足够成熟和稳健,用Go语言开发的系统性能更好,更容易维护,错误处理等方面也更出色。
程序
WinterIsComing(31822)
发表于2014年07月02日 12时02分 星期三
来自甲骨文收费
IEEE Spectrum通过跟踪Google搜索和趋势、社交网站如Stack Overflow、Twitter、Reddit和Hacker News上的相关讨论,GitHub上的项目,以及工作招聘等信息,分析了49种编程语言的流行度,公布了它的2014年编程语言排行榜:无论是Web、还是移动、企业级和嵌入式,Java都是最流行的语言。Web类别的最流行语言是:Java、Python、C#、PHP、Javascript、Ruby、PERL、HTML、Scala和Go;移动类别是:Java、C、C++、Python、C#、Javascript、Objective-C、Scala、Delphi、Scheme和Actionscript。综合排名:Java、C、C++、Python、C#、PHP、Javascript、Ruby、R和MATLAB。
程序
WinterIsComing(31822)
发表于2014年06月26日 12时42分 星期四
来自边编译边喝咖啡
将程序编译到机器可执行代码是程序员生活中的一个重要部分。如果编译失败,程序员将需要花额外的时间和脑力去发现和修正错误,从而影响他们的工作效率。如果能更好的理解常见编译错误发生的原因,这将有助于提高程序员的效率。Google、香港科技大学和内布拉斯加大学的研究人员分析了1.8万Google工程师在2012年11月到2013年7月之间的超过2600万次编译,他们发表论文(PDF)阐述了编译失败的频率、原因和修正错误所花的时间。他们发现,编译失败率与编译频率或开发者经验无关;绝大多数编译失败是依赖相关;C++产生的编译错误高于Java,但修正时间更短——C++代码的平均失败率为38.4%,Java为 28.5%,C++代码中语法错误的频率更高,因此解决错误的时间也更短。
程序
WinterIsComing(31822)
发表于2014年06月24日 10时18分 星期二
来自ads插件干什么用的
huzheng 写道 "词典软件StarDict发布了3.0.5版。主要新变化包括:更新哈萨克翻译、更新俄语翻译、更新OSX版本,广告插件(advertisement plugin),等等。StarDict支持Linux、FreeBSD、Solaris和Win32"
Idle
WinterIsComing(31822)
发表于2014年06月23日 14时54分 星期一
来自愚蠢的用户
美国达拉斯警方淘汰了使用了30年的旧系统,从今年6月1日起正式启用新的档案管理系统。新的系统由 Intergraph公司开发,存在一系列问题,包括性能问题,使用习惯问题,等等。没有经过训练的警察无法快速上手。结果是:由于警方需要更长时间学习使用软件,因此没有时间对关押的囚犯立案,法律规定如果在三天时间没有起诉关押的犯罪嫌疑人,那么被关押囚犯将被释放。有20多名囚犯将因为这一原因被释放,其中包括了多名犯有严重暴力犯罪行为的囚犯。法官Rick Magnis说,美国宪法规定,你不能没有指控而关押人。
程序
WinterIsComing(31822)
发表于2014年06月17日 14时54分 星期二
来自榔头镰刀
计算机文字编码标准Unicode发布了v7.0。7.0新增了2834个新字符;23种全新文字(主要是扩展支持北美、中国、印度等地较少使用的文字和历史文字);两种新的货币符号——阿塞拜疆使用的马纳特(Manat)和俄罗斯等国使用的卢布;增加约250个图形表情符号(如图);增强婆罗米系文字属性,约3000个新的广东话发音条目,等等。
程序
WinterIsComing(31822)
发表于2014年06月10日 09时32分 星期二
来自哈希因数分解
极客 写道 "不久前的某一天,Marcos Otero在浏览Reddit发现了一篇有趣的文章《统治世界的十大算法》,作者George Dvorsky在那篇文章中试图解释算法之于当今世界的重要性,以及哪些算法对人类文明最为重要。 如果你已经学过算法的话,那么在你阅读那篇文章时,你脑海中所浮现的第一件事也许是“作者是否明白算法是什么?”或是“Facebook的新闻提要是一种算法?”,因为如果Facebook的新闻提要也算是一种算法的话,那么最终你可以把几乎所有的东西都归类为算法。因此,Marcos Otero 写一篇文章中文),他在本文解释了什么是算法,以及哪十个算法是真正统治世界的。"
程序
WinterIsComing(31822)
发表于2014年06月04日 11时50分 星期三
来自没有13
微软发布Visual Studio 14社区技术预览版,主要目的是希望从社区获得反馈。Visual Studio 14正式版计划在2015年发布。14不是一个正式名字,只是一个内部版本号,上个版本VS 2013的内部版本号是12。VS 14的主要新特性包括: .NET编译器平台Roslyn、ASP.NET vNext,Apache Cordova,支持更多C++ 11标准特性。Cordova是一个使用HTML、CSS和JavaScript构建iOS、Android和Windows应用的工具链。Roslyn是一个开源编译器即服务平台,其中C#代码重构支持加入了内联临时变量和引入解释变量,Visual Basic首次加入了重构支持。
程序
WinterIsComing(31822)
发表于2014年05月29日 11时25分 星期四
来自github
分布式版本控制系统Git正式发布了v2.0.0版,新版带来了大量的子命令改进,性能改善和bug修正,git push将默认使用simple模式,用户可以配置push.default修改默认模式。详细变化可阅读发布公告。Git是Linus Torvalds开发的替代私有BitKeeper的分布式版本控制系统,在2005年推出之后它已经成为最流行的版本控制系统。Eclipse基金会去年报告称,超过36%的专业软件开发者使用Git作为主要的源码控制系统。
数学
WinterIsComing(31822)
发表于2014年05月28日 16时18分 星期三
来自不能强求经济学家写程序
魁北克大学计算机科学教授Daniel Lemire认为重要的工作不应该用电子表格程序。Lemire教授说,他嫉妒经济学家,因为经济学家总是能写出畅销书,最近的一个例子就是Thomas Piketty的《21世纪的资本》,如果你没听过这本书,那么书中的观点一言以蔽之就是:资本的收益高于薪水的增长,导致的结果是财富不平等的加剧,富人愈富穷人愈穷。这个观点称不上新颖。许多人都提出过类似的说法,然而很少有人能给出证明。但Piketty使用了复杂的数据去支持他的观点,他使用电子表格程序Excel去处理数据,没有特别去写一个软件。Piketty公开了他的Excel代码,结果被人发现了许多错误,包括原始数据转录错误和公式错误。Lemire认为这并不出人意料,电子表格程序长于快速处理脏活,而不是设计用于严肃的工作。电子表格程度的代码非常难以检查,但如果其他人也难以细致审查,你如何确保你的工作是可信的?
程序
WinterIsComing(31822)
发表于2014年05月22日 17时25分 星期四
来自推销Chrome
Google研究员发布了第一个基于浏览器的量子计算机模拟器Quantum Computing Playground,模拟器是基于WebGL,在一个简单的IDE界面中模拟GPU加速的量子计算机,支持用脚本语言编写调试代码,可视化2D和3D量子态,根据电脑的GPU可模拟最多22个量子比特。传统电脑的比特要么是0要么是1,而量子比特可以处于0和1的叠加态。如果有N个量子比特处于叠加态,那么它们将有2^N个组合。
科学
WinterIsComing(31822)
发表于2014年05月21日 19时00分 星期三
来自全球挑战
《连线》报道,大强子对撞机的物理学家希望程序员帮助他们开发揭示希格斯玻色子属性的程序。如果成功的话,你有望获得一笔小额奖金和难以估量的名气。名为希格斯玻色子机器学习挑战的项目将向开发出最佳算法的程序员提供7000美元的奖金。粒子的一个关键属性是衰变成其它粒子的概率。大强子对撞机的ATLAS探测器实验最近观察到希格斯玻色子衰变成两个τ粒子的信号,但衰变信号非常微弱,淹没在背景噪音之中。希格斯玻色子机器学习挑战的目标是利用先进的机器学习方法将信号从背景噪音中孤立出来。开发改进搜索的算法不需要程序员有粒子物理学的知识。算法效果最显著的程序员将可以获得7000美元,第二名获得4000美元,第三名2000美元。
书籍
WinterIsComing(31822)
发表于2014年05月14日 22时54分 星期三
来自怪不得写书的时间越来越长
黑水河之役 写道 " 在Conan O'Brien主持的深夜秀节目中,《冰与火之歌》作者乔治.马丁表示他的写作工具是WordStar 4.0 for DOSWordStar诞生于1978年,是八十年代早期到中期占市场统治地位的文书处理软件,4.0版于1987年推出,在微软office崛起后WordStar逐渐淡出市场。乔治.马丁有两台电脑,一台用于收发电邮、交税等,另一台用于工作,运行DOS操作系统。使用古董软件原因是乔治.马丁不喜欢现代文书处理软件的自动功能,比如在某些地方自动进行大小写转换,而WordStar功能刚好,不多不少。"