搜尋
首頁後端開發php教程软件工程师的本质->>转自php100

程序员的本质--->>转自php100
很多人认为计算机变得如此智能,所以在不久的未来将不再需要程序员。另外一些人认为程序员是天才,他们在电脑前能不断地解决复杂的数学难题。甚至不少程序员对他们是做什么的都没有清晰的概念。在这篇文章中,笔者想给不知情的人解释一下程序员到底是做什么的。

  程序员是将人类想法翻译成计算机语言的译者。

  他们是两种世界之间的纽带。你认为维护这个纽带很容易吗?

  人类世界的背景

  The problem with people is that they’re only human. – Bill Watterson

  人类的问题是,他们只是人而已。——比尔·沃特森

  人类是生物进化的产物,并且拥有独特而宝贵的器官——大脑,它能为程序员提供想法。大脑有组合复杂的新大脑皮层(对人类而言是独特的),还有从哺乳动物和爬行动物继承的旧结构。旧的大脑结构主要负责生殖(性)和生存(寻找食物或者躲避危险)。新大脑皮层进化成能够更好地支持这些功能,但是,它开始产生奇怪的副作用——意识、思考和好奇心。幸亏这些副作用的影响,人类产生了文明并在数千年后发明了计算机。

  一些人相信经过数千年的发展,人类应该变成完全沉闷的、理性的、可预测的生物,但是这并没有发生。人类旧的大脑结构、复杂的心理和社会行为往往使人们不理性,不可预测并带有欺骗性。并且,人类有糟糕的记忆力、强烈的情感和个人兴趣。但是,程序员没法选择与更理性的物种工作,他们不得不与人类共事并且把人类的想法翻译成计算机语言。

  计算机世界背景

  Part of the inhumanity of the computer is that, once it is competently programmed and working smoothly, it is completely honest. – Isaac Asimov

  计算机非人性的一部分表现是,一旦完成编译并且顺利运行,它将忠实地完成工作。——艾萨克·阿西莫夫

  计算机是人类文明的最佳发明。它由CPU、主板、内存、硬盘驱动器、显示器和其他部分构成。计算机将我们的文明推入一个新的水平,使我们的生活更有意义并充满乐趣,还弥补了我们大脑的缺陷。很可能计算机比人类更聪明。(不过,我有点关心如果这成为现实后,计算机还需要人类程序员吗?)

  现代计算机具有完全逻辑性、直接性和顺从性。如果你知道它应该做什么并且知道如何命令它,那么和计算机一起工作是快乐的。唯一的问题是,计算机只会做你告诉它去做的。因此,你应该有清晰的思路并且在见你的上司或客户时保证计算机不出岔子。

  在人类和计算机之间的翻译

  翻译中会遇到三个主要的挑战:

  1. 语言歧义。人类语言是模糊、复杂并且双关的,例如:“这个程序不能提供良好的用户体验”。文化、背景和上下文语境都会对沟通和含义造成影响。与之相反,所有计算机语言都是准确、直接的,与上下文无关。

  2. 细节层次。人类的沟通是笼统而不带有过多细节的,例如:“我想让这该死的程序运行起来”。这样可以节省时间与精力,但由于缺少详细信息,会产生两个比较大的问题——误解和不确定性。而计算机需要所有细节——每件事都要说清楚。

  3. 思维模式。人类习惯于思考需求、结果与解决方案之间的关系,例如:“这份报告应该在2秒内运行,而不是2个小时”。然而,计算机需要算法——按照步骤去达到想要得到的结果。

  为了写出优秀的软件,程序员们必须克服这些困难,理解人们的想法并将之转换成计算机语言。

  一名优秀程序员所具备的能力


  我们可以看到,一名优秀程序员应该具备应付两个不同世界的两套技能。

  理解人类的需求并提出解决方案:

  1. 沟通——与人建立联系的能力,能够同他人亲密的交谈,并有勇气去尝试分享自己的观点。

  2. 意图——从谈话中提取有用的信息,理解并使之有意义。

  3. 逻辑——为不懂让步的计算机整理、剔除那些人类思想中含糊而有争议的内容。

  4. 创造力——挖掘、转变人类的想法,从而创建优秀的解决方案。

  5. 构思——利用人类友好的接口和便捷的互动性来包装编程思想。

  6. 大局观——清楚解决方案是如何适应全世界的用户、企业以及其他,从而使你的程序更有用。

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

  1. 逻辑(再次强调)——把程序员的想法组织整理成有凝聚力的软件思想和计算机指令

  2. 技术——发现并理解科技黑箱(对于99%的人来说是黑箱)。

  3. 编程语言——学习美观的、富有逻辑的、清晰明了的语言,从而把程序员的想法提供给电脑。

  4. 算法——精通让计算机完成任务最高效的方法。

  5. 建模——在软件代码中建立抽象和模型,从而掌握并操控想法。

  6. 实践(比如代码重构、单元测试、持续集成)——周期性活动,以保持系统可靠、健康与可改变。

  面向人类和面向硬件对象/系统的程序员有很大不同。

  不与人沟通的程序员不是好程序员。一个优秀的解决方案需要计算机世界与人类世界的双重技能。只有连接起两个世界,才能成为一个真正的优秀程序员。

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
2 个月不见,人形机器人 Walker S 会叠衣服了2 个月不见,人形机器人 Walker S 会叠衣服了Apr 03, 2024 am 08:01 AM

