如何自学成为程序员? 小白如何成为程序员?

作者&投稿:葛容 2024-07-02
零基础的人怎么才能成为一名程序员呢?很难吗?

零基础的人怎么才能成为一名程序员呢?很难吗?因为如果你只会一门语言的话,那也是程序员,只要这门语言你学得精通,能够从事这方面的工作那你就是一个程序员了。所以我觉得题主应该首先搞清楚自己想要从事的方向,然后再找突破口去学习对应的课程。


对于大多数的程序员来说,c语言都是基础,可以先自学这个。或者也可以用python 来作为入门课程。由于最近几年大数据云计算以及人工智能等热门领域的火爆,带动了这门之前不太受欢迎的语言。目前python 在编程界的地位越来越高,很多国家机构都把python 作为义务教育的一门基础课程放入中小学生的教学安排中了。
当然选定好所要学的方向以及课程之后,最重要的是你如何才能学好这些课程?
如果你是学生的话,你完全可以报考一个计算机相关的专业,在学校里,你可以更加系统完整的学习相关的学科知识,全日制的学校里你可以完全把精力放在学习上面,只要你肯努力,进步是非常快的。再加上有老师的帮助,入个门将会变得非常轻松。

如果你已经工作想要转行学习计算机的话,一是你可以去自学,选一本合适的教材,然后再去网上找一些相关的网络课程,跟着视频的内容进度一步一个脚印的去学去练,持之以恒下来不久对你就会入门的。二是如果资金充裕的话也可以去报一些相关的培训机构,好多培训机构的培训效果也是相当可观。而且相对来说,效率也会比自学高一些。三是其实如果条件允许的话,建议去读研深造,或者是出国留学。这样,对于你在行业的发展将有很大的帮助,也有助于你未来的职业发展。

总之,只要自己确定好目标,朝着目标一路向前,持之以恒的坚持下来,再加上多练习,多去问,相信未来的你不只是入门程序,还会成为更高级的It工作者。

首先,你需要选择一门自己感兴趣的编程语言。现在常见的编程语言有:
C / C++:属于大多数情况下能接触到的相对基础的编程语言了,优势是基本掌握以后面对其他语言均可以“无压力”;坏处是学习起来非常的困难,需要系统性的了解非常多知识点,且耗时一般较长。如果你有更多的时间和精力,同时希望能够长期更好的发展成架构师,那么这可能就是你比较合适的语言选择了。
Java:应用广泛,几乎大多数开发场景都有java或者java变体的身影。学习java你可以了解到面向对象思想,了解虚拟机等的概念,面对常见的开发也能够有应对方案。同时这个语言对比C/C++能简单不少,在很多情况下是面向新手比较合适的选择了。
Go:最近一段时间流行起来的语言,在面对高并发等场景下有天然的优势。Go语言有自己独到的特性,同时也可以支持一些C语言的能力,而且也越来越在国内的互联网公司作为首选开发语言之一。
PHP / Python / JavaScript / .net / Swift / ...:这些语言大多有自己的特定应用场景,比如Python在大数据和人工智能领域比较常见,JavaScript是前端开发的必备语言等。如果你希望的工作有比较强烈的语言要求,那么选择上面的语言准没错。

其次,掌握数据结构及算法,同时能够通过程序语言实现。
比如常见的数据结构,像是数组、链表、堆、栈、队列、树、图等,尽量都有机会了解数据结构的实现原理(包括自己用代码能够简单编写),知道数据结构的优缺点,以及在什么场景下使用。算法原理上如时间空间复杂度,一些数学概念;同时一些经典的排序、与数据结构结合的实现,也应当有了解。
这些推荐你去找专业的书籍,系统性的选择;尽量减少如面试宝典等取巧的方式,深入掌握不仅仅是找工作,在后续的工作中也能更好的帮到你。

