不知哪时在哪里看到一个软件工程和建筑工程的对比...
前日吃饭的时候无聊,便提到这个:"你看,对面那栋漂亮的楼房。把他们建起来的是一群建筑工人,有些甚至被我们称为民工(这里,无歧视);而我们做软件的,大多受过高等教育,甚至很多被成为精英,为什么还把软件搞得这么糟糕。自从1968年软件危机第一次被提出以来,还长期存在。这是为什么呢?"
旁边的JJ说话了:"因为建筑师叫那些民工怎么做,他们就怎么做。而大多数软件开发人员都很有个性、很有想法,所以困难重重。"
偶抬杠:"这么说,去招一批民工来做软件,就可以解决这个问题?"
JJ无语,但还是很坚持。
旁边的猥琐男见状,正是提出自己高论的好时机:"这说明了建筑工程发展得很好了,而软件工程还没到达那个境界。这是一个长期、持续、抗争的过程,不过有一天会好起来的。"
嗯...科学的乐观主义者,他还在想着银弹。
偶想想,一位大师上课的时候说过:"软件本身是技术,但带着与生俱来的艺术性。"很多东西具有两面性,可以拿摄影来对比:一般人认为摄影是艺术,但它带有与生俱来的技术性。这大概不算矛盾,但却是统一体。
大师的回答着实很能回到这个问题:艺术能有完美的吗?所以软件也不能。你可以把软件的一面--技术做得很好,用很合理的技术,高超的算法;但是你永远不能把软件的另外一面--艺术做到极致。难道这就是传说中的哲学?
Oh,My God!!!我怎么会提起哲学?
分享到:
相关推荐
语录6:“如果建筑工人像程序员写软件那样盖房子,那第一只飞来的啄木鸟就能毁掉人类文明。”(Gerald Weinberg) 这条语录表明了编程是一项需要细心和周到的工作,程序员需要具备这种技能和责任感。 知识点7:技术...
Builder2:建筑工人是一款基于C#编程语言开发的软件应用,其主要目标是提供一个高效、易用的工具集,帮助开发者和程序员构建和管理软件项目。C#是一种面向对象的编程语言,由微软公司推出,广泛应用于Windows平台以及...
在传统的人工砌筑过程中,T型墙体的构建需要精确的测量和复杂的砌砖技巧,耗时且对工人的技能要求高。而砌砖机器人通过精确的计算和自动化操作,能够准确快速地完成此类工作,大大提高了工作效率。 砌砖机器人采用...
建筑工人负责具体的施工任务,而建筑师则是负责规划整个建筑的设计方案。类似地,在软件开发中,初级程序员可能更多地关注于编写代码,而高级工程师或架构师则需要考虑整个系统的架构设计,确保系统能够高效稳定地...
这些因素在某些职业中至关重要,如运动员、建筑工人或医护人员,他们的工作往往需要良好的体能。 其次,职业能力倾向涉及个体的智力和专业技能。能力分为一般能力和特殊能力,一般能力涵盖基本的认知和问题解决能力...
在家人眼中,程序员(或程序猿/程序媛)可能被误解为传统的工程师,比如建筑工人,或者是简单的电脑操作员。DBA(数据库管理员)可能会被误认为是仓库管理者,而网络设备技术支持则可能被认为是修电脑或电线的人。...
工人们在嘈杂环境中作业,如建筑工地或工厂,使用降噪耳塞能防止噪声导致的听力损失。此外,对于需要集中精神的工作者,如程序员或设计师,降噪耳塞可以帮助他们屏蔽外界干扰,提高工作效率。 总的来说,降噪耳塞的...
它可能包含各种工地元素,如建筑工人、机械设备、安全帽等,并通过Flash的动画功能来展现一系列趣味横生的情节。 总的来说,通过分析这个Flash原文件,我们可以学习到Flash动画的制作流程、ActionScript编程技巧,...
例如,会计、行政助理和程序员等。在软件开发中,他们是代码编写者、测试工程师或数据库管理员。 通过霍兰德职业代码,个人可以找到与自己兴趣相符的职业,例如,一个人的兴趣代码为RIA,那么他可能适合牙科技术员...
体力劳动主要依靠身体力量,如建筑工人。 5. **劳动力资源**:劳动力资源是指一个地区或国家所有可用于工作的能力总和,包括实际在工作和有潜力工作的人口。 6. **经济活动人口(劳动力人口)**:这是指正在工作或...
在建设行业中,建筑师与建筑工人之间通过蓝图进行沟通,确保建筑物按照设计图纸准确无误地建造。同理,在软件开发中,UML就像蓝图一样,为整个团队提供了一种通用的语言,确保所有参与方对软件的设计有共同的理解。 ...
在建筑工地上,安全帽佩戴和禁止进入危险区域是两个关键的安全规定。通过YOLOv5的目标检测技术,可以实时监控工人的安全帽佩戴情况,及时提醒未戴安全帽的工人。同时,系统还能识别并警告工人进入危险区域,提高工地...
而有远大目标的人,如第二个建筑工人,最终可能会成为设计师,因为他们始终瞄准更高的职位,不断积累经验和提升自我。 罗斯福总统夫人与萨尔洛夫将军的对话则强调了具体化目标的重要性。在IT领域,这意味着不仅要...
这就像在建筑工地上,各种已经预制好的模块化部件,可以让工人更快地搭建起一座大楼,而不需要从零开始一砖一瓦地堆砌。在软件开发中,这样的模块化编程大大提高了代码的复用性,减少了重复性劳动,使得开发者可以更...
在IT行业中,"搬砖"常被程序员们戏谑地用来形容进行基础性、重复性的编码工作,就像建筑工人搬运砖块一样。这里将Ztree标记为"搬砖"可能是因为它提供了一种基础框架,使得开发者能够快速搭建和定制树形结构,简化了...
通过对制造业、建筑业、批发和零售业等众多行业的工资水平进行调研和统计,报告提供了详细的工资数据,帮助企业和求职者了解各行业的薪资水平。 **2. 经济类型工资指导价位** 根据企业的所有制形式不同,如国有...
2. **单位类型**:游戏中有多种单位,如工人Creep、士兵Combat Creep、建筑工人Builder Creep等。每种单位都有特定的任务和行为模式,通过代码定制其行为。 3. **资源管理**:能量Energy是最基本的资源,用于创建和...
每个角色有特定的任务集合,如工人负责采集和运输,士兵负责防御和攻击,建筑师负责建造和升级。 2. **状态机**:为了实现复杂的决策逻辑,Creeps的行为往往通过状态机进行管理。例如,当Creep的能量满时,它可以...