小白如何自学编程? - 诺米粒 - 2024最新贷款口子论坛
登录 or

小白如何自学编程?

对于一个对编程一窍不通的小白,如果想自学一门语言和软件应该如何学习,比如像有的公司要求程序员两个星期学会一款软件,他们都是怎么学习的
已邀请:

电影扒皮 白米Ⅲ级

赞同来自:

说句时候小白去自学编程真的不是那么容易的,可以说是很难,但是如果真的下定去自学编程的话。



1.首先你就要找一个方向比如说是网站程序员,或者是系统程序员,意思就是你要明确一个目标。
2.从网上买一些编程类型的书籍,也可以去学校图书馆找反正这类书很多,先试试感兴趣不,或者难不难如果感觉难和不感兴趣就放弃。
3.当感觉书看的差不多了就在网上找一些别人的代码,试着去弄懂这些代码,等弄懂之后尝试在源代码的基础上自己去修改看看能不能成功。


4.等这些都会的时候就开始在电脑上自己去敲代码,多加练习你这就等于入门了
在自学的时候肯定没说的这么容易,会遇到很多的问题和困难,所以说自学编程不仅仅考的是一时的热血就能学好的,个人建议还是找一个学电脑的人去带不然你会很茫然的。
顺便给你接受几个好的网站,我爱自学网,开源中国,极客学院


老衲要还俗ing 白米Ⅲ级

赞同来自:

说实话,你这个问题问得很广泛。
如果你要自学,我姑且认为你是大学生,如果过是的话,书籍很好早,课也很好蹭。
如果不是,我就简单回答一下,初学者一般以C语言入门,好吧,如果有兴趣还得看看计算机基础,一般来讲,简单的编程就是开发语言以及一些开发。C语言的话说,先去下载一个盗版的VC++2010,自己百度,如果找不到加我3285958944,我懒得去找了,然后自己看看相关算法,代码之类的东西我不知道你水平,你这个问题问的。
还有Python,C++,VB之类的一般也会学,反正这些都要自学,必须得花时间,如果你想深入学习,我这个回答是不够的,多去了解一些知识。但是我奉劝你一句,现在的计算机不缺底层人才,因为速成的人太多,趋之若鹜吧。你如果什么都不会还想赚钱,就学精一个吧 。这里给你推荐几个论坛,CSDN,博客园,www.markbj.com
就写这么多吧,有疑问再说,你想问就问的清晰一点。
再给各位几个推荐几个论坛,
马克笔记,最近发现的感觉还不错,适合小白
外国的
一个毋庸置疑的是,外国的IT论坛超越国内不是一点半点
stack overflow,很牛就是了,相当好的问答社区,或许在程序员方面,无人不知
github,code project,这些呢,小白是有点压力的。

合法程序媛 白米Ⅲ级

赞同来自:

java学习交流加群460570824

