`

程序员的本质

阅读更多
自由职业 写道 "很多人认为计算机变得如此智能,所以在不久的未来将不再需要程序员。另外一些人认为程序员是天才,他们在电脑前能不断地解决复杂的数学难题。甚至不少程序员对他们是做什么的都没有清晰的概念。所以Andriy Solovey撰文解释程序员到底是做什么的(中文):程序员是将人类想法翻译成计算机语言的译者,他们是两种世界之间的纽带。Andriy从“人类世界的背景”和“计算机世界背景”两方面作出解释,并在文章后面阐述了“一名优秀程序员所具备的能力”:
理解人类的需求并提出解决方案:

        1. 沟通——与人建立联系的能力,能够同他人亲密的交谈,并有勇气去尝试分享自己的观点。
        2. 意图——从谈话中提取有用的信息,理解并使之有意义。
        3. 逻辑——为不懂让步的计算机整理、剔除那些人类思想中含糊而有争议的内容。
        4. 创造力——挖掘、转变人类的想法,从而创建优秀的解决方案。
        5. 构思——利用人类友好的接口和便捷的互动性来包装编程思想。
        6. 大局观——清楚解决方案是如何适应全世界的用户、企业以及其他,从而使你的程序更有用。

  告诉计算机该做什么,并建立解决方案:

        1. 逻辑(再次强调)——把程序员的想法组织整理成有凝聚力的软件思想和计算机指令
        2. 技术——发现并理解科技黑箱(对于99%的人来说是黑箱)。
        3. 编程语言——学习美观的、富有逻辑的、清晰明了的语言,从而把程序员的想法提供给电脑。
        4. 算法——精通让计算机完成任务最高效的方法。
        5. 建模——在软件代码中建立抽象和模型,从而掌握并操控想法。
        6. 实践(比如代码重构、单元测试、持续集成)——周期性活动,以保持系统可靠、健康与可改变。

转载于:solidot,http://developers.solidot.org/article.pl?sid=11/05/18/0834242
分享到:
评论

相关推荐

    什么样的人适合做程序员?程序员应该具有什么样的素质程序员四大禁忌

    他们会专注于技术的本质,而不是盲目追求潮流或者夸夸其谈。 第三,死气沉沉和不求甚解的程序员容易停滞不前。编程需要持续的热情和探索精神,只有对新知识充满好奇,不断学习,才能保持竞争力。 最后,强调客观...

    程序员的数学系列.pptx

    "程序员的数学系列.pptx" 《程序员的数学系列》是一本面向程序员群体的数学读物,旨在帮助他们掌握数学基础知识,从而更好地应对编程中的实际...同时,数学还能启发程序员思考问题的本质,帮助他们发现新的解决方案。

    程序员的本质.docx

    【程序员的本质】 程序员,顾名思义,是将人类思维转化为计算机语言的专业人员。他们的工作不仅仅是编写代码,更是充当人类与计算机之间的桥梁,将抽象的需求和想法转化为具体可执行的程序。这一过程并非易事,因为...

    谈谈程序员以后的出路

    跳槽能带来新的机遇,如更高的薪资、更大的挑战以及更丰富的经验积累,但同时也需要谨慎处理,确保每次跳槽都能带来实质性的职业进步。 标签中的“项目经理”指出,程序员可以通过积累经验,逐渐从技术岗位转向管理...

    程序员的思维修炼

    能够抽取问题的本质特征,忽略无关紧要的细节,可以帮助程序员编写更清晰、可维护的代码。 3. 系统思维:系统思维是理解整个系统以及其子系统是如何工作的能力。程序员需要能够理解软件是如何在不同的层次上交互的...

    程序员2009上半年下午试题及答案

    - **审题技巧**:仔细阅读题目要求,理解问题的本质,明确解题的目标。 - **时间管理**:合理分配答题时间,优先解决自己擅长的问题,避免在难题上浪费过多时间。 - **代码规范性**:保持代码清晰易读,注释充分,...

    从大学生到程序员 从大学生到程序员

    其中,学习的核心本质并不仅仅是掌握编程语言,更是培养一种解决问题的能力,即“软件开发能力”。 “软件开发能力”包含数学能力和语文能力。数学能力意味着理解和应用数据结构来解决实际问题,设计高效算法来优化...

    程序员第二步 从程序员到项目经理--高清版.pdf

    由于提供的【部分内容】仅是一些链接,无法提供实质性的知识内容,因此上述知识点均基于对标题和描述的理解,以及对程序员和项目经理角色的常识性分析。希望这些知识点能够帮助有志于成为项目经理的程序员们,更好地...

    C++程序员必读书目清单

    2. 《The design and evolution of C++(C++语言的设计与演化)》:C++之父Bjarne Stroustrup的作品,讲述了C++的发展历程、设计原则和未来趋势,是理解C++本质的宝贵资料。 阶段4:标准库与泛型编程 1. 《The C++ ...

    C++ 程序员成长中最常走的 4 条弯路

    很多程序员在学习过程中,习惯于浅尝辄止,满足于完成任务,而没有深入探究问题的本质。此外,过度依赖搜索引擎解决问题,而不是通过阅读文档、书籍或自己思考来解决问题,也会限制个人的成长。 **避免策略**:建立...

    Windows程序员需要学什么

    学习COM不仅有助于理解和使用.NET Framework,因为.NET Framework本质上也是基于COM技术构建的。 #### 四、ATL与COM编程 ATL(Active Template Library)是一种基于模板的C++类库,专为COM组件开发而设计。相比于...

    程序员必备单词.pdf

    - abstract(抽象的):在面向对象编程中,用于描述类或方法的本质特性,不依赖于具体的实现。 - class(类):面向对象编程中用于表示具有相同属性和行为的对象集合的抽象数据类型。 - access(存取、访问):...

    献给所有想当程序员的朋友

    对于那些想要踏入这个行业的朋友,作者提出了几点建议:第一,理解编程的本质,这是一项需要不断思考和实践的工作,而非轻松获取高薪的职业。第二,无论文理科背景,都需要培养逻辑思维和严谨的态度。第三,对新技术...

    程序员面试金典 第5版 英文版

    《程序员面试金典 第5版》英文版是一本广受欢迎的书籍,专为准备进入IT行业的程序员们提供了全面而深入...通过阅读和实践书中的内容,你将更好地理解编程的本质,掌握解决实际问题的策略,从而在激烈的竞争中脱颖而出。

    程序员跳槽全攻略

    通过以上几个方面的深入探讨,《程序员跳槽全攻略》不仅提供了关于求职行为本质的深刻见解,还为准备跳槽的程序员们提供了实用的操作指南。无论是对于初入职场的新手还是希望职业进一步发展的资深人士,这本书都具有...

    很牛的程序员成长的十阶段

    对软件需求的本质进行深入研究,认识到用户需求对企业经营的影响。开始理解需求的多样性和无序性,试图找到让需求变得有序的方法。 9. **企业经营视角**: 从企业经营的角度出发,探讨用户需求的根源,试图通过...

    2008年程序员试题与答案

    "内容详细"意味着每个题目可能不仅有答案,还有对解题思路的分析,这对于理解题目的本质和提升解题技巧非常有帮助。"WORD(已排版),方便直接打印"表明资料是用Microsoft Word格式整理的,且已经过排版处理,适合...

    职业经营 1:程序员职业的本质(3).md

    程序员职业的本质首先体现在软件的本质上,它是一系列可以重复执行的命令。程序员通过编码将这些命令告诉机器,使得机器可以执行重复的工作,而无需人类不断参与,这使得程序员能够将注意力转移到下一个未被自动化的...

Global site tag (gtag.js) - Google Analytics