如今编程成为了一个越来越重要的「技能」:作为设计师,懂一些编程可能会帮你更好地理解自己的工作内容;作为创业者,技术创始人的身份则会让你的很多工作显得更容易。而作为刚想入门的新手,面对眼前海量的信息,或许根本不知道从哪里开始;入门轻松度过初级材料的学习后,发现学习越来越困难,陡峭的学习曲线又让你望而却步;你知道如何在页面上打印输出一些文本行,但是你不知道何时该进行一个真正的有用的项目;你不清楚自己还有哪些不知道的东西,你甚至搞不清下一步该学什么。

这篇文章的内容对此不仅会有一些方向性的建议,还会包含一个基础核心向的编程入门导引。当然,Step by Step 的路线是不现实的,并且每个人都会有自己的特点,所以给出的这个编程入门导引更多的是为了引发读者的思考,最终帮助你形成适用于自己的学习路线。

1. 我应该选择什么编程语言

可能困扰编程新手最多的一个问题是【我应该学什么编程语言】或者【我需要学习哪些课程才能做出一个web、一个app】,很多人一直纠结这个问题,陷入了东学一点、西看一点的死循环,到头来啥也没学好,这会很浪费时间。

刚上大一的时候,我也很想知道应该选择什么编程语言。我问了很多人,网上各种查资料,但所能得到的答案都很片面,多数对这个问题答非所问,总是回答说“某某编程语言难”,“某某编程语言性能好”。其实作为初学者,我们对计算机体系都不了解,就不要过多地去纠结性能,或者难易等因素,如果你有明确的方向,那么很好选择。如果你想做算法、机器学习方向,那么python是最好的选择。如果你想做web开发,java、php等都可以。如果想做一些更底层的工作,那么就可以选c。当然这是建立在你有明确方向的基础上。可是,很多人都没怎么接触过计算机行业,特别是和我一样刚入学就被调剂到计算机专业的人。对这些同学来说,各个编程语言就只是个名字,除了叫法不一样,你根本不知道它们有什么差别。所以索性不要纠结了,我替你选一个吧。

如果你是在校大学生,那么你有大把连续的时间,就先学习c,然后再学c++。我个人是学c入门的,也许很多人不理解我为什么推荐学c,因为c和c++都很难、很复杂,看起来并不适合入门。然而正是它们的难和复杂才能让你更好地理解计算机系统【计算机系统不是指操作系统】。学习编程不是学习编程语言,而是学习一个计算机生态,即一个庞大的知识体系。只会编程语言而不理解整个计算机的体系,就像只会写字而写不出好文章。了解c/c++和了解计算机系统是极为贴合的,向下可以帮助你更容易地理解操作系统、编译原理、计算机网络、计算机组成原理,为什么呢?因为较为底层的东西很多都是用c实现的,和系统的贴合度极高,很多教材源码甚至教程,在讲述这些知识的时候都是用c或c++作为媒介。而向上,c++面向对象的机制,也可以做出一些应用,譬如五子棋游戏等,也不会显得那么枯燥。花个小半年时间了解c和c++,之后你就会觉得看书、看资料可以轻松很多。

如果你是一个上班族,但是刚刚学习编程,可能学c和c++对你来说有些复杂和困难,因为学习它们确实是很需要时间。你们不像在校生那样有大把的连续时间,而零碎的时间去学习一个比较复杂的东西效果不见得有那么好,所以可以先学一些【更容易见效】的编程语言,从python入手吧,至少能快速做出一些小应用,不至于丢失了兴趣,但是真的要入门编程又还得看看与计算机系统相关的书籍,这样才能更深层次地去编程,譬如【深入理解计算机系统】这一本书可以读很多遍,这本书把整个计算机系统给串起来了。

学习一段时间,做个小项目,将做项目遇到的问题记下来,针对性地学习相关知识,然后再实践,再学一段时间理论,让知识成网状发射状地变大。当然,项目驱动式学习有一个弊端,就是每次学习的知识都是项目所需要的,很零碎、不成体系,所以需要改良,即在采取项目驱动学习法的时候每天抽一段时间去完整地读一本书,或者一个相关问题的完整介绍,这样就很容易把一些知识成体系地串起来。这样一段时间下来,慢慢的,你就知道我们为什么要学那么多科目,学这些科目能干什么。

当然了很多小伙伴没有资料,不知道怎么学,没有一个系统的学习过程,很难学会,好人做到底,给大家分享一些私人整理的资料,包含python,Java,web前端,大数据,人工智能,架构师等等,部分截图,

获取方式:私信发送数字“资料”即可

web前端电子书,视频教程等等

python电子书,视频教学,源码,漫画书等等

Java,数据库,电子书,视频,源码等等

人工智能

大数据

获取方式:私信发送数字“资料”即可

