我今天才知道:学习编程和学习编程语言是两码事
大多数程序员、初学者都以为自己正在学习编程,其实并不是,而是在走弯路。
你可能正在学习一门编程语言,而不是编程本身
计算机科学不是学习计算机,很震惊吧。相反,它是关于借助计算机来自动解决问题的一门学问。解决问题才是计算机科学,而不是写代码。这就是许多计算机科学专业的学生,似乎不理解他们为什么学习算法和数学的原因。
如果你以前上过计算机科学的课,那么你不会对此感到惊讶。因为你会注意到编程与编程语言几乎没有关系。思考一下,为什么伪代码在这些课程中如此常见。
但大多数程序员总是会落入陷阱。我们学了十几年编程语言,才意识到自己真正需要学的是编程,而我本身就是受害者。
我花了十多年的时间来学习各种编程语言。我学的编程语言越多,构建简单的东西就越困难,我感觉找不到正确的工具。但问题是,当我不知道如何下手时,我忘记了应该去探索要做什么,而不是寻找正确的工具。
编程语言的奇怪之处在于它们总是在变化。编程语言几乎每天都在变化,跟进非常困难。而且大多数优秀的程序仅用到了编程语言的一小部分。
优先学习编程语言的问题就像在学习木工之前学习如何使用木工锯、锤子和各种切割机。木工需要注意:想法、可行性分析、度量、测试、用户使用习惯,老木匠更关注这些。而不是锤子和钉子这些东西。
在对工作进行科学研究期间,他还将花时间检查钉子、着色剂、木材等的质量。
学习编程和学习编程语言有什么区别?
“编程” 通过给出一条指令来使系统自动运行。我们每天都这样做,我们教我们的孩子、士兵、客户。我们发出或收到指令,要求自由或独立地按照规定的方式进行。你的父母不需要一直跟着你,并指导你生活中的每一步,他们已经在之前生活中的许多方面对你给予过指导(指令)。
大多数学校和教育网站都会教授编程语言的语法。他们还会添加一些设计模式(而你可能恰好忽略了设计模式是什么)、一些数学计算、如何声明变量以及如何使用它们,数据类型以及如何声明和创建它们。
上面说的那些编程语言的知识不会教你编程。当你发现时,你会觉得学习编程实在浪费时间,大把的时间。
我们用编程来解决问题,而编程语言是帮助我们解决问题的工具。
它们就像工具箱,我们称之为框架。它们可以让你的想法更有条理。
如果你正在学习编程,但仍无法设计和编写一个实际的应用程序,这意味着你要花更多的时间去学习编程而不是编程语言。
我们遇到过很多人,他们仍然不知道如何设计一个程序。
对于程序员来说,一个程序是一个需要解决的问题。在涉及任何编程语言之前,需要先认真思考、理解问题。当你无论要解决什么问题时,其实都可以使用任何一种编程语言进行编码(重要的是思考要解决的问题)。
让我们以计算平方为例。计算一个数的平方,对自身进行多次乘法计算。我们可以用多种语言来实现它,例如:
用 C 语言
function square(int * x) { return x * x; }
用 PHP
function square ($x){ return $x * $x; }
学习推荐:php编程入门视频教程
用 JavaScript
function square(x){ return x * x }
学习推荐:javascript视频教程
用 Scheme(一种 Lisp 方言)
(define (square x) (* x x))
你会注意到,语法只决定具体实现,而解决问题的方法是相同的。这就是你几乎可以使用任何你愿意使用的语言,构建任何类型的软件的主要原因之一。
通过编程更容易理解一门语言
人类语言是个问题,因为人类语言充满局限和错误,所以机器无法直接理解。
在学习编程时,你将学习新的术语和新的工具来编写逻辑,这样计算机或其他程序员也可以理解并达成共识。
通常,你将从一个简单的、类似人类语言,被称作伪代码的语言开始。它是从人类语言到计算机编程语言的很好的过渡工具,这样做是为了防止你在编程语言上浪费时间。
如此,你就可以完全专注于问题的本身和解决的逻辑。通过这一过程,你将发现一个好的编程工具(语言)的核心部分,你就知道那些是重要的、你所需要的(如果你需要用锤子砸东西,就先学砸东西,钉钉子暂时用不到就先不学)。
这样一来,你就会在不知不觉间就学会一门编程语言(完全掌握锤子的用法)
翻译原文:Learning programming is different from learning a programming language: https://phpocean.com/blog/article/learning-programming-is-different-from-learning-a-programming-language/80
【相关文章】

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