再次,了解计算机基础。
常见的计算机基础包括计算机组成原理(简称机组)、操作系统、网络、编译原理等。这里需要投入比较多的精力,如果确实时间上比较紧张,可以有侧重的选择。
比如你希望从事偏底层的开发工作,那么更侧重在机组和操作系统上;如果侧重在上层开发,那么可以侧重在网络上,以此类推。当然,更好的掌握以上知识能够在很多不经意的时间给到你帮助,如果有空,也建议多深入的理解。
最后,知道一些计算机知识的应用。
这里就比较多了,比如数据库、一些基本的项目设计、项目实战等等,根据你希望的工作有针对性的去了解,或许有不小的帮助。

按照上面这几个步骤进行下去,可能确实需要投入一定的时间和精力,但是一旦你选择希望成为一名程序员,就一定要坚持下去,才能取得更好的结果。

如何学习自学编程的方式最好的莫过于在网络上面查找资源。

目前,网络上电脑资源多不胜数。其中有很多都是基础到精通的视频教程。通过视频讲解。让你明白重点知识。你通过查找一套适合自己的视频。然后看完是基本。

这里推荐几个可以在线学习的好网站:慕课、极客学院、传智播客、如朋网、网易公开课等等做笔记在进行看视频的过程中,一定注意要记笔记。

对视频中重点的部分进行截图,并加以文字解释。就形成了自己的笔记。这些笔记对于你来说很重要。通过记笔记的形式,你就不需要重新观看视频了。只需要复习的时候查看笔记就够了,这样就大大的节约了时间。

下面介绍一个记笔记的好软件:CherryTree多练习代码在视频中讲解的代码,我认为你至少需要自己写三遍以上。在写代码的时候,就用到了上面写的笔记了。通过看笔记截图,即可自己慢慢摸索写出来代码。当然练习到一定程度,就需要你适当的做个项目。巩固自己的知识。

程序员必备技能

1、熟练开发工具

做为一名程序员至少熟练掌握两到三种开发工具的使用,这是程序员的立身之本,其中C/C++和JAVA是重点推荐的开发工具,C/C++以其高效率和高度的灵活性成为开发工具中的利器,很多系统级的软件还是用C/C++编写。

而JAVA的跨平台和与WEB很好的结合是JAVA的优势所在,而JAVA即其相关的技术集JAVAOne很可能会成为未来的主流开发工具之一。

其次,能掌握一种简便的可视化开发工具,如VB,PowerBuilder,Delphi,CBuilder,则更好,这些开发工具减小了开发难度,并能够强化程序员对象模型的概念。另外,需要掌握基本的脚本语言,如shell,perl等,至少能读懂这些脚本代码。

2、熟知数据库

为什么数据库是如此重要?作为程序员,他们自然有自己的理由:很多应用程序都是以数据库的数据为中心,而数据库的产品也有不少,其中关系型数据库仍是主流形式,所以程序员至少熟练掌握一两种数据库,对关系型数据库的关键元素要非常清楚,要熟练掌握SQL的基本语法。

虽然很多数据库产品提供了可视化的数据库管理工具,但SQL是基础,是通用的数据库操作方法。如果没有机会接触商业数据库系统,可以使用免费的数据库产品是一个不错的选择,如mySQL,Postgres等。

3、了解操作系统

当前主流的操作系统是Windows,Linux/Unix,熟练地使用这些操作系统是必须的,但只有这些还远远不够。要想成为一个真正的编程高手,需要深入了解操作系统,了解它的内存管理机制、进程/线程调度、信号、内核对象、系统调用、协议栈实现等。

Linux作为开发源码的操作系统,是一个很好的学习平台,Linux几乎具备了所有现代操作系统的特征。虽然Windows系统的内核实现机制的资料较少,但通过互联网还是能获取不少资料。懂得网络协议TCP/IP。

在互联网如此普及的今天,如果您还没有对互联网的支撑协议TCP/IP协议栈有很好的掌握,就需要迅速补上这一课。

网络技术已改变了软件运行的模式,从最早的客户/服务器结构,到今天的WEBServices,再到未来的网格计算,这一切都离不开以TCP/IP协议栈为基础的网络协议支持,深入掌握TCP/IP协议是非常必要的。

至少,需要了解ISO七层协议模型,IP/UDP/TCP/HTTP等常用协议的原理和三次握手机制。

4、明白DCOM/CORBA/XML/WEBServices存在的意义