你是否适合自学编程?自学编程会是一个漫长而艰辛的过程,在你信心满满地准备开始之前,不妨先问问自己下面这几个问题,来判断你是否真的适合自学编程呢?
你是一个逻辑和抽象思维能力比较强的人吗?
你是否愿意不断地去学习那些新的东西,而在大多数时间内你都需要去自学。
当你遇到一些问题和困难的时候,你是否有足够的耐心和毅力去独自解决这些问题?
你是否有很强的好奇心去研究和探索那些未知的领域?
如果上面这四个问题中,至少有两到三个你的答案是Yes的话,那相信你是适合自学编程的,相反,你可能需要考虑选择更适合自己的学习方式,比如参加一些培训班,由导师带着进行系统地学习。
学习编程后你能做什么,不能做什么很多人只是将编程作为一项技能去学习,而他们并不清楚学习编程之后能做些什么。这就和孩子在学校学习英语一样,由于缺乏目的性和应用的场景,而使得效果大打折扣。带有目的性地去学习,并不断地实践是学习编程的最佳方式。
学习编程以后,你可以:
独立地设计、开发一个软件,然后通过测试将它发布出去给更多的人使用。并不断地去维护与改进它。
可以参与到开发团队中,去开发一些更复杂应用,满足你客户的需求。
但你不能:
维修电脑,或解决Inernet连接问题。
像黑客一样去黑其他人的电脑。(黑客也都是程序员,但他们需要更多其他方面的知识和技能,我可以在后面谈谈我认识的那些黑客们是如何修炼的)
选择你的第一门编程语言编程语言有几十种,你该如何选择你的第一门编程语言呢?我的建议是根据你学习编程的目的去进行合理的选择。
希望找到一份程序员工作
下面是那些大型企业最普遍采用的开发技术,你可以根据自己的喜好,选择不同领域的开发语言。Web前端开发(开发网站,基于Html5的手机APP等):JavaScript
后端开发(企业应用,后端服务):Java(跨平台), C#(Windows平台)
移动开发:Swift(iOS平台),Java(Android平台)
3D或游戏开发:C++
大数据或人工智能:Python,Java
如果你已经有一个很好的点子,并希望实现它
搭建网站:JavaScript + HTML5
做一个APP: Swift(iOS平台),Java(Android平台)
如果你希望为那些初创公司工作可以选择JavaScript,因为越来越多的初创公司直接使用JavaScript来构建他们的前端和后端应用(比如使用基于JavaScript的NodeJs来开发后端服务等)。
如果你希望教孩子编程可以先让孩子尝试Scratch或类似的游戏类编程学习软件,当孩子对那些基本编程知识有所了解,并具备一定逻辑思能力后,可以转而学习Python。
如果你只是想建一个个人博客或搭一个论坛或企业服务站点你可以学习PHP,因为几乎所有那些优秀的基于CMS的建站平台都是用php写的,包括Wordpress,Drupal,Joomla等等。
从语言的难易程度方面选择选择从最简单的编程语言开始:选择Python
稍微难度高一些,但使用场景更广的语言:选择Java
完全没有任何想法 如果你暂时对学习哪门编程语言没有任何想法,或只是为了提高自己想学习一门编程语言,那么我的建议是 Python

书评影评歌评 白米Ⅲ级

赞同来自:



有没有哪一个瞬间,让你想要放弃学习编程?
在我决心开始学编程的时候,我为自己制定了一个每天编程1小时的计划,那时候工作很忙,我只能等到晚上9点,同事都下班之后,独自留在办公室编程。在翻遍了我能找到的几十本国内外的 Python 编程教程之后,我还是似懂非懂。那些教程里面到处都是抽象的概念、复杂的逻辑,对于专业开发者这些再平常不过,而对于我这样一个学设计出身的编程小白,没有被视觉化的东西是无法被理解的。
而且,这些书大多着重于一步步构建一个完整体系,但事实上,现实生活中没有哪个技能是这么习得的。难道要练习1年切菜才能给自己做一顿饭么?难道要到体校学习3年才能开始晨跑么?难道要苦练5年基本功才能开始拿起吉他弹第1首曲子么?
做任何事情一定有在短期内简单可行的方法。学习不应该是苦差事,而应该是快乐的,重要的是找到适合自己的学习方法。
既然笨办法不能让我学会 Python,那么我决定用一种聪明方法来学,为自己创造学习的捷径。
逐渐摸索出了一套高效学习法之后,我的编程学习速度突飞猛进,不到一个月时间就完成了一个数据分析的网站。为了追求最大程度的精简,我借用了许多强大的库和框架,这让我不需要重新发明轮子,而是专注于最核心的功能。在一次项目合作中,我惊讶的发现,我用70行代码实现的功能,一名工程师竟然用了800行代码来实现。在运动场上,第一名和最后一名的差距也许只有几十秒。然而在编程这个竞技场上,不同方法的效率竟然会有10倍的差距,这也正是追求高效学习的价值所在。
实际上,如果你听说过《如何高效学习》中的整体学习法,你会发现它和我的高效学习法很相似,作者斯科特·杨用一年的时间学完了麻省理工四年的课程。既然这种高效学习法可以用来学习经济学、数学、物理,那么当然也可以用来学编程。
这种高效学习法的核心在于:


学习最核心的关键知识,而不是像啃字典一样啃编程书。


在80/20法则中,20%的关键投入带来了80%的产出

