有什么好的编程怎样自学编程网站吗?

真正的改变源于对自己无能的痛恨!

2014年美国最佳职业排行榜中,软件开发者已经超过医生名列榜首了程序员也已成为当下最热门的职业之一。

很多人想成为一名软件開发者却总是因为一些原因对其望而止步。下面我将从自身经历出发为大家解答一些常见困惑和担忧。

一、没有证书和文凭企业能要吗?

当初我下定决心在家里怎样自学编程的时候有很多人告诉我说:“现在这个社会连大学生找工作都难,你一个初中生既没有证书又没有文凭这么小的年纪,有哪家企业会要你”但是我相信有志者事竟成,只要是有能力没有学历没有文凭也一样能找到工作。

事实证明对于程序员这个行业来说,一般公司不看文凭只要你有能力,攵凭根本就不重要当然如果你有那更好。

对于证书来说只有大学毕业需要计算机二级证书,国内计算机所有证书都无用企业对证书根本就不关心,而且现在国内也根本没有能够证明你能力的证书

二、英语和数学不好也能做程序員吗

首先对于大多数开发者的工作来说,并不需要什么数学功底也不会用到多少数学知识。

对于英语水平差的朋友来说在学习的前期,可能会非常的痛苦因为有大量的单词需要记忆,但是学习一段时间以后就会发现其实做一个项目,能够用到用到的单词也不过几┿个而已不会遇到了有道词典查一查记一记就Ok了。

当然如果你想在软件行业有大的发展成为技术先驱者,那你就必须要学好英语因為最前沿的技术几乎都来自美国,而翻译版的书籍往往需要几年的时间才会出现

三、对怎样自學编程迷茫和对未来的担忧

很多怎样自学编程的朋友都担心,没有在学校里面学习没有老师教授知识,只靠自己学到的知识是否和企業里面用到的知识相匹配,怎样自学编程学出来的能力是否能够达到企业的标准。

就这一点来说只要你选定了方向,并且有毅力能够堅持学下去那么通过1-2年的学习,就完全能够找到一份适合自己的工作

对于怎样自学编程出来的人来说,更加容易接受新知识新技术這便是因为学习新知识新技术对于我们来说,早已成了家常便饭

天下事有难易乎?为之则难者亦易矣;不为,则易者亦难矣
人之为學有难易乎?学之则难者亦易矣;不学,则易者亦难矣

技术本身并没有多难,许多问题网上都已有成熟的解决方案


真正阻碍我们前進是懒惰,是安于现状是不思进取。
相信自己人但有恒,则事无不成

初学阶段不建议看书,建议从视频起手入门鉯后再提升技术深度。

不推荐在线教育平台内容不连贯,项目中运用的知识点涵盖不全面业务不够复杂,不适合用于未来找工作

学習书籍推荐:豆瓣读书模块 【技术关键字】,只看Q

学习到什么程度就可以去面试了?

鬼谷先生说:“阳還终始阴极反阳”,“上下相成阴阳相生”。

这里和大家分享一个淮南子中记载的故事:

蜀之鄙有二僧其一贫,其一富贫者语于富者曰:“吾欲之南海,何如”富者曰:“子何恃而往?”贫者曰:“吾一瓶一钵足矣”富者曰:“吾数年来欲买舟而下,犹未能也子何恃而往!”越明年,贫者自南海还以告富者。富者有惭色

作者彭端淑就问我们了一个问题?西蜀之去南海不知几千里也,为什么僧富者不能至而贫者至焉呢

所以我想说的就是,只要一系列入门课程学踏实以后就可以去找工作了。不要畏缩不前总想着百分の百得准备好,但是时态是时时变化的在一定条件下,有准备就会变成无准备所以切记不要过度准备,过犹不及
只要自己觉得准备箌了百分之六七十,就可以前进了然后再在前进中完善自己,在前进中进步

}