随着技术的发展,软件与网络的无缝结合是必然趋势,软件系统的位置无关性是未来计算模式的重要特征之一,DCOM/CORBA是当前两大主流的分布计算的中间平台,DCOM是微软COM(组件对象模型)的扩展,而CORBA是OMG支持的规范。

XML/WebServices重要性不言而喻,XML以其结构化的表示方法和超强的表达能力被喻为互联网上的“世界语”,是分布式计算的基石之一。

5、不要将软件工程与CMM分开

大型软件系统的开发中,工程化的开发控制取代个人英雄主义,成为软件系统成功的保证,一个编程高手并不一定是一个优秀的程序员,一个优秀的程序员是将出色的编程能力和开发技巧同严格的软件工程思想有机结合。

编程只是软件生命周期中的其中一环,优秀的程序员应该掌握软件开发各个阶段的基本技能,如市场分析,可行性分析,需求分析,结构设计,详细设计,软件测试等。

6、需求理解能力

程序员要能正确理解任务单中描述的需求。

在这里要明确一点,程序员不仅仅要注意到软件的功能需求,还应注意软件的性能需求,要能正确评估自己的模块对整个项目中的影响及潜在的威胁,如果有着两到三年项目经验的熟练程序员对这一点没有体会的话,只能说明他或许是认真工作过,但是没有用心工作。

7、模块化思维能力

作为一个优秀的程序员,他的思想不能局限在当前的工作任务里面,要想想看自己写的模块是否可以脱离当前系统存在,通过简单的封装在其他系统中或其他模块中直接使用。

这样做可以使代码能重复利用,减少重复的劳动,也能使系统结构越趋合理。模块化思维能力的提高是一个程序员的技术水平提高的一项重要指标。



如果想做一个程序员,在没有基础的情况下,买书自学是一个办法,但是大多数人会因为没有相关的基础知识,导致看书看得一知半解,因为有不同的语言,不同的开发环境,在你不了解的时候,买的书不一定合适。

比较速成的办法还是去报名一个培训班,系统地学习一下基础知识,然后选择一个发展方向,再具体的针对性的买点书籍来学习。


职业要求:


一般的程序员都有在专业领域的学习,还有很小一部分程序员是自学的,尽管一些专业性的学校或者综合大学可以提供,但是也需要一些别的途径来提供相关的人才。尽管学历是比较重要的,但是公司经常把重点放在应聘者的工作经验上,很多刚从大学毕业的大学生虽然有引人注目的学位证书,但是他们找不到工作是因为他们缺乏经验。

一个程序员虽然没有正规的学历,但是如果一个人拥有程序设计的深厚知识背景或者丰富的工作经验的话,那么他的机会要比有学历的应届毕业生大得多。所以要尽量抓住有用的工作和实习机会,这样的话在毕业后你就会发现,多实习让你有更多的经验,在找工作的时候就有更多的机会。

对于职业程序员,另外一个重要的方面就是,程序员需要不断提升自己的业务技术,他的技术必须一直保持在一个较高的水平,并且要不断发展,程序员也要寻找贸易的机会,要参加研讨会,在周刊上发表文章和接受职业教育,这些使程序员在自己的领域中分级或者不断并排前进。



在自学之前,首先你一定要明白自己转行的目的,如果是想着入行之后,很快就能月薪过万,就像我之前那一篇吐槽一个外包程序员的微头条里的一个年轻小伙子说的那样:“刚毕业的学生,写代码在杭州也能拿12k,外包本来就得给高,要不然谁给你好好干活?”如果都是抱着这种想法的,建议直接放弃转行,因为你把程序员赚钱想得太简单了,现在初级程序员已经非常过剩,尤其是非北上广深杭的朋友,月薪过万并不是你想的那么简单!你需要做好转行穷三年的准备,在刚刚入行的三年内积累大量的项目经验,夯实自己的基础,这样你才能在后来的职业生涯有更好的发展。


你是否需要了解?

