软件工程师的本质->>转自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ヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Machine Power Report 編集者: Wu Xin 国内版の人型ロボット + 大型模型チームは、衣服を折りたたむなどの複雑で柔軟な素材の操作タスクを初めて完了しました。 OpenAIのマルチモーダル大規模モデルを統合したFigure01の公開により、国内同業者の関連動向が注目を集めている。つい昨日、中国の「ヒューマノイドロボットのナンバーワン株」であるUBTECHは、Baidu Wenxinの大型モデルと深く統合されたヒューマノイドロボットWalkerSの最初のデモを公開し、いくつかの興味深い新機能を示した。 Baidu Wenxin の大規模モデル機能の恩恵を受けた WalkerS は次のようになります。 Figure01 と同様に、WalkerS は動き回るのではなく、机の後ろに立って一連のタスクを完了します。人間の命令に従って服をたたむことができる

初心者から上級者まで: is および where セレクターの使用スキルをマスターする はじめに: データの処理と分析のプロセスにおいて、セレクターは非常に重要なツールです。セレクターを使用すると、特定の条件に従ってデータセットから必要なデータを抽出できます。この記事では、読者がこれら 2 つのセレクターの強力な機能をすぐに習得できるように、is および where セレクターの使用スキルを紹介します。 1. is セレクターの使用 is セレクターは、与えられた条件に基づいてデータセットを選択できるようにする基本的なセレクターです。

THE とは何ですか? THE (Tokenized Healthcare Ecosystem) は、ブロックチェーン技術を使用してヘルスケア業界のイノベーションと改革に焦点を当てたデジタル通貨です。 THE コインの使命は、ブロックチェーン技術を使用して医療業界の効率と透明性を向上させ、患者、医療スタッフ、製薬会社、医療機関を含むすべての関係者間のより効率的な協力を促進することです。 THE Coin の価値と特徴 まず第一に、THE Coin はデジタル通貨として、分散化、高セキュリティ、透明性のある取引などのブロックチェーンの利点を備えており、参加者はこのシステムを信頼して利用することができます。第二に、THE コインの独自性は、ブロックチェーン技術を使用して従来の医療システムを変革し、改善するために医療および健康産業に焦点を当てていることです。

TheSandbox 通貨の最新価格を確認する方法 TheSandbox は、イーサリアム ブロックチェーン上に構築された分散型ゲーム プラットフォームで、ネイティブ トークン SAND を使用して土地、資産、ゲーム体験を購入できます。 SAND の最新価格を確認する手順は次のとおりです。 信頼できる価格確認 Web サイトまたはアプリを選択してください。一般的に使用される価格クエリ Web サイトには次のものがあります。 CoinMarketCap: https://coinmarketcap.com/Coindesk: https://www.coindesk.com/Binance: https://www.binance.com/ Web サイトまたはアプリ SAND で検索します。サンドを見る

TheGraphコインの最新価格を確認するにはどうすればよいですか? TheGraph は、ブロックチェーン データの効率的なインデックス作成とクエリ サービスを提供するように設計された分散型プロトコルです。このプロトコルは、開発者が分散型アプリケーション (dApp) を簡単に構築および起動できるようにし、これらのアプリケーションにブロックチェーン データへの便利なアクセスを提供するように設計されています。 TheGraph Coin (GRT) の最新価格を確認するには、次の手順に従います。 信頼できる価格確認 Web サイトまたはアプリを選択します。一般的に使用される価格クエリ Web サイトには次のものがあります。 CoinMarketCap: https://coinmarketcap.com/Coindesk: https://www.coind

サムスンは今年下半期に新世代のGalaxy Z FoldとFlip 6シリーズの折りたたみ画面スマートフォンを発売する予定だ。最近、韓国メディア TheElec と「時事週刊 e」がこれら 2 つの新製品の詳細を明らかにしました。 Samsung Galazy Z Fold6の写真が流出。 TheElecによると、サムスン電子のサプライチェーンメーカーは5月上旬にGalaxy Z Fold6とFlip 6関連部品の生産を開始する予定だが、対照的にGalaxy Z Fold5とFlip 5用の部品の生産は5月上旬に開始されたという。去年の5月半分。これは、Galaxy Zシリーズの標準版の今年の発売スケジュールが昨年より2~3週間ほど早いことを意味する。行く

最近、ロジクールが今年上半期に作成したエンタープライズ デスクトップ構成のホワイト ペーパーを読みました。エンタープライズ レベルのデスクトップ周辺機器に関する知識と購入ロジックから、多くのインスピレーションが得られました。これらの新鮮な視点の多くは、中関村の古くからのファンと共有するのに非常に適しています。ロジクール ホワイト ペーパー: デスクトップ周辺機器の購入に関する新しい考え方 デスクトップ周辺機器分野のリーダーとして、ロジクールのブランド力と技術革新は誰の目にも明らかです。ホワイト ペーパーのリリース時期の重要性 ロジクールのホワイト ペーパーのリリース時期は、企業のオフィス モデルの変革と一致しています。ハイブリッド オフィス モデルの人気は、雇用主のブランディングと人材の魅力に新たな課題をもたらしています。デスクトップ周辺機器の購入における新しいトレンド 以前のデスクトップ周辺機器の購入基準は単純すぎた可能性があります。従業員の立場が異なれば、キーボード、マウス、ヘッドセット、カメラに対するニーズも大きく異なります。ロジクール ホワイト ペーパーの視点 ロジクール ホワイト

TheGraph Coin 時価総額を確認する方法 TheGraph は、開発者がブロックチェーン データのインデックスを作成し、クエリを実行できるように設計された分散型プロトコルです。そのトークン GRT は、ネットワーク料金の支払いとノード オペレーターへの報酬に使用されます。 TheGraph 通貨の市場価値を確認する方法: 信頼できる Web サイトまたはプラットフォームを選択する: CoinMarketCap、CoinGecko、Feixiaohao など、仮想通貨の市場価値情報を提供する Web サイトやプラットフォームが複数あります。正確な情報を確実に入手するには、信頼できる Web サイトまたはプラットフォームを選択することが重要です。 TheGraph を検索する: Web サイトまたはプラットフォームで GRT または TheGraph を検索します。時価総額の表示: TheGraph の時価総額は、検索結果によく表示されます。ヒント: 時価総額
