自学编程之路

简介

这是自己第一篇博客,作为一名普通本科的非计算机的学生,我想谈一些我自己在自学编程这条道路上的一些感受和对正在自学或者正在努力改变的你们的一些建议和避免入坑的忠告。声明:我本人到现在都只能说是有一点一点入门的感觉。这是真实的自己的感受,希望会对你有点用。

初识编程

第一次接触计算机编程应该是在大一的C语言的上机课上,看着自己敲出来的HelloWorld总是有一种难以名状的成就感,这大大增加了自己的学习动力。(可能因为自己是理科生,难免在学习的时候会觉得有点枯燥乏味)C语言的项目是因为要参加课设,当时基本什么都不懂,抱着谭浩强的C语言程序设计也实在是有点理解不了。(个人感觉书的排版有点乱)当时是做一个学生成绩管理系统,基本都是在网上复制粘贴的,当时自己就是很认真的看了看自己能看懂的部分,心里对程序员的仰慕也许就是从那个时候开始的。
后来我碰到了班里和我有一样兴趣的同学,虽然C语言的课程结束了,但是我和这位朋友在一直认真自学,也就从那个时候开始,我开始了自己的自学编程之路。

自学C语言

我后来就和这位朋友有事没事就在一起了解一些信息,我们尤其希望有一位老师能在比较短的时间里给我们一种偌大的成就感和满足感,机缘巧合之下我们了解了某线上培训机构,我印象特别深刻的是我在某一天上课的时候突然下决心要买他们家的C语言课程,付费之后我收到了他们老师发来的百度网盘链接(那个时候我第一次觉得百度网盘可以这么用),然后就在全靠自己自学C语言了,我按照他们的课程学了很久,之后就是一种内心的失落感和负罪感,那是我第一次认识到编程学习的“道阻且长”!!
学C语言过程是很痛苦的,甚至是从Visual C++ 6.0到CodeBlocks的转变,那个时候的自己基本对计算机知识了解太少,甚至有种束手无策的崩溃感。最后学下来觉得C语言还是有点low,无非就是变量,函数,指针,甚至学完以后自己都没法顺利完成一个小的项目,哪怕是当初自己东拼西凑的“学生成绩管理系统”。现在想来,那时候的自己也确实是有点小孩子气。C语言的大智若愚,大繁至简到现在才有点体会。

自学java语言

不幸的是,我的JAVA还是选择了这家培训机构,我甚至觉得自己有些鬼迷心窍,莫名其妙的就和朋友报了那家机构的JAVA训练营。那个时候集成开发环境是Eclipse,老师说这个很好,比IDEA要好很多,说很适合新手。但接下来的环境变量配置就让我对这个老师产生了很多疑问。艰难的几天之后,我终于开始了学习JAVA,前期基本和C语言一样的学习,变量,方法等。

正式开始

都说JAVA和C++是面向对象语言,其面向对象的编程方式是一种有跨时代意义的转变。其实那个时候的自己我一直不是很理解,面向对象的意义在哪?
后来自己就开始有点松懈,以为JAVA的类和一些现有方法以及一些继承关系总是搞得我自己晕头转向,也是从那个时候开始,自己认识了小破站。我本人不看动漫,但是小破站真的不只是能看动漫!
我想向正在自学的你们强烈推荐小破站,甚至是我专业课的老师都让我们在上面找资源自学,特别是一门编程语言的学习,上面老师的专业程度和眼界我到现在都由衷的敬仰和感谢他们。
到现在的自己已经学习了C、JAVA、MATLAB、HTML\CSS技术、数据库和一些JS与JVM的入门基础,我也会在接下来的日子里与大家一起在这个平台上分享一些我的一些积累和小技巧,这篇文章就算自己和大家的一封见面信!希望屏幕前的我能和大家在今后的日子里一起共勉!

一些建议

  1. 如果现在的你们刚刚开始学习C语言,我希望你能跟着视频学习,这是你的第一门编程课,尽管视频学习会让你难以主动思考,一味的模仿甚至让你会产生自我怀疑,但视频学习会让你在尽可能短的时间里快速了解这门语言,有了广度再去追求深度。

  2. 如果你已经学过了C语言,那么我希望你可以再学习这本《C Primer Plus》和《深入理解C指针》。

  3. 对于这种线上培训机构我的态度是尽量不接触,少了解,不要被他们的免费资源和对你近乎洗脑式的宣传所打败,这只是一种营销手段。如果你真的对一些资源很是需要,那么我推荐你在MOOC或者是小破站上进行学习。

  4. java开发环境的选择:首推IDEA,IDEA的自动代码提功能的友好程度和在安装时自动配置环境变量的选项都比Eclipse好太多,此外,IDEA丰富的插件功能更能激发你对学习的兴趣。(我看到了你已经在对着屏幕偷笑)在这里插入图片描述

  5. 尝试去上手一些简单的小项目,这类资源在小破站上随处可见,从模仿到一些遵从自己想法的改良再到最后的创新,这是一个比较漫长的过程,需要一定的耐心,希望你可以坚持下来。

  6. 保持良好的文件管理习惯,无论是你是Windows还是Linux系统的支持者,作为开发人员,你应该对你一些你常用的文件和文件位置了如指掌,清楚的知道你的项目文件的具体位置有助于你更快的理解和掌握这门编程语言。

  7. 对于编程语言的选择,这不重要这不重要这不重要!!!!任何一门编程语言都有着其本身的魅力和缺点,作为程序员更因该考虑的是在合适的场景选择合适的语言,比如JAVA所擅长的后端服务器领域,C语言所擅长的底层开发领域…任何时候,我都希望你能明白广泛涉猎而不是吹毛求疵学习的重要性。希望你能在一定的积累上再去深究某一种语言。

  8. 尝试接触一些计算机的底层知识,操作系统,计算机组成原理甚至是数字电子技术等,这对你理解计算机的原理和运行都有很大作用。此外,数据结构的学习也应当是你学习编程道路上特别特别重要的一部分,当然,对于具体数据结构的一些学习方法和实现我也会在今后的日子里跟大家分享。

  9. 请相信你每一天哪怕是一点点的努力,自学这条路是辛苦的,但我们应该相信自己,要与自己共勉!
    10.尝试阅读某一门语言的API文档,这是编程语言作者的一份详细的说明书,当然,这需要你慢慢培养和积累,希望你能认真锻炼自己。
    10.如果你需要一些我正在学习的视频链接和书籍推荐,在评论区评论就好。我会尽量一一作答。我觉得对于我这种小白来说我手头的资源也是有了一定的储备的。最后附一张图。
    在这里插入图片描述

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值