acm-header
登录

ACM通信

给编辑的信

愿计算力与你同在


致编辑的信,插图

来源:iStockPhoto.com

在复杂性理论中,有许多关于“在我们感知之下的更深层次的现实”的开放问题,可能与Yannis Papakonstantinou的观点“创建的计算宇宙”(2015年6月)相关,甚至是基本的。假设我们熟悉的宇宙确实是一个模拟宇宙,而不是所有可能宇宙中最好的。如果指数时间假设是正确的,运行模拟的实体可能会反驳模拟非最优宇宙的伦理指控,指出如果不有效地运行大量的模拟,就无法为这样的宇宙找到最优参数,而大多数模拟都将启动非最优参数。

假设指数时间假设是错误的。如果一个实体希望在给定的初始状态的概率分布上,为盟军赢得二战的概率找到一个合理准确的值,可以使用近似计数和次指数SAT求解器,在较短的时间内计算出这个概率的近似值,这比运行足够多的模拟来获得同样的精度所需的时间要短得多,也许在假设下,在一些参数选项集中模拟结果有很好的局部近似。然后,它可以辩称,它是在一个更抽象的层面上工作,而不是在模拟玩家看来毫无理由的暴力,因为它们不是解决计算胜利概率问题的必要条件。

A.G.麦克道尔切本哈姆,英格兰

回到顶部

让程序员在不同语言之间复制代码

在《当软件不受版权保护时》(2015年6月)写给编辑的信中,Marc K. Temin就Pamela Samuelson的观点《Java api的版权重新审视》(2015年3月)说:“……Java api是新的,它们的创建不受其他程序兼容性要求的支配。”虽然这种断言在某种意义上是正确的,因为与程序的兼容性不是必需的,但Java api实际上部分是为匹配标准C库而设计的;例如,根据Java文档,唯一的方法,compareTo的Java接口称为类似的返回“当该对象小于、等于或大于指定对象时的负整数、零或正整数”。的手册页qsortfunction(该函数在1975年5月发布的Unix第六版中定义)表示最后一个参数toqsort是一个指向函数的指针,该函数返回“一个小于、等于或大于0的整数,根据第一个参数被认为小于、等于或大于第二个参数”。

Java方法Math.atan2返回其第一个参数的arctan值y除以第二个论点x,与C库函数使用的调用约定相同量化。C语言使用的调用约定不是最自然的约定,因为C函数用于从直角坐标到极坐标的转换。回想起来会更自然一些x是第一个参数,而不是第二个,因为二维空间中点的传统顺序对表示法。然而,那些设计相应Java类的人将兼容性作为一个更重要的目标,而不是纠正一个可以说是次优的选项。

同时,Java类的API文档格式化程序Java语言的格式化打印很大程度上受到C语言的启发printf对于那些在1995年Java第一次发布时就在Sun微系统公司的人来说,这句话并不奇怪。几乎Sun的每个程序员都使用c语言,保持两种语言库之间类似接口的一致性可以减少学习曲线,这对于获得程序员的接受是非常重要的。一致的接口几乎可以肯定地减少了程序员每天在两种语言之间多次切换所导致的错误数量,这可能是由于使用Java本机接口。很容易在不经意间使用其他语言的调用约定。抛开合法性不谈,减少bug可以使软件更可靠,开发成本更低,从而为社会带来巨大的利益。如果版权法不允许这种复制(其主要目的是减少程序员的复杂性),那么应用于api的软件著作权法应该修改。

William t . Zaumen加利福尼亚州帕洛阿尔托

回到顶部

印度女性CS表现为何不同

我希望Roli Varma和Deepak Kapur的文章“解码印度计算机科学中的女性特征”(2015年5月)能开启更广泛的讨论,讨论女性参与计算机科学教育和职业发展的问题,这通常是以美国为中心的。作为一个在IT行业工作过、参与过校园招聘、教过计算机专业本科生的人,并且有很多亲戚都在攻读计算机专业的人,我想说,计算机专业中女性的代表性不足是国家和社会特有的,当然不是普遍的。

自2000年以来,印度软件产业显著增长,当地对计算机专业人员的需求非常强烈。大公司(如Infosys、TCS和Wipro)继续在入门级招聘数千名员工。就应届毕业生的就业机会而言,印度经济的其他部门与之相去甚远。与此同时,学医的机会——印度优秀女学生的传统目标——仍然受到限制,而且费用高昂。在高中成绩优异的女学生因此越来越多地选择计算机科学本科课程。