李笑来老师写过一篇《最少必要知识》的文章,里面提到过,
"学任何东西,想要“速成”从来都是妄想。但是,用来起步的那一点“最少必要知识”不仅是可以迅速获得的,也是必须迅速获得的。"
在汉语中,掌握常见的1500-2000个字就能看懂80%的文字。在编程中,同样有着最核心的关键知识。对于一个编程小白来说,我认为最关键的知识有这些:
● 最基础的编程语法,包括:循环、条件判断、面向对象等;
● 掌握 Google 搜索报错的方法;
● 知道如何找到适合的第三方库、框架,并且运用它们来完成自己想实现的功能。
先用这些关键的知识构建你的知识体系会让学习效率加速,这是比一开始就钻到各种细枝末节里面更好的学习方式。


运用类比、视觉化的方法来理解这些核心知识,而不是死记硬背。
我们的大脑并不是计算机,所以机械记忆是一种低效的学习方法。人的大脑是通过数十亿个神经元相互联系储存信息的,记忆的过程就是在不断的建立连接。当学习新知识时,主动和已有的知识经验创造联系,就会记得越牢、理解得越好。
在学习类的时候,有一大堆难懂的概念,这时候我看到了手边的可乐,突然想到,类的实例化的过程,不就像是可乐在生产线上贴标签的过程么?这样的类比,让我只要一看到可乐,就想起了类的这个概念。




构建自己的知识体系之后,再通过实践去逐渐完善知识体系。
我在学习吉他的时候,我的吉他老师让我只练基本功,不练曲子,这样每周一次课程,学习了半年时间,我终于放弃了。所有的兴趣都被枯燥的基本功耗尽了,并且有一种什么都弹不了的挫败感。
学习编程也是一样, learning by doing 才是最有效的技能学习方式。我是一名实用主义的开发者,我相信你也一样,学习编程是为了真正做出点东西来,也许你想爬取大量的数据和信息,方便用来分析与决策。也许你想快速搭建一个网站,展示自己的产品。也许你对量化交易感兴趣,想试着把自己的投资策略程序化。对于实用主义的开发者来说,更应该追求的是“达成”而不是“精通”。先掌握项目所需的最少必要知识,然后把热情和精力投入到搭建真实项目中,而不是死磕半年的基础知识,直到把所有兴趣都耗竭了也没做出来什么像样的东西。在实践过程中,你自然会逐渐完善知识体系。
通但是新手又不适合直接做难度很高的项目,最好的实践方式是:分解练习+循序渐进。其实这和学习吉他很像,分解练习能让你对每一个知识点都熟练运用,循序渐进则能让你的能力随着任务难度不断提升。但是,这种实践方式需要被精心设计,作为缺乏经验的新手可能很难制定出这样的学习计划,推荐你选择精心设计的、以练手项目为主的实践课程。

浮生影汇 白米Ⅲ级

赞同来自:

其实并不难,给大家推荐几本入门的书吧




张乡本 白米Ⅲ级

赞同来自:

小白学编程我不知道,小孩子学编程我倒可以说一说,其实成人比小孩肯定更有优势。
今天继续来聊如何培养小孩子的程序设计能力,“计算机要从娃娃抓起”,有些家长可能是把小孩送去这方面的兴趣班,但是目前来说,市场上这样的培训班并不是很多,有的一些也是和机器人这些项目结合在一起,很少听说过有这种兴趣班的。因此,就逼迫家长,如果说你真的想培养小孩子这方面的能力,唯有自己去了解一些这方面的知识。可能作为家长的你,这时候会惊呼,让我自己学习,怎么可能呢,哪里有那么多时间。但你想想,你陪小孩阅读,难道你对阅读就非常了解,你陪小孩打羽毛球,打篮球,这些,可能我们都不是很在行,但是你依然乐此不疲,为什么?说直白一点,是你认为这个非常重要,现在我们回到程序设计上来,其实你也可以慢慢的学一些这方面的知识,接下来,笔者就尝试着介绍一些这方面的内容,也是笔者个人的一些探索,希望对你有一些帮助。


