作者:zooboole
英文原文:《Learning programming is different from learning a programming language》

我们都是程序员,也是学习者。令人惊讶的是,如此多的人以为自己在学习编程,却已经步入歧途。

你可能正在学习编程语言,而不是编程本身

大家都知道计算机科学不是研究计算机,它反倒是利用计算机研究自动解决问题的。问题解决是计算机科学,不是编程。这就许多计算机科学专业的学生似乎不理解他们为什么要学习算法或数学的原因。

如果你以前上过计算机科学课,你就应该知道我在说什么。因为你会注意到编程与编程语言几乎没有关系。问问自己为什么伪代码在这些课程中如此常见。

但是,大多数自以为是的程序员总是落入陷阱。在意识到进行编程时到底什么是应该要做的之前,我们学习了几十年的编程语言。我自己也是受害者。

我花了十多年的时间一点一点地学习各种编程语言。我学的越多,就越难以简单的方式解决问题。我以为是没有找到合适的工具。但问题是,当我甚至还不知道这个工作要做什么时,就去寻找合适的工具,而忘记了找出真正的工作是该做什么。

编程语言的奇怪之处在于它们总是在不断发展。编程语言几乎每天都在变化,跟进很难。而大多数优秀的程序只使用了编程语言的一小部分

首先,学习编程语言的问题就像在学习木工之前学习如何使用木工锯,锤子和各种切割机器。木工需要注意:想法,可行性分析,测量,测试,客户行为。资深木匠感兴趣的事物不止于锤子和钉子。在他对这项工作的研究中,还需要时间来检查钉子、着色剂、木材等的质量。

C/C++的学习裙【七一二 二八四 七零五 】,无论你是小白还是进阶者,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

学习编程和学习编程语言的区别是什么呢?

编程是通过一次下达指令来设置一个系统自动运行。我们每天都这样做。我们教我们的孩子,命令我们的士兵,服务我们的客户。我们给予或收到指示,以自由/独立的方式生活。父母不需要跟随并指导你在生活中所做的每一个动作。他们可能已经在生活的许多方面为你编程了。

大多数学校和教学网站都会教授编程语言的语法。他们可以添加一些设计模式(当你忽略究竟是什么设计时)、一些算术计算。教你如何声明变量以及如何使用它们;教你如何声明数据类型以及创建它们。

这并不能教你推理。但后来,您将会遇见推理方法。使用那些方法来学习,会让你觉得是浪费生命或者花了很多时间来学习编程。

我们用编程来解决问题,编程语言是帮助我们达到目的工具。

它们就像工具箱,我们称之为框架,帮助你组织你的思维。

如果你正在学习编程且仍然无法设计和编写真实应用程序,那么这就意味着你正在学习编程语言而不是编程。

我们经常会遇到想知道如何创建程序的学习者。对于程序员来说,程序是一个问题求解。在使用任何编程语言之前,他通过关键分析解决了问题。当你解决任何问题时,你可以用任何编程语言来编码。我们来看看平方求解的案例。为了求解平方,我们将它与自己相乘。我们可以用各种语言实现它,例如:

C语言

int square(int x) { return x*x; }

PHP语言

function square ($x){ return $x * $x; }

Javascript语言

function square(x){ return x * x }

Scheme(a Lisp dialect)语言

(define (square x) (* x x))

您应该注意到实现中只有语法是不一样的,解决方案是一样的。这也是你几乎可以使用任何编程语言的主要原因之一,在这种语言中你可以更轻松地构建任何类型的软件。

编程可以让你更容易理解一门语言

通常,问题出在人类语言,它充满了局限和错误。人类语言不能用来指令机器,因为它们不理解。

你学习编程时,是在学习一种新术语和工具,来帮助你以计算机或其他程序员可以理解和同意的方式编写逻辑。

通常,你将从简单且类似人类语言的符号--伪代码开始。它是从人类语言到计算机编程语言的良好过渡工具。这通常是为了避免浪费时间在具体的编程语言上,这样你可以完全专注于推理。通过它,你将发现构成良好编程工具(语言)的核心部分。你知道了真正需要的是什么、掌握了编程语言的核心目标。在编程实践过程中,你会不知不觉地就学会了这门编程语言。

在原文的基础上改正了C语言函数语法的错误,如果还有其他地方有错误请大家指正。

如果你也想要学习编程,掌握炫酷技能,小编推荐一个C/C++技术交流群【点击进入】!

涉及到了:编程入门、游戏编程、网络编程、Windows编程、Linux编程、Qt界面开发、黑客等等......

