软件工程师的本质->>转自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. 实践(比如代码重构、单元测试、持续集成)——周期性活动,以保持系统可靠、健康与可改变。
面向人类和面向硬件对象/系统的程序员有很大不同。
不与人沟通的程序员不是好程序员。一个优秀的解决方案需要计算机世界与人类世界的双重技能。只有连接起两个世界,才能成为一个真正的优秀程序员。

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











기계력 보고서 편집자: 우신(Wu Xin) 국내판 휴머노이드 로봇+대형 모델팀이 옷 접기 등 복잡하고 유연한 재료의 작업 작업을 처음으로 완료했습니다. OpenAI 멀티모달 대형 모델을 접목한 Figure01이 공개되면서 국내 동종업체들의 관련 진전이 주목받고 있다. 바로 어제, 중국의 "1위 휴머노이드 로봇 주식"인 UBTECH는 Baidu Wenxin의 대형 모델과 긴밀하게 통합되어 몇 가지 흥미로운 새로운 기능을 보여주는 휴머노이드 로봇 WalkerS의 첫 번째 데모를 출시했습니다. 이제 Baidu Wenxin의 대형 모델 역량을 활용한 WalkerS의 모습은 이렇습니다. Figure01과 마찬가지로 WalkerS는 움직이지 않고 책상 뒤에 서서 일련의 작업을 완료합니다. 인간의 명령을 따르고 옷을 접을 수 있습니다.

초보자부터 숙련자까지: 선택기 사용 기술과 위치를 마스터하세요. 소개: 데이터 처리 및 분석 과정에서 선택기는 매우 중요한 도구입니다. 선택기를 통해 특정 조건에 따라 데이터 세트에서 필요한 데이터를 추출할 수 있습니다. 이 기사에서는 독자가 이 두 선택기의 강력한 기능을 빠르게 익힐 수 있도록 is 및 where 선택기의 사용 기술을 소개합니다. 1. is 선택기의 사용 is 선택기는 주어진 조건에 따라 데이터 세트를 선택할 수 있는 기본 선택기입니다.

THE(Tokenized Healthcare Ecosystem)는 블록체인 기술을 사용하여 의료 산업의 혁신과 개혁에 초점을 맞춘 디지털 통화입니다. THE 코인의 임무는 블록체인 기술을 사용하여 의료 산업의 효율성과 투명성을 향상시키고 환자, 의료진, 제약 회사 및 의료 기관을 포함한 모든 당사자 간의 보다 효율적인 협력을 촉진하는 것입니다. THE Coin의 가치와 특징 우선, THE Coin은 디지털 화폐로서 블록체인의 장점(분권화, 높은 보안성, 투명한 거래 등)을 갖고 있어 참여자들이 이 시스템을 신뢰하고 의존할 수 있습니다. 둘째, THE 코인의 독창성은 의료 및 건강 산업에 초점을 맞추고 블록체인 기술을 사용하여 전통적인 의료 시스템을 변화시키고 개선한다는 것입니다.

TheSandbox 코인의 최신 가격을 확인하는 방법 TheSandbox는 Ethereum 블록체인을 기반으로 구축된 분산형 게임 플랫폼으로, 자체 토큰 SAND를 사용하여 토지, 자산 및 게임 경험을 구매할 수 있습니다. SAND의 최신 가격을 확인하는 방법은 다음과 같습니다. 믿을 수 있는 가격 확인 웹사이트나 앱을 선택하세요. 일반적으로 사용되는 가격 쿼리 웹사이트는 다음과 같습니다: CoinMarketCap: https://coinmarketcap.com/Coindesk: https://www.coindesk.com/Binance: https://www.binance.com/ 웹사이트나 SAND 앱에서 검색하세요. 모래보기

TheGraph 코인의 최신 가격을 확인하는 방법은 무엇입니까? TheGraph는 블록체인 데이터에 대한 효율적인 인덱싱 및 쿼리 서비스를 제공하도록 설계된 분산형 프로토콜입니다. 이 프로토콜은 개발자가 분산형 애플리케이션(dApp)을 보다 쉽게 구축 및 실행할 수 있도록 하고 이러한 애플리케이션에 블록체인 데이터에 대한 편리한 액세스를 제공하도록 설계되었습니다. TheGraph Coin(GRT)의 최신 가격을 확인하려면 다음 단계를 따르세요. 신뢰할 수 있는 가격 확인 웹사이트나 앱을 선택하세요. 일반적으로 사용되는 가격 쿼리 웹사이트는 다음과 같습니다: CoinMarketCap: https://coinmarketcap.com/Coindesk: https://www.coind

삼성전자는 올 하반기 차세대 폴더블폰 '갤럭시Z폴드'와 '플립6' 시리즈를 출시할 예정이다. 최근 국내 매체 더일렉과 '지지위클리e'는 이들 두 가지 신제품에 대한 자세한 내용을 공개했다. 삼성 갤럭시 Z 폴드6의 사진이 유출됐습니다. 출처@chunvn8888 디일렉에 따르면 삼성전자 공급망 제조사들은 갤럭시Z폴드6·플립6 관련 부품 생산을 5월 초부터 시작할 것으로 예상된다. 반면 갤럭시Z폴드5·플립5 부품 생산은 2월부터 시작될 전망이다. 지난해 5월 중순. 올해 갤럭시Z 시리즈 스탠다드 버전 출시 일정이 지난해보다 2~3주 정도 빨라진 셈이다. 가다

최근 로지텍이 상반기에 제작한 기업용 데스크탑 구성 백서를 읽었는데, 기업용 데스크탑 주변기기에 관한 지식과 구매 논리가 우리에게 많은 영감을 주었습니다. 이러한 신선한 관점 중 다수는 중관촌의 오랜 팬들과 공유하기에 매우 적합합니다. 로지텍 백서: 데스크탑 주변 장치 구매에 대한 새로운 생각 데스크탑 주변 장치 분야의 선두주자로서 로지텍의 브랜드 강점과 기술 혁신은 모두에게 분명합니다. 백서 공개 시기의 중요성 로지텍 백서 공개 시기는 기업 오피스 모델의 변화와 일치한다. 하이브리드 사무실 모델의 인기는 고용주 브랜딩 및 인재 유치에 새로운 과제를 제기합니다. 데스크탑 주변 장치 구매의 새로운 추세 이전 데스크탑 주변 장치 구매 표준은 너무 단순했을 수 있습니다. 다양한 직위에 있는 직원들은 키보드, 마우스, 헤드셋, 카메라에 대한 요구 사항이 상당히 다릅니다. 로지텍 백서의 관점 Logitech White

TheGraph 코인 시가총액을 확인하는 방법 TheGraph는 개발자가 블록체인 데이터를 색인화하고 쿼리할 수 있도록 설계된 분산형 프로토콜입니다. 토큰인 GRT는 네트워크 수수료를 지불하고 노드 운영자에게 보상하는 데 사용됩니다. TheGraph 통화의 시장 가치를 확인하는 방법: 신뢰할 수 있는 웹사이트 또는 플랫폼을 선택하십시오. CoinMarketCap, CoinGecko, Feixiaohao 등과 같이 암호화폐 시장 가치 정보를 제공하는 여러 웹사이트와 플랫폼이 있습니다. 정확한 정보를 얻으려면 신뢰할 수 있는 웹사이트나 플랫폼을 선택하는 것이 중요합니다. TheGraph 검색: 웹사이트나 플랫폼에서 GRT 또는 TheGraph를 검색하세요. 시가총액 보기: TheGraph의 시가총액은 검색 결과에 자주 표시됩니다. 팁: 시가총액