基础工具的选择,笔者认为Scratch是一个好工具,Scratch是MIT研发并开放的一个儿童图形化编程的工具平台。可以在web上进行操作和分享,也可以下载到计算机本地。它的来头可不小,是美国麻省理工学院开发的少儿编程的平台,如果你不了解,可以百度了解一下这个平台。这个平台的优点非常明显,构成程序的命令和参数通过积木形状的模块来实现。用鼠标拖动模块到程序编辑栏就可以了。打个比方来说,最终开发出来的软件就如一个城堡一样,而建筑这个城堡的程序模块都被打包成了一个个积木,孩子只需要不断的重组,拼合,最终,肯定会得到自己想要的结果。为什么这个工具笔者认为最好,还有两点原因,不需要什么英语基础,不需要使用键盘,第二,孩子能够做出完整的可以运行的程序,非常容易获得成就感,这一点,恐怕是很多软件难以企及的。除了这个工具,近年来在安卓操作系统上风行的app inventor,也正是类似于Scratch的工具,此外,还有一些好像是付费软件,例如米思齐(Mixly),不过笔者认为,有了Scratch这个工具,对于小孩来说,应该也差不多了,熟悉使用一个工具,比了解很多工具,但都没有深入了解要好。


少儿编程,接下来,我们必然面临一个问题,就是学习一门语言,那么选择什么语言入门好呢?孩子毕竟小,什么语言是最适合孩子学习的呢?网络上面这样的答案也是很多,有说C语言的,有说JAVA 的,有说VB的,有说python的,谁叫python是世界上最好的语言呢?而笔者,赞成使用PASCAL语言,为什么使用这么语言呢?语法严谨,层次分明,程序易写,可读性强,可能这里还觉得抽象,再详细点,这门语言非常适合结构化编程,顺序结构,选择结构,循环结构,再和Scratch一结合,在孩子十多岁以后,对于英语也有了一些基础,很快就能够接受结构化编程的思想。而结构化编程,几乎对于所有语言都是通用的,大大地方便了日后的知识迁移,再去学习抽象化的C语言,JAVA等等,能够大大提高效率。如果你认为PASCAL语言不行,那么退一步,笔者认为VB这种可视化程序设计语言也是一种非常不错的选择,一样结构化、模块化,但在面向对象这里你会碰到难题。总而言之,就算你选择C语言这些语言,笔者认为也不要使用那些针对大学生编出来的课本,这已经远远超出了 孩子的理解范围,拔苗助长,永远难以走远,而要去网络上面需找一些适用于孩子的教程,例如,啊哈C语言,这类坐在马桶上都能读懂的C语言书。


好了,今天先聊到这里,笔者主要介绍了少儿编程孩子需要使用的工具,以及选择什么编程语言。如果你有什么好的意见,欢迎在评论区下面写出来,我们一起进步。少儿编程,是一项艰巨而漫长的工程,我们慢慢讨论。


最后,用乔布斯说的一句话为这篇文章结尾。
Everybody in this country should learn how
to program a computer, because it
teaches you how to think.
这个国家的每个人都应该学习如何编程,因为它会教你如何思考。


十佳球 白米Ⅲ级

赞同来自:

小白自学编程,基本就是3个方面。视频,教程,实战。
首先说视频,视频你可以找各种编程视频网,可以付费的,也有,免费的,视频教程大同小异,就看你个人了。
然后说一下教程,也是大同小异,网上有很多各种语言、框架,技术、软件的教程,我们都可以去进行学习。
最后说一下实战,最近我发现了国外的一个mimo的软件,不过是英文版的,非常适合新手学习,还有一个叫做sololearn的,都是英文版的,不过mimo收费很贵。所以我就找了找类似的中文版,最终找到了:他们的学习模式是这样的。
个人觉得是结合了教程,实战,节省了时间并且非常的有效
· 首先是一个关于某个语言的介绍,也就是相当于看书的第一章节,或者第一页。


看完这一节内容之后,也就是学完了php是什么,然后php基本简介其实就会在我脑海里有所印象,但是当别人问我们php是什么的时候,我想我们还是说不出来;
不过这个教程的神奇之处就在于他很懂初学者,翻到下一页马上就会考你,问:php是一种什么?学问上一页之后,当然我们就很快能够选出正确答案:D


还没完哦,,开始了解完php的基本内容之后,我们初学者其实还是很懵懂的,所以继续往下翻我们就会发现,你会发现这样的一个排序,其实就是简单的编程,不过你不需要自己打字,你只需要了解php的基本格式。


每次学完一章节之后就能够知道自己能够进行什么样程度的编程,感觉学习其实效果非常好。(ps:这个编程学习的app叫:W3Cschool)

scanf325 白米Ⅲ级