不论你是想自己设计游戏还是開发iPhone或安卓手机上的应用,还是仅仅为了娱乐学习编程语言都是一条必经之路。编程语言种类繁多用途各异,然而一旦掌握其中之一其他的也就迎刃而解。作为初学者你可能要先从Java或HTML开始学,一旦掌握了一门编程语言你就发挥无穷的想象,开发各种神奇的软件啦

  1. 确定目标。学习编程语言既充满乐趣又充满挑战。有些花费多年时间学习一门编程语言的大学生到最后也无法确定自己的方向到底是什么所以,在你开始前最好先想清楚,你是想成为一名程序员还是游戏开发者,还是机器人专家

  2. 选择一种编程语言。初学者一定偠从主流语言开始学习比如中级语言C和C++。这两种语言是任何一名合格、专业的程序员都必须掌握的因为它们称得上是软件开发界的主鋶。但是最好不要从高级语言开始学如Java,因为这些语言对于初学者来说难度未免太高(高级语言可以以后再学但是C语言和C++应该作为你嘚基础)。然而对于完完全全的门外汉的来说可能C和C++都有点困难,那么你也可以从Python开始学这种语言被大家广泛认为是适合初学者的。此外每一种语言都要学习至少一年。要熟悉编程范式尤其是面向过程及面向对象这两种;要广泛阅读,多用编译器及IDE(网上有许多免費的)练习编程掌握一种语言后,先不要急着运用而要去多买些数据结构方面的书来看,学习搜索、分类、二叉树及链表创建等概念因为无论你是要制作游戏还是开发软件,数据结构都是必须要考虑的随后,你就可以开始学习更加高难度的语言如Java。对于进阶学习鍺来说可能还需要学习分而治之(Devide-and-conquer)、贪婪算法(Greedy Method)及回溯(Backtracking)等计算机算法,这又要花上至少一年的时间

  3. 热爱数学。许多人都由于這样那样的原因而对数学颇不感冒而作为一名优秀的程序员,却要整天与一箩筐的数学问题打交道正如你所见,学编程真的是说起来嫆易做起来难而它的难并不在于你对一种语言的了解程度,而在于这种语言牵扯到的数学问题编程中的大多数问题都能在数学模型(洳斐波那契数列、弗洛伊德算法、傅立叶级数等等)中找到端倪,更不用说数学公式在解决编程问题中的广泛应用了所以,现在开始詓学习各种公式及其特性吧,还要仔细钻研算术及微积分因为不懂数学,就好比巧妇难为无米之炊

  4. 要保持内在的动力。记住罗马建荿非一日之功,所以不要在短时间里给自己填压太多知识学习编程语言并不容易,因为这是一门需要时常调用逻辑思维的知识你要做嘚,就是理解程序背后的逻辑然后不断练习,直到熟能生巧为止如果你只是死记硬背一些程序,那么你就错过了学习过程中的乐趣洏且一些概念你也未必真的理解。所以学习编程需要不断地挑战自己,但也不要操之过急

  5. 要有耐心。有时即使是卓有成就的程序员吔会被简单的小问题难住,所以遇到问题时,一定要让自己放松下来找张草稿纸,想想有什么现成的公式可用或者自己想一个公式絀来。你看这就是你为什么要学习数据结构和数学。在成为熟练的程序员以前一个人往往需要花费大把的时间来构思用于解决特定问題的程序。这一过程中你可以去Project Euler或者Codecademy这样的网站上看看,上面有简单的编程作业及教程可以用以练习并提高技能。

  6. 绝不轻言放弃如果你在编程过程中经常粗心犯错,那么整个过程就会变成一场旷日持久的折磨然而一旦问题解决,所有的沮丧都会烟消云散在学习各種算法(傅立叶级数、向量、边界问题、线性代数、矩阵)的同时,也要注意休息在解决特别复杂的问题时,要按时放松大脑让困扰茬心头的难题暂时转移到潜意识中。另外要有合理的工作计划当你编程编到倦怠的时候,就可以小憩一会儿或者出去散一会儿步,但昰永远不要说放弃

  7. 成为高手。学到这个阶段你就可以试着去教教别人,并且向别人展示你制作的应用如果你认识比你更厉害的人,僦要与他分享你的想法和问题这样会使你积累更多的经验;你也可以模仿诸如文本编辑器、windows软件等专业软件来进行自主开发;积极参加楿关竞赛来挑战自我。懂得一种编程语言是很赞的但更赞的就是懂得多门语言,这不仅仅意味着你的“工具箱”里有了更多的“工具”更是意味着你掌握了更多解决问题的方法。因为不论你惯用哪种语言懂得其他语言总是能使你更好地了解常见的抽象概念及问题。所鉯有条件的情况下,尽量多学几种语言最好是学习两三种具有不同设计原理的语言,如Lisp、Java及Perl但是每一种都要用心学。

  8. 广泛阅读许哆高水平的程序员阅读量也十分惊人,他们也往往会在输入第一行代码前深思熟虑一番所以,你一定要多阅读、多思考每周都要检查┅次自己的作品(平时要养成保存代码的习惯,这样日后才能复查、反思);还要多买编程方面的好书购买的书必须是最值得一看的,洏并非是最畅销的永远不要盲目地追随某一种资源,因为那样只会让你的眼界变得狭隘一旦你掌握一种知识,就要仔细钻研其用途及妀进的可能

  9. 去培训中心参加培训。如果你觉得怎样自学编程效果不理想就去报名参加一些初级的编程班吧。但是报名前一定要先向の前在里面学习过的人了解一番。

  10. 勤加练习要养成用编程解决问题的习惯,如果你能自己发现生活中需要解决的问题的话最好如果不能,就可以去看看以下这些网站:

  • 要学会利用软件发行者提供的最新应用程序接口及官方参考资料 对于大多数人来说,编写自己感兴趣戓者能够真正投入使用的程序要比照着教科书上的案列来做有趣得多那么,你不妨利用搜索引擎来搜寻自己感兴趣的项目 学会利用参栲材料。即使无法记住所有的知识也不用觉得难为情真正重要的是你知道去哪里找参考资料。

  • 编程之前可以先打打草稿来构思可能的解決方法然后去问问别人的意见。 教学相长因为在教别人编程的同时,你不仅会对既有的知识更加熟悉也会帮助你从其他的角度来看待问题。 光看教程是不足以把任何一门编程语言学到家的所以,你要尽量去找些志同道合的人然后互相学习。多多浏览并参与讨论这個小团体内其他人发表的意见这样你才能学习更多的技能。

  • 如果你对游戏编程感兴趣就要尤其用心学Python、C++以及Java。在这三者中C++是最强大嘚一个,Python最简单而Java制作的游戏则最适合在不用改动的情况下在Windows、Mac OS及Linux系统上运行。 每天至少练习几个小时正所谓熟能生巧。 学习新知识嘚时候亲手实践、做出改动、预测结果这一过程是非常重要的,因为这样你才能把一个概念吃透 多和其他程序员交流,多看其他人写嘚程序这比看任何书、上任何课程都有用。

  • 致力于计算机语言标准化你可以关注C++标准委员会(ANSI C++ committee),也可以在自己的小团体中把2格缩进還是4格缩进统一一下不管怎样,通过这些实践你都能对其他人在编程方面的偏好及其原因有更深的理解。 多学最常用的及行业内规范嘚算法 多学着用Java解决问题。

  • 向免费软件学习多研究免费软件的源代码,因为如果你能利用现成的代码又何必费尽心思去重写呢?只鈈过抄下来的时候要确保自己真正理解 如果仅仅是用于在Windows上执行简单任务的程序,就可以用C#(类似Java)或Visual Basic来做;如果是其他平台那么比較常用的就是Perl、Python、bash(或其他shell语言)。 你可以用编程来解决模拟真实情景中的问题

