如何快速学习一门新的编程语言?零基础开始学编程,就可以这样!

上学的时候,一位老师在与新手开发人员分享经验的时候曾说:最难学的编程语言是第二门语言。 不要为此感到难过,这句话的意思其实是说,在你第一次学习编程时,就已经对编程有了一些先入为主的想法。你会在语法上做很多的联想和假设。因此,在学习第二门语言时,你必须首先忘掉这些假设。在你学习第二门甚至是第三门语言时,一定要牢记这一点。

剖析编程

现有的编程语言已经超过了5,000种,但是TIOBE指数只列出了前250种语言。而排名在前20的编程语言都拥有相似的标准库,这绝非偶然。 我认为思考编程的最佳方法是,剔除所有的“多余部分”,剩下的就只有必需品了。

基本组成部分

每种语言的每个方面都可以归结为真与假。为什么?电的工作方式就是这样:要么有电,要么没电。内存以0和1的形式存储值,这个最基本的单位叫做比特,而比特要么为真要么为假。 8比特等于一个字节,足以表示ASCII表中的任何字符。 这些比特以特定的顺序翻转,以提供字符的十进制表示形式。 计算机知道如何将这种表示形式转换为字母。

       

基本的二进制表示形式,表示了单词Hello。 理解这个概念后,后面的内容就很好理解了。

工具

所有语言中的这些工具都是相同的,你可以按照任意顺序学习,但是我通常会采用以下顺序:

(1)变量这似乎很简单,但话说回来,如何创建变量呢?

(2)运算符什么是运算符,如何使用?你明白基本的数学运算符,但是你明白逻辑运算符吗?“AND”运算符的正确拼写是“and”还是“AND”,还是使用诸如“&&”之类的符号?

(3)条件语句出人意料的是,我写的最受欢迎的Swift和Python文章都与决策有关。接下来,你需要知道如何在程序中做出决定。你学习的语言使用的是传统的“ if/else if/else”,还是像Python一样使用“ if/elif/else?你的语言是否带有“switch”或“guard”语句?

(4)循环语句如何遍历重复的任务?你学习的编程语言否包含for循环、while循环、do-while循环或for-each语句?

(5)函数是否可以创建函数?如果可以,那么该怎么创建?如何在这些函数中包含参数?你是否知道如何正确使用函数才能节省时间,并减轻你的工作负担?

(6)类和结构这种语言是否有类或结构的概念?这个问题听起来有点愚蠢,但有些语言要么没有,要么只有一种。如果有,那么该创建类或结构?类是否需要构造函数或初始化方法?

(7)错误处理错误是不可避免的。当出现错误时,这种语言是否拥有强大的错误处理解决方案,你又将如何使用呢?应该使用“ try/catch”、“ try/except”还是其他语句?是否还有其他子句,比如能进行其他处理的“else”或“finally”?

(8)测试如何测试代码?是否有用于测试的内置库,还是说你必须下载单独的工具? 大多数现代编程语言都包含上述工具。即使是稍旧的语言(例如COBOL)也拥有大多数工具,只不过它们有不同的称谓,例如pharagraph或copybook。

                                

实战

在了解这些工具后,接下来要做的就是使用这种语言并编写应用程序。你可以通过阅读文档来学习一种语言,但是直到你编写一些应用程序之后,才能真正掌握这种语言。 

编写应用程序能强迫你像那门语言的程序员那样思考。在参加了C的课程并阅读了有关C++的文档后说,我可以我了解C++,但是只有真正使用C++特有的功能编写应用程序后,才算真正掌握了C++。 

二十一点(Blackjack)是一个不错的入门项目。二十一点需要用到变量、运算符、条件、循环(根据玩家的数量)、函数,类/结构和错误处理。你还可以尝试潜在故障的测试用例,例如牌发完了等。 还有一些其他的入门项目,比如爬楼梯游戏、快艇骰子或老虎机等游戏。 如果想尝试更高级的内容,则可以尝试重新创建“大富翁”之类的游戏。多多思考游戏的机制,界面以文本为基础即可。 

请务必记住,如果你不愿接受有难度的挑战(例如不去尝试二十一点中的双倍下注或拆牌功能),那么你对这种语言的理解就会很有限。

                                        

还有什么?

本文无法涵盖语言必须提供的所有内容。

事实上,你可以利用上面介绍的工具编写任何内容,标准库中包含的其他功能只不过减轻了编程的负担。大多数标准库都包含相同的功能,因此在各个语言之间也享有相似的名称。 随着使用语言的次数增多,你可以从标准库中找到更多的信息,但是一定要先学习这些工具。 

在使用某种语言的时候,你需要搞清楚语言本身的优缺点。这可以帮助你决定针对某个特定的问题应该使用何种语言。 如果你需要快速进行一些数据科学研究,那么可以参考Python或R的几个包。

如果你需要快速编写一个服务,那么可以考虑C或Go。如果你需要Web服务器,则可以考虑Java或Python。 光靠看书或文章不足以学好一门编程语言,你需要真正的实战。 

学习新语言是一种挑战,祝你好运!

学习C/C++编程,提升自己的C/C++编程能力,欢迎关注博主的微信公众号:C语言编程学习基地,一起来成长进步吧!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第一篇 JavaScript入门篇 第1章 初步了解JavaScript 1.1 JavaScript是什么 1.2 JavaScript能做什么 1.2.1 表单数据合法性验证 1.2.2 页面特效 1.2.3 交互式菜单 1.2.4 动态页面 1.2.5 数值计算 1.3 JavaScript编程起步 1.3.1 “Hello World!”程序 1.3.2 选择JavaScript脚本编辑器 1.4 如何引入JavaScript脚本代码 1.4.1 通过<script>与</script>标记对引入 1.4.2 通过<script>标记的src属性引入 1.4.3 通过JavaScript伪URL引入 1.4.4 通过HTML文档事件处理程序引入 1.5 嵌入JavaScript脚本代码的位置 1.5.1 在<head>与</head>标记对之间放置 1.5.2 在<body>与</body>标记对之间放置 1.5.3 在两个标记对之间混合放置 1.6 选择合适的浏览器 1.7 处理不支持JavaScript脚本的情况 1.7.1 使用<!——和——>标记对直接屏蔽法 1.7.2 使用<noscript>和</noscript>标记对给出提示信息 1.8 本章小结 1.9 本章习题 第2章 JavaScript编程的语言基础 第3章 JavaScript事件处理 第4章 JavaScript基于对象编程 第5章 文档对象模型(DOM) 第6章 String、Math、Array等数据对象 第7章 Window及相关顶级对象 第8章 Document对象 第9章 HTML元素对象 第二篇 JavaScript进阶篇 第10章 正则表达式 第11章 客户端与服务器端通信 第12章 JavaScript与Ajax技术 第13章 JavaScript错误与异常处理 第三篇 JavaScript实例篇 第14章 JavaScript与插件通信 第15章 JavaScript常用特效收集

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值