Menurut berita dari laman web ini pada 24 Jun, pada ucaptama Persidangan Pembangun Huawei HDC2024 pada 21 Jun, Gong Ti, Presiden Jabatan Perisian Terminal BG Huawei, secara rasmi mengumumkan bahasa pengaturcaraan Cangjie yang dibangunkan sendiri oleh Huawei. Bahasa ini telah dibangunkan selama 5 tahun dan kini tersedia untuk pratonton pembangun. Laman web pembangun rasmi Huawei kini telah melancarkan video tutorial pengenalan rasmi bahasa pengaturcaraan Cangjie untuk memudahkan pembangun memulakan dan memahaminya. Tutorial ini akan membawa pengguna untuk mengalami Cangjie, mempelajari Cangjie dan menggunakan Cangjie, termasuk menggunakan bahasa Cangjie untuk menganggar pi, mengira peraturan batang dan cabang untuk setiap bulan 2024, lihat N cara menyatakan pokok binari dalam bahasa Cangjie dan menggunakan penghitungan jenis untuk melaksanakan pengiraan Algebra, simulasi sistem isyarat menggunakan antara muka dan sambungan, dan sintaks baharu menggunakan makro Cangjie, dsb. Laman web ini mempunyai alamat akses tutorial: ht

Laman web ini melaporkan pada 21 Jun bahawa pada Persidangan Pembangun Huawei HDC2024 petang ini, Gong Ti, Presiden Jabatan Perisian Terminal BG Huawei, secara rasmi mengumumkan bahasa pengaturcaraan Cangjie yang dibangunkan sendiri oleh Huawei dan mengeluarkan versi pratonton pembangun bagi bahasa HarmonyOSNEXT Cangjie. Ini adalah kali pertama Huawei mengeluarkan bahasa pengaturcaraan Cangjie secara terbuka. Gong Ti berkata: "Pada 2019, projek bahasa pengaturcaraan Cangjie telah dilahirkan di Huawei. Selepas 5 tahun pengumpulan R&D dan pelaburan R&D yang berat, akhirnya ia bertemu dengan pembangun global hari ini. Bahasa pengaturcaraan Cangjie mengintegrasikan ciri bahasa moden, pengoptimuman kompilasi komprehensif dan pelaksanaan Runtime dan sokongan rangkaian alat IDE yang luar biasa mencipta pengalaman pembangunan yang mesra dan prestasi program yang sangat baik untuk pembangun "Menurut laporan, bahasa pengaturcaraan Cangjie ialah alat perisikan semua senario.

Menurut berita dari laman web ini pada 21 Jun, bahasa pengaturcaraan Cangjie yang dibangunkan sendiri oleh Huawei telah diumumkan secara rasmi hari ini, dan pegawai itu mengumumkan pelancaran pengambilan beta pratonton pembangun bahasa HarmonyOSNEXT Cangjie. Peningkatan ini ialah peningkatan pengguna awal kepada versi pratonton pembangun, yang menyediakan SDK bahasa Cangjie, panduan pembangun dan pemalam DevEcoStudio yang berkaitan untuk pembangun menggunakan bahasa Cangjie untuk membangun, nyahpepijat dan menjalankan aplikasi HarmonyOSNext. Tempoh pendaftaran: 21 Jun 2024 - 21 Oktober 2024 Keperluan permohonan: Acara pengambilan Beta HarmonyOSNEXT Cangjie Language Developer Preview hanya terbuka kepada pembangun berikut: 1) Nama sebenar telah dilengkapkan dalam Pensijilan Perikatan Pembangun Huawei 2) Lengkapkan H

Menurut berita dari laman web ini pada 22 Jun, Huawei semalam memperkenalkan bahasa pengaturcaraan yang dibangunkan sendiri oleh Huawei-Cangjie kepada pembangun di seluruh dunia. Ini adalah penampilan umum pertama bahasa pengaturcaraan Cangjie. Menurut pertanyaan di laman web ini, Universiti Tianjin dan Universiti Aeronautik dan Astronautik Beijing terlibat secara mendalam dalam penyelidikan dan pembangunan "Cangjie" Huawei. Universiti Tianjin: Penyusun Bahasa Pengaturcaraan Cangjie Pasukan kejuruteraan perisian Jabatan Perisikan dan Pengkomputeran Universiti Tianjin bekerjasama dengan pasukan Huawei Cangjie untuk mengambil bahagian secara mendalam dalam penyelidikan jaminan kualiti penyusun bahasa pengaturcaraan Cangjie. Menurut laporan, pengkompil Cangjie adalah perisian asas yang bersimbiotik dengan bahasa pengaturcaraan Cangjie. Dalam peringkat persediaan bahasa pengaturcaraan Cangjie, pengkompil berkualiti tinggi yang sepadan dengannya menjadi salah satu matlamat teras. Apabila bahasa pengaturcaraan Cangjie berkembang, pengkompil Cangjie sentiasa dinaik taraf dan dipertingkatkan. Dalam tempoh lima tahun yang lalu, Universiti Tianjin

