发表时间:2022-03-25来源:网络
从零开始学习编程,可以从以下几步开始:
给自己创建一个真正的编程环境,使用IDE或者空白文本编辑器(白板)来编写程序。一定要从头到尾自己编写所有的代码,不要在没有理解的情况下直接复制黏贴他人的代码来欺骗自己。从小项目开始做起,编写一些基于文本的程序来练习你正在学习的编程语言,然后再慢慢的进行一些更大更复杂的项目。疯狂的练习,编写大量的代码。在学习理论知识的时候就要不断地尝试把理论应用到自己的代码当中。学习、实践;学习、实践;学习、实践······要先学会自己解决问题,当自己解决无果,陷入困境时,要懂得如何寻求帮助。不要羞于提问或拒绝提问,要懂得运用正确的方式寻求他人的帮助。寻找实习,找到自己感兴趣的地方,跟着别人做,了解工业届到底在使用什么技术。当你实习结束的时候,你将不会再对那些名词感到陌生,你有了一定的经验,你可以尝试独立的尝试用一些开源框架做一些简单的project,还可以去参加一些编程比赛。
下面来逐条介绍:
每种编程语言需要的编程环境都是不同的。
想要创建一个真正的编程环境,首先,你需要一个文本编辑器或一个IDE(集成开发环境)。然后你需要找出对你正在学习的语言来说最适合的编辑器并安装它。
其次,你需要知道如何创建并运行一个包含代码的文件。
如果你是使用一个IDE来作为你的文本编辑器,例如:Visual Studio、Xcode或Eclipse,那么这个功能就会被构建到IDE中。你就需要了解如何创建一个新项目以及需要点击什么按钮来运行代码。但是如果你没有使用IDE,那么你可能就需要学习如何利用命令行来运行代码。你可以找一些入门指导或者上YouTube看一些免费的教学视频来学习使用命令行。最后,一旦你可以编写代码,并且能够正常运行程序,那么基本上你就开始正式步入专业程序员的道路了。
当你还是一个新手的时候,你需要疯狂的积累你的代码量,你可以从基本的问题出发,做一些简单的问题,怎么输入数据,怎么输出数据,然后熟悉各种数据结构,各种常见算法,疯狂的刷题。
一般来说,刷题应该循序渐进,从易到难。你可以先从easy难度的问题做起,每一个程序也就20-40行左右,甚至你可以一旦AC,反复提交,以增强自信心,虽然这只是一个玩笑,但是它可以让你提高你对编程的自信,对编程的喜爱,当你有自信的时候,你才能真正的把一件事情做好。当你反复解决一个又一个的问题的时候,你要告诉自己我是个天生的编程者!然后你就可以挑战更高难度的问题,当你积累到10W以上的代码量的时候,你会发现你会有一个质变。一切将变的顺手。当以前要想半天的语句,现在信手拈来。恭喜你跨出了很重要的一步。

推荐刷题网站:http://www.lintcode.com
尝试去做一些稍微超过自身水平的项目并不是一件坏事,因为你可能会发现它很有趣并且它能激励你学习更多的东西;但是从另外的角度来看,如果浪费了不少时间项目却毫无进展,也会让你感到灰心、沮丧。
一千个人就有一千个哈姆雷特,适合别人的方法不一定就适合你。所以当激励法对你起反作用的时候,也许你就该考虑从基础的小项目做起了,毕竟所有东西都是从零开始的。
刚开始的时候,你可以编写一些基于文本的程序,因为编写这种程序比编写其他程序相对来说更容易一些,它只需要掌握:如何在屏幕上显示字符串;以及如何获取用户输入的字符串。
确实基于文本的程序写出来并不像3D图形的程序写出来那样酷炫。然而如果你想要写3D图形的程序,你就必须对集合、线性代数和微分都有一定程度的了解。而即使是写出一个带有按钮和文本框的普通GUI也是很难的,更别说写出一个3D图形的程序了。
当然这也一定程度上取决于你所学习的编程语言,也许你所学习的编程语言不需要你懂多少数学,但是需要你多多少少对面向对象的程序设计和复杂的对象图有较为深入的理解。
建议:先设计一段时间的文字游戏。比如做一些像“猜数字”、“多选题”等小游戏来进行一场小小的文字洗礼;又或者,设计一些可以在现实生活中派上用场的小程序,可以是一个时间跟踪器,又或者是在你的学习或工作上能够帮助到你的计算公式;然后你就可以通过这些小项目来深入学习你所选择的编程语言的所有特性。