学习编程并不是学习编程语言相关推荐

  1. c 语言编程学习 编程环境_学习C ++编程语言的前5个网站

    c 语言编程学习 编程环境 Let's have a look about C++ programming language first, 首先让我们看一下C ++编程语言, C++ is an Ob ...

  2. 想利用业余时间学习计算机知识,但是不想学习编程该怎么学习

    首先,当前学习计算机相关知识是不错的选择,但是对于不喜欢编程的人来说,在学习方向的选择上会有较大的局限性,实际上很多计算机技术都离不开编程,编程也是计算机领域的基本技能之一. 如果对于编程不感兴趣,那 ...

  3. 我想学习编程, 但不知道从哪里开始

    原文地址: I Want to Learn Programming but I Don't Know where to Start 原文作者: Robyn Silber 译文地址: 我想学习编程, 但 ...

  4. 学习编程先学什么?怎么学习编程?

    怎么学习编程 随着IT行业的快速发展,现在越来越多的人看中IT行业的前景,很多的人选择IT行业.其中大部分人会选择了学习编程语言,那么,怎么学习编程语言.学习编程先学什么就是人们最常遇到的困难,因此, ...

  5. 为什么全世界都要鼓励青少儿学习编程?

    2014年,英国将编程编入教育大纲,所有英国的孩子从5岁起就必须学习编程.而后的2016年,美国政府投入了40亿美元,在全美大力推广编程教育,现在全美有超过1200万孩子在学习编程. 当中国的孩子还在 ...

  6. 如何学习编程(编程如何学习呢)

    如何学习编程,学习编程的途径 学习编程可以从这几个方面入手:1.找到适合自己的学习方法与途径:2.选择适合自己的学习方式,保持学习:3.编程要多敲代码:4.在学习的道路上多和程序员交流,寻找良师益友: ...

  7. 初学者学习编程,如何训练自己的编程思维,资深程序员这样建议

    近给大家讲了一堂关于初学者如何从零基础到就业正确的学习步骤,在课堂中我提过两点困难是初学者最大的问题,其中一个问题就是学了后面忘了前面的问题,还有一个最重要的问题就是编程思维.今天主要给大家讲一下初学 ...

  8. 写给想学和在学编程的你们,学习编程的7个好处

    你们有没有这种经历?亲戚或者爱人甚至是不做技术的朋友,看到我们屏幕上的小括号{},大括号[],还有一大堆的技术英文单词private,public,function等等,都会惊叹一句"你写的 ...

  9. 【译】需要学习的是编程,而不是编程语言

    我们不仅是程序员,而且是个(与时俱进的)学习者.鲜见的是有多少人认为他们是在学习编程的呢.原翻译传送门is here 你可能在学习编程语言而不是编程本身 别对学习计算机科学(CS)不是研究计算机这种言 ...

最新文章

  1. 模态框到阻止冒泡时间
  2. 【Kaggle-MNIST之路】CNN结构再改进+交叉熵损失函数(六)
  3. android安卓机版市场,安卓各版本市场份额数据更新 安卓8.0暴增
  4. idea 执行 java jar_idea打包java可执行jar包的实现步骤
  5. ARM汇编Hello,World
  6. WordPress 响应式全站 AJAX 主题:Beginning
  7. html2张图片垂直居中,任意图片实现垂直居中的三种方法(兼容性还不错)
  8. centos 6.5安装extundelete软件报错
  9. spring中IOC的简单使用
  10. 降压稳压器LM2596SX-ADJ技术参考
  11. hbase数据库scan操作_HBase scan命令详解
  12. 惠斯通电桥你知道怎么用吗?
  13. 餐巾计划(网络流24题之二(模板2))
  14. Vivado IP核之浮点数乘除法 Floating-point
  15. 真无线蓝牙耳机排名前十的品牌,公认佩戴舒适性好的蓝牙耳机分享
  16. Programming Assignment 4: Boggle
  17. PHP写一个简单的留言板
  18. 【机器学习】模型评估与选择--西瓜书第二章
  19. 小米usb测试软件,你还在用USB传文件?小米10系列USB详细测试——《小米10十大槽点》番外 图文版...
  20. Arduino零基础实践——1

热门文章

  1. VStart还是挺好用的
  2. CSS 系列七 高级技巧篇 精灵图 、字体图标 、CSS三角 、 图片和文字对齐以及bug 、溢出文字省略号 、CSS 初始化 、 常见的布局技巧
  3. android app安装时检测本地文件,天天模拟器怎么安装本地APK文件 天天模拟器安装本地APK图文教程...
  4. 玩转生存分析,这一篇就够了
  5. 一元线性回归模型预测双十一销售额
  6. MCE公司:小分子化合物在重编程中的应用
  7. android 方法统计,神兵利器—Android方法耗时统计插件Mirror(上)
  8. 鸿蒙视频potato,鸿蒙OS 视频播放开发指导
  9. Python | Pandas | 统计学分析:众数、中位数、偏度等
  10. nvm介绍、安装、报错处理以及使用