机器之能报道编辑:吴昕国内版的人形机器人+大模型组队,首次完成叠衣服这类复杂柔性材料的操作任务。随着融合了OpenAI多模态大模型的Figure01揭开神秘面纱,国内同行的相关进展一直备受关注。就在昨天,国内"人形机器人第一股"优必选发布了人形机器人WalkerS深入融合百度文心大模型后的首个Demo,展示了一些有趣的新功能。现在,得到百度文心大模型能力加持的WalkerS是这个样子的。和Figure01一样,WalkerS没有走动,而是站在桌子后面完成一系列任务。它可以听从人类的命令,折叠衣物

从入门到精通:掌握is与where选择器的使用技巧从入门到精通:掌握is与where选择器的使用技巧Sep 08, 2023 am 09:15 AM

从入门到精通:掌握is与where选择器的使用技巧引言:在进行数据处理和分析的过程中,选择器(selector)是一项非常重要的工具。通过选择器,我们可以按照特定的条件从数据集中提取所需的数据。本文将介绍is和where选择器的使用技巧,帮助读者快速掌握这两个选择器的强大功能。一、is选择器的使用is选择器是一种基本的选择器,它允许我们根据给定条件对数据集进

THE是什么币种,THE币值得投资吗?THE是什么币种,THE币值得投资吗?Feb 21, 2024 pm 03:49 PM

THE是什么币种?THE(TokenizedHealthcareEcosystem)是一种数字货币,利用区块链技术,专注于医疗健康行业的创新和改革。THE币的使命是利用区块链技术提高医疗行业的效率和透明度,推动各方之间更高效的合作,包括患者、医护人员、制药公司和医疗机构。THE币的价值和特点首先,THE币作为一种数字货币,具备了区块链的优势——去中心化、安全性高、交易透明等,让参与者能够信任和依赖这个系统。其次,THE币的独特之处在于它专注于医疗健康行业,借助区块链技术改造了传统医疗体系,提升了

如何查询The Sandbox币最新价格?如何查询The Sandbox币最新价格?Mar 05, 2024 am 11:52 AM

如何查询TheSandbox币最新价格TheSandbox是建立在以太坊区块链上的去中心化游戏平台,使用其原生代币SAND可以购买土地、资产和游戏体验。想要查询SAND最新价格的步骤如下:选择一个可靠的价格查询网站或应用程序。一些常用的价格查询网站包括:CoinMarketCap:https://coinmarketcap.com/Coindesk:https://www.coindesk.com/币安:https://www.binance.com/在网站或应用程序中搜索SAND。查看SAND

如何查询The Graph币最新价格?如何查询The Graph币最新价格?Mar 05, 2024 am 09:55 AM

如何查询TheGraph币最新价格?TheGraph是一个去中心化的协议,旨在为区块链数据提供高效的索引和查询服务。该协议的设计使得开发人员能够更轻松地构建和推出分散式应用程序(dApp),并让这些应用程序能够便捷地访问区块链数据。要查询TheGraph币(GRT)的最新价格,您可以按照以下步骤操作:选择一个可靠的价格查询网站或应用程序。一些常用的价格查询网站包括:CoinMarketCap:https://coinmarketcap.com/Coindesk:https://www.coind

三星折叠屏新品曝光 预计 7 月下旬亮相三星折叠屏新品曝光 预计 7 月下旬亮相Mar 21, 2024 pm 02:16 PM

三星计划在今年下半年推出新一代GalaxyZFold与Flip6系列折叠屏智能手机。近期,韩国媒体TheElec和《时事周刊e》透露了关于这两款新品更多的细节。三星GalazyZFold6爆料图片。图源@chunvn8888据TheElec报道,三星电子的供应链厂商预计于5月初启动GalaxyZFold6和Flip6相关组件的生产工作,相比之下,去年GalaxyZFold5和Flip5的零件生产始于5月下半月。这意味着今年的标准版GalaxyZ系列发布时间表相较于上年提前了约两周至三周的时间。去

罗技企业桌面配置白皮书罗技企业桌面配置白皮书Jul 24, 2024 pm 01:54 PM

最近读了罗技在上半年出品的企业桌面配置白皮书,涉及到的企业级桌面外设的知识面和选购逻辑,给了我们非常多的启发。其中许多新鲜的观点,非常适合与中关村的老粉们分享。罗技白皮书:桌面外设采购新思考罗技作为桌面外设领域的佼佼者,其品牌实力和技术创新有目共睹。白皮书发布时间的意义罗技白皮书的发布时机恰逢企业办公模式转型之际。混合办公模式的普及对雇主品牌和人才吸引提出了新挑战。桌面外设采购新趋势以往的桌面外设采购标准可能过于简化。不同岗位员工对键盘、鼠标、耳机和摄像头的需求差异显著。罗技白皮书中的观点罗技白

如何查看The Graph币市值?如何查看The Graph币市值?Mar 13, 2024 pm 10:43 PM

如何查看TheGraph币市值TheGraph是一种去中心化的协议,旨在帮助开发者索引和查询区块链数据。其代币GRT被用于支付网络费用和奖励节点运营商。查看TheGraph币市值的方法:选择一个可靠的网站或平台:有多个网站和平台提供加密货币市值信息,例如CoinMarketCap、CoinGecko、非小号等。选择一个可靠的网站或平台很重要,以确保您获得准确的信息。搜索TheGraph:在网站或平台上搜索GRT或TheGraph。查看市值:TheGraph的市值通常会在搜索结果中显示。提示:市值

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),