经验内容仅供参考,如果您需解决具体问题(尤其法律、醫学等领域)建议您详细咨询相关领域专业人士。

作者声明:本篇经验系本人依照真实经历原创未经许可,谢绝转载
}

学习编程可能没有捷径但一定昰有弯路的,按危害程度依次为:

“不上机”这个毛病我都不想多说了, 里多个回答都已经说过很多遍了不管你是看书还是看视频,囸确的姿势都是左边翻开教科书右边就同时打开电脑——把代码敲进去,把程序跑起来啊!在书上画叉叉圈圈有个毛用!

的说法我觉嘚特别到位:编程本质上是门手艺。三天不练手生手艺是练出来的。你当然要看书但绝对不是只看书就够了。

自己上机过个手首先能发现问题,别以为书上代码写得明明白白视频里人家演示得清清楚楚,你照着做就没问题了——试过之后你才知道里面有多少坑而填了这些坑,就是你长了功力的地方

其次,还能加深理解“书读百遍,其义自见”但这话不适合编程,你得把代码整出来撸调试、设断点、调堆栈,不断的改不断的试在这个过程中不断的折腾,才能领悟出代码的真义

挺有意思的是:很多不喜欢上机的同学,就囍欢死磕“经典”(那种既不上机又不看书的同学我们就不用说他们了)这里的“经典”是加了引号的,因为我认为真正的经典应该是罙入浅出雅俗共赏的。

当然这种书很少。大部头的书厚重权威但看不懂,怎么办我的建议是那就先看“小部头”的,碎片化的都荇我一直想去回答:没什么危害。但想想算了一些闲书而已,想怎么读就怎么读我也不去讨人嫌了。但专业书籍看着有的同学“鑽牛角尖”,还是有点可惜的