Menurut berita dari laman web ini pada 21 Jun, sebelum Persidangan Pembangun Huawei HDC2024, bahasa pengaturcaraan Cangjie yang dibangunkan sendiri oleh Huawei telah diumumkan secara rasmi, dan tapak web rasmi Cangjie kini dalam talian. Pengenalan laman web rasmi menunjukkan bahawa bahasa pengaturcaraan Cangjie ialah bahasa pengaturcaraan generasi baharu untuk kecerdasan semua senario, memfokuskan pada "kepintaran asli, semua senario semula jadi, prestasi tinggi dan keselamatan yang kukuh." Sepadukan ke dalam ekosistem Hongmeng untuk menyediakan pembangun pengalaman pengaturcaraan yang baik. Laman web rasmi yang dilampirkan pada tapak ini memperkenalkan seperti berikut: Rangka kerja pengaturcaraan pintar asli yang dibenamkan dengan AgentDSL, integrasi organik bahasa semula jadi & bahasa pengaturcaraan, ekspresi simbolik yang dipermudahkan, gabungan corak bebas, menyokong pembangunan pelbagai aplikasi pintar. Masa jalan yang sangat ringan dan berskala untuk semua adegan, reka bentuk berlapis modular, tidak kira betapa kecilnya memori, ia boleh menampung pengembangan domain semua senario

Perbandingan kelebihan dan kekurangan C++ dengan bahasa pengaturcaraan moden yang lain ialah: Kelebihan C++: prestasi tinggi, kawalan tahap rendah, ekosistem perpustakaan yang kaya. C++ Kelemahan: Keluk pembelajaran yang curam, pengurusan memori manual, mudah alih terhad. Kelebihan Python: keluk pembelajaran lancar, sokongan perpustakaan yang meluas, bahasa yang ditafsirkan. Kelebihan Java: bebas platform, pengurusan memori automatik, aplikasi luas. Kelebihan JavaScript: penting untuk pembangunan bahagian hadapan, ringan, jenis dinamik.

Menurut berita pada 21 Jun, tengah hari ini, Persidangan Pembangun Huawei 2024 akan dibuka secara rasmi. "Hongmeng berdarah murni" HarmonyOS NEXT sememangnya menjadi keutamaan menurut rancangan yang didedahkan oleh Yu Chengdong sebelum ini, beta awam mungkin diumumkan secara rasmi petang ini, dan pengguna biasa juga boleh mencuba "Harmony darah tulen". Menurut laporan, kumpulan pertama telefon mudah alih yang disokong ialah siri Mate60 dan siri Pura70. Perlu diingat bahawa sebagai "Hongmeng berdarah tulen", HarmonyOSNEXT telah mengalih keluar kernel Linux tradisional dan kod sumber terbuka Android AOSP dan membangunkan keseluruhan tindanan dalaman. Menurut laporan terbaru dari Sina Technology, Huawei juga akan melengkapkan pautan terakhir Ekosistem Hongmeng dan mengembangkan kehadirannya di dunia.

Menurut berita dari laman web ini pada 21 Jun, bahasa pengaturcaraan Cangjie yang dibangunkan sendiri oleh Huawei telah diumumkan secara rasmi hari ini, dan pengambilan beta versi pratonton pembangun bahasa HarmonyOSNEXT Cangjie telah bermula. Halaman Soal Jawab Bahasa Pengaturcaraan Cangjie di tapak web rasmi Huawei menunjukkan bahawa Bahasa Pengaturcaraan Cangjie ialah bahasa pengaturcaraan aplikasi generasi seterusnya yang berorientasikan kepada kecerdasan semua senario Ia memfokuskan pada kecerdasan asli, semua senario asli, prestasi tinggi dan keselamatan yang kukuh digabungkan dengan sistem Hongmeng untuk memberikan pengalaman pengaturcaraan yang baik. Untuk senario perniagaan yang berbeza, Ekosistem Hongmeng menyediakan pembangun aplikasi dengan keupayaan pembangunan hibrid berbilang bahasa seperti Cangjie dan ArkTS. Cangjie dan ArkTS membangun bersama dan membentuk kelebihan pelengkap dalam ekosistem Hongmeng. Cangjie lebih sesuai untuk senario perniagaan dengan prestasi tinggi dan keperluan serentak yang tinggi Matlamat bahasa pengaturcaraan Cangjie adalah untuk mencipta aplikasi Hongmeng yang melaksanakan tugas secara serentak.