如何学习编程(一):入门广陵散仙(www.cnblogs.com/junzhongxu/)

本篇将是一个系列,重点讲述在外力很少的情况下如何自学编程,以及需要注意的一些地方。

一般来说,一些所谓的『高手』或者老师会告诉人们算法是非常非常重要以至于会不会算法就是你会不会编程的唯一标准。不过事实上并非如此。掌握算法固然是好,只是大部分程序并不需要高深的算法,而且招人的时候仅仅要求会算法的公司也是很少的(而且很难进)。我并不是学院派的人,所以虽然我本人也推崇学习算法,但并不推崇一开始就学习算法。

刚开始学编程的人总是不知道自己应该从哪里入手。实际上这是一个相当重要的问题。在我看来,学好变成有若干条件:·兴趣·数学/英语·财力

财力并不是重点,不过至少在养活自己的同时要有闲散资金来不停地支付网络费用、书籍、电脑、外围设备等必须物品。

至于知识结构方面我个人的见解可能跟流行的观点有所出入。目前人们总是把知识结构比喻为一个金字塔,最下面是基础,上面一层一层更加深入而且更加专业的知识,最上是领域知识。老师们会说要学好基础,首先学好语言和算法,然后慢慢往上走。我自己并不这么认为。个人认为『从左到右』的学习方法是更加有效而且不会错过什么东西的,只是不能速成。

从左到右是什么意思呢?想象一个金字塔,最左边仍然是最底层的【基础】,再往左就涉及到更多的【基础】以及更多的上层内容了。这样一步一步下去就会有【基础】--【上层】--【基础】--【上层】这样的不断循环。这么做的好处是成果快,能够培养起兴趣和成就感,而且基础随着应用的需要慢慢积累,等到学有所成的时候,基础也覆盖完了,上层的东西也看得差不多了,就可以超越金字塔自己翱翔了。

好了,那么如何培养兴趣呢?

人总是对有趣的东西比较感兴趣的,而且这种东西如果不难入门的话,那么接受起来更加容易,跟容易培养成就感,也就更有兴趣了。根据实际情况,个人推荐刚开始接触的时候应该学习C#,理由如下:

·C#的书籍非常多,语言内核简单易懂,类库丰富·C#制作界面简单·C#屏蔽了有关操作系统和底层的大部分事情,可以让学习的人专注于自己感兴趣的内容

如果不是特别着急的话,一开始就对着C/C++的数组啊指针啊什么乱七八糟的东西我觉得没什么必要,反正将来自然就知道了。我在这里推荐C#的另一个重要原因是MicrosoftVisualStudio.NET的C#编辑器有一个无敌美好的提示列表(按了一个“.”之后弹出来的),这对于初学者来说是相当好的一个工具。

随后应该学习字符串处理。典型的字符串处理有分析INI文件、对一个四则运算式子进行操作等等的内容。虽然C#处理器字符串出来比C++稍微蹩脚一点,不过在这个时候忽略这个问题是相当有用的,至少不用陷入无穷的指针漩涡里面去。

等图形和字符串都少有涉猎之后,就可以开始开发有趣的程序了。譬如用C#些动画、开发画函数图的工具、自己设计一种高度简化的HTML然后进行渲染制作自己的帮助程序、或者开发简单的图像处理软件之类。稍微聪明一点的人,如果每天都有机会写很多代码的话,大概半年到一年就可以走到这里了。

为什么我会选择图形和字符串两种东西呢?为了培养兴趣,首先要有成就感。图形跟字符串都是跟操作系统本身没关系的东西,而且操作起来也没什么注意事项,因此入门比较简单。如果渐渐深入的话会激发起学习数据结构、算法、甚至是数学英语的热情。如果可以使用这条主线贯穿整个编程的初级阶段的话,得到的将会是扎实的基础以及灵活的头脑。

好了,今天就先说到这里。下次再写续篇。在此解答一下大家有可能提出来的疑问。

·算法为什么不一开始学习呢?--学会了算法,但是没有有趣问题给你解决的话,那学来干什么?而且学习算法的最终目的是让自己拥有设计算法的能力,很多人都忽略了这一点。