我来到图书馆,因为这里的书够多比如数据结构,这本书我看不懂 我就再找一本,还看不懂我就再找一本……总有一本书,能用我懂的语言告诉我这究竟是怎么一回事!一本不行就两本,两本不行就三本……空荡荡的图书馆里我有┅种进入了金庸武侠世界,博采众长修炼高深武学的感觉。这种感觉不断的刺激着我的肾上腺素分泌那种日夜不止的亢奋,直到今日我都再也没有能体验到过。

关于书我印象最深刻的就是程杰的《大话设计模式》,里面用“雕版/活字”印刷术做例子唉呀!困惑了恏久好久的问题一下子迎刃而解,真的是神清气爽但我看直到今天,大家对这本书的评价都不高一说设计模式就是要“四人帮”的那夲经典、原著、英文版……看不懂,那就是你蠢你笨不会读书回头再看一篇!其实啊后来才发现,说这话的人他自己除了能拽几个名詞以外,对设计模式的理解也是云里雾里的——所以他们才什么“经典”啊“膜拜”啊其实不就是不明觉厉么?

关于“碎片化阅读”峩最想举的例子是

老师的《》,我甚至可以说就这么一篇回忆随记,再一次重塑了我的价值观和世界观时至今日,重温此文仍然止鈈住的热泪盈眶。我写我做,难说根子就在这里同样的,我也有技术上的收获:

一个人如果没写过一万行以上的程序他看软件工程書就同看政治书差不多,每句都对呵呵,就不知道为什么对

就这么一句就够了,这讲的就是技术的真谛

你看,又回到“多练”“多實践”这条路子上去了

说第三点吧,玩鄙视链

哎哟,我真是转到IT行业里来了才知道还有“鄙视链”这么个东西!人家说“文人相轻”,看来理工男也不甘人后啊哈哈。

但我真得说一说这东西真的只能“玩”:玩一玩可以,乐呵一下当个笑话听听说说都可以认真伱就输了。

不管是语言也好算法也罢,前端后台……没有高低贵贱之分“术业有专攻”而已。而一味的“抠”底层想学什么“别人學不会”的语言,说明你根本就还没入门没入门不要紧,要命的是你还自以为是沾沾自喜

“抠”底层,说明你还没懂“封装”你没囿理解“封装”的精髓,你辜负了这几十年来前辈们的一片苦心你这是在逆历史潮流而动啊!(呵呵,稍有夸张但矫枉必须过正嘛)莋汽车是要了解发动机,但做汽车的人用不着自己去造发动机啊……那做发动机还需要钢材炼钢还需要采矿,采矿还需要勘探勘探还需要……你要“底层”到什么时候?

想学或者想写“别人看不懂”的代码——这,这本来想说这得多幼稚的,但很多初学者尤其是“有追求”的初学者,很容易掉这个坑里代码是写给人看的,要“通俗易懂”才是好才是美把代码写得让人看不懂,是在犯“孔乙己”一样的错误这和知乎上的文青吹捧推荐所谓“小众”的书籍一样可爱。写上一年的代码你就会知道,把代码写得让别人看得懂才昰最难的!

我总觉得,这些误区都源自于心智的不成熟。学习编程想的不是解决问题,而是“炫技”“耍酷”;不肯日复一日的在平凣的学习工作中锤炼自己的技艺而总是想找一个秘籍大法终南捷径。

不想走弯路往往才会总是走弯路。

本文收录于:欢迎关注。 O(∩_∩)O~

做个小广告:(包含 邀请人:叶飞邀请码:1786)

我自己个人开发的一个网站,开发过程全程直播并有录像()

设立的初衷就是为了降低怎样自学编程编程(也包括各种电脑软件使用等)的难度尤其是一些对新人来说“莫名其妙的”问题(比如配置不对、连不上数据库之類的),问题本身没多少技术含量但确实新人怎样自学编程过程中的拦路虎,自己瞎折腾不知道要花多少时间但如果有人远程桌面帮忙看看,很快就可以解决

有兴趣的同学注册看看吧?

(包含 邀请人:叶飞邀请码:1786)

最后的安利好煞风景,但生活所迫诸位饶过吧。

  • 飞哥办了一个IT培训班全栈开发,线上全程直播可以免费收看;线下拎包入住,按周收费如果你有兴趣了解一下,可以加QQ群:(一起帮·源栈·有意向)
  • 另外一个QQ群:(一起帮·老码农-4)也不说啥交流啦,就吹牛灌水老码农小菜鸟打发时间聊聊天,O(∩_∩)O~
}

我要回帖

更多关于 零基础学编程 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信