如何靠自学提升自己的编程能力?
答:5、自己做一个开源的项目参与开源项目是提高编程能力的另一种方式。通过参与开源项目,你可以与其他程序员合作,学习到其他人的编程经验和技巧。同时,开源项目还可以帮助你锻炼自己的编程能力,提高自己的编码水平。参与开源项目还可以扩展你的社交圈,结识更多的编程爱好者。6、学习算法和数据结构 算法和数据结构是编程的...

如何在家自学编程,成为一名优秀的程序员?
答:在家自学编程,成为卓越程序员的路径探索</ 想要在家中自我提升,成为编程界的佼佼者,首要任务是找准方向。首先,明确你的目标:你是偏向于前端的界面设计,还是后端的逻辑构建?或是探索数据领域的深度挖掘?前端开发,如同搭建用户界面的艺术家,HTML、CSS和JavaScript是基础,热门框架Vue和Node.js则助...

零基础程序员,自学编程的 6 种方法有哪些?
答:5. 练习编程:练习是提高编程能力最重要的方法之一。可以通过做一些小项目来提高自己的编程能力。6. 参加编程社区:参加编程社区可以让你认识到更多的程序员,并且可以从他们那里学到很多有用的知识和技巧。

自学程序员怎么入门
答:自学程序员的入门方法有设定目标、学习编程基础知识、寻找合适的学习资源等。1、设定目标。首先,明确你希望成为什么样的程序员,例如前端开发、后端开发或移动应用开发。这将帮助你更清楚地制定学习计划,并掌握相关技能。2、学习编程基础知识。掌握编程基础知识是成为程序员的第一步。开始学习基本的编程概念...

自学程序员的步骤
答:1. 选择合适的编程语言:作为自学程序员的起点,选择一种适合自己兴趣和目标的编程语言至关重要。应根据个人的职业规划和项目需求来决定学习哪种语言。2. 利用视频和书籍资源:结合视频教程和书籍资源进行学习,两者相辅相成。视频教程能够提供直观的教学和生动的实例,而书籍则能够提供深入的理论知识和系统...

如何成为一名程序员?
答:要成为一名程序员,可以按照以下步骤进行:1. 学习编程基础:开始学习编程的第一步是掌握基本的编程概念和原理。选择一门常用的编程语言,如Python、JavaScript或Java,并学习其语法、数据类型、控制结构和函数等基础知识。2. 掌握编程工具和环境:了解和熟悉常用的编程工具和集成开发环境(IDE),如Visual ...

如何编程 零基础程序员如何自学编程
答:有些程序员学习编程一上来就想着月薪1W+以上,这样的学习过程会非常痛苦,很容易放弃。最好是奔着一个小项目而学习编程,当你把作品做出来了,就有成就感,同时基本上具备找工作的能力,直接找个初级的开发岗位,再进阶,你的自学之路功与名都有了。5、反复练习 编程是一门手艺,需要反复练习,脱离...

新手如何自学编程
答:1、编写程序代码:程序员使用各种编程语言编写程序,实现特定的功能。2、编译程序代码:将程序代码转换为机器可以理解的指令,生成目标机器代码。3、链接程序代码:将编译生成的目标机器代码与所需的库文件链接起来,生成可执行文件。4、运行程序:将可执行文件加载到内存中,并执行其中的指令。5、程序与用户...

如何自学成为初级程序员
答:1、努力追求,坚定自己的信心,一直坚持。2、不要挥霍时间,少玩一点电脑大型网络游戏,多看点这方面的书,多练练这方面的题。3、建议看两类书:(1)计算机原理;(2)数据结构和算法。(看数据结构之前先看C语言)。4、java、.net、C++、pb、vb、Delphi、汇编里自己认为哪个最简单就先学哪个,不...

程序员入门:如何自学编程_自学程序员怎么入门
答:如今一些硬件程序员冲着他们的屏幕大喊大叫,说AHK和AppleScript并不是“真正”的编程语言 也许他们说的是对的—技术上,这些种类的语言只能做一些上层的编程 但是对于那些只是想来脱盲、想在他们的电脑里实现一些能自动运行的程序的新手来说,这些语言会是一个绝妙的入门入口—而且你会吃惊于它们丰富的功能 例如,大家都...