服务热线:400-889-1636
在线咨询: 
网站建设,网站制作,企业网站建设,网上商城,网站推广,域名注册,求创科技
网站建设,网站制作,企业网站建设,网上商城,网站推广,域名注册,求创科技
首页 求创资讯 软件开发
求创动态行业资讯网站建设网页设计微网站手机网站H5动画系统开发APP开发交互设计微信小程序网站维护
  • 中国软件开发大王:每月薪酬2500万元,估值8000亿,10亿人天天用

    在我们的手机里,微信、支付宝已是两大必备软件。微信像空气一般,无处不在,估值高达8000亿人民币,覆盖中国 96% 以上的智能手机。中国14亿人口,有10亿都在用微信,这种覆盖率,再没有任何一款软件可以做到。有媒体曾经报道称,腾讯的5位最高薪酬人士,总计工资达到了7-8亿多元,而传闻马化腾年薪只有3000多万。其中最高的管理人员在3亿年薪(大概每个月2500万元),超越马化腾足足有10倍,而他就是“微信之父”--张小龙。张小龙1969年出生在湖南邵阳,18岁考入华中工学院(现华中科技大学),一直读到研究生毕业。在大学读书的时候,他白天踩着拖鞋出门,晚上和室友守着酒精炉,边煮泡面边打「双升」。闲暇时,张小龙喜欢到宿舍外的池塘边钓虾,或者看录像、踢足球。唯一令人印象深刻的是,他天资聪颖,学什么都快。和他打台球的人,大多数时候只能抱着球杆,在场边干坐着,等待他失误。1994年毕业,获硕士学位。分配到国营电信单位,觉得枯燥无味,同年跑去了广州工作,从事软件开发。以自己的情怀,开发了一款优秀的国产电子邮件客户端软件——Foxmail。凭借一己之力,做到400万用户,但你要知道那是中国互联网网民总数才不过几千万。2005年,马化腾收购了Foxmail,马化腾看中张小龙的潜力,让他负责收拾QQ邮箱的烂摊子。三年后,张小龙把QQ邮箱起死回生,做成腾讯公司七星级产品。2010年10月,免费发短信的手机应用Kik上线,短短半个月就拥有了100万用户。看到这款软件后,张小龙意识到,新的时代已经到来,连夜给马化腾写了封邮件:将来打败QQ的,一定是移动社交软件,我们应该赶快开发。马化腾还没睡,就回了四个字:马上就做。张小龙带着团队,在广州南方通信大厦10楼写代码。一帮人睡行军床,困了就做俯卧撑提神。当时,张小龙招人的时候,提出一个奇怪的面试问题:面试产品经理,所有技能合格后,他要问:你喜欢摇滚吗?回答不喜欢的,就算了;因为张小龙相信,社交产品都是孤独者发明的,是感性、敏感的人做出来的。在微信团队遭遇瓶颈的时候,张小龙就带着大家一起听摇滚乐,好像脑细胞在震颤,灵魂在狂舞,听嗨了,大家灵感就来了。张小龙管理团队的理念非常崇信小团队运作,对于已经有1500人的微信团队尽可能拆分成小团队运作。因为如果当成10个150人团队的话,它会有非常高的创造力,如果当成整体1500人,他就特别担心它在创造的能力上反而有一些衰退。微信发展到现在,张小龙很有危机感,他明确反对人们把过多的时间花在微信上,他知道,如果现在用户花了很多时间在微信上,将来用户回顾过去的几年,发现一事无成,而原因就在于微信侵占了自己的时间,那么,微信帝国就会一瞬间完蛋。在复杂的时代,张小龙活得专注、朴素,站在客户的需求想问题,做好自己想做的事,把产品做到极致。还像20年前一样,大音希声,一切极简。张小龙目前是中国最富的产品经理,每月收入2500万元。同时,他也是最牛的产品经理,根据腾讯 2017 年 Q1 财报,微信和WeChat的合并月活跃账户数达到 9.38 亿,比去年同期增长 23%;到2018年,微信被估值超过8000亿元,用户数已经超过10亿人。成为当之无愧的中国互联网第一应用软件。

  • 苹果公司软件开发严重滞后 被中国厂商OPPO追赶

    根据KGI证券苹果分析师郭明祺的说法,苹果在创新方面遇到的最大挑战来自软件方面,而不是硬件。“在一些案例中,我们看到苹果在软件开发方面已经严重滞后,这对公司的创新战略来说是一个坏消息。”郭明祺在研究报告中指出。郭明祺举例,苹果在增强现实方面的先机优势已经“明显缩小”,并被中国智能手机厂商OPPO 迅速赶上。他认为,OPPO 只用了6-9个月就追赶上了苹果ARKit 平台。做出这样推断的原因是,将于下个月发布的增强现实版《王者荣耀》会同时支持iPhone和OPPO 的智能手机。“关键是OPPO负责开发API,整合硬件和软件,同时与SenseTime的逻辑算法和腾讯的游戏软件开发团队合作。”郭明祺说。而他以上所指的是两家发展中国家的公司,其中《王者荣耀》在中国拥有超过2亿的玩家。郭明祺补充道,ARKit 在2017 年WWDC 上亮相以来,至今iPhone 和iPad 上没有出现一款重量级应用。整体上看,过去一年中的软件方面苹果并不出色,iOS 11、macOS High Sierra 出现了太多的bug,比如root 权限漏洞,iMessage 问题等。不过这一切可能会在今年改善,今年1月,多份报告声称苹果正计划将重点放在软件平台质量方面,今年的iOS 12、macOS 10.14 会更好的修复Bug、改善性能和稳定性。

  • IT 从业者的必读“启示录”:软件开发的世界末日

    编者按:软件越来越庞大,日益蚕食世界。但是在计算硬件指数性发展了几十年的时间里,软件的开发方式却基本保持不变。随着软件变得越来越庞大,对关键系统的渗透越来越深入,软件正在积累着越来越高的风险,我们如何才能排除那些看不见的定时炸弹,避免软件给世界带来末日呢?《大西洋月刊》的一篇长文对此进行了分析。本文较长,请保持耐心。2014年4月10日晚上,整个华盛顿州的911服务断了6个小时。打电话求助的人听到的都是忙音。当一个陌生人试图闯入自己家时一位西雅图的女性至少拨打了37次911都没打通。后来那人从窗户爬进了客厅,她拿起了一把菜刀那人才逃走了。那次911服务中断是当时有报道最大的一次,原因后来被追查到科罗拉多Englewood市一台服务器的软件上。该服务器由系统提供商Intrado运营,上面保存了一个计数器,记录的是路由给全美911调度员的呼叫数。Intrado的程序员给这个计数器设置了一个阈值上限。他们选择的数字是100万。4月10日午夜过后不久,该计算器就超过了这个数字从而引发混乱。因为这个计数器是用来给每个电话生成唯一标识的,所以新的来电都被拒绝了。同时由于这些程序员并没有预计到会出现这样的问题,他们并没有设置告警来唤起注意。没人知道发生了什么事情。服务着1100万的美国人的华盛顿州、加州、佛罗里达州、卡罗莱纳州以及明尼苏达州的调度中心,努力想要弄清楚呼叫者收到忙音究竟是怎么回事。结果直到早上他们才意识到罪魁祸首是Intrado的软件,而补救措施只需要改变一个数字。不久前紧急呼叫还是在当地处理的。这样的话中断也是小规模的,而且容易诊断和修复。手机的崛起以及新能力带来的希望——比如发短信给911或者发视频给调度员等——推动着依赖于互联网的更复杂系统的开发。结果就是有史以来第一次出现了全国性的911中断。现在这么多年来已经出现过4次了。有个说法是软件正在“蚕食世界”。一度由机械或者人工控制的关键系统越来越依赖于代码。也许没有比2015年的那个夏天更清楚表明这一点的案例了,因为离港系统出了问题,联合航空公司的飞机被迫停飞;纽约证交所在系统升级后交易被挂起;华尔街日报网站的首页崩溃;西雅图的911系统再次宕机,这次是因为另一个路由器出了问题。这么多软件同时失效让人一度以为这是一次联合的网络攻击。但更令人感到害怕的是随后大家才意识到这些都是巧合。研究软件安全达35年的MIT航空工程教授Nancy Leveson说:“我们做机电系统的时候往往会想尽一切办法去进行测试。”因为软件错误导致6位病人死亡的放疗机器Therac-25的报告就是她做的。“我们往往会考虑设备能够做的所有事情,会进入的所有状态。”比方说,控制铁路平交道列车运动的几点联锁的配置就那么多,几页纸就能把整个系统描述清楚,而且你可以把每种配置都实际跑一遍来看看会发生什么。一旦做好测试好之后,你就可以清楚知道在处置的是什么。软件就不同了。只需编辑文件里面某处的文字,同一块硅晶就可以变成自动驾驶仪或者库存管理系统。这种灵活性既是软件的奇迹,也是它的诅咒。因为可以廉价地改变,所以软件总是在变;同时因为它跟现实的一切都是脱钩的——所以占据相同空间的程序可以比另一个复杂上千遍——软件往往会不受束缚地发展下去。Leveson写道:“问题在于我们在尝试建立超过自己管理能力范畴的系统。”软件完全按照我们的指示行事。软件失败的原因在于我们告诉它做了错误的事情。关于工程失败我们标准的思维框架是在二战后不久形成的(在软件出现之前,针对机电系统)。其想法是通过把部件做得可靠(比如引擎可承受40000次起飞与降落周期)以及为那些部件故障做好预案(准备2个引擎)来把东西做得可靠。但软件不会坏掉。Intrado的错误阈值不像导致飞机失事的缺损铆钉。软件完全是按照人的吩咐行事的。实际上软件执行得非常完美。它失败的原因在于它被告诉做了错误的事。软件失败是理解的失败以及想象的失败。Intrado其实是有个备份的路由器的,如果能自动切换过去的话,几乎马上就能恢复911服务。但“当时发生的情况是应用逻辑并没有要执行自动修正行动。”这就是通过代码而不是实体做东西的麻烦。如Leveson总结那样:“复杂性是肉眼看不见的。”现在正在进行的改变软件制作方式的尝试似乎都始于同一个前提:代码实在是太难琢磨了。那么在试图理解这些尝试之前,弄清楚为什么会这样是值得的:是什么让代码对大脑那么陌生,跟之前的东西那么不一样呢?技术进步往往会改变世界的样子——你可以看着道路铺设下去,你可以看到天际线的崛起。但在今天你很难说出什么东西进行着了再造,因为这些东西经常是由代码重构的。比方说,当你踩了汽车油门时,你不再直接控制任何东西;脚踏板与风门之间并没有机械连接。相反,你只是给软件提交了一条命令,给引擎补充多少空气是由后者决定的。汽车就是你可以坐进去的计算机。方向盘和踏板一样可以是键盘的按键。跟一切其他东西一样,汽车也被计算化以促进新功能。当一个程序负责风门和刹车时,在你距离另一辆车太近时它可以放慢车速,或者控制燃油喷射来帮助你省油。当它控制转向器时,它可以在你开始漂移时保持在自己车道内,或者引导你进入停车区。没有代码你实现不了这些功能。你可以试试,没有代码的汽车就会变成庞大的、重达40000磅但无法移动的发条装置。软件让我们做出了有史以来最复杂的机器。但是我们几乎都没注意到,因为所有的复杂性都被包裹进小小的芯片里面以及数百万行的代码之中。但仅仅因为我们看不见复杂性并不意味着它就没有了。著名的荷兰计算机科学家Edsger Dijkstra在1988年曾经写到:“必须思考一个头脑此前从未面临过的概念层级。” Dijkstra把这当成一种警示。随着程序员热切地想要把软件植入到关键系统当中,软件日益成为建造世界的关键——Dijkstra认为他们已经高估了自己。软件工程师并不理解也不关心自己试图解决的问题。变成之所以如此困难是因为它需要你像计算机一样思考。在计算的早期这种陌生感会更加鲜明一点。当时的代码还是0、1的形式。跟这些枯燥数字打交道的程序员与其实际要解决的问题距离实在是太疏远了。你不可能看出他们是在计算火炮轨迹还是在模拟井字棋游戏。像Fortran、C这样的编程语言以及“集成开发环境”的引入尽管有所改变,但却掩盖了这种基本的异化——事实上程序员并不直接解决问题,而是把时间花在给机器编写指令上面。MIT软件安全专家Leveson说:“问题在于软件工程师并不理解也不关心自己试图解决的问题。”原因在于他们太过埋头于让自己的代码可以工作了。她说:“软件工程师喜欢为编码错误提供各种工具。”她指的是IDE。“但软件出现的严重问题其实跟需求有关,跟编码错误无关。”比方说,当你写代码控制汽车的风门时,重要的是何时以及如何打开风门打开多大的规则。但这些系统已经变得太过复杂,任何人脑子里都记不住所有东西。Leveson说:“汽车的代码现在已经超过了1亿行,你无法预料所有的事情。”2007年9月,Jean Bookout载上自己最好的朋友开着一项丰田凯美瑞正行驶在高速公路上,突然油门好像被卡住了一样。她抬脚松开油门,汽车并没有放缓;她试着踩刹车,但却似乎失去了动力。当她以50英里的时速转入匝道时她踩下了紧急刹车。车子划出了一道150英尺长的滑痕然后撞上路边的路堤。乘客在这次事故中死亡。Bookout一个月后才从医院中醒来。这次事故是众多对丰田汽车所谓的突然加速诉讼案中的一起。丰田把事故原因归咎于垫布的糟糕设计、踏板的“粘性”以及司机错误身上,但局外人怀疑该负责的应该是软件瑕疵。美国国家公路交通安全管理局征召了NASA的软件专家来对丰田的代码进行严密的审核。在将近10个月后,NASA仍未发现软件是事故原因的证据——但同时他们也说自己无法证明软件不是。后来有人终于在Bookout事故的诉讼过程中找到了其中令人信服的关联。原告方的鉴定证人Michael Barr有一个软件专家团队花了18个月的时间来研究丰田的代码,捡起了NASA丢下来的东西。Barr把他们发现的东西称为是“面条式代码(spaghetti code,多页嵌套的if语句与for循环,包含大量复制-粘贴的过程代码,且没有合适的分割)”。如果代码一项功能一项功能地堆积起来共生了很多年的话就会变成纠缠不清无法跟踪,跟不用说进行穷尽测试去追查缺陷了。如果软件失灵了也是由同样一套程序处置的话,则这套程序是无法胜任的。Barr的团队利用同款凯美瑞证明了其实车载计算机有超过1000万种方式导致突然加速事故。他们证明了只需一位的翻转(从0变成1或者从1变成0)就能让汽车失去控制。丰田的自动防故障代码不足以阻止这一点。Barr作证说:“你让软件看管软件。如果这个软件失灵了还是由同一套程序或者应用来挽救局面的话是难堪此任的,因为它已经失效了。”Barr的证词为Bookout及其朋友的家庭争取到了300万美元的赔偿。据《纽约时报》,这是针对丰田的诉讼案中首起就电控节气门系统进行的审判,也是丰田首次被发现对突然加速事故负责的案子。后来丰田总共召回了超过900万辆汽车,赔付金额接近30亿美元才了结了相关争端。软件将来还会面临更多的坏日子。我们今后要更擅长做软件就变得非常重要,因为如果不行的话,随着软件变得越来越复杂以及连接更紧密,随着软件控制了更多的关键功能——今后的日子会变得更加糟糕。问题是程序员已经很难跟上自己的创造物。自从1980年代以来,程序员的工作方式以及使用的工具几乎都没什么变化。大家逐渐开始担心这种情况难以为继。微软的IDE工具Visual Studio首席软件开发者Chris Granger说:“即便是非常好的程序员对自己的系统理解起来也很困难。” Granger在微软的时候曾经安排过一次对Visual Studio的端到端研究。这是他唯一完成过的一次类似研究。他用了1个月的时间在单面镜背后观察大家是怎么写代码的。“这些人怎么用工具?如何思考?如何坐在计算机前,有没有碰鼠标?所有这一切都有教条但并没有经过经验测试。”发现令人吃惊。他说:“Visual Studio是全世界最庞大的单一软件之一。它的代码超过了5500万行。我在研究中发现其中98%都是不相干的。也就是说大部分的代码都没有针对大家面临的根本问题。我的最大感受是基本上大家就是在脑子里玩计算机。”程序员就像棋手下盲棋一样——其思维精力都放在想象拼图在什么地方上了,以至于已经没有精力再去思考比赛本身。过去40年计算机每18个月就能力翻番。为什么编程却一点都没有改变?John Resig在自己的学生身上也注意到同样的事情。Resig是著名的JavaScript(有一半网站都是JS编写的)程序员,也是在线教育网站可汗学院的技术领导。2012年初的时候,他一直在纠结于网站的计算机科学课程。为什么学编程就这么难呢?根本问题似乎在于代码太过抽象了。开发软件不像用冰棍棒造桥,你可以看清楚冰棍,可以触摸粘胶。要想“造”程序,你得敲字。当你想改变程序(无论是游戏、网站或者物理仿真)的行为时,你改变的其实是文字。所以程序写得好的学生是那些可以将代码在脑子里过一遍,像计算机一样思考,能跟踪每一次中间计算的人。Resig像Granger一样,开始猜测编程是不是就得这样。过去40年计算机每18个月就把能力翻番。为什么编程却一点都没改变?这两个人同时在相同情况下思考同一个问题并不是偶然。两人都看了同一场演讲,那是计算机研究学者Bret Victor个软件工程学生准备的。演讲在2012年2月被放到网上之后火了,它做出了两个大胆的判断。第一是我们写软件的方式基本上已经坏掉了。其二是Victor知道该怎么修正。Bret Victor不喜欢写代码。他说:“这听起来很怪异。当我想要做东西,尤其是想用软件做东西时,我得排除这种天生的厌恶感,因为我操纵的不是我想做的东西,我只是在文字编辑器写一堆的文字。”“我有着相当强烈的信念认为这么做是错的。”40岁的Victor思维敏捷但为人害羞,有着David Foster Wallace的风采。尽管他管理着一个研究未来计算的实验室,但相对于技术他似乎对利用技术的人的脑子更感兴趣。就像任何好的工具制造者一样,他会从技术和人性的角度去审视这个世界。在那次令他一举成名的演讲上,Victor提出了他的发明原则:“创作者需要跟所创造的东西有直接关联。”编程的问题正是违背了这一原则。所以软件系统会如此难以琢磨,出现的bug会如此这多:程序员从写的第一页文字开始就是跟要做的东西是脱节的。他说:“我们当前对计算机程序的概念是直接源自上世纪50年代的Fortran和ALGOL语言。那些语言是针对穿孔卡片设计的。”现在C或者Java等语言的代码都是屏幕上的字符形式而不是一摞打洞卡片,但还是像过去一样死气沉沉,还是一样的不够直接。在Victor看来,盯着文字编辑器来理解癌症的做法是可怕的。文字处理有一种类比。过去你在编写文档程序里面看到的就是文字本身,要想改变布局或者字体、边距,你得写特殊的“控制码”,或者告诉计算机“这部分文字应该是斜体字”这样的命令。麻烦的是除非你把文档打印出来否则是看不到效果的。你很难预测自己会得到什么。你必须想象代码如何被计算机解释——也就是说,你必须在脑子里运行一遍。然后就出现了WYSIWYG(所见即所得)。当你把一段文字标记成斜体时,屏幕上的文字也会相应倾斜。如果你希望改变边距,你可以直接拖动屏幕顶部的标尺——然后看到改变的效果。文字因此感觉就像是真的,可以随便摆弄的东西。只需要看着你就能知道自己有没有做错。任何人只要能在页面上点击都能对复杂系统——文档布局以及格式引擎——进行控制。Victor的观点是编程也应该如此。在他看来,像设计自适应巡航控制系统或者试图理解癌症这样的重要工作靠盯着文本编辑器看来完成是可怕的。确保有朝一日不需要这样做是程序员的恰当工作。这个并不是什么疯狂的想法。因为有不少先例。比方说Photoshop把强大的图像处理算法交到了甚至不知道算法是什么的用户手中。这是一款非常复杂的软件,但那种复杂就像合成器式的复杂,上面有开关旋钮、按键、滑块等,用户可以像玩乐器一样去学习。Squarespace做了一款工具让用户只需点击就能建立网站,而不是用HTML和CSS写代码。它已经强大到可以做一度只能由专业web设计师才能完成的工作。但这只是一小部分例子。压倒一切的现实是,当有人想要用计算机做点有趣的东西时,他们基本上都必须写代码。身为理想主义者的Victor对此的看法是这不是什么机会,而是大多数程序员的道德沦丧。他的演讲就是战斗号角。演讲的核心是一系列试图表明现有针对各种问题(电路设计、计算机动画、调试算法)的工具究竟有多原始的演示,同时也展现了更好的工具可能的样子。够讽刺的是,抓住了每个人的想象的一个演示却是看起来最为微不足道的一个。演示展示了一个分屏,左边是类似超级玛丽的游戏,右边是控制游戏的代码。随着Victor改变代码,游戏世界里面的东西也会发生变化:他减少了一个数字,也就是重力的强度,然后马里奥的角色就漂浮起来了。他增加了另一个数字,也就是玩家速度,然后马里奥就会疾驰而过。假设你想给游戏设计一关,让主角跳上一只乌龟然后反弹出去。过去游戏程序员往往要分两阶段解决这类问题:首先,你盯住控制马里奥如何跳跃、跑得多快、乌龟弹性如何的代码,然后在文字编辑器进行一些修改,用你的想象力来预测会是什么效果。然后你重放游戏来看看实际会发生什么。Victor希望可以更加直接一点。他说:“如果你有一个及时的流程(指的是马里奥过关的路径),并且想马上看到变化情况,你得把时间映射到空间。”他点击了一个按钮,上面显示的不仅是马里奥现在在哪里,而且也会显示出未来每一刻的位置。此外,这条预测路径还是反应式的:当Victor改变游戏参数(通过拖拽鼠标完成)时,路径的形态也会跟着变。就好像拥有了游戏的上帝视角。整个问题已经简化为玩弄不同的参数,就好像调整立体收音机的旋钮一样,直到你让马里奥完成工作。有了合适的界面,你几乎都不用跟代码打交道,而是直接操纵游戏的行为。观众第一次看到这个时都赞叹不已。他们知道自己看到的不是小孩的游戏,而是这个行业的未来。大多数软件都牵涉到以复杂的方式展现出来的行为,Victor已经表明如果你想象力足够的话,就可以开发出手段来看到那种行为并且改变它,就好像自己动手一样。一位看过这次演讲的程序员随后写到:“突然之间我所有的工具都感觉过时了。”当John Resig看到这场演讲时,他把自己给可汗学院转变的编程教程给废弃了。他希望网站的编程练习能够像Victor的演示一样工作。左手边会是代码,右手边则是运行的程序:这可以是一幅图画,一场游戏,或者一次仿真。如果你改变代码,它马上就会改变画面。Resig这样描述这个方案:“在一个真正响应式的环境里,你可以彻底改变学生学习编程的方式……他们可以马上看到结果,并且在没有明确解释的情况下凭直觉了解到底层系统固有的内在运作方式。”可汗学院已经成为全世界最大的计算机编程课,每个月平均有100万用户在积极地使用这个程序。在微软做Visual Studio的Chris Granger也受到了鼓舞。在看到Victor演讲视频的那段日子里,他开发了一个新的编程环境原型。其关键能力是可以马上对程序的行为提供反馈。你可以在控制系统的代码旁边看到系统是怎么做的。这就好像是脱掉了眼罩。Granger把这个项目叫做“Light Table”。2012年,他在Kickstarter上面为Light Table筹集资金。项目在编程界引起了轰动。在一个月的时间里,项目就募集到了20多万美元。这个想法传播出去了。现场感(liveness)的概念,也就是马上就能看见数据流经程序的情况,随后变成了Google、苹果旗舰编程工具的功能。iPhone和Mac的默认开发语言Swift是苹果为了支持名为Playground的环境而从头开始开发出来的,这门语言正是直接受到了Light Table的启发。但在看到自己的演讲最终产生的影响之后,Bret Victor的希望破灭了。他后来说:“很多东西似乎误解了我说的话。”当大家邀请他出席会议讨论编程工具时,他知道情况不对头了。他说:“每个人都以为我对编程环境感兴趣。”其实他感兴趣的是大家如何看待和理解系统——如他所概括那样,是“动态行为的直观表现”。尽管代码日益成为创建动态行为的工具选择,但仍然是理解行为最糟糕的工具之一。“发明原则”的要点是要表明你可以通过在系统行为与代码之间建立直接联系来缓解这一问题。我不敢肯定代码是否一定要存在。在随后的两场演讲“停止画死鱼”以及“画动态可视化”中,Victor又深入了一步。他演示了两个自己开发的程序——第一个是给动画家准备的,第二个是给试图可视化自己数据的科学家准备的——这两个过去都需要写很多定制代码但现在被简化为WYSIWYG(所见即所得)界面。Victor认为同样的做法几乎可以应用到编写代码解决的每一个问题上面。他说:“我不敢肯定代码是否有存在的必要。或者至少软件开发者有存在的必要。”在他看来,软件开发者的恰当角色是创建工具来消除对软件开发者的需要。只有这样有着最紧迫计算问题的人才能直接把握这些问题而不需要以代码为中介。当然,为了做到这一点,你得让程序员本身买账。Victor在最近的一篇论文中恳求专业软件开发者不要再把自己的天才浪费到开发Snapchat以及Uber这样的app上。他写道:“日常生活的便利性不是重大问题。”相反,开发者应该把关注点放到科学家和工程师身上——“那些人做的工作才是重要的,而且更关键的是,他们使用的工具真的非常的糟糕。”他还写道,像这类令人激动的工作,尤其是一类“基于模型设计”的工具已经在开发当中,而且进行了好几年了,但大多数程序员对此一无所知。“如果你看看自己手上所有的工业用品,包括你自己用的,公司用的,里面唯一不是工业的东西就是代码。” Eric Bantégnie 是Esterel Technologies的创始人,这家法国公司做的是开发安全关键软件的工具。像Victor一样,Bantégnie并不认为工程师应该靠往IDE呼入几百万行代码来开发大型系统。他说:“没人想要手工造一辆车。代码是在很多地方还是手工作坊。如果只是人工敲10000行代码还可以。但有些系统有3000万行代码,比如空客,或者1亿行代码,如Tesla或高端汽车——这些系统就变得非常非常复杂了。”Bantégnie的公司是业界利用基于模型的设计的先驱之一,有了这种工具你不再需要直接编写代码。相反,你创建的是一种描述程序应该遵循的规则的流程图(“模型”),然后计算机会基于那些规则替你生成代码。比方说,如果你要给电梯做控制系统,规则之一可能是当门打开时,有人按下去大厅的按钮时,你应该关上门,然后开始移动电梯。在基于模型的设计工具里,你会用一张小小的图来表示这条规则,就好像在白板上画出这条逻辑一样,做出代表不同状态——如“门打开”、“移动”、“门关闭”等的方框,以及定义如何从一个状态转移到另一个状态的线段。这种图解使得系统规则变得明显:只需看着它你就能看到让电梯移动的唯一办法就是关上电梯门,或者唯一让门打开的办法是让电梯停下来。大家知道怎么写代码。问题是该写什么代码。但这还没到Photoshop那种效果。当然,Photoshop的魅力在于你在屏幕上操纵的图画是最终产品。相比之下,在基于模型的设计中,你在屏幕上的图画更像是蓝图。尽管如此,用这种办法做软件就定性而言仍然跟传统编程有着很大的不同。在传统的编程中,你的任务是将复杂规则转换成代码;你大部分的精力都换在进行这种转化上,而不是考虑规则本身。而在基于模型的方法中,你拥有的全部就只有规则。所以这就是你要花时间考虑的。这样一来你关注机器就会少一点而把更多的焦点放在试图让它解决的问题上。Bantégnie说:“通常软件编码的主要问题——我本人也是编码者——并不是编码者的技能。这些人知道如何去编写代码。问题在于要编写什么代码。因为大多数需求都属于自然语言,是含糊的,一个需求是永远也无法做到极端精确的,写代码的人往往会有不同的理解。”按照这种看法,软件就变成难以驾驭的了,因为媒体描述软件应该做的事情——会话、文字描述、在纸上画画——这些事情跟媒体描述的软件能做的事情,也就是代码本身太不一样了。从一边到另一边中间丢失的东西太多了。基于模型的设计这一想法的背后就是想填补这一鸿沟。表达自己需要什么的系统设计师以及自动生成代码的计算机采用的都是同一个模型。当然,这种办法想要成功的话,有很多工作都需要在项目甚至还没开始前就得完成。得有人首先开发工具来建立大家习惯的模型——那种就像自己平时做的笔记和草图一样的模型——但同时计算机理解起来也不会产生歧义。他们必须开发出一款程序将这些模型变成真正的代码。最后他们还得证明生成的代码永远都会做它们该做的事情。Bantégnie说:“开始20年的后台工作让我们受益匪浅。”2012年被ANSYS收购的Esterel Technologies诞生于1980年代,当时的法国核工业和航空业越来越难以避免bug的问题,因为担心关键性安全代码复杂性问题膨胀而开始了这方面的研究。达索航空的科研负责人Emmanuel Ledinot说:“我是从1988年开始的。那时候,我在做军用航电系统。负责系统集成以及调试的人注意到bug的数量在上升。”1980年代机载计算机的数量出现了飙升,每架飞机上的计算机已经由单台变成了10几台,每一台计算机分别负责控制、导航以及通信相关的、高度专业化的任务。当来自传感器的数据涌入以及飞行员输入指令时协调这些系统控制飞行需要演奏交响乐般的完美反应。Ledinot说:“在合适的时机按照合适的次序处理上百乃至上千的可能事件被认为是bug膨胀的主要原因。”Ledinot由此认定手工编写如此复杂的代码已经难以为继。代码究竟在做什么事情已经太难以理解了,想要验证它是否正确工作几乎是不可能的。为此他要寻找新的东西。他在一次演讲中说:“你必须理解在像这样的过程中更换工具是极其昂贵的。除非你已经无路可退,否则是不会做出这种决定的。”大多数程序员喜欢代码。至少他们理解代码。他开始跟法国计算研究中心INRIA的计算机科学家Gerard Berry合作开发Esterel,这个名字在法语里面是“实时”的合成词。Esterel背后的想法是传统编程语言也许擅长描述按照预定次序进行的简单过程——比如烹饪法——但如果你试图用到大量事件近乎实时以任何次序并发的系统(比如飞机驾驶舱)上面时,就会不可避免地陷入混乱。而控制软件发生混乱是危险的。Berry在一篇论文中甚至预测“低级编程技巧对于大型关键性安全系统来说将是不可接受的,因为它们会导致行为理解和分析几乎不可行。”Esterel的目的是让计算机替你处理这种复杂性。这就是基于模型的方案的希望所在:你不再需要编写一般的编程代码,而是建立系统行为的模型——在这个例子里面,模型关注的是独立事件应该如何处置,如何确定事件的优先次序,哪一个事件依赖于其他的事件等等。模型变成了计算机用来进行实际编程的详细蓝图。Ledinot和Berry 用了整整10年的时间晚上Esterel使之可用于生产。说:“2002年我们有了第一个可自动生成代码的操作型软件建模环境,并且为阵风战斗机生成了第一个嵌入式模块。”今天,ANSYS SCADE产品族已经被广泛应用到航空、国防、核电、交通、重工业、医疗设备等行业的代码生成当中。Esterel Technologies创始人Bantégnie说:“我最初的梦想是让SCADE生成的代码遍布全世界每一架飞机上,现在我们距离这个目标已经不太远了。”包括控制飞机飞行操纵面的系统在内,空客A380几乎所有的关键性安全代码都是由SCADE生成的。我们早已经知道如何让负责软件变得可靠,但在太多的地方我们都选择不这么做。就像Bantégnie解释那样,让计算机而不是人把你的需求变成代码的美妙之处在于你可以确保生成的代码满足那些需求(其实你可以用数学证明这一点)。基于模型的方案大部分好处来自于在能够实时添加需求的同时确保原有需求得到满足;每一次变更计算机都能验证程序仍然有效。你可以随便调整蓝图而不怕引入新的bug。用FAA的话来说,你的代码是可以“在建构的时候修正的”。尽管如此,大多数软件都用传统的方式开发的,甚至在痴迷于安全的航空界也是如此,工程师要写好自己的需求,然后再由程序员用C这样的语言写成代码。正如Bret Victor在论文中表明那样,相对而言基于模型的设计是不同寻常的。Shivappa说:“FAA的很多人认为代码生成是魔术,因此要求进行更严格的审查。”大多数程序员也是这种想法。他们喜欢代码。至少他们理解代码。替你写代码并验证其正确性的工具利用的是数学的“有限状态机”以及“递归系统”,这些东西如果说不是好得令人难以置信的话,那就是晦涩难懂且很难使用。这种事情以前也发生过。只要编程稍微远离写0、1一步,反对声音最响亮的都是程序员。参与阿波罗计划的著名软件工程师Margaret Hamilton(“软件工程”这个术语就是她发明的)说,1964年在MIT的Draper实验室的第一年时,她记得有一次会上一个派别的人跟另一派就从“非常低级的机器语言”过渡到更高级的汇编语言的事情吵个不停。“最底层的人拼命想要保留这种语言。他们的观点都很相似:‘谁知道汇编语言能不能做好啊?’”她说:“一边的家伙吵得面红耳赤,开始大喊大叫起来。”表示自己对“这帮人情绪化如此严重感到吃惊。”你可以不停地做测试,但永远也无法找完所有的bug。达索航空的Emmanuel Ledinot指出,在汇编语言被至今仍流行的语言如C等逐步淘汰的时候,持怀疑态度的却变成了使用汇编语言的那帮人。毫不奇怪,“朝着基于模型的软件开发转变并不容易:他们感觉可能这会又一次失去控制,甚至比已经发生的情况还要糟糕。”基于模型的设计有时候又被称为模型驱动工程(MDE),面前仍面临着根深蒂固的偏见,据一篇最近的论文,“一些人甚至认为调查大家对MDE的看法甚至比研究新的MDE技术的需求还要强烈。”这听起来似乎是个笑话,但对于基于模型方案的支持者来说,这是很重要的一点:我们已经知道如何让复杂软件变得可靠,但为什么在那么多地方我们都选择不这么做呢?2011年的时候,Chris Newcombe已经在Amazon工作了将近7年,并且已经晋升为首席工程师。公司的一些最关键的系统,包括零售产品目录以及管理全世界每一台Kindle设备的基础设施等他都有参与。他是备受赞誉的AWS(Netflix、Pinterest、Reddit等都在上面托管)团队的一名领导。在Amazon之前,他帮助建立了全球最大在线游戏服务Stream的骨干。他是悄悄维持互联网运转的工程师之一。他做过的产品被认为取得了大规模的成功。但他一直都在担心那些系统的设计会成为一颗颗带来灾难的定时炸弹。他在一篇论文中说:“在估计规模达每秒数百万请求的系统‘极其罕见’的事件组合的可能性方面,人类的直觉非常糟糕。人类的易错性意味着其中一些更微妙、更危险的bug原来是设计过程犯的错;代码只是忠实地履行设计想让它干的事情,但设计未能正确地处理一种特别“罕见的场景”。Newcombe确信,真正关键系统——比方说存储很大一部分web数据的系统——背后的算法应该不仅仅要好,而且要做到完美。哪怕一个细微的bug有可能是灾难性的。但他知道找到bug有多困难,尤其是当算法变得越来越复杂的时候。你可以把想做的测试都给做了,但永远也无法把所有的bug找完。很少有程序员在开始编码前绘制自己程序要做什么的草图。这就是他会对一种数学与代码的奇怪混合感到如此着迷的原因。这个东西看起来跟代码很像,它会把算法用“TLA+”来进行描述。令人感到惊奇的地方在于这种描述据说在数学上是精确的:用TLA+编写的算法正确与否原则上是可以证明的。实际上,它可以让你建立问题的现实模型,而且进行的测试不仅是彻底的,甚至可以说是穷尽的。这就是他一直在寻找的东西:一种能写出完美算法的语言。TLA+的意思是“行为时序逻辑(Temporal Logic of Actions)”,其内涵跟基于模型的设计类似:这是一门记录需求的语言——TLA+称之为计算机程序的“规范”。这些规范然后可以由计算机进行完全验证。也就是说,在编写任何代码之前,你就先写出了程序逻辑的简版大纲,以及需要它满足的约束(比方说你要给ATM编程,约束可能是永远也不能撤销账户的同一笔钱超过2次。)。TLA+然后再穷尽检查逻辑的所有可能性是否均满足那些约束。如果不能满足,它会展示违背约束的情况究竟是什么样的。这门语言是由图灵奖得主Leslie Lamport发明的。现在微软研究院就职的他是“分布式系统”理论的先驱之一。其工作为现代web的众多系统奠定了基础。在Lamport看来,今天的软件bug那么多的一个主要原因是程序员直接就跳到写代码这一步了。他在一篇文章中写道:“架构师在砌第一块砖,钉第一颗钉子之前要先画好详细规划图。但很少有程序员会在写代码之前画程序应该做什么事情的草图。”程序员着迷于编码的具体细节,因为代码才是让程序变活的关键;把时间花在任何其他地方似乎都属于分心。而且苦思冥想代码的微观力学还能带来耐心的愉悦,一种沉思的满足感。但Lamport认为,代码永远都无法成为思想的媒介。他说:“当你用编程语言进行思考时,你的思维能力其实是受限的。代码会让你只见树木不见森林:它把你的注意力吸引到单个组件上面,而不是程序拼凑出来的更大图景,或者它应该要做的事情——以及它是否按照你的想法做。”所以Lamport才要创建TLA+。就像基于模型的设计一样,TLA+把你的注意力集中在相同的高级结构、基本逻辑上面,而不是实现那些东西的代码上。Newcombe极其在Amazon的同事还将继续用YLA+来寻找重要系统里面细微但关键的bug,包括被认为是全球最可靠的存储引擎S3背后核心算法里面的bug。现在它已经在这家公司内部得到广泛使用。在这个曾经使用过TLA+的人组成的微小世界里,他们的成功算不上不同寻常。微软的一位实习生用TLA+找到一个可能会导致每一台Xbox在使用数小时后崩溃的bug。欧洲太空总署的工程师用它来重写了一个人类首次软着陆彗星的探测设备的操作系统,而且代码量还只是原来的1/10。英特尔用它来定期校验自己的芯片。不过TLA+只占据了远离主流的小小一个角落,如果说它的确有一席之地的话。即便对于像Newcombe这样经验丰富的工程师而言,这门语言一开始读起来也是非常的离奇难懂——这完全就是符号的大杂烩。在Lamport看来,这是教育的失败。尽管编程诞生自数学,但此后基本上已经与之分道扬镳。大多数程序员对那种数学——逻辑和集合论都不是很熟悉,而这正是TLA+所需要的。Lamport说:“很少有程序员理解非常基本的概念以及这些概念如何应用到实践中,甚至连教编程的老师也是如此。要用比编码更高级的思维去精确思考,而数学其实可以让你的思考更家精确,这种想法完全属于异类。因为他们从来都没学过这个。”我希望如果这些简单的事情都不理解的话就不允许他们写程序。Lamport这种数学思维的失败视为现代软件开发的问题:其风险在不断攀高,但程序员却没有相应提升自己——他们还没有武装到牙齿,无法应对日益复杂的问题。他说:“在15世纪,大家往往在不知道微积分的情况下建教堂,但现在我并不认为不懂微积分的人还可以去建教堂。我希望经过适当长的一段时间之后,那些不理解这种简单事情的人是不允许写程序的。”Newcombe就不是很确定程序员应该承担这种责任。他说:“我从Leslie那里了解到他认为程序员害怕数学。我的发现是程序员并没有意识到——或者并不认为——数学可以帮助他们处理复杂性。发砸星是程序员最大的挑战。”他认为让大家使用TLA+的正在问题在于要说服这帮人这不会浪费他们的时间。就一个物种而言,程序员是彻底的实用主义。像TLA+这样的工具散发着象牙塔的臭气。当程序员遭遇“形式化方法”(之所以这么叫是因为涉及到对程序的数学性的、“形式化”的精确描述)时,其根深蒂固的直觉就是退避三舍。大多数在大学上计算机科学课程的程序员都曾粗略碰到过一些形式化方法。通常会在一些无足轻重的场合进行演示,比如从0开始计数的程序,学生的工作是从数学上证明程序的确是从0开始计数的。Newcombe说:“我得改变大家对形式化方法的看法。”甚至Lamport本人似乎也没有完全把握住这一点:形式化方法存在着形象问题。解决这一点的办法不在于乞求程序员做出改变——要改变的是你自己。Newcombe意识到要想让TLA+这样的工具成为编程主流,你得开始讲他们的语言。首先,他说当他向Amazon的同事介绍TLA+时,会避免告诉对方它代表着什么,因为他害怕TLA+的名字会让他们望而生畏:“行为时序逻辑”恰恰就弥漫着学术界的那股自大的光环,但却令大多数程序员感到反感。他还尽量不用“形式化”、“验证”或者“证明”这样的术语,因为这会让程序员想到乏味的课堂练习。相反,他把TLA+包装成了一种新型的“伪代码”,是迈向真正代码的垫脚石,可以让你对算法进行穷尽测试——而这又让你可以在设计过程尽早进行精确地思考。他写道:“工程师是用调试而不是‘验证’的思路进行思考”,所以他把面向Amazon内部进行的讲座题目叫做《调试设计》。Newcombe不是惋惜程序员用代码来看世界的事实,而是主动去拥抱它。他知道否则的话自己就会失去他们。Newcombe说:“我已经看到一堆人说,‘现在我理解了。’”代码已经制造了一种全新水平的复杂性。同时也让一种新型的失效成为可能。此后他离开Amazon去了Oracle,在那里接着说服新同事给TLA+一个机会。在他看来,使用这些工具现在已经成为了一种责任。他说:“我们需要更擅长这个。”“我是自学的,从9岁开始我就开始写代码,所以我的本能是开始写代码。这是我唯一的思考方式:勾勒轮廓,尝试,然后有组织地演变。”在他看来,这是许多程序员至今仍然采用的方式。“他们google,上Stack Overflow”(Stack Overflow是一个流行的编程相关问答网站),“他们寻找解决其战术性关切的代码片段,然后拼凑起来,不断迭代。”“这种做法无可厚非直到你遇到大麻烦。”2015年夏,美国的两位安全研究人员Charlie Miller和Chris Valasek认为汽车制造商对软件缺陷并未给予足够的重视,于是他们证明一辆2014款的吉普切诺基可以被黑客远程控制。他们利用了拥有无线连接的车载娱乐系统实际上跟更多的中心系统(比如控制雨刮器、油门、刹车的系统)也有连接这一事实。他们利用业余的时间做出了攻击系统,并且黑掉了记者驾驶的一辆切诺基,让车子失去控制,导致那位记者陷入恐慌。尽管他们没有动手,但却表明了写出一款更好的软件是有可能的,所谓“汽车蠕虫”可以利用被黑的切诺基车载计算机去扫描和攻击其他的切诺基;如果他们愿意的话,他们可以同时访问全美有漏洞的汽车和SUV。有朝一日可以让所有那些车辆突然把方向盘打左或者在高速行驶时切断引擎。Valasek说:“我们需要换种思路来审视软件。”汽车企业一直以来都是将成百上千不同供应商生产的零件组装成最终产品。但这些过去一度是纯粹机械化的零件,现在往往都带着好几百万行的代码。尽管其中一些代码——比如自适应巡航控制,自动刹车以及车道保持等的——的确让车辆变得更安全了—,但也制造了全新水平的复杂性。并且使得一种新型的失效变成可能。在无人车的世界里,软件不能成为事后想法。Esterel 背后的法国研究人员Gerard Berry说:“汽车存在着大量的bug。它不像航空电子,航空电子对待bug非常认真。并且承认软件不同于机械。”汽车业可能跟很多行业一样尚未意识到自己其实也身处软件业。在丰田案作证的软件安全专家Michael Barr说:“汽车业缺乏了解软件在做什么的软件安全监管者。”他说NHTSA“只有有限的软件专业知识。”使得基于模型的设计与代码生成对航空业产生吸引力的相同监管压力降临到汽车业身上要慢一些。但达索航空的Emmanuel Ledinot认为这种差异也许还有经济方面的原因。汽车根本无法接受零件成本的增加,哪怕几美分都不行,因为乘上几百万就是个大数字;因此嵌入到汽车的计算机必须缩减到最少水平,这几乎不给尚未调整到精益水平的代码太多的运行空间。“我认为过去10年引入基于模型的软件设计对他们来说代价太高了。”Ledinot怀疑其诱因也在改变:“我觉得汽车业可能会推进。ISO 26262和汽车业可能会慢慢推进关键部件采用这种方案。”(ISO 26262是2011年发布的汽车安全标准)。Barr的观点也基本一样:在无人车的世界里,软件不能成为事后想法。它不能像今天的机票预订系统或者911系统或者股票交易系统一样搭建。那些代码要对道路上的数亿个生命负责,它必须有效。这可不是小事情。Gerard Berry在演讲中说:“计算基本上是不可见的。当你的轮胎没气时,你会看见它是瘪的。当你的软件出问题了,你看着软件却什么也看不到。”“所以这是一个大问题。”原文链接:https://www.theatlantic.com/technology/archive/2017/09/saving-the-world-from-code/540393/编译组出品。编辑:郝鹏程。

  • 《腾讯没有梦想》的作者去头条拿奖,腾讯前高管开发社交软件

    昨天,今日头条举办的“金字节”奖年度公司报道,这个份量很重的奖项颁给了潘乱的《腾讯没有梦想》。潘乱还发表了获奖感言:我觉得行业需要好的作品,需要严肃的写作,还有很多新的互联网规律需要总结,还有很多正在发生的案例需要去做报道。很多人都曾受惠于我们的报道,科技报道也需要更多的社会力量来支持,头条在这方面给其他公司树立了榜样。(很多公司是碰到优秀写作者都去挖来做公关做或者给钱让他帮自己写软文,相当于是在洗劫这个行当的人才。)我很喜欢这样的聚会,能够将科技写作者这个共同体聚到一起,告诉大家,你们这一年的坚持和努力,我们都看到了。腾讯没有梦想是顶点不是终点,我还会继续写下去的,谢谢。金字节的评委是这样评价年度公司报道作品的:资本战略、组织架构,作者立体剖析了腾讯近几年间的发展路径。分析框架清晰,旁征博引,逻辑严密。一经发布,对行业产生了重大影响。有人靠写腾讯拿奖,有人在离开腾讯之后,做社交软件。根据The Information报道,曾帮助开发微信的两位前腾讯高管,创办了针对中国市场的新社交网络,分别名为Echo和Pop。业内人士认为,这是在挑战国内社交巨头微信在中国的主导地位。其中,Pop是一款类似Snapchat的应用,得到贝塔斯曼亚洲投资基金的支持;Echo目前处于测试状态,得到了高榕资本的支持,估值4000万美元。今日头条最近搞的腾讯已经很慌了,离开腾讯的高管,又让腾讯多了一层焦虑。

  • 杭州区块链开发软件发展走上快车道

    区块链作为一种新的技术形式,其分布式、不可篡改、不可抵赖等特点带来了一种全新的信用模式,正在引起各领域对未来应用前景的无限憧憬。一线城市一直由于分布众多独角兽企业,各种新技术也是发展最快,最早布局的,因此在区块链领域,一线城市一直都是领头羊。但是杭州可以说是后来居上吧,杭州有几十家区块链科技公司,而且在区块链领域的影响力还是可以的,这主要得益于杭州政策的支持,以及对区块链开发的重视。杭州在区块链开发软件上动作频频,各种区块链大会,落地应用论坛,园区建设,政策支持;杭州本地的金融科技公司在区块链发明专利数量上,在全国也是处于领先地位,公司规模也是发展迅速,值得称赞。杭州为了推动区块链产业和新经济的转型,杭州也是做了很多功课的,联合国内区块链大佬和区块链金融科技公司,在这样的背景下,杭州区块链产业园正式启动,首批10家区块链产业企业的集中入驻签约。同时,还成立了浙江区块链战略发展研究院,还发布了全球区块链创新基金。该基金由余杭区政府、基金规模达100亿元人民币,其中,政府引导基金出资达30%,用于投资、引进优质区块链项目。据了解,余杭区将在未来科技城核心区块规划建设区块链产业园,先期提供5000平方米精装修空间,充分发挥未来科技城在人才、资本、项目等方面的环境吸引力和优势,优先引入优质、成熟的区块链项目。入驻项目将享受到未来科技城优惠的产业政策和高效的政务服务,共享区域发展的成果。区块链的诞生,带来了解决这个问题的曙光。由于区块链公开透明、难以篡改、不依赖中介机构的特点,区块链可以实现安全、高效、低成本的价值传输。人们有望基于区块链建成价值传输的互联网。在价值互联网中,价值传输成本将极大降低,生产力将又一次获得极大解放。区块链独特的优势,如数据的确权使用、价值的高效传输,可以广泛应用于很多行业,比如金融服务、合同契约、慈善公益、物联网、数据存储等,区块链将在未来改变很多行业的面貌。

  • 微软与脸书合作,开发免费AI软件

    微软与脸书合作开发AI软件微软先前已开发用于AI模型制作的开源软件,但近几个月该公司又改变路径,选择与脸书更密切合作,并为脸书开发自家免费AI软件做出贡献。微软没有为这样的改变重大支出,但这可以反映微软有意愿支持其他大型科技公司的软件,而不是只专注在自家平台。2015 年底推出的开源人工智能软件TensorFlow,其背后制作公司就是 Google。微软将其 Cognitive Toolkit (CNTK) 软件放在 GitHub 上,且 2016 年初起提供更宽松的开源授权,脸书 2016 年稍晚推出 PyTorch,回应了TensorFlow。微软资讯官Kevin Scott 表示,脸书系统具有优势,尤其是建构语音辨识系统,但 PyTorch 采用速度很快,且拥有属于自己的一些有趣的技术特色。Scott 去年与脸书技术官Mike Schroepfer 见面,认同彼此应该「降低大众训练AI模组的软件系统环境之复杂程度。」微软与脸书曾共创AI开放架构ONNX2017 年9 月脸书和微软共创AI开放架构ONNX,目的在建立相容标准,形成开放的生态系统,让AI 开发者在开发计画中的任一阶段,皆能混搭所需工具与架构,便于在不同架构之间转移深度学习模型,减轻开发过程的复杂度。「我们必须能真的回馈社会。」AI 初创公司FloydHub创办人兼执行官Sai Soundararaj 表示,现实情况是,现在有太多种 AI 架构了。该公司的云端服务支援微软的 Cognitive Toolkit,但目前顾客的采用率不高。微软即使更专注在其他事业项目,但也没有放弃 Cognitive Toolkit,目前软件仍持续更新中。脸书创始人扎克伯格但现在方向很明确。微软 AI 平台商业副总裁 Eric Boyd 表示,「这个社群的动能实际上就围绕在 PyTorch 和 TensorFlow,所以这会是我们的重中之重。获得社群采用,这一点非常重要。」微软对于 Cognitive Toolkit 的举动,就是近日微软拥抱外来技术的趋势,例如释出开源工具让更多 Linux 可在 Windows 10 内运作。

  • 湖南首席信息官协会组建 华为软件开发云上线

    11月29日,2018中国(长沙)网络安全·智能制造大会“工业互联技术创新与产业发展”主题论坛在长沙举行。现场,蓝思科技等单位发起组建湖南CIO(首席信息官)协会。协会将建设培养一批符合CIO自身发展及行业需求的专业人才。论坛现场,华为长沙软件开发云也宣布正式上线。华为长沙软件开发云平台是长沙和华为公司共同打造的一项软件产业发展基础设施。 ■三湘都市报·华声在线记者 胡锐

  • 华为软件开发云落地青岛,一核两翼深拓公有云市场协作关系

    华为在我国科技在国际上的形象中扮演着重要人物,而且不愿意在全球云效力战役中孑立。2017年3月22日,华为青岛软件开发云会议在青岛举办,这意味着软件开发云正式登陆青岛。迄今为止,华为企业云现已与全国30多个城市签署了战略协作协议,并与500多家不同职业的企业树立了协作关系。自2011年树立以来,华为企业云以惊人的速度快速增长。在这次会议上,华为企业云业务部总裁杨瑞凯将华为的公共云战略总结为“一个中心,两个翅膀”,并走漏华为现已树立了云业务部分,专门担任公共云,并将在2017年再出资2000人。在2017年的大规模云混战中,华为的软件开发云在上一年大连推出后降落在青岛,这意味着它将在未来以更快的速度前进,成为一支不可忽视的力气。万亿未来: 2017年巨大的云战正在进行。依据IDC的最新调查,2017年云IT基础设施总支出将达到442亿美元。跟着当前两位数的增长,云效力在未来将是一万亿元的商场,其间,企业、职业和政府的公共云将是主要战场。年初,滕旭云赢得了政府云1美分的竞标,引发了2017年的云效力战役。3月中旬,万达集团还宣告将参加IBM进入我国的公共云商场。自华为进入2017年以来,这一巨大的竞争加快了其公共云的展开速度,促使华为大力树立云业务部分,以增加其2000人的团队。这一次,华为的软件开发云登陆青岛,可以被视为该公司加快公共云商场扩张的又一严重举措。事实上,自2016年12月以来,软件开发云现已在大连启动,现在效力于300多家本地软件公司和草创团队。青岛有1000多家软件企业,2016年软件和信息效力职业的收入超过1600亿英镑,这是华为不能错过的一个要害商场。面临万亿美元的商场,2017年的云混战将提早开端,华为的企业云开发现已进入了一个要害的时间节点。在这个商场的要害时期,效力和品牌能否打造,直接决议了未来能走多远。在华为的青岛软件开发云会议上,“一个中心,两个翅膀”公共云战略和三个“1”项目提醒了许多不同寻常的信息,这可能有助于我们更好地了解华为企业云的未来方向。一个中心,两翼协助各职业完结数字化转型在这次会议上,华为企业云核算业务总裁杨瑞凯标明,华为软件开发云在青岛正式启动:“云核算和大数据是华为的要害战略展开方向之一。“自2015年向国际正式发布名为“华为企业云”的公共云战略以来,我们一向注重IaaS云基础设施效力,并聚合SaaS层。并在会上许诺“数据永久不会在云平台上完结,这样客户就可以安全地将他们的业务布置到华为云。“。可以看出,华为企业云的未来路途十分明晰,杨瑞凯也详细介绍了“一核两翼”。一个中心:环绕数字转型扩展云效力工业,具体来说,如何为企业的数字展开赚钱,并与协作同伴协作,促进公共云在各职业数字转型中的运用。两翼战略:一翼是指面向政府、中心企业国有企业、大型企业和政府云的商场,充分发挥华为2B商场效力的传统优势,发明基于情形的企业云效力解决方案,运用高接触和现有协作同伴生态的优势,成为我国商场政府和大型企业云效力的领先提供商;另一个“翅膀”是指面向中小企业商场,以软件开发云为切入点,缔造在线和离线o2o效力才能,成为中小企业最值得信赖的云效力提供商之一。

  • 英伟达中国区负责人:将打造自动驾驶开放平台,车企可开发软件模块

    12月18日,由腾讯汽车主办的2018全球汽车AI大会正式拉开大幕,近50位来自全球顶尖科技公司、汽车企业高层以及国内外学术专家齐聚北京,共同为AI与汽车产业的深度融合建言献策。在主题为“边界与融合——技术推动下的产业未来”互动研讨环节中,NVIDIA自动驾驶中国区负责人董方亮表示,人工智能可以给行业和出行带来一些改变,大家正在慢慢接受它,也会慢慢接受人工智能比人做的更好的事实。在谈到AI不确定性所带来的安全边界问题时,他表示,安全的边界是特别重要的,因为自动驾驶需要在给定的条件下才能满足这种驾驶的条件。“从驾驶的行为来讲,我们要把这个驾驶的行为先做一下分解。首先这是一个车辆,这个车辆是一个智能体,首先你要保证功能安全,也就是说从端到端你怎么样保证,当然车是一部分了;除了车之外,就是从计算平台、软件、架构上首先要保证车辆的安全,深度学习的算法怎么样能够说明保证安全和高可靠性。”董方亮认为,NVIDIA在自动驾驶方面、尤其是生态合作伙伴方面是保持着一种开放的想法和策略,致力于打造自动驾驶开放的平台,所谓开放的平台,我们会提供全站式的解决方案。提供一个基础的硬件平台和硬件平台上的工具链,还有我们的CUDA。包括我们的合作伙伴、主机厂都可以自己开发软件模块,但是也可以选择跟NVIDIA合作。“大家一起把这件事情做好,这确实是广大的市场,大家都能够参与进来也能够让这个行业快速的落地。”以下为采访实录:陈瑶:很高兴,我作为今天论坛的最后一场圆桌沙龙,我们做一个happy的ending。因为刚才大家可能聊了很多,也说这是一个寒冬,寒冬里面肯定也是有暖阳的,今天我们在座的六位没有传统的OEM,所以我相信大家能聊得相对来讲更加开放一点既然刚才我们一直在说今天的主题词叫做边界与融合,其实对我自己来讲,我特别深有感触,我既不是学内燃机也不是学传统汽车的,我是学新闻的。但是我们作为汽车媒体来讲,大家说为什么你们会办全球AI汽车大会,你们要做科技媒体做的事情。这对我们来讲就是一个边界和融合的问题,我们希望在汽车场景里面,只要跟汽车一切有关系的动态和趋势,都应该是媒体要去关注的事情,所以落在汽车AI的场景之下,所以今天的边界与融合这样的大主题就会向在座的六位技术大咖提出这样一些请教。刚才已经说了很多寒冬的东西,我们现在说一些比较高兴的事情。在座的六位希望利用各自给我们在座的嘉宾们,分享一下2018年你们所看到的汽车科技里面有哪样一些事情让你们觉得是最好科技进步的代表。董方亮:我刚才两位讲了一下汽车领域的,我想讲一下汽车领域不相关的,但是跟人工智能领域相关的。今年看看到DeepMind AlphaZero在围棋的进展,我觉得这个能充分说明一个问题,虽然它只是在下棋比较小的领域,但是我觉得这个反映出一个问题,是什么呢?真正的人工智能能够给科技和一些行业带来真正的改变,大家正在慢慢接受它。从之前大家还是觉得棋手比机器、比这种算法要厉害,比人工智能算法厉害,到后面人工智能的算法绝对领先于人类。第一是说明人工智能的时代能够被我们所用,第二是人工智能的时代,人工智能在某些领域可以比人做得好。这可能也是自动驾驶汽车大众能够接受它一个比较好的前提,或者这样的概念。谢谢。陈瑶:同样的问题我想问一下来自NVIDIA的董方亮,AI的不确定性带来的边界,我相信英伟达做了这么多年的芯片和自动驾驶的测试,带来的应该有一些自己的数据性的东西,尤其是咱们在推出咱们XAVIER以后,有一个实际成型的产品支撑大量的算法和算力,就着咱们的产品您能否能给我们谈一下AI带来的不确定性在自动驾驶的体验是什么?董方亮:首先很感谢问到的这个问题,对这个问题NVIDIA也做了很多的研究,我们的研发团队也做了很多方面的开发和准备。其实从自动驾驶相关,确实安全的边界是特别重要的。因为自动驾驶需要在给定的条件下才能满足这种驾驶的条件。从驾驶的行为来讲,我们要把这个驾驶的行为先做一下分解。首先这是一个车辆,这个车辆是一个智能体,它做自动的驾驶。这样首先你要保证功能安全,也就是说从端到端你怎么样保证,当然车是一部分了。除了车,就是从计算平台、软件、架构上首先要保证车辆的安全。在整个大的系统满足车辆车规安全的前提下,比如说你在各个模块比如说感知模块用到人工智能的算法、用deeplearning,本身deeplearning的算法怎么样能够说明保证安全和高可靠性。这里面在感知算法上,如果在我们公司来讲,我们公司会遇到多种网络,用多种网络做和你相互的校验,这个结果就能够保证感知的稳定性和准确率非常高。另外,自动驾驶要做大量测试的工作,测试代表了几个方面。首先你要建这种场景库,然后你要有很好的做虚拟测试的工具和平台。这样的话,在这种场景库能够保证你做尽量多的测试,保证自动驾驶的行为能够尽量在这种场景库里面能够被验证和测试。模拟与仿真的系统能够极大补充路测的不足,能够保证智能驾驶的安全性。接下来,我分享一下NVIDIA在自动驾驶方面,尤其是生态合作伙伴方面的一些想法和策略。NVIDIA一直是致力于打造自动驾驶开放的平台,所谓开放的平台,我们会提供全站解决方案。但是我们提供一个基础的硬件平台和硬件平台上的工具链,还有我们的CUDA。我们自动驾驶的开发平台,包括量产平台的基础上,其实我们的模块化设计非常好。其实我们的合作伙伴,包括主机厂可以自己开发自己的软件模块,但是也可以选择跟NVIDIA合作,或者自己开发自己的软件模块,跑到NVIDIA DRIVE的平台上。我们觉得自动驾驶就是要发动所有科技界包括主机厂的力量,大家一起把这件事情做好,这确实是广大的市场,大家都能够参与进来也能够让这个行业快速的落地。谢谢。陈瑶:我有一个通用的问题问一下在座的六位,你们所认为未来的汽车应该是什么样的?我希望你们能天马行空描述一下,而不是说现在是四个轮子、一个座舱,我觉得你们可以描述一下未来的汽车是什么样的状态?董方亮:我觉得未来的汽车,首先它是一个可以无人驾驶的汽车。第二,大家可以看在车的内饰方面可以有很多改变,很多内饰的部分用液晶来代替,液晶的部分可以用计算机的图形渲染技术,让大家不断的变化自己喜欢的场景。比如说一家三口,男主人说我喜欢木制风格的,女性喜欢柔美一点的就来一个,小朋友喜欢卡通一点的,整车的渲染用计算机渲染的技术渲染出来,可以渲染出各种不同的私密的空间。转自腾讯汽车

  • 牵手深化协作 昆明华为软件开发云将正式上线

    掌上春城讯12月20日,以“云智软件,众享未来”为主题的2018云南-华为软件产业峰会在昆明滇池国际会展中心举行。峰会为期两天,有千余名关注软件与人工智能产业的政府领导、行业精英、企业领袖受邀到场。通过政策发布、经验交流、技术研讨、成果展示等丰富环节,与会嘉宾将共同探讨智能化趋势下如何做大做强软件产业、助力数字经济腾飞。峰会现场发布了昆明软件产业支持政策、云南省软件产业合作倡议书等内容,同时,为了践行“开放共享、合作共赢”这一理念,云南省计划打造中国面向“两亚”多语种软件产业新高地。昆明市政府相关领导、华为公司负责人共同举行云南软件信息产业园授牌仪式、云南省-华为联合创新中心揭牌仪式,形成自上至下从政策指导到行动方向、落地发展的有机统一。同时,以峰会为契机,昆明与华为的合作将迈入新阶段。记者从大会上获悉,昆明华为软件开发云将正式上线,在大会现场,昆明市与华为签署了深化合作协议,与华为的合作伙伴签署合作协议。云南构建软件产业新生态,助力城市数字经济发展和行业数字化转型注入新动力。在大会同期还将举行多场主题演讲,多位业界专家学者、企业精英将在主题演讲中分享自己的软件创新实践经验。此次峰会华为还打造了4800平米展厅,这既是软件产业最新成果的集中全面展示,也是业界精英学习交流的平台。掌上春城记者:刘莹责编:王建宇 一审:周婷

  • 云上使能 聚集商机——华为软件开发云助力郑州软件企业转型升级

    企业数字化转型,软件正扮演着越来越重要的角色,并孕育出巨大市场机遇。随着云计算、人工智能等众多新技术的快速发展,传统研发能力越来越难于满足新型研发要求,软件生产力正在从研发场景、编程语言、软件架构、研发工具、研发模式、交付形式等方面发生巨大变革,华为云软件开发云在此背景下应运而生,致力于为企业提供高效智能的研发平台,打造开放的云端研发生态,让企业轻资产运行,专注核心业务创新,为企业提供源源不断的研发动力。华为云软件开发云DevCloud是一站式云端DevOps平台,覆盖软件开发全生命周期,是华为30余年研发能力和实践的智慧结晶,并融入企业级敏捷和精益等先进研发理念,即开即用,随时随地在云上敏捷项目管理、分布式代码托管平台、持续流水线交付、代码检查、编译打包、测试、部署、发布等,让开发者快速而又轻松地开启云上开发之旅。郑州市是国家中心城市,高校、高新产业聚集,发展软件产业具备天然优势。郑东新区管理委员会把软件产业定位为战略新兴产业,将大力推动软件产业和云计算大数据产业的发展,深化软件产业、云计算产业与其他产业的快速融合入,从而带动区域经济跨越式发展。2017年河南省政府和华为公司展开合作,华为软件开发云项目正式在郑东新区龙子湖落地,旨在将华为多年的软件行业经验开放出来,帮助区域内企业提升开发效率和竞争力,以实现软件产业的持续快速发展。华为发挥在品牌、技术、服务及市场拓展优势,挂牌成立“华为郑州软件开发云创新中心”,以下简称“创新中心”,负责云服务在软件开发云方向的业务创新、定制开发客户需求、不断完善业务功能,持续化运营策略。自3月份开展工作以来,在郑东新区智慧岛管委会的正确指引下,通过8个月的不懈努力,稳步开展区域内软件开发企业及高校的上云工作,初步形成了企业和高校上云的良好氛围。截至目前,已经开通软件开发云服务的企业总计有164家,高校总计有20所,涉及行业主要有大数据、互联网+、政府政务及教育应用等。期间,创新中心已经与一部分优质客户建立了良好的服务关系,比如新开普、金鹏信息、中维电子,郑州大学、郑州轻工业学院、河南财经政法大学等。在服务企业客户方面,创新中心紧抓企业在软件研发过程中的痛点,提供持续服务,目前已树立了一批Top企业,实现了标杆示范作用。经过一段时间的使用,企业新用户数量正在不断上升,部分企业客户已经借助软件开发云平台实现从传统的瀑布研发模式向敏捷开发转型,在项目管理、团队协助和代码托管方面取得了较好的成效,规范了内部开发流程管理,提升了研发效率。在服务高校客户方面,创新中心专注于高校教学与人才培养,致力于打造郑州软件企业与郑州高校的双向通道。面向高校,帮助老师进行高质量教学,使学生在校即了解到先进的开发理念和掌握先进的工具,帮助学生提升自身竞争力。面向企业,帮助企业高效地招选同时拥有先进开发理念并有优秀实践能力的人才,实现人才定向输送到本地企业。创新中心还期望借助软件开发云搭建一个开放的生态圈和平台,在这个平台上面,软件类企业、孵化器、高校、软件协会、培训机构等,可实现数据共享和交换。企业之间可交流使用心得,探讨技术问题,孵化器可利用创新中心从学校或者培训结构等寻找合适的初创人才,高校可面向企业和孵化器培训机构等进行合作,助力双创落地。中维电子技术副总李建伟表示,借助华为软件开发云的敏捷项目管理和仪表盘等功能,公司整个开发过程由零散化转型为全智能化,各种统计报表也可以让管理者实时、准确地把控项目的进展,提高了团队协作的效率和产品在客户中的影响力。云峰科技的技术总监朱自立表示,华为软件开发云从管理到开发到测试,提供了一站式的服务,通过一段时间的项目运转,公司整体开发效率提高30%,代码质量也有较大的提高,特别是测试用例的规范,使得产品交付得到更大程度的优化,得到客户的一致好评。郑州大学信息工程学院“云计算与智能信息处理实验室”郑志蕴教授表示,软件开发云对于目前正在学习项目研发的学生,在代码规范与软件工程方面的实践有了很好地规范,能够让学生提高对自身能力的要求,以符合未来行业的从业标准。(免责声明:中国青年网转载此文目的在于传递更多信息,不代表本网的观点和立场。文章内容仅供参考,不构成投资建议。投资者据此操作,风险自担。)

  • 华为软件开发云如何为数字经济时代赋能?

    在很多人的潜意识里,华为是一家以网络、服务器等硬件为主的世界顶尖级基础设施服务提供商。但是,华为软件开发云在昆明的成功落地,让我们看到华为在软件领域也大放异彩。在2018云南-华为软件产业峰会上,华为与昆明市政府签署了深度合作协议。未来,双方将以软件、智能终端制造为主的数字经济领域展开合作,具体的合作内容主要包括三个维度,即:“云上软件”、“云下5G产业基地”和“智慧昆明建设”。为了推进区域软件和信息技术服务产业的发展,华为在峰会上发布了“云南省软件产业合作倡议书”;与此同时,华为昆明软件开发云也于当天宣布上线。华为昆明软件开发云成功上线,意义非凡。昆明软开云已服务近百家企业、多所高校,为昆明市软件企业的创新创业提供了有效支撑。软件产业的快速发展,将帮助昆明市实现从“软件制造”向“软件智造”的转型。那么,华为软件开发云到底有哪些特色?未来,哪些客户群体将因此受益?对于瞬息万变的数字化经济时代来说,华为软件开发云将扮演何种角色?拥抱智能化时代,华为软件开发云厚积薄发“智能化时代的到来,给人类带来了更多想象空间。而数字世界的任何变革,本质都是软件,因为软件承载了数字世界的一切。”华为软件开发云总经理 徐峰,首先解释了华为致力于软件领域的初衷。软件是未来世界的核心,是万物运转的大脑和中枢系统。而从技术角度来看,软件正在发生着翻天覆地的变化。过去,传统软件被打包成一个大的软件包,部署在物理的服务器载体上,很多是大型机、小型机;设计模式大多采用的是瀑布的方式,一旦硬件升级,很可能会带来系统风险。随着云计算的到来,软件的载体变成了虚拟机,原有的软件包也进行了拆分,整个软件应用被划分为表示层、业务逻辑层、数据访问层等等,也就是我们常说的分布式结构。在云时代,软件有了更好的交付体验,“敏捷”成为这一时代的主要特色,软件交付周期变短。之前,软件交付至少需要6个月时间;而敏捷时代,软件交付至少会下降4个周。当智能化时代来临,软件的载体也跟着发生了新的变化,容器成为最新应用。相比虚拟机,容器的颗粒度更小,更灵活。当容器成为最新应用的标配,软件的架构也从原来的分布式变成了微服务模式。而软件交付效率,也得到了进一步提升。在敏捷时代,企业依然可以通过增加人力,在1、2天内部署上线;但是,在微服务时代,敏捷开发与敏捷部署必须相互融合,才能在1天内实现端到端的多次部署。甚至,有的应用从开发到交付,只需要几分钟。作为国际巨头企业之一,华为公司经历了软件发展进程中的所有历程。在公司成立之初,华为就一直以技术专家的身份,支持软件业务。随着公司业务的发展,华为在1998年左右,引入了业界比较成熟的CMMI体系,以微工程的形式交付软件。在这种模式下,华为在设计和软件交付上都有了质的提升。这时,华为开始以运营商的角色,进入软件业务领域。后来,随着客户需求的增加,华为又引入了敏捷知识体系。现在,华为在大力开展云业务。云带来的新特性,让华为有了在软件领域施展拳脚的新天地。为了把30多年的软件研发经验分享给更多企业,华为在2015年4月启动了软件开发云项目。经过短短三年时间的发展,华为软件开发云已经拥有15万+的用户数,并已在大连、青岛等30多个城市成功落地。软件开发云的快速发展,和公司在研发方面的投入,密不可分。2017年,华为在研发方面的投入达到了3940亿,8万人致力于项目研发。同时,华为也与北大、大连理工、云南大学等高校,进行产学研结合,把最佳产业实践平台引入高校。华为联合各大高校,发展了接近60门课程。除了致力于软件开发的生产平台,华为也在通过各种赛事活动扩大自己的软件生态。可见,华为在软件领域能有今天的成绩,绝不是一时之举,而是早已做足了准备。尤其是智能化时代的到来,让华为在软件领域的腾飞,如虎添翼。打造一站式体验,华为DevOps云平台让软件交付更敏捷从整个平台架构来看,华为软件开发云最大的特色是:DevOps。不管是需求管理,还是开发、测试、上线部署和运维,整个流程都通过云端来实现。而华为全云化开发模式,给用户带来了一站式软件交付体验,能帮助软件企业在软件开发过程中提高开发效率,专注于业务创新。对于企业来说,管理者可以从看板上看到软件开发的全部进程,包括存在哪些问题,进行到什么程度等等。华为软件开发云采用的是敏捷项目管理模式。这种模式更专业,不仅让项目按照计划和时间来迭代,还能准确地掌握项目进度。管理者能看见产品的全景规划,进而把需求和计划拆分。系统内置了Scrum和轻量看板两种模式。另外,借助仪表盘功能,管理者可以自定义统计报表,对超大容量报表进行管理,并且能够形成知识沉淀,让团队在线分享知识和项目经验。云端管理,还有开箱即用的移动化特点,开发人员可以随时查看和处理相关问题。从代码托管层面来看,华为的安全性属于业界最高标准。可支持IP白名单设置,加密存储,安全防火墙设置,确保从接入到代码编写等各个环节的安全性。华为软件开发云在跨领域、跨地域协作方面的表现也很出色,系统支持Git-Flow工作流,采用增强型Code Review,独创的Coding in Web更方便工程师在线编辑代码。还有,代码语言类型统计、小组贡献量排名、活跃度分布情况等,都能做到数据的可视化。针对部署和测试环节,华为软件开发云也有自己的特点。在上线部署时,华为软件开发云可以一键式快速部署到容器集群,系统支持华为云CCE及客户私有K8S集群,同时支持tomcat/springboot/nodejs等多种技术栈。华为软件开发云能实现全场景、多框架、快速灵活地构建软件包。而在测试环节,则采用了一站式云端测试用例管理。用户通过自动化测试平台,可以大大提高测试效率和覆盖率。华为开发云可以帮助用户实现需求、用例和缺陷的双向追溯,并能实时反馈测试结果。综合来看,华为软件开发云,更像是流水线式的全程自动化集成交付。从需求分析到架构设计,再到代码管理、本地构建、云端构建、静态检查、测试、反馈、运维、发布等等都能自动化实现。创新合作模式,让软件定制化服务深入到企业应用场景中从基础设施平台到软件开发平台、人工智能平台,以及系统平台,华为已成为拥有全面业务的云服务提供商。那么,华为如何把各种服务植入到各行各业的实际业务场景中?华为软件开发云和全国各大城市的合作模式是,在当地落地,和政府一起成立创新中心。期间,华为投入本地的运营团队,以及全国乃至全球的技术专家,帮助本地企业解决在软件研发过程中出现的问题,提升研发能力。以拇指云项目为例,大连拇指云科技有限公司(以下简称拇指云)是一家以生产精品软件为主的IT公司,在工程软件、办公自动化、企业信息化、电子政务、云平台建设等领域有着核心技术优势。但是在项目管理方面,资产复用率非常低,自建工具自动化平台成本高,技术人员水平参差不齐。借助华为的多维度看板,团队管理者可以直观地看到所有项目的状态。 最重要的是,把代码托管到云端git仓库后,保证了代码的安全性,减少了搭建维护仓库的成本,提升了项目资产复用率。在部署了华为云服务器后,企业便拥有了稳定安全的运行环境,减少了产品后期运维成本。并且,大大提高了软件交付速度,提升了软件质量。随着华为软件开发云的深化发展,华为软件开发云将为各个行业赋能。比如:借助云+AI能力,医疗行业将解决病例分析难题,缓解医疗资源不足的现状。通过采集车辆信息,进行交通灯控制,华为可以为交通行业提升15%以上治理拥堵的能力,同时大幅度削减了堵车状况。加大人才培养力度,华为软件开发云为数字化时代铺路架桥华为软件开发云未来的目标是,加大在高校层面的渗透率。为什么要走入高校?从1978年恢复高考制度以来,我国高校毕业学生已经翻了48倍。但从软件领域人才供给来看,供需并不匹配,企业需要大学毕业生走出校园就能创造价值。华为软件开发云可以解决人才短缺的问题,基于平台优势,华为可以和各大高校合作。华为针对软件工程类、编程类等领域,创立学科和实训的综合平台,让人才和产业接轨,为企业补充新鲜血液。2018年,在四个学科建设过程中,华为支持了8个业界领先的编程语言。在所谓的“ABCD新兴技术领域”,华为做出了重要贡献。A,就是人工智能;B,就是大数据;C,是云计算;D是软件工程。2019年,华为在人才培养方面,会继续加大力度。华为专门构建了一站式教学与实践平台——人才培养云。通过云平台,学生能接触到100多个课程,从课程预习到课堂教学,再到学生的自我判断,涉及到教学的方方面面。华为在软件领域的发展变化,让我们看到:数字中国不只是一个伟大蓝图,一些最具创新力的企业,正凭借自己的专注和专业精神,一步一个脚印地向前走。

  • 5个免费的游戏开发软件工具,提高开发游戏的工作效率

    你对一款酝酿多年的游戏有什么想法吗?即使没有任何游戏开发经验,如果你能将这个想法变为现实怎么办?如今,任何人都可以使用合适的软件和一些专业知识制作视频游戏。当然,这并不意味着游戏开发很容易。但是,由于免费的游戏开发软件工具,一个曾经花费一年时间制作的游戏现在可以在几个月或几天内制作 - 有时甚至没有任何代码!这里有最好的免费游戏开发工具和软件,您可以用来开始制作今天的梦想游戏。注意:此列表按从最简单到最复杂的顺序排序。更简单的免费游戏开发工具更容易上手,但有更多限制。当你在列表中,你将获得更多的灵活性,更便捷的学习曲线。1.Construct 3无需编程:如果您从未在生活中编写过一行代码,那么构造3是最佳选择。这个游戏开发工具完全由GUI驱动,这意味着一切都是拖放式的。游戏逻辑和变量使用应用程序本身提供的设计功能实现。创建一次,随处发布:Construct 3的优点在于它可以导出到几十种不同的平台和格式,您无需在游戏中更改任何内容以适应这些不同的选项。游戏完成后,您可以导出到HTML5,Android,iOS,Windows,Mac,Linux,Xbox One,Microsoft Store等。2. GameMaker Studio 2拖放OR代码:与Construct 3一样,GameMaker Studio 2允许您使用其变量和游戏逻辑的拖放界面创建整个游戏。但与Construct 3不同,GameMaker Studio 2通过其Game Maker语言赋予更多功能,Game Maker语言是一种具有很大灵活性的类C语言脚本语言。创建一次,随处发布:游戏完成后,您可以导出到任意数量的平台和格式,而无需调整代码:Windows,Mac,Linux,HTML5,Android,iOS,Nintendo Switch,PlayStation 4,Xbox One等。遗憾的是,免费版本不允许导出到任何平台。悠久的历史:GameMaker Studio 2是Game Maker:Studio的重写版本,从1999年开始。今天,它是目前最流行和最活跃的免费游戏开发引擎之一。具有功能更新的新版本定期发布。内置高级功能:GameMaker Studio 2非常棒,因为它支持开箱即用的许多有趣的生活质量功能,例如向游戏添加应用内购买的功能,用户如何玩游戏的实时分析,来源通过第三方扩展控制,多人网络和可扩展性。它还具有用于图像,动画和着色器的内置编辑器。3.Unity支持2D和3D:Unity最初是一个3D引擎,但最终在2013年增加了官方的2D支持。尽管它完全能够创建2D游戏,但是你可能遇到偶然的错误或故障,因为Unity的2D系统实际上已经加入其核心3D系统。这也意味着Unity给2D游戏增加了许多不必要的麻烦,这可能会影响性能。基于组件的设计:Unity没有提出组件实体设计,但它在推广它方面有很大的作用。简而言之,游戏中的所有内容都是一个对象,您可以将各种组件附加到每个对象,其中每个组件控制对象行为和逻辑的某些方面。广泛的使用和文档:要充分利用Unity,您需要使用C#。好消息是Unity在业余爱好者和资深游戏开发者中得到了广泛的应用,你可以在网上找到数以千计的教程来帮助你入门。Unity本身也为新手提供了许多深入的视频系列,所提供的文档非常出色。创建一次,随处发布:Unity拥有所有游戏引擎最广泛的出口支持:Windows,Mac,Linux,Android,iOS,HTML5,Facebook,Oculus Rift和Steam VR等各种VR系统,以及PlayStation 4,Xbox One等多款游戏机, Nintendo Wii U和Nintendo Switch。4.戈多引擎支持2D和3D:与Unity一样,Godot支持创建2D和3D游戏。然而,与Unity不同,戈多的支持要好得多。引擎的2D方面从一开始就经过精心设计,这意味着更好的性能,更少的错误以及更整洁的整体工作流程。基于场景的设计:戈多对游戏架构的态度是独一无二的,因为一切都被分为场景 - 而不是你想到的那种“场景”。在Godot中,场景是精灵,声音和/或脚本等元素的集合。然后,您可以将多个场景组合成一个更大的场景,然后将这些场景组合成更大的场景。这种分层设计方法使您可以随时轻松地组织和修改单个元素。自定义脚本语言:Godot使用拖放系统来维护场景元素,但是这些元素中的每一个都可以通过内置脚本系统进行扩展,该系统使用一种名为GDScript的自定义类似Python的语言。它易学易用,即使您没有编码经验,也应该尝试一下。创建一次,随处发布:Godot可以立即部署到多个平台,包括Windows,Mac,Linux,Android,iOS和HTML5。不需要额外购买或许可,但可能会有一些限制(例如需要在Mac系统上部署Mac二进制文件)。内置高级功能:Godot以惊人的速度快速迭代游戏引擎。每年至少有一个主要版本,它解释了它如何拥有如此多的强大功能:物理,后处理,网络,各种内置编辑器,实时调试和热重载,源代码控制等。5.虚幻引擎4由行业大师开发:在此列表中的所有工具中,UE4是最专业的。它是由Unreal特许经营背后的天才创建的,他们知道顶级引擎需要什么,以及提供下一代功能需要什么。他们确切地知道他们在做什么。先进的发动机功能:UE4的驱动原则之一是允许您尽可能快地进行迭代和开发,因此您可以获得诸如实时调试,热重新加载,简化的资产管道,即时游戏预览以及数百种包含的资产和系统(如人工智能,电影)等功能工具,后处理效果等。没有必要的代码:UE4的独特卖点是它的Blueprint系统,它可以让你在不触及任何代码的情况下创建游戏逻辑。它足够先进,您可以创建整个游戏,甚至是复杂的游戏,而无需打开源编辑器。但是如果你想编写自己的蓝图代码,你也可以这样做。

  • 游戏软件开发合同应对履约标准具体化

    作者︱康乐【导读】游戏行业常见的合作模式是由一方负责研发、升级及维护游戏软件,另一方作为游戏软件的独家代理商,负责该游戏的运营、推广、发行、使用、服务。在双方签署《软件开发合同》时,考虑到游戏软件本身的技术性和软件功能项、模块项的不确定性,往往对游戏软件的开发要求和标准不作具体约定,导致双方对合同履行产生争议,继而对簿公堂。笔者借本文谈谈自己的看法并提出解决方案,如何不让“友谊的小船”说翻就翻。我们先来了解一下游戏上线的一般流程游戏上线流程图中各环节研发者和代理商的合同义务基本明晰,就是在第三个环节的“双方商议修改”涉及到需要研发者和代理商共同配合完成,这就是争议的高发点,研发者往往会指责代理商未按约定进行封闭测试,代理商会反驳并非不组织测试而是研发者最终提交的软件版本不符合封闭测试的要求。我国合同法规定的合同履行三大原则全面履行、亲自履行和同时履行,其中全面履行原则是判定合同主体是否全面履行义务的适用原则,该原则要求当事人严格按照合同的约定履行合同,具体表现在履行主体、时间、内容、地点等多个方面,要求履行符合约定。本文主要谈一下履行内容方面,研发者开发的游戏软件怎样才能被视为达到全面履行合同义务呢?笔者认为,可以从以下两个标准进行判断。判断标准一:是否存在不能实现合同目的的功能缺陷。游戏软件开发合同的合同目的是开发出一套能够正常上线运营并符合市场要求的游戏软件。因此,如果游戏软件存在功能上的缺陷,将导致无法实现合同目的,可以认为研发者没有全面履行合同义务。判断标准二:是否符合游戏市场运营需求。游戏软件开发不同于网站设计,除了功能要求,游戏开发最终的检验标准是游戏能否盈利,如果游戏玩法单一比较枯燥,在玩时没有网络游戏需要的人员相互交流,没有战斗的愉悦感,自然无法获得玩家的青睐,没有玩家的支持、没有热度谈何盈利?“能够正常上线运营”的标准,在请教了相关软件开发方面的专业人士并结合自身提供法律服务中的体会,笔者认为上线运营的前提是至少要有游戏基本的功能模块,在搭建完成服务器基础框架的基础上,还应当包括生存体系(游戏世界的基础)、升级体系(大部分RPG游戏和战略游戏均有该系统介入)、地图系统、战斗系统(包括各种武功、招式、防御力、攻击力等数值)、任务系统、操作系统、界面系统(主界面、二级界面、弹出界面)、NPC设计;上述是游戏软件开发的基础版本。“符合市场运营需求”这个标准较难把握,要视游戏类型的不同、代理商的要求而定,实务中随着测试的推进,代理商会不断提出修改意见,研发者针对意见进行修改,如此反复循环,拖延至开发期限届满仍未能提供最终封闭测试的版本。法院对此的态度是,认定双方均有过错,对涉案合同未能按约完全履行均负有责任,对游戏开发产生的相应费用由双方共同分担,各打“五十大板”。我们知道,研发者研发一款游戏耗用的时间越长,资金压力越大,反复修改甚至提出超出合同约定开发范围的要求,研发者耗不起;但是站在代理商的角度,为了能在玩法上更新颖、美术设计上更精良,希望研发者能作出符合市场口味又具有独创性的产品,如果“换皮”可以解决的问题,就没必要花费巨资委托制作。为了解决上述难题、平衡双方利益,笔者给出以下建议,在《软件开发合同》中对游戏的具体开发要求和标准进行细化约定,并敦促代理商尽快验收测试。具体如下:游戏软件开发前应对项目概要进行约定,包括三部分《产品概要》在产品概要的条款中包括但不限于以下内容的约定:游戏概要、商业模式、目标用户定义、目标游戏时间模型、美术风格定义、世界观定义、操控方式定义、性能定义、游戏核心玩法定义(游戏核心玩法、游戏数值设计原则)等内容;除此之外,应确定服务器架构和客户端架构。《美术资源总量》分别列明场景、角色、装备/道具、界面、动画、特效所需的美术资源数量。游戏软件开发前对项目概要及相关附件的制定有其必要性,当合同双方对合同条款约定不明发生争议时,判断代理商所主张的软件功能是否属于合同约定的开发范围,本质上属于合同解释的问题。我们可以用体系解释的方法,把全部合同条款和附件等构成部分看做一个统一整体,从各个条款及附件的相互关联、所处地位和总体联系上判断代理商的要求是否超出了合同约定的开发范围。设计规划和付款进度同时约定游戏软件开发合同的付款方式一般为分期付款,有以用户端游戏公测日起一定期限为付款条件的、有以网络架构测试版或者不同版本制定完成并验收合格为付款条件的,这里主要是分三部分,明确测试目标,即代理商以什么标准进行测试;明确每个阶段的完成周期;明确每个阶段完成后需要提交的材料。从平衡双方利益的角度出发,笔者不建议把游戏软件的创意度和可玩性列入测试目标之中,因为这类测试目标过于主观和不稳定,难以把控,间接导致测试总是无法通过的“怪象”可以将游戏的操作性、技能特效、交互功能、升级节奏、游戏画面、游戏副本,尤其是游戏的bug和安全状况等方面列入测试目标。为了防止代理商拖延验收,要注意几个细节,一是审核通过后的告知程序,比如要求甲方(代理商,下同)以测试目标进行审核并确认通过后,应以书面报告或电子邮件的方式发出确认通知到乙方(研发者,下同)指定联络人;二是超期不审核的处理,比如乙方提交游戏软件后的10个工作日内,甲方未以书面报告或电子邮件的方式,对该版本提出反馈意见,则视为甲方认为该软件版本合格,应支付给乙方该期对应款项。在软件开发过程中如果代理商提出的需求与合同不符的,为了日后清楚界定迟延履行的责任,笔者建议双方以签署书面补充协议的方式确认;三是甲方不履行配合义务的处理,在软件开发过程中需要甲方提供有效的修改意见或确认信息,若甲方对乙方提供的工作成果既不给出有效修改意见也不对其进行肯定确认,如果停滞时间超过一定期限,可以约定视作甲方主动解除合同。美术风格及完成品质参照标准在实务当中,美术风格的把握最难符合代理商的口味,每家代理商的审美标准不同,如果前期没有对美术风格及完成品质的参照标准进行约定,就会遇到今天喜欢中国风明天喜欢欧美风的情况,后期批量制作再调整就很耗时。诚然,美术设计的修改会较为频繁,为了避免因细节修改而导致付款进度受阻,笔者建议双方可在合同中约定,若甲方针对设计稿件中的文字、图标、局部颜色、局部布局等小范围元素的调整要求视为“细节修改意见”可视作甲方对该设计稿已经基本认可。独家代理权的收回实务中除了分期付款,研发者和代理商还有一种合作方式,即采用固定授权金加运营收入分成方式,这种方式的优点是可以让研发者享受后期游戏运营产生的收益,有效激励研发者开发出更符合玩家要求、更有吸引力的游戏产品;缺点是如果游戏迟迟不上线运营,研发者的这部分后期收益就很难“入袋为安”对此,笔者建议双方可对公测计划进行约定,比如若乙方向甲方交付达到公测数据标准的产品,非乙方原因甲方在一定期限内未进行公测的,乙方有权收回产品独家代理权。这样,有效避免研发者耗尽心血开发设计的游戏被冷藏的风险。游戏软件开发投资大、时间长,无论是研发者还是代理商都面临许多不确定的风险,遇到市场变化、政策调整,都可能导致游戏开发的搁浅,因此,笔者建议双方在签署《软件开发合同》时充分沟通可能遇见的争议点,并对条款尽可能地细化,避免“吃着火锅唱着歌一不小心翻了车”。作者:康乐律师 专注网游和电竞的法律实务研究,担任多名主播、电竞选手的私人法律顾问,为独立游戏工作室和电竞俱乐部提供专项法律服务,解决经纪合同、劳动合同、著作权、不正当竞争等纠纷。

  • 再也不怕丢东西了!日本公司开发软件自动识别入店行窃

    入店行窃是全世界的一个大问题,仅在美国,零售商每年就要为此损失数十亿美元。但是一家日本初创公司表示,其人工智能软件Vaakeye可以解决这个问题。据悉,Vaakeye开发商为东京公司Vaak,该公司称其软件已经部署到了日本50家商店,Vaakeye利用摄像头监控店内消费者的行为,实时监测可疑动作并提醒员工,员工可以立即查看监控来判断是否出现盗窃。Vaakeye是Vaak的第一款产品,于2019年3月份推出,采用订阅制收费,价格为162美元/摄像头(约合人民币1100元),可以持续监控检测可疑行为并立即通知商店员工。Vaak称Vaakeye已经经过了10万小时的录像培训,它可以看到货架上的商品是装入顾客袋中还是包中,系统注意到的每个可疑行为都会为该顾客加权,一旦达到某个阈值,系统就会发出警报与视频证据给相应的工作人员。Vaak称Vaakeye准确率高达81%,且当地便利店的测试显示该系统将入店行窃损失减少了77%。不过因为涉及监控行为,该系统是否侵犯隐私也引起了广泛争论。

  • TOP

  • 关于我们

    上海求创科技有限公司成立于2001年,是一家专注于为客户提供高端网站策划、网站建设、网页设计、品牌网络营销以及相关的基于互联网应用服务的专业公司。

    更多

    全国客户服务热线

    400-889-1636

    网站建设,网站制作,企业网站建设,网上商城,网站推广,域名注册,求创科技-微官网 网站建设,网站制作,企业网站建设,网上商城,网站推广,域名注册,求创科技-手机网
    友情链接: 域名超市 | 苏州网站优化 | 营销型网站建设 | 企业网站建设 | 网页设计 | 网站建设 | 网站优化 | 网站设计 | IPv6 升级 | 微信开发 | H5开发 | 系统开发 | 网站维护 | 海外社会化媒体推广 | 上海网站设计 |
    热线电话:400- 889-1636 业务部:sales@dn.cn 售后服务:service@dn.cn 投诉邮箱:info@dn.cn
    地址:上海市松江区谷阳北路2399弄 御上海37号602室 邮政编码:201600
    版权所有©上海求创科技有限公司 沪ICP备13005298号-24  网站地图 沪公网安备 31010602003962号