如今编程成为了一个越来越重要的「技能」,如何自学编程我来教你相关推荐

  1. brain dead_Brain Dead,又一个把印花做「绝」了的品牌

    原标题:Brain Dead,又一个把印花做「绝」了的品牌 ┌ ┬ ┐ #Brain Dead #Kyle Ng #Ed Davis ┼ 就算你在两年前对 Brain Dead 这个品牌不是很熟悉,那 ...

  2. java并发实战编程pdf_「原创」Java并发编程系列25 | 交换器Exchanger

    2020年Java面试题库连载中 [000期]Java最全面试题库思维导图 [001期]JavaSE面试题(一):面向对象 [002期]JavaSE面试题(二):基本数据类型与访问修饰符 [003期] ...

  3. python设计一个动物类_「Python」每日一练:设计圆类计算周长和面积、设计动物类...

    编程题 1.设计一个 Circle(圆)类,包括半径和颜色属性,编写构造方法和其他方法,计算圆的周长和面积.请编写程序验证类的功能. 2.设计一个 Animal(动物)类,包括颜色属性和叫方法.再设计 ...

  4. 「Linux」Linux Shell 编程基础入门

    Linux Shell 编程基础入门 1. 变量 1.1 变量定义 1.2 使用变量 1.3 引号 1.4 将命令的结果赋值给变量 1.5 位置参数 1.6 特殊变量及其含义 2. 字符串 2.1 字 ...

  5. java简单编程_「4」Java简单编程

    1.第一个Java程序 ●Java程序开发步骤: ●通过文本编辑器来编写java代码至扩展名为java的文件中. ●调用编译工具javac.exe来对java源文件进行编译,生成扩展名为class的字 ...

  6. 输入这是我的第一个python程序_「vs2017」vs2017 开始自己的第一个Python程序 - seo实验室...

    vs2017 这是针对于博客vs2017安装和使用教程(详细)的Python项目新建示例 目录 一.安装Python环境 二.启动程序 三.编写小程序 四.运行结果 五.交互式界面演示 一.安装Pyt ...

  7. 自学编程难吗?如何学?

    推荐给那些喜欢编程的,迷失学习方向的伙伴! 自学编程2年来,加过n多群,泡过n多论坛,接触过心怀激情的编程新人,遇到过沉着冷静的技术大牛--编程,吸引了一批又一批的热血青年,或许是为了理想,或许是心中 ...

  8. 小猿圈IT自学分享-自学编程需要克服的困难

    随着互联网行业的蓬勃发展,越来越多的年轻人选择改行做程序员,有些人选择报名学习班,也有一些人选择自学,因为现在网上的学习资料太多了,但是自学的话也不是那么简单的,需要客服很多困难,也有很多阻挡学习的因 ...

  9. 震惊!某程序员吐槽零基础自学编程很难,真的是这样吗?

    前言:在自学编程的过程中,一部分程序员遇到冰冷的英语字母,枯燥的编程教程,果断选择了放弃.但其实自学编程不是那么难,只要是逻辑思维或者理科比较好的还行的小伙伴,编程入门完全可以. 零基础程序员自学编程 ...

最新文章

  1. Codeforces Round #546 (Div. 2) B. Nastya Is Playing Computer Games
  2. Appium Desktop介绍-xcodebuild failed with code 65 问题解决
  3. python目录及文件_零基础小白必看:python基本操作-文件、目录及路径
  4. java正则过滤js_JS/Java正则表达式验证
  5. 关于NFS服务器的原理总结和mount挂载
  6. NDK 在 Android studio如何使用(Android studio NDK)
  7. 【Java】Java垃圾回收机制
  8. 为提升管理效率 蔚来汽车美国办公室裁员70名
  9. 判断new出来的对象里面值为null
  10. JavaScript学习(七十一)—call、apply、bind学习总结
  11. python缓存技术_高级Python技术:如何在Python应用程序中实现缓存
  12. OSPFv3报文中Option字段变化简介
  13. java非法表达式开头,java - 我不断收到“ Battle.java:11:错误:表达式的非法开头” Heelp - SO中文参考 - www.soinside.com...
  14. python第三项开始每一项都等于前两项的积_Python二十九个常见的脚本汇总!
  15. 通过PHP访问MYSQL外文书籍,通过PHP访问MySQL外文翻译(模版2)
  16. 史上最强内网渗透知识点总结
  17. 2015 android 5.0 手机排行榜,2015上半年顶级新款Android手机汇总
  18. codeforces1467E. Distinctive Roots in a Tree
  19. Spring IOC 学习总结
  20. JVM——深入理解类加载器

热门文章

  1. 互联网晚报 | 1月29日 星期六 | 支付宝相互宝正式关停;大钲资本成瑞幸咖啡实控人;苹果创有史以来最高单季营收...
  2. 电影短视频营销白皮书
  3. 服务器云平台 系统,服务器云平台 系统
  4. python实现单链表快速排序升序linkedqueue_数据结构1
  5. 【2016年第5期】跨社交媒体网络大数据下的用户建模
  6. 2016第三届科学数据大会诚邀商务合作
  7. 【程序设计】变量和常量
  8. 【计算机组成原理】Cache
  9. 当MVP与阿里云一起踏上西行远征——阿里云MVP“戈壁之路”徒步记行
  10. Skype for Business Server 2019 本地部署