展开菜单
首页 精品内容 本月促销 装机必备 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软件 更多
    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版是一款适用于远程办公、设备维护和客户支持的远程桌面工具,可连接并操作异地计算机,支持文件传输、无人值守访问、会话权限控制及跨平台协作。

    Beamer 4 macOS版
    Beamer 4 macOS版

    Beamer 4是面向macOS的本地视频投屏工具,可将Mac中的影片投放到Apple TV、Chromecast及兼容设备,支持常见格式、多类字幕、环绕声、播放列表和电视遥控操作。

    Boom 3D macOS版
    Boom 3D macOS版

    Boom 3D macOS版是一款系统级音效增强工具,可为音乐、电影、游戏和流媒体提供3D虚拟环绕声、31段均衡器、音量增强及应用独立音量控制,并支持本地播放器与多种音频输出设备。

    Boris FX macOS版
    Boris FX macOS版

    Boris FX macOS版是一套面向剪辑、合成、调色及动态图形工作的专业后期工具,涵盖视觉特效、平面与三维跟踪、转描、画面修复、粒子动画和音频清理,可配合多种主流宿主软件使用。

    Capto macOS版
    Capto macOS版

    Capto 是面向 macOS 的屏幕截图、高清录屏与媒体编辑工具,支持区域及整屏捕获、网页长截图、双音轨处理、图片和视频标注、素材分类与多渠道分享,适合教师、学生、内容创作者及需要制作演示教程的用户。

    ChemDraw macOS版
    ChemDraw macOS版

    ChemDraw macOS版是一款面向化学学习、科研和制药工作的专业结构绘图工具,可创建分子、反应及生物聚合物图形,并提供结构整理、格式转换和科研成果展示能力。

    Cursor Crane macOS版
    Cursor Crane macOS版

    Cursor Crane 是一款仅面向 macOS 的键盘操控效率工具,可通过提示标签、网格、文字查找和窗口模式完成点击、滚动、定位与切换,并支持屏幕内容提取、脚本及工作流扩展。

    Deep Freeze 冰点还原 macOS版
    Deep Freeze 冰点还原 macOS版

    Deep Freeze 冰点还原 macOS版通过冻结系统配置,让受保护的Mac在重新启动后回到预设状态,并提供解冻空间、维护计划、密码保护及Apple Remote Desktop管理能力。

    Focusky macOS版
    Focusky macOS版

    Focusky macOS版是一款面向教学课件、商务汇报、产品展示和动画宣传内容的演示制作工具。它通过无限画布、路径编排、缩放旋转转场及多媒体编辑,将传统逐页幻灯片转化为更具空间感的动态演示。

    Folder Colorizer 2 macOS版
    Folder Colorizer 2 macOS版

    Folder Colorizer 2 macOS版是一款直观的文件夹外观定制工具,可更换颜色,添加表情、贴纸及图片背景,并支持批量处理、智能推荐和恢复默认样式,帮助用户更快辨认工作、学习与生活资料。

    WINDOWS 更多
    讯飞绘文 网页版
    讯飞绘文 网页版

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

    AirServer Windows版
    AirServer Windows版

    AirServer Windows版可把电脑变成AirPlay、Google Cast和Miracast无线投屏接收端,适合会议演示、课堂教学及家庭大屏分享。发送设备通常无需另装客户端,并可同时接收和智能排列多个镜像会话。

    AlwaysUp Windows版
    AlwaysUp Windows版

    AlwaysUp是一款面向Windows的系统服务注册与程序托管工具,可让普通应用、脚本及批处理在无人登录时随系统启动,并通过状态检测、异常重启、资源监控和邮件通知保障关键任务持续运行。

    AnyDesk Windows版
    AnyDesk Windows版

    AnyDesk Windows版是一款轻量化远程桌面与技术支持工具,可用于控制异地电脑、传输文件、远程打印及无人值守访问。它兼顾连接响应、安全权限和部署灵活性,适合个人远程办公、企业设备维护与客服支持。

    Boom 3D Windows版
    Boom 3D Windows版

    Boom 3D Windows版是一款面向音乐、电影和游戏场景的系统级音效增强工具,支持虚拟3D环绕声、31段均衡器、预设音效、应用音量控制及本地音乐播放,可配合耳机、扬声器和蓝牙耳机使用。

    Boris FX Windows版
    Boris FX Windows版

    Boris FX Windows版是一套服务于影视剪辑、视觉特效、运动跟踪、转描、图像修饰及音频修复的专业创作工具集合,可作为插件接入多种主流后期宿主,也包含可独立运行的应用,适合剪辑师、特效师与内容创作者使用。

    ChemDraw Windows版
    ChemDraw Windows版

    ChemDraw Windows版是一款面向化学研究、药物研发、材料科学和教学工作的专业结构绘图工具,可快速绘制分子、反应式及生物聚合物,并提供结构整理、格式转换、性质计算和科研文档协作能力。

    CODESOFT Windows版
    CODESOFT Windows版

    CODESOFT Windows版是一套企业级条码与RFID标签设计打印工具,可连接Excel、Access、SQL及云端数据源,支持变量、表单、GS1条码、数据库记录和多种工业打印机,适合制造、仓储、物流及合规标识场景。

    Deep Freeze 冰点还原 Windows版
    Deep Freeze 冰点还原 Windows版

    Deep Freeze 冰点还原 Windows版通过重启恢复技术保护系统盘及指定分区,自动撤销恶意程序、误操作和配置漂移造成的改动,并支持密码保护、解冻空间与多硬盘管理,适合学校机房、公共电脑、办公终端及家庭电脑使用。

    EDIUS Windows版
    EDIUS Windows版

    EDIUS 11 Windows版是一款面向影视制作、广播电视、纪录片、短视频及教育机构的专业非线性编辑工具,支持4K/8K、多格式混编、HDR调色、字幕、音频处理和后台渲染,并提供素材管理及丰富的导出预设。

    FastStone Capture Windows版
    FastStone Capture Windows版

    FastStone Capture Windows版是一款轻量级屏幕捕捉、录屏与图像编辑工具,可截取窗口、区域、菜单和滚动页面,并提供标注、模糊、取色、OCR、录音录像及多格式导出能力,适合办公说明、教程制作和问题反馈。

    Focusky Windows版
    Focusky Windows版

    Focusky Windows版是一款动画演示与交互课件制作工具,通过无限画布、缩放旋转镜头、模板素材和对象动画组织内容,可导入PPTX,并输出视频、EXE、PDF、网页等格式,适用于课堂教学、微课、商务汇报及产品展示。