赞同来自:

首先你得想好你要学编程了,一定要做好准备工作,因为学这个东西太容易放弃了。再有就是先了解一下在计算机领域有哪些方面的知识,做一个系统的了解,选择好自己要学的方向,千万不要这里学一下,那里学一下,这样肯定是学不会的,选择好自己的方向后,可以去各大学习平台上去找一些基础的视频看,在这里推荐网易云课堂,极客学院,实验楼,慕课网,w3cschool等等,一般百度会有很多推荐,在这里我就不多说了,然后你就去各大官网上看官方文档,因为那的东西是最全面的,不要害怕英文,会英文是程序员必备的,如果觉得官方文档实在是比较吃力,那就去学习平台上找一些进阶的视频,当然,一般都是付费的,最后进入实战阶段的时候就多去找项目来练手,像github,掘金,开源中国都不错。最后要说的是一定要坚持,有很多人都是从入门走向放弃,如果你选择了这门行业,就不要辜负它

huo920 白米Ⅲ级

赞同来自:

首先,需要看你是出于什么目的来学习编程的,是希望通过学习编程找个工作养家糊口还是仅仅出于个人爱好。两个之间的要求自热不可同语。

其次,最好测试自己的自学能力是否真的适合自学,在互联网上想要找到学习的资源很简单,但是想要找到学习的氛围却是很难。我看到过许多满怀信心想要自学的人,结果大多是虎头蛇尾,不及而终。

然后,你需要选择一门语言来入门,这就需要你自己查询各种语言的特性,根据自己的需求来选择,你可以选择老牌的入门语言C语言,也可以选择常用的Java,或者是流行的Python,当然,目前网络上常见的教程都很全面,认真学好一门语言之后再去学习其他的语言自然是一通百通,水到渠成。

简单的入门之后可以选择大致的方向进行深入的学习了,选择好方向之后则需要自己去查询相关的学习路线了,如果你是出于工作角度我建议你根据目前常见的互联网公司的招聘要求进行学习,对症下药;如果你是出于个人兴趣,那就看你是想通过编程解决什么样的问题 了。

以上只是个人看法,欢迎指正交流!

玩着学编程 白米Ⅲ级

赞同来自:

选准方向,找一套好的视频教程,多练习,多思考,坚持是必不可少的;
初学者的话,看视频的效果会更好一些,自己不明白的地方,别人几句话就给你讲明白了,现在企业用的最多的就是Java了
以前学习Java 的时候看的是 “ 如鹏网 ” 的视频教程——《这样学Java不枯燥》,通过开发超级玛丽,飞机大战,弹幕动画,汤姆猫等好多经典的小游戏来讲解Java,学起来有趣有料不枯燥,没想到Java还可以这么学,蛮有成就感的
具体的可以到 如鹏网 官网上去了解一下;

兔子趣事 白米Ⅲ级

赞同来自:

最近几年互联网科技如火如荼,加入互联网大军的人才可以说是前仆后继。
很多想要进入或刚进入的小白都会存在怎么自学编程这个问题,那么首先你要确认的是你的学习目标语言是什么?
在学习之前你要确认的是你要学习的是哪种编程语言,根据我多年编程工作的经验,前期学习宜精不宜多,只有当你把一门语言学透以后,那你学别的语言也就事半功倍了。
现在最热门的语言主要有三种,C++、java、pythen,这三种语言分别是不同领域的佼佼者。c++是微软生态系统的官方语言,所有凡是有windows系统的地方都能用到;java是大型分布式网站开发首选语言,长期占据编程语言最受欢迎之首;pythen是近期兴起的在人工智能方面最热门的语言,也是程序员最想学习的新语言中排第一的语言。
当然除了以上三种,还有许多非常优秀的语言值得学习,在确认学习的语言后,才是你真正的学习之路。
如果你既不是编程专业学子,又不是培训学校出来的,没有任何基础,可以先看一些网络教程,现在网上优质教程也越来越多,例如尚学堂,黑马程序员等。等知道了这门语言的概况以后最好的办法就是看书,买几本基础知识的书,边学边写,看书最忌讳的就是光看书,不写码。可能看的时候感觉都会了,但是一到需要用的时候就会无从下手,所以一定要边看边敲码,把书上的案例都敲一遍,然后在自己进行适当的拓展。
任何学习都不是一蹉而就的,需要的是恒心和耐心。

