展开菜单
首页 精品内容 本月促销 装机必备 Windows PDF教程 macOS软件 IOS软件 Android AI 专题
全部分类

当前位置:

首页 > 编程开发 > 如何自学好编程

如何自学好编程

自学编程的路上,踩过的坑和解决问题的方法,往往比书本上的知识更宝贵。这里分享一些经验,希望能给正在自学编程的初学者朋友们一些参考。如果哪里说得不对,也欢迎批评指正! 1. 为什么要学习编程? (1)因为爱好 如果你对信息技术充满激情与爱好,日常喜欢研究电脑、智能手机等,想要掌握计算机更多的知识,想让

本文目录

    自学编程的路上,踩过的坑和解决问题的方法,往往比书本上的知识更宝贵。这里分享一些经验,希望能给正在自学编程的初学者朋友们一些参考。如果哪里说得不对,也欢迎批评指正!

    1. 为什么要学习编程?

    (1)因为爱好

    如果你对信息技术充满激情与爱好,日常喜欢研究电脑、智能手机等,想要掌握计算机更多的知识,想让自己学会开发出自己的桌面软件、网站、APP,那么编程就是一个值得投入的方向。

    (2)想要获得高薪资的工作

    IT行业的工资相对于传统行业来说是比较高的,适用领域也很广阔——餐饮、交通、物流、医疗、金融、教育等各大行业都离不开IT的支持。如果掌握一门技术,吃饭是不成问题的,但能不能吃好饭就看自己了。当然,最好是自己喜欢这个行业、喜欢信息技术,然后坚持往这个方向发展。如果仅仅是为了赚钱,也许编程并不适合你。能把对信息技术的热爱投身到工作中,这才是最好的状态。这里以求职为目标,来分享自学编程的经验。

    2. 怎么通俗易懂地理解软件开发

    (1)什么是编程?

    简单的理解就是通过某种编程语言,编写特定代码指令、执行代码,让计算机帮助我们做一些计算、执行一些任务。

    (2)编程的最终目的是什么?

    更通俗地说,编写代码的大多数最终目的是开发一套完整的软件系统。我们知道软件可以帮我们做很多事,比如使用QQ软件和朋友聊天、使用百度网站搜索资料、在论坛网站上问问题、使用WPS软件编写文档、使用PS软件处理图片,等等。这些都是软件,通过开发者编写代码、打包、上线等多个步骤,最后形成一套完整的程序,供用户使用。

    (3)B/S架构和C/S架构

    现在市面上的软件如果按照某种特定分类方法可分为两种:B(Browser)/S(Server)架构(浏览器/服务器)和C(Client)/S(Server)架构(客户端/服务器)。当然,还有单机软件,比如很多人手机上的计算器APP,不需要联网就能提供服务。简单来说,使用浏览器打开的网站是B/S架构的软件,而直接打开客户端使用的是C/S架构的软件。

    (4)什么是编程语言?

    编程语言是用来定义计算机程序的形式语言。人与人交流使用的是汉语、英语、阿拉伯语等,而人与计算机交流使用的就是计算机编程语言,通过编写特定的代码片段让计算机理解我们的意图。于是后来有了很多种计算机编程语言,如C++、C#、Ja va、Ja vaScript、PHP、Kotlin、汇编语言等等。

    3. 认识程序员(软件开发者)这个工作职务

    (1)软件开发者至少应该具备什么能力?

    就现在的社会需求来说,作为软件开发者,至少应该懂得一门编程语言,并且能利用这种编程语言在实际工作中完成相应的任务,这样才是一个合格的软件开发者。现在很多软件开发项目都是由多个人来完成的,那么必定由一个开发者负责开发环节中特定的任务,比如Ja va后端工程师编写与数据交互的代码逻辑,Android工程师负责编写Android APP,IOS工程师负责编写iPhone APP,等等。

    (2)软件开发者应该长期具备什么能力?

    首先,不断学习。在软件开发这个领域中,技术不断更新与变化,如果想要具备竞争力,就必须不断学习,而不是长期以原有的技术混饭吃。如果真是这样,最终是要被淘汰的。这个行业不适合想要一劳永逸的人,必须不断学习、创新,具备不怕苦不怕累的创业精神。其次,做一个有计划的人。应该时时有危机感,给自己制定计划,不管是短期计划还是长期计划,朝着那个目标努力,会越来越优秀。初级程序员应该朝着高级程序员的目标努力;高级程序员应该朝着架构师的目标努力;而成为了架构师,应该朝着管理者的目标努力。只有做好计划,并随着时间改变而调整,朝着目标努力,才能不断实现自己的价值。

    4. 没有编程基础,我该怎么入门?

    这是大多初学者困惑的问题,也是阻碍很多初学者学习进度的问题。不知道从哪里开始,或者不知道从何开始——以学习经历为例,提供一些建议,希望对你有帮助。

    (1)你应该具备什么基础?

    自学至少得有一台自己的电脑,这台电脑不需要配置有多高,除非学习的是开发大型3D游戏。传统的开发学习,普通笔记本、台式机都可以,但必须得有网络,因为需要从网络上获取学习资料,而且我们是在学习信息技术,没有网络怎么可能?想一想多可怕。最重要的是,要喜欢它再去学它,如果不喜欢,学了又有什么意义。

    (2)数学、英语不好,能学好编程吗?

    这么说吧,如果感觉自己数学不好,但是喜欢信息技术方面,那就好好学吧,是能学好编程的。数学和英语超级不好的人大有人在,原因是不喜欢它们。编程的逻辑性挺强的,但不代表数学不好编程就学得差,它们本就不是一回事。虽然编程很多时候用于科学计算方面,但如果学习编程是为了开发应用软件、为了找工作,编程并没有别人说的那么难。英语不好呢?那也可以学好。计算机发展技术源自西方,西方人在这方面做得比我们多,这些计算机语言几乎全是英语字母组合的。如果能在西方之前发展信息技术,现在外国人估计就使用中文来编程了。但英语不好,句子都读不通顺,怎么办?没关系的,读代码与读英语文章完全不一样,虽然大多数代码使用英文字母编写,但理解代码更多的是理解它的逻辑。不过,如果英语不好,最好提高一下英语水平,因为很多开发文档、教程是用英文写的。不是说英语不好就不能写代码,但连"hello"、"how are you"这些简单的英文单词都不认识肯定不行——也就是说,具有初中毕业生的英语水平就可以学习编程了。

    (3)选择自己喜欢的方面入门

    软件开发过程中根据不同的需要,包含了多个工作任务和多种工作流程,因此也产生了不同的工作岗位:前端工程师(Android工程师、IOS工程师、Web前端工程师),后端工程师(Ja va后端工程师、Python后端工程师、PHP工程师),Linux运维工程师,现在还流行大数据工程师、AI(人工智能)工程师,等等。当然,在人员缺少的情况下有的人却担任了好几种身份,但在大公司里分工一般是明确的。那怎么开始入门学习呢?首先,选择自己喜欢的语言,选择自己的方向,朝着那个目标学习。可是没了解过,怎么知道什么编程语言适合自己?这就需要事先了解一下了。既然打算自学编程,那就应该查阅一些资料,了解什么语言适合做什么,自己又应该学习什么语言。长远的目标是精通一个技术方向,但其他方向最好也都要会。所以,建议选择自己喜欢的方向、容易入门的方向进行学习。可是有人说现在很火的是大数据、人工智能,月薪两三万、四五万的。但要知道,对于一个没有任何基础的普通初学者,需要花多少功夫才能达到大数据工程师、AI工程师的水平。学习基础是十分重要的,至少得保证自己有一样技能,能胜任某项工作之后,再朝着更高的层次努力,也许那样会更好。如果喜欢APP开发,那就是Android和IOS了,而Android学习成本比IOS低,因为做IOS开发需要mac电脑,Android开发使用普通Windows就可以,进一步学习的话可以安装一个Linux操作系统,再加上一个几百元的Android手机就可以学习了,等掌握Android开发后再学习IOS也不迟。如果喜欢后端开发,建议选择Ja va、Python、PHP这些语言。假如之前没有接触过编程,只要认真学,这些语言挺容易入门的,如果有一点C语言基础那更好。而如果喜欢Web前端,那就好好学习H5+CSS3+Ja vaScript,一个合格的Web前端工程师除了能把网站做出漂亮的特效,还要懂得后端的知识,这时可以学一学Node.js。虽然开发技术分类很多,但这些技术都是相通的,有了一门技术的基础之后,再学习其它技术就轻而易举了。在初学者阶段,需要选择一门技术进行系统的学习,同时不要忘记多了解一些其他的技术。以下是编程语言在某个时间段的排行榜:

    (4)怎么获取学习资源?

    可以买一本书。书有好有坏,有的书适合初学者,有的书不适合;有的书通俗易懂,也有的书全是废话,甚至错误一堆,这就需要好好辨认了。有的书适合你,但有的书虽好却不适合你,应该到书店、图书馆里好好翻一翻,选择合适自己的一本系统教学书籍。对于技术类型的书,尽量选择比较新的,对于同一种技术,尽量避免好几年前的书籍,因为技术书籍不像文学书籍那样,技术每天都在改变。还可以看一套系统的视频教程。互联网上免费的教程资源很多,如果好好利用,相信一定能学好的。有的视频里老师讲课方式不适合你,而有的老师讲课方式很适合你,后者对你的进步更有帮助。现在教学网站也很多,提供了大量的免费资源,如极客学院、慕课网、百度传课、腾讯课堂等,建议花一些时间去尝试听一下多套视频的第一节课,最后选择最适合自己的一套。

    (5)要善于利用互联网解决问题

    在学习编程过程中必定遇到很多问题,甚至有时出现的bug让人感到崩溃、无助,这时不要慌,这是很多初学者都必定经历的过程。只要一个一个地解决问题,积累经验,以后才能解决实际开发中遇到的问题。遇到错误时,把出现的错误百度一下,必定别人也遇到过,并有一堆的解决办法。还可以到各大论坛寻求帮助,如国内的CSDN论坛,如果英语阅读能力比较好,还可以到stackoverflow.com网站上寻求全球开发者的帮助。

    (6)多读别人的代码,借鉴别人的长处

    阅读别人的代码是提高编码能力的一个方法,可以看到自己与大神的距离,然后努力朝着目标前进。一个合格的开发者,不仅能自己写代码,还要有阅读别人代码的能力。

    (7)多练习,熟能生巧

    学习中编程的过程中,看懂和会做完全是两回事,不要觉得自己看视频看懂了,或者看书看懂了就从来不去编码练习了。往往很多人看懂了,但自己却敲出一堆的错误,这阶段需要不断的练习。网上说的“7天掌握PHP”、“5节课掌握Ja va”等等,以一个普通初学者的角度来说绝对是不可能的。作为初学者,应该脚踏实地,每天坚持,积累上几万行代码,甚至几十万行代码,也许那样才是真正的入门。这世上没有不劳而获的,所有的收获必定经历付出,知识也一样,加油!

    5. 总结

    上一个世纪的前辈们在学习的时候,他们没有网络,没有那么多学习资料,而他们却能给后人创造了很多有价值的东西。他们都那么坚持,我们就没有理由不努力了。不管怎么说,学习编程不容易,一定要真正地喜欢它再去学,脚踏实地,坚持不懈,往既定的目标努力。入门学习的付出是辛苦的,甚至是乏味的,但是拼一拼,努力奋斗,相比最后得到的,是值得的。加油!

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    编程开发 网络 网络协议
    上一篇: 何为编程
    相关文章 更多
    精品专题 更多
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    macOS软件

    正软商城macOS软件专区,精选适用于Mac电脑的办公、设计、影音、效率、开发和系统工具,提供软件功能介绍、macOS兼容版本、正版授权及购买下载服务。

    IOS软件

    正软商城iOS软件专区,精选适用于iPhone和iPad的办公、学习、影音、设计、效率及AI应用,提供功能介绍、适用设备、系统要求和正版获取方式等信息。

    AI

    正软商城AI软件专区,汇集AI写作、AI绘画、AI视频、AI办公、AI编程、AI翻译、智能客服和数据分析等人工智能工具,提供功能介绍、适用平台、收费方式及正版购买信息。

    Mac软件 更多
    讯飞智作 网页版
    讯飞智作 网页版

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    Aperty macOS版
    Aperty macOS版

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    立刻MV 网页版
    立刻MV 网页版

    立刻MV 面向音乐人、内容创作者和品牌团队,帮助用户低成本完成歌曲 MV、歌词视频、AI 分镜、图生视频与最终合成。

    蛙蛙写作 网页版
    蛙蛙写作 网页版

    蛙蛙写作 AI 创作工具,覆盖小说、剧本、文案,一键生成文稿,打通文字转视频全流程,高效解决创作难题。

    超级简历WonderCV 网页版
    超级简历WonderCV 网页版

    超级简历WonderCV是面向应届生和AI小白的智能求职平台,覆盖简历、面试与职业规划。

    音述AI 网页版
    音述AI 网页版

    音述AI,是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区。

    AionClaw macOS版
    AionClaw macOS版

    AionClaw 是可在桌面端运行的任务型 AI 助手,通过数字专家与技能市场组合办公、创作、数据和开发能力。

    Loomy macOS版
    Loomy macOS版

    Loomy 是科大讯飞推出的桌面 AI 助手,可通过对话、任务与工作目录协助处理办公、内容创作和资料整理。

    AirBuddy 3 macOS版
    AirBuddy 3 macOS版

    AirBuddy 3 是面向 macOS 的蓝牙外设增强工具,可集中查看 AirPods、Beats 与苹果设备电量,提供快速连接、播放控制、电量提醒、桌面小组件和多台 Mac 外设接力等功能。

    AirServer macOS版
    AirServer macOS版

    AirServer macOS版可把 Mac 转换为无线投屏接收端,通过 AirPlay 或 Google Cast 接收手机、平板和电脑画面,并支持多设备同时连接、高清镜像及会话录制,适合家庭娱乐、课堂教学、会议演示和应用展示。

    AnyDesk macOS版
    AnyDesk macOS版

    AnyDesk macOS版是一款适用于远程办公、设备维护和客户支持的远程桌面工具,可连接并操作异地计算机,支持文件传输、无人值守访问、会话权限控制及跨平台协作。

    WINDOWS 更多
    讯飞智作 网页版
    讯飞智作 网页版

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    PixTV 网页版
    PixTV 网页版

    PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。

    讯飞绘文 网页版
    讯飞绘文 网页版

    讯飞绘文网页版是科大讯飞推出的AI图文创作与内容运营工具,覆盖热点选题、文章生成、稿件校对、智能配图、排版发布和数据复盘等环节,适合自媒体创作者及内容团队在线使用。

    Maya(Autodesk Maya) Windows版
    Maya(Autodesk Maya) Windows版

    Autodesk Maya 是面向影视、电视、动画和游戏行业的专业三维制作软件,集多边形与 NURBS 建模、角色绑定、关键帧和动作捕捉动画、Bifrost 特效模拟、材质开发及 Arnold 渲染于一体,

    Aperty Windows版
    Aperty Windows版

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    立刻MV 网页版
    立刻MV 网页版

    立刻MV 面向音乐人、内容创作者和品牌团队,帮助用户低成本完成歌曲 MV、歌词视频、AI 分镜、图生视频与最终合成。

    蛙蛙写作 网页版
    蛙蛙写作 网页版

    蛙蛙写作 AI 创作工具,覆盖小说、剧本、文案,一键生成文稿,打通文字转视频全流程,高效解决创作难题。

    超级简历WonderCV 网页版
    超级简历WonderCV 网页版

    超级简历WonderCV是面向应届生和AI小白的智能求职平台,覆盖简历、面试与职业规划。

    音述AI 网页版
    音述AI 网页版

    音述AI,是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区。

    AionClaw Windows版
    AionClaw Windows版

    AionClaw 是可在桌面端运行的任务型 AI 助手,通过数字专家与技能市场组合办公、创作、数据和开发能力。

    Loomy Windows版
    Loomy Windows版

    Loomy 是科大讯飞推出的桌面 AI 助手,可通过对话、任务与工作目录协助处理办公、内容创作和资料整理。