大多数印度家庭不知道CS或IT工作的构成,但他们认为这些工作报酬高,工作环境好,IT专业人士可以出国旅行,因此影响了大学生选择工程专业的选择。在软件繁荣之前,想学工程的女生主要喜欢电子或相关专业。很少有女孩选择土木或机械工程专业,因为在印度家庭中,这些学科通常是一份不受固定时间表限制的体力劳动。

在印度的大学里,CS班的男女比例约为60比40,在IT公司的入门级也保持着同样的比例。在人力资源方面,在印度的IT公司工作超过4年的女性所占比例较低,因为她们中的许多人为了家庭而牺牲了潜在的职业。

在印度,高中考试、甚至本科工程考试的优秀学生名单上,女性学生的比例都很高。男性在某些职位上占主导地位,包括系统架构师、软件工程师和数据库管理员,这些职位需要对CS有深入的知识和理解。如今,入门级IT职位的入职人数呈下降趋势,加上多年来首次出现裁员,女学生再次倾向于电子专业。

研究人员应该研究与印度类似的国家的计算机科学教育中女性学生的比例。他们还应该将美国和其他国家在CS和IT领域的高级职位和高级技术职位上的女性比例进行比较。在漫长的职业生涯中,我看到印度的IT教育和工作继续强调绩效,在任何讨论、评估、任命或成就中都没有种姓因素。

NK梅塔,印度班加罗尔

回到顶部

当“足够”胜过“足够”

Logan Kugler的新闻故事“‘足够好’的计算机足够好吗?”(2015年5月)提醒我,这种推理和计算的启发式方法是软件开发的基础。作为计算机科学和软件工程的年轻学生,我们被教导说,我们的工作产品的“绝对完美”是一个难以实现的目标,因为任何有意义的算法解决方案的开发过程都是迭代和优化的。

虽然看起来很业余,但“Hello World”的迭代改进实际上可以产生一个有用的产品。但是客户需求不断变化,影响了产品特性的预期基线。即使当软件产品的变更经理说:“不再!,因此确定了需求,客户最终需要和想要的东西与开发人员在给定开发周期中可以交付的东西是不一致的。尽管基于商定的特性集进行了验证和验证,工作产品仍然不可避免地不完美。

“足够好吗?”这是所有开发者在面对源源不断的需求时都应该问自己的问题。他们必须确定优先级,评估交付需求,并估计与每个活动相关的工作。当要求太多时,他们应该“押注”一些任务,并接受没有完成任务的后果。这句“哦,算了吧!”,即AFI,算法,减少一个人的工作负担,是防止开发人员过载的必要条件。当任务流是算术、逻辑单元计算或web服务器请求时,服务质量要求可能不能确保处理每个指令或查询。

计算“正当需要时”(JWN)的主题是在我今年早些时候参加的奥马哈地区Java用户小组中出现的,是由关于Web事务的反应性编程模型中的处理的讨论引发的。该小组承认,任何服务器请求,只要附带一个“性能合同”,说明用户期望Web服务器在该请求上工作多长时间,就可以让服务器决定是否忽略它。这种工作负载限制的替代方案可以在流量高峰期间极大地减少Web服务器的负担。低优先级线程中的进程可以维护所需的元信息,包括可用服务的平均工作和等待时间,以便做出这些决策。Kugler所描述的工作的相似之处很有趣,因为处理的目标不是“完美的”,而是“可接受的”性能。

考虑到研究实际上是对现有想法的“研究”和“重新评估”,AFI和JWN的概念确实并不新鲜。拥有类似学术培训的开发人员得出了共同的结论,大多数研究实际上只是对旧的、基本的、抽象的概念的重新梳理。作为AFI和JWN的超集,“足够好吗?”概念是所有处理领域的原型。它降低了服务器电路和大脑有机神经网络的能量消耗。说“足够好”不仅意味着它超越了“好”,甚至接近“完美完成”。

杨晨夏普,奥马哈市

回到顶部

脚注

通信欢迎你的意见。给编辑的信,请限制在500字或以下,并发送到letters@www.eqigeno.com


©2015 0001 - 0782/15/09 ACM

允许为个人或课堂使用部分或全部作品制作数字或硬拷贝,但不得为盈利或商业利益而复制或分发,且副本在首页上附有本通知和完整的引用。除ACM外,本作品的其他组件的版权必须受到尊重。允许有信用的文摘。以其他方式复制、重新发布、在服务器上发布或重新分发到列表,都需要事先获得特定的许可和/或费用。请求发布的权限permissions@acm.org传真(212)869-0481。

数字图书馆是由计算机协会出版的。版权所有©2015 ACM, Inc.


没有发现记录

Baidu
map