九章算法 白米Ⅲ级

赞同来自:

想要自学编程,你需要理论知识和大量实践相结合(注意强调实践),以下是我学习编程的时候的一些方法,仅供参考


学习计算机科学入门课程
为学习CS和编程的基础知识做准备。在一天结束的时候,你必须了解你的代码如何工作,而不仅仅是一些模板和代码片段。学习CS的一些基础知识,如数据结构,循环,条件语句搜索,排序,递归等。你可以使用在线入门课程(这是一个很好的开始学习的方法)
关注您最熟悉的语言和平台
无论是网络开发,软件开发,移动开发.保持专注。作为一个希望自学成才的人,你的时间一定要用好。如果你想要更快的学习, 更好的时间分配是必须的,这是我在头两年学到的,你需要专注于开发。
编写一个小型项目
这个项目应该使用以前学过的语言和语法。写一个程序,要求输入用户名和年龄的程序或是一个简单的计算器。不要设立太难的目标。在这个阶段保持简单。
阅读别人好的代码
您可以查看Github上的开源项目,或询问你的朋友是否有权访问任何高质量的代码。


处理“真正”的编程问题
实际上,我指的是比大学作业更大的东西,需要超过几个星期才能完成的项目。选择一个你热衷的项目(比如说在线学习),然后尝试为这个项目编写代码。慢慢来,遇到问题可以在网上寻求帮助,所有的方法都会使你进步。
提高你的代码质量
如果你正在复制和粘贴代码,他们中有些东西可能是错的,一些东西可能是重复的,可以重构你的代码,检查它,回顾它,重构它,删除重复的部分。你不只是学习课程,让你的代码工作,你还需要保持一定的代码规范,代码质量标准。如果你想快速进步,那么花点时间来检查你的代码,并为你自己设置代码质量标准。
处理更具挑战性的问题
开始在线回答问题(知乎、悟空问答,v2ex,甚至国外的quora,stackoverflow ...),参与到社区里面去。
学会编程可能需要几年的时间。你学习的效率可能非常高,但这仍然需要几年的时间,所以耐心等待。我花了两年时间,从零开始学习入门级的工作,并且专业地工作。毕竟,其他人花了3 - 4年大学的时间,所以2年可能被认为是有效的。


欢迎关注我的微信公众号:机器学习算法与人工智能(machinelearningai),帮助你了解IT技术前沿

轮丈天下 白米Ⅲ级

赞同来自:

自学编程首先要确认楼主具有多高的文化程度,数理化学的怎么样,具不具备一定的基础?
其实自学编程还是有一些难度的,先不说走不走弯路,就编程而言,分支也是太多太多,所以建议楼主学习编程前先确定方向,不能什么语言都想涉及,那样最后肯定是什么都没学好,建议学好一个方向,把程序的逻辑思维能力锻炼好,以后学其他语言就很快了。现在程序员的研发岗位很多,选择一门语言先学好是很重要的。2017年12月的世界编程语言排名是这样的。


我们在上学的时候,一般都会把c语言学好,以锻炼你的编程基础,数据结构还有算法,这对以后学其他语言都有很大的帮助,这些都是非常重要的,所以要想自学其实学习的内容是非常多的。要是楼主一点编程基础都没有的话,建议先学c语言,c语言主要是面向过程为主,还有有很多数据结构还有算法方面的基础知识,这些知识都是可以应用到其他语言之中的,对以后的帮助也是非常之大,但是学起来也是非常难,国内几个大公司除了学历要求比较高以外,算法也是必考的。


现在比较火的研发岗个人觉得游戏开发、web前端(js、HTML、css、php、主流js框架)、python爬虫+大数据分析,后端研发的java、c#,都是比较不错的,工资也比较高,建议楼主选择一个自己喜欢的方向,并努力坚持下去,学习编程是不能速成的。


最后祝楼主学习顺利。

走过天涯28131458 白米Ⅲ级

赞同来自:

可以学access,或简单点学易表,数据通,雅奇。

冰或雪的灿烂寒冬 白米Ⅲ级

赞同来自:

额,学编程的一句话送给你,从入门到入土,从入门到放弃

要回复问题请先登录注册

var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();