GitHub上有很多可以做的项目,我们之前也回答过GitHub项目的问题:
你必须不需要任何指令地从零开始编写自己的代码。也就是说你要从一个空白文档(白板、白纸等)开始,然后在不听从任何指示的情况下自己敲出每行代码。
从这一步开始意味着你已经准备好迎接腥风血雨了。因为后面你将花费大量的时间进行调试,并要尝试理解每个bug。但是在每次检测和修复bug的时候,你的编程技能都能得到相应提高,并且你也能获得真正的编程经验。这就是作为程序员学习和成长的方式。
当然你也可以通过查看别人的代码来获取经验,但是你不能直接复制黏贴,因为如果你直接复制黏贴的话,这样的学习将毫无意义。你要做到的是:认真分析别人的代码;得出它是如何正常运行的结论;然后再运用获取的经验来进行独立编程。

在学习编程的过程中,你肯定会遇到一些你自己无法解决的问题和一些你无法靠自己修复的错误。虽然这只是你学习编程的一部分,但如果你已经花了2h+来尝试解决你的问题未果时,为了提高工作效率,就应该转向寻求专业帮助了。
然而有些学生在学习编程时会在没有尝试过自己解决问题的情况下立刻寻求别人的帮助,这不管是在IT领域还是其他领域,都是不被赞成的。因为不管出现了什么难题,都要自己先去尽力解决才有学习的意义。不然最终还是回到了“靠着别人的指导过活最终自己什么也没学到”这个问题上。
那么我们应该如何寻求帮助呢?
基本的问题你可以先google/百度一下,网络世界那么大,单靠这个你就能解决不少问题。如果你遇到一些靠个人之力无法解决的问题,要注意的是即使他人帮助你解决问题,也不要直接把别人的答案复制黏贴到你的问题上。你要做的是分析答案并了解错误背后的原因,只有这样当你下次再遇到相同的错误的时候,才能靠自己修复错误。另外,如果你经常遇到一些靠个人之力无法解决的问题,最有可能的原因是你做的项目太大了以至于远远超过了你的自身水平,这里就要重申一下上一条建议:从小项目做起,一步一步提升自己的水平。也经常会有初学者羞于提问或拒绝提问,很大一部分原因是他们认为编程社区里面的那些大神有些不友好甚至态度有些令人生畏,所以他们不想跟这些人打交道,这对于初学者来说是非常可怕的事情。
其实,虽然有些专业的程序员会在回答时有些“直言不讳”,但是如果你以正确的方式提出你的问题,你会发现社区里的很多大神是非常友好的,并且他们往往能够一针见血的点出你的问题所在,同时能给出解决方案。
如果你根据下面的指导提出问题,肯定可以吸引很多友好的程序员帮助你解决问题。可能还能防止一些虽然脾气有些暴躁但是很善良的程序员一边帮你解决问题一边对你发脾气。
发布出确切的错误点。这是最重要的一个部分,因为如果回答问题的人没看到确切的错误信息,就意味着他们要浪费自己的时间来找出你的程序的错误所在再给予解决方案。如果你也不知道确切的错误信息,那么请说明你推测的会发生错误的部分,和实际发生的情况。比如:“我希望输出5,但却实际输出了7”。通常,问题不出现在你的代码中,而出现在你期望和实际的差异中。所以如果你没有阐述你期望得到的结果,你能得到的回答就只有类似“这代码看起来很好啊”或者“这代码有什么问题啊”这样的回答。粘贴出你的所有代码。一般情况下,看不到完整的代码来调试问题是很困难的。如果代码不是太多,最好的提问方式就是将代码完整粘贴到Github Gist和Pastebin中,然后把相关链接放在问题里。复制出来的代码格式要正确,而不是简单的复制黏贴。你要学会如何对你的代码进行排版,使它看起来更便于阅读。指出你已尝试过的方法。这证明你已经尽力了,而不是有问题没有进行思考就直接扔出来让大家帮忙。使用正确的编程术语。虽然你还只是一个初学者,并不能将所有的专业术语都使用正确。但是你最好还是尽自己所能使用正确的专业术语。因为努力学习常用专业术语并正确使用它们对你以后的发展也是很有帮助的。
有了一定基础以后,你该去找实习了。当你有了前面的编程学习基础作为铺垫以后,你应该去业界提高你的编程能力,这个很重要。
什么是编程能力,用程序去解决真正的问题。你的程序能让人读懂,这是编程能力,你的程序高效可维护,这是编程能力,你的程序被review的次数很少,质量很高,这是编程能力,你能快速理解一个小项目,小模块在做什么,怎么做的,这也是编程能力。
所以你应该去公司,有mentor指导你的情况下,去做一些事情,参与到团队中去。同时实习生的面试门槛比Full time会低很多,只要你把第一步做好,好好的准备面试,拿到一个不错的实习也问题不大(实习生也更容易拿到return off)。

