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

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Editor Laporan Kuasa Mesin: Wu Xin Versi domestik robot humanoid + pasukan model besar menyelesaikan tugas operasi bahan fleksibel yang kompleks seperti melipat pakaian buat kali pertama. Dengan pelancaran Figure01, yang mengintegrasikan model besar berbilang modal OpenAI, kemajuan berkaitan rakan domestik telah menarik perhatian. Baru semalam, UBTECH, "stok robot humanoid nombor satu" China, mengeluarkan demo pertama robot humanoid WalkerS yang disepadukan secara mendalam dengan model besar Baidu Wenxin, menunjukkan beberapa ciri baharu yang menarik. Kini, WalkerS, diberkati oleh keupayaan model besar Baidu Wenxin, kelihatan seperti ini. Seperti Rajah01, WalkerS tidak bergerak, tetapi berdiri di belakang meja untuk menyelesaikan satu siri tugasan. Ia boleh mengikut perintah manusia dan melipat pakaian

Dari pemula hingga mahir: Kuasai kemahiran menggunakan adalah dan di mana pemilih Pengenalan: Dalam proses pemprosesan dan analisis data, pemilih adalah alat yang sangat penting. Melalui pemilih, kami boleh mengekstrak data yang diperlukan daripada set data mengikut keadaan tertentu. Artikel ini akan memperkenalkan kemahiran penggunaan ialah dan tempat pemilih untuk membantu pembaca dengan cepat menguasai fungsi berkuasa kedua-dua pemilih ini. 1. Penggunaan pemilih is Pemilih is ialah pemilih asas yang membolehkan kita memilih set data berdasarkan syarat yang diberikan.

Apakah mata wang THE (Tokenized Healthcare Ecosystem) ialah mata wang digital yang menggunakan teknologi blockchain untuk menumpukan pada inovasi dan pembaharuan dalam industri penjagaan kesihatan. Misi syiling adalah untuk menggunakan teknologi blockchain untuk meningkatkan kecekapan dan ketelusan industri perubatan dan menggalakkan kerjasama yang lebih cekap dalam kalangan semua pihak, termasuk pesakit, kakitangan perubatan, syarikat farmaseutikal dan institusi perubatan. Nilai dan Ciri-ciri THE Coin Pertama sekali, THE Coin, sebagai mata wang digital, mempunyai kelebihan rantaian blok - desentralisasi, keselamatan tinggi, urus niaga telus, dsb., membolehkan peserta mempercayai dan bergantung pada sistem ini. Kedua, keunikan THE coin ialah ia memberi tumpuan kepada industri perubatan dan kesihatan, menggunakan teknologi blockchain untuk mengubah sistem perubatan tradisional dan menambah baik.

Cara menyemak harga terkini mata wang TheSandbox TheSandbox ialah platform permainan terdesentralisasi yang dibina pada blockchain Ethereum, aset dan pengalaman permainan boleh dibeli menggunakan SAND token asalnya. Langkah-langkah untuk menyemak harga SAND terkini adalah seperti berikut: Pilih tapak web atau aplikasi semakan harga yang boleh dipercayai. Beberapa tapak web pertanyaan harga yang biasa digunakan termasuk: CoinMarketCap: https://coinmarketcap.com/Coindesk: https://www.coindesk.com/Binance: https://www.binance.com/ Cari di tapak web atau aplikasi SAND. Lihat PASIR

Bagaimana untuk menyemak harga terkini syiling TheGraph? TheGraph ialah protokol terdesentralisasi yang direka untuk menyediakan perkhidmatan pengindeksan dan pertanyaan yang cekap untuk data blockchain. Protokol ini direka bentuk untuk memudahkan pembangun membina dan melancarkan aplikasi terdesentralisasi (dApps), dan untuk menyediakan aplikasi ini dengan akses mudah kepada data blockchain. Untuk menyemak harga terkini TheGraph Coin (GRT), anda boleh mengikuti langkah berikut: Pilih tapak web atau apl semakan harga yang boleh dipercayai. Beberapa tapak web pertanyaan harga yang biasa digunakan termasuk: CoinMarketCap: https://coinmarketcap.com/Coindesk: https://www.coind

Samsung merancang untuk melancarkan telefon pintar skrin lipat siri Galaxy Z Fold dan Flip 6 generasi baharu pada separuh kedua tahun ini. Baru-baru ini, media Korea TheElec dan "Jiji Weekly e" mendedahkan lebih banyak butiran mengenai dua produk baharu ini. Samsung Galaxy Z Fold6 bocor gambar. Sumber @chunvn8888 Menurut TheElec, pengeluar rantaian bekalan Samsung Electronics dijangka memulakan pengeluaran komponen berkaitan Galaxy Z Fold6 dan Flip 6 pada awal Mei Sebaliknya, pengeluaran alat ganti untuk Galaxy Z Fold5 dan Flip 5 bermula pada yang kedua separuh bulan Mei tahun lepas. Ini bermakna jadual keluaran tahun ini untuk versi standard siri Galaxy Z adalah kira-kira dua hingga tiga minggu lebih awal daripada tahun lepas. pergi

Baru-baru ini, saya membaca kertas putih konfigurasi desktop perusahaan yang dihasilkan oleh Logitech pada separuh pertama tahun Pengetahuan dan logik pembelian yang terlibat dalam peranti desktop peringkat perusahaan memberi kami banyak inspirasi. Banyak sudut pandangan segar ini sangat sesuai untuk dikongsi dengan peminat lama Zhongguancun. Kertas Putih Logitech: Pemikiran Baharu tentang Membeli Peranti Desktop Sebagai peneraju dalam bidang perkakasan desktop, kekuatan jenama dan inovasi teknologi Logitech jelas kepada semua. Kepentingan masa pengeluaran kertas putih Masa pengeluaran kertas putih Logitech bertepatan dengan transformasi model pejabat korporat. Populariti model pejabat hibrid menimbulkan cabaran baharu untuk penjenamaan majikan dan tarikan bakat. Aliran Baharu dalam Pembelian Peranti Desktop Piawaian pembelian persisian desktop sebelumnya mungkin terlalu mudah. Pekerja dalam kedudukan yang berbeza mempunyai keperluan yang berbeza untuk papan kekunci, tetikus, set kepala dan kamera. Perspektif dalam Logitech White Paper Logitech White

Cara Menyemak TheGraph Coin Market Cap TheGraph ialah protokol terdesentralisasi yang direka untuk membantu pembangun mengindeks dan menanyakan data blockchain. GRT tokennya digunakan untuk membayar yuran rangkaian dan pengendali nod ganjaran. Cara menyemak nilai pasaran mata wang TheGraph: Pilih tapak web atau platform yang boleh dipercayai: Terdapat berbilang tapak web dan platform yang menyediakan maklumat nilai pasaran mata wang kripto, seperti CoinMarketCap, CoinGecko, Feixiaohao, dsb. Adalah penting untuk memilih tapak web atau platform yang boleh dipercayai untuk memastikan anda mendapat maklumat yang tepat. Cari TheGraph: Cari GRT atau TheGraph di tapak web atau platform. Lihat Had Pasaran: Had pasaran TheGraph sering ditunjukkan dalam hasil carian. Petua: permodalan pasaran