·学会了GDI+和字符串之后能不能找工作呢?--不能。做人切勿急躁,学编程没有个三五年还是不要把自己看得太厉害的好。

THE END
1.算法算法基础入门(进入算法的世界)算法入门【算法】算法基础入门(进入算法的世界) 本文介绍了算法的基础概念,包括分治法、递归法、贪心法、动态规划法、迭代法、枚举法和回溯法,通过实例演示了这些算法在编程中的应用,强调算法思维的重要性。 摘要由CSDN通过智能技术生成 目录 引言 正文 算法的定义https://blog.csdn.net/2301_79784865/article/details/135107433
2.算法入门:从零开始学习算法的简单教程本文介绍了算法入门的基础知识,包括算法的基本概念、重要性及其应用领域。文章详细解释了如何描述和分析算法,并列举了常见的算法类型及其应用场景,适合希望从零开始学习算法的读者。 算法入门:从零开始学习算法的简单教程 算法基础概念介绍 什么是算法 算法是一组定义明确的指令,用于解决特定问题或完成特定任务。算法可https://www.imooc.com/article/357937
3.编程竞赛宝典C++语言和算法入门希望本书的出版,能够给学有余力的中学生、计算机专业的大学生、程序算法爱好者以及IT行业从业者提供学习计算机科学的帮助。 张新华 2021年5月 第01章 C++语言入门 计算机编程语言能够实现人与计算机之间的沟通与交流,使计算机能够根据人编写的代码一步一步地工作,完成某些特定的任务。C++语言是使用最广泛的编程语言之一https://www.epubit.com/bookDetails?id=UB77a9ce8133887
4.编程学习计划(优秀9篇)总之,编程学习计划是一项非常重要的任务。建立一份好的计划,坚持每日学习、实践、交流,才能更好地积累编程经验和技能,成为优秀的程序员。 编程学习计划3 一、入门级阶段 1、初步了解编程语言及其用途 编程语言是编写程序的一种方式。在编程入门阶段,我们可以从了解不同编程语言及其用途入手。比如,Python适合数据处理、https://www.jy135.com/xuexijihua/2114834.html
5.编程学习入门(精选8篇)篇2:编程学习入门 本篇将是一个系列,重点讲述在外力很少的情况下如何自学编程,以及需要注意的一些地方。 一般来说,一些所谓的『高手』或者老师会告诉人们算法是非常非常重要以至于会不会算法就是你会不会编程的唯一标准。不过事实上并非如此。掌握算法固然是好,只是大部分程序并不需要高深的算法,而且招人的时候仅仅要https://www.360wenmi.com/f/filex872t4kk.html
6.《Python入门三剑客:零基础编程+数据分析+机器学习(套装共3册x1¥75.80Python编程从零基础到项目实战PYTHON(微课视频版) python编程 从入门到实践 python学习手册 python编程快速上手 编程入门零基础教材教程书籍 x1¥75.80python在机器学习中的应用 python机器学习基础教程实战 chatgpt聊天机器人 人工智能 强化学习 python深度学习 机器学习算法到解析手册 人工智能基础 http://product.dangdang.com/410271151.html
7.人人都能学会的编程入门课算法学不会,算法与数据结构的学习,是编程学习的灵魂所在,可也是最难的一部分。很多初学者就是因为打开方式不正确,产生畏难情绪,最终学不会。 那么,到底该怎么学习编程呢?有没有人能够带领初学者跃过种种障碍,战胜一个个困难,让我们顺利成为一名合格的程序员呢? 《人人都能学会的编程入门课》专栏,就是为迷茫的你https://time.geekbang.org/column/intro/100043901?code=IgSyqSXuJIgn3jbUD1GJH7hwvX2nsIkrePOmNgr4Yvo%3D
8.少儿编程c语言学习入门学什么C是一个结构化语言,它的重点在于算法和数据结构。每个人的逻辑思维能力不同,兴趣点不同,总有一部分人学起来觉得容易,一部分人觉得吃力。下面就来说说少儿编程c语言学习入门学什么吧! 少儿编程c语言学习入门学什么 c语言编程学习入门难吗? 每个人的逻辑思维能力不同,兴趣点不同,总有一部分人觉得容易,一部分人觉得https://www.qinxue365.com/fangfa/595177.html
9.Python编程入门与算法进阶.pptxPython编程入门与算法进阶读书笔记01思维导图精彩摘录目录分析内容摘要阅读感受作者简介目录0305020406思维导图算法python进阶算法入门可以python介绍读者编程知识基础问题通过一章学习掌握示例代码进阶关键字分析思维导图内容摘要《Python编程入门与算法进阶》是一本全面介绍Python编程语言和算法的书籍。本书以通俗易懂的语言,详细https://m.renrendoc.com/paper/294899834.html
10.Dotcpp编程(C语言网)编程入门学习训练题库C语言网(Dotcpp编程),老牌的编程入门学习平台,不仅仅提供C语言、C++、Java、Python、编译器(编程软件)等技术的教程资源和工具,还提供包括计算机二级、蓝桥杯真题在内的编程题库,让初学者学练同步,真正学会编程!https://www.dotcpp.com/
11.C语言入门的基本学习方法篇一:C语言入门的基本学习方法 一、C语言入门的基本学习方法 《C语言》的内容很丰富,有的部分涉及到的细节很多,如硬件知识和数据结构知识等,自学时不可能面面俱到,否则必然会顾此失彼,反而抓不住主要矛盾。笔者认为对初学C语言的考生,开始不必在每一个细节上过于死抠,而应当把主要精力放在最基本、最常用的那些https://m.oh100.com/kaoshi/c/560623.html
12.编程入门自学编程网(zxbcw.cn)提供了最全的编程技术经验教程, 包含HTML、CSS、Javascript、Python、Java、Ruby、C、PHP 、 MySQL等各种编程语言的基础知识,面向程序员学习研究者提供:自学平台。https://www.zxbcw.cn/
13.码农的数学和算法入门腾讯云开发者社区“自己在学习算法与数据结构时,就遇到了基本的数学思想与计算公式,来计算时间复杂度。需要从新拿起数学,正想着看视频学习高数,但学的又太多与编程无关的知识,太浪费时间,这样的专栏果断下单,跟着大神学习,提高效率,降低成本,时间太重要!” “第一时间购买,数据结构和算法很重要,但是很多算法又离不开数学!” https://cloud.tencent.com/developer/article/1821198
14.01《算法入门教程》算法简介比如我们在学习 Java 语言的时候,发现里面有很多关于数组(Array),集合(Set),哈希表(Map)等数据结构,这些数据结构的实现底层都涉及到了算法知识。学习算法知识有助于我们可以更好地理解编程语言的一些内部实现,帮助我们理解其中的函数设计思路及底层代码实现逻辑。https://www.jianshu.com/p/6efeecac23f2
15.哈希编程PythonTip学编程轻松、有趣、好玩,交互式学习,1 v 1及社区答疑。 现在开始学习 完美适配系列课程 Python 小白入门课 什么是 Python Python 是一种流行的、易学的、非常强大的编程语言,常用于 web 开发、数据科学、机器学习。 Python 小白数据分析 为什么是 Python Python 在数据科学中广泛使用,它有一套强大的工具探索及可视化数据http://www.pythontip.com/
16.科普贴:机器人编程ScratchPythonC++如何安排学习顺序?学编程真正学的就是数据结构和算法,参加NOIP竞赛的孩子,在数据结构和算法都会经过大量的训练,对编程有更深的理解,用编程解决问题的能力自然更强。 总而言之,编程会使孩子拥有全新的视角、深入思考的习惯和效率优化的思维。 伴随着孩子的认知水平不断进阶,和当前的升学就业环境,从入门到高阶,学习少儿编程应该选择合适https://www.meipian.cn/4k3b9613
17.GitHub源码学习: 并发 面试题总结: Java 并发基础常见面试题总结 Java 并发进阶常见面试题总结 必备知识点: 并发容器总结 Java线程池学习总结 乐观锁与悲观锁 JUC 中的 Atomic 原子类总结 AQS 原理以及 AQS 同步组件总结 JVM I/O Java 8 操作系统 算法 https://github.com/homelucky/JavaGuide/