当你实习结束以后,做一下总结,业界到底在干什么,业界使用的技术到底有哪些,他们平时的编程工具有什么,这些都是值得你学习的地方。
你可以用你学到东西尝试着去做一些简单的project。你会发现原来毫无头绪的事情,慢慢变得清晰起来。
疯狂的训练,超强的自信心,去业界实习一下,你就会明白我要什么,为了我想要的我该怎么做。
最后,祝愿大家都能在编程之路上愉快的越走越远。
九章算法,硅谷一线工程师在线直播授课,已经帮助30000+人成功拿到心仪offer。
小编还要给想要成为程序员的初级学习者送上两门算法入门级课程:
PS:现在第一节课免费,欢迎戳下方试听
九章算法基础课(使用Python讲解)2. 九章算法基础课(使用Java讲解)
【难度】⭐️⭐️
从Python和Java语法一直讲到算法和数据结构,帮你快速补足算法的底层逻辑;同时还包含了19年秋招最新算法面试题,基本上一个月就可以搞定easy+medium难度的算法面试。
两门算法基础课所讲授的内容框架基本相同,主要区别在于所使用的编程语言差异,可根据自己的语言需求任意选择试听哦~
【形式】
互动课模式,随报随学,自由安排时间看完请点赞、喜欢和关注哦~
礼貌三连是激励我更新的动力(*•̀ㅂ•́)
皓盘云建最新版下载v9.0 安卓版
53.38MB |商务办公
ris云客移动销售系统最新版下载v1.1.25 安卓手机版
42.71M |商务办公
粤语翻译帮app下载v1.1.1 安卓版
60.01MB |生活服务
人生笔记app官方版下载v1.19.4 安卓版
125.88MB |系统工具
萝卜笔记app下载v1.1.6 安卓版
46.29MB |生活服务
贯联商户端app下载v6.1.8 安卓版
12.54MB |商务办公
jotmo笔记app下载v2.30.0 安卓版
50.06MB |系统工具
鑫钜出行共享汽车app下载v1.5.2
44.7M |生活服务
2022-03-26
2022-03-26
2022-03-26
2022-03-26
2022-03-26
2022-03-26
2022-03-26
2022-03-26
2022-02-15
2022-02-14