最近逛知乎,看到一个问题,有感而发,原问题如下:

想自学编程恳请大神推荐app网站!?

数学不好,再从小学数学开始重修

想学习编程,请问各位大神

1、编程要求哪方面数学知识?

2、有编程英语学习推荐吗?

3、请大神推荐锻炼逻辑思维尤其是编程思维的app和网站、书籍,学习群。

最后恳请大神推荐自学编程的app、网站、交流群等资源渠道。

谢谢知乎IT大神们~

于是我想到上大学时候的我,那时候如果有知乎,我也许会问同样的问题!

现在一路走来,我就向10年前的我来分享一下这十年的一些感悟吧!

计算机里面有一个非常经典的问题,叫boot,也就是启动,这里的boot(靴子)其实是bootstrap(鞋带)的缩写,它来自一句谚语:“pull oneself up by one's bootstraps“,意思是“拽着鞋带把自己拉起来”,当然,这是不可能的事情。最早的时候,工程师们用它来比喻计算机启动这一矛盾过程:必须先运行程序,然后计算机才能启动,但是计算机不启动就无法运行程序!

当然,我们这里不去讲最后工程师们是怎么解决这一问题的(如果你感兴趣并能自己去寻找答案,那么你很可能是一位编程高手)。这里说这个问题,是想说我们在自学编程的过程中会遇到很多很多像boot这样的矛盾问题。

这里不多说,我举一个最简单的例子:自学编程,你要先选择一门语言吧?你得对各个语言都有一些了解才能知道哪个语言适合自己吧?但是还没开始学,怎么对各个语言有了解呢?

当然,最直接的方式就是去问别人,应该学什么语言?但是这无异于你让别人拽你的鞋带把你拉起来。

我当时没有那样去做,我是真的自己去百度,去图书馆找书,去了解每一个语言,甚至我把一些感兴趣的语言都在本地安装了运行环境,并跑起来,那时候我记得我了解了c、c++、java、delphi、vb、vc等等。是的,每门语言都只是运行了一下helloworld,然后了解了一下大概能干什么,光这个过程,大概持续一个月。后来我决定先从vc开始学,因为那个能做出界面,事实证明我错了,应该先学c、再学c++、再学vc。

可能有人会问,你直接去问一个有经验的大佬,让他告诉你不就行了,何必自己瞎折腾一个月还搞错呢?

没错,这次这个问题,你可以问大佬,但是如果你选择编程这条路,以后的事业中到处都是这样的问题,迟早有一天,你要独自面对。

举一个我现在工作中的场景:老板要做大数据+流计算,让你选型,你怎么办?又是去问大佬?大佬的业务和你不一样,他的方案不一定适合你。跟大佬讲清楚自己的业务,让大佬帮你选型?不好意思,你可能找不到这样的大佬,因为是你在上班,而不是他在替你上班。很多时候你只能自己调研,而这调研的能力从哪里来?就是从我之前一次又一次的瞎折腾中总结出来的经验里来。

很多人说,选择编程这条路,你就注定一辈子学习,因为技术永远在更新换代。我觉得这句话没有说到重点,其实选择编程这条路,你注定一辈子面对未知,你必须能够快速把未知的问题变得越来越清晰,你才有可能在这条路上走得远!

举一个我工作中的场景:我曾经做一个很紧急的项目,但是一直没有好的解决方案,偶然找到一个开源项目可以解决我们的问题,十分欣喜。但是开源项目使用nodejs+angular写的,我做的是java,之前只接触过一点nodejs,angular更是听都没听过,但是第二天,我就可以给开源项目动刀子了,开始在它的基础上增加我们的功能。

我做的无非这么几点,第一、快速了解一下angular;第二、粗略看一下源码,看看用到哪些关键技术,针对这些技术快速浏览博客了解;第三、找一些资料系统性地了解一下angular;第四、根据源码和网上的资料快速理清楚代码逻辑。这些内容我在一天内可以完成。

因为我之前自学的时候实在是走过太多弯路,以至于现在我只要看到岔路口,基本就能判断哪些路是大概正确的方向。也许是之前瞎折腾实在太多,以至于把它们垫在脚下,我竟然可以站得比别人更高。

我想这才是我们这些自学编程的人真正的核心竞争力吧?不然,你如何能够比得过那些科班计算机出身的人呢?

再回到题主的问题:

数学知识要求真的不高,主要是基本的逻辑和代数吧,高中数学够用了。如果你数学不好的话,重修建议注重逻辑和代数方面的东西,注重一些公式的推理,这方面能力在编程用得到。

编程英语最好的就是看官方文档,然后哪几个不懂的名词,自行google一下,你只要懂基本的语法就没问题,我们自己学英语的时候,不也是哪个词不懂就去查一下么?多看几次就记住了。

锻炼逻辑思维,我想数学题和算法题是最好的,数学题的话,找一些数学练习册就好,算法题去leetcode,也欢迎关注我的公众号【互联网侦察】,里面有经典面试场景还原的漫画文章,深入浅出,对逻辑很有帮助。

自学app的网站推荐慕课网,慕课网上的很多初级视频都是免费的,而且有很多实践案例,跟着视频做,你会学得很快。

最后还想强调一下,自学的道路上,你一定会碰到很多问题,甚至很多时候你会怀疑人生,但是每一次你自己找到问题的答案,你就会觉得原来也不过如此,或者你会发现其实之前被思维定势给困住了,这时候你就成长了。

这条路很难,若一去不回?便一去不回!

分享

不可多得的好文章,当年自学的时候若有这篇文章指引,也不会苦逼这么多年。我曾经也在自学的道路上苦苦挣扎,我是培训出身,但在培训机构里几乎没学到什么东西,毕业后去面试,没面试一个公司才知道自己学的都是过时的课程,每面试一个公司就发现一个新的知识技术,简直跟哥伦布发现新大陆一样,所以打定主意工作后一定要全补学回来。

工作后的自学并不简单,找视频,找书籍,找资源异常艰难,也走了很多弯路,所以当初在自学的过程当中自己搜集并组建了一个资源库,里面有java从入门开始到架构师的各种资源,pdf电子书,视频教程,学习路线图,各大厂面试集锦,BAT测试题,架构师视频以及电子书和杂志等等,我会不间断,不时的更新的前沿技术。分享给大家,希望大家免受我学习时所受之苦。

                                               致自学编程者们:我是如何通过自学一路走到阿里技术专家的?

自学编程到底多难?能不能找到工作?阿里技术专家这样回答……相关推荐

  1. 自学python怎么找工作-我是如何在自学编程9个月后找到工作的

    昨天在我在国外网站 reddit 上看到一篇文章,作者分享了他 自学编程 9 个月后找到工作 的经历.文章不到一天就得到3千多赞,2百条回复.我看了下内容,非常中肯,其中有不少建议也是我在编程教室屡次 ...

  2. 我是如何在自学编程9个月后找到工作的 1

    昨天在我在国外网站 reddit 上看到一篇文章,作者分享了他自学编程 9 个月后找到工作的经历.文章不到一天就得到3千多赞,2百条回复.我看了下内容,非常中肯,其中有不少建议也是我在编程教室屡次提过 ...

  3. 零基础自学编程的程序员如何找到工作

    现在很多年轻人喜欢计算机,喜欢软件开发,想从事IT行业但又不是学这个专业的,很多人就想通过自学的途径走上这条道路,但大家肯定也和我当初一样有很多的困惑.本人学校学的是国际贸易专业,毕业之后的不顺利加上 ...

  4. java学到什么程度安卓_自学Android到什么程度才能找到工作?

    读完本文大概需要4分钟. 微信公众号最近新出了一个功能,我觉得很赞,就是可以非常方便的看到每个人的留言次数.赞赏次数等,截个图给你们看下: 看到这个赞赏数的时候我惊呆了,这位同学竟然持续赞赏了我这么多 ...

  5. 自学编程到底需要多长时间?

    最近,很多小伙伴私信问我,自学编程到底需要多长时间? 我想说的是,到底需要多长受很多因素影响,无法用一个确定的时间段来进行评估. 第一.学习目的 首先你应该明确知道,自学编程你的目的在于什么?仅仅为了 ...

  6. 研究生期间自学模拟ic能在校招找到工作吗?

    1.先说项目经历是硬性条件吗? 不是,虽然说ic行业没有流片过度不能说自己是这个ic人.但是模拟ic不同于数字,模拟入门门槛较高,很多企业都是自己在培养人,校招时主要看是否有认真学习书本知识,基础知识 ...

  7. 自学java,如何快速地找到工作

    本人最近一直在帮零基础的java开发者提升能力和找工作,在这个过程中,发现零基础的java程序员,在自学和找工作时,普遍会出现一些问题,同时在实践过程中,也总结出了一些能帮零基础java开发尽快提升能 ...

  8. 自学java,学多久可以找到工作?

    其实任何拥有高等教育经历的人,都有可能通过学习Java技术来获得一份不错的工作.通常自学java在6个月到1年左右可以做到入门,只是自学的会缺乏竞争力. 学习java过程中应该注意些什么? 因为我是完 ...

  9. 自学 Python 到什么程度能找到工作,1300+ 条招聘信息告诉你答案

    随着移动互联网的发展以及机器学习等热门领域带给人们的冲击,让越来越多的人接触并开始学习 Python.无论你是是科班出身还是非科班转行,Python 无疑都是非常适合你入门计算机世界的第一门语言,其语 ...

最新文章

  1. 问题解决10使用带有框架的页面跳转到登录页面时,登录页面只显示在子框架中,未能铺满整个浏览器--解决方案如下:...
  2. OpenBSD 5.2 发布
  3. 2019诺贝尔物理学奖再度颁向宇宙大爆炸:加拿大瑞士3学者获奖,最年长者已84岁...
  4. 安装batocera-linux教程_batocera游戏系统,一个U盘搞定所有模拟器
  5. 剑指offer 从头到尾打印链表
  6. docker 笔记(2) -- 镜像
  7. 面试篇---jq扩展自定义方法
  8. 计算机小键盘的基本知识,电脑入门——第2章_计算机键盘操作基础概述.doc
  9. 基于Spring的MVC框架设计与实现
  10. java语言中cpu数据_重塑云上的 Java 语言
  11. redhat8.2-docker安装及部分镜像下载
  12. 【转载】我到底该不该继续交社保?
  13. IjkPlayer播放器秒开优化以及常用Option设置
  14. 关于部分小米机型沉浸式图标变色失败的解决方式
  15. 消防工程师 8.3 防排烟系统-排烟
  16. div布局改进treeview导航
  17. 【转】iOS25彩票 幸运转盘
  18. Linux IGMP SNOOPING 学习笔记 之三 igmp snooping实现需求分析
  19. 【乐逍遥网站设计】网站设计应该避免哪些蜘蛛陷阱呢?
  20. 推荐8款插件,浏览器使用体验上升500%

热门文章

  1. HUD -- 1533 Going Home(费用流基础题)
  2. 微机原理课程设计-汽车速度控制系统
  3. Linux配置清华大学yum源,关于清华大学yum源的配置
  4. PCB LDI 实现周期自动更新 实现思路
  5. BigData学习4_内部攻击实验数据集浅析
  6. 土巴兔“718全民家装节”的破局之道: 全面推动产业数字化变革
  7. 湖南工学院 戴成秋 计算机,计算机与信息科学学院2021届本科毕业设计答辩实施方案...
  8. 转行程序员?三思而后行
  9. 高仿萌聚 app ,内容简直是宅男福利啊
  10. cocostudio导出数据在代码中加载