你是怎么样深入学习一门编程语言的?

冯学余


我的大学是计算机系信息系统管理专业,这个专业学到的编程内容并不是很多。学学简单的SQL、HTML、Java的基础内容就完了。我的同学们,这个专业两个班120余人,最终从事编程的人员不超过10个人,我就是其中的一个。

我一直对计算机特别的感兴趣,之前还受到黑客风潮的影响,初中高中就特别的崇拜,想着能够成为电脑高手。但是我高中学文去了,报考大学计算机工科类报不了,最接近的就是信息系统管理这个,是文理都收的。所以说上面的数据不足为奇。

因为这份兴趣与热爱,我学习编程课的时候都是非常的认真。我的HTML老师也是非常的温柔耐心,所以我的HTML在大学学的是非常好。java学的基础内容,学到数组依然会晕。学到循环,开始打印乘法表,打印凤仙花数依然会绞尽脑汁想不明白。甚至于怀疑自己到底是不是学编程的料。

但是,我依然认真的学,并且算是班级里的佼佼者。大二我有一次机会,进行分班。我还是想从事软件,报了软件精英班。当时的考试题目稍微难一些,不过也还好,做的不错。我成功的分班进去了。这个时候,我对于软件依然是一头雾水,依然不明白。也仅仅是我能了解java的基础内容语法,HTML的内容,SQL学的也是非常的差。

在一次课上,我把SQL语句结构照抄,但是我小写了。我瞬间认识了这些单词,明白了SQL的结构。根据结构SQL是一件非常简单的事情。从此 ,我的SQL水平瞬间提高好几个档次,包括我工作后,依然对于写SQL游刃有余,这是后话。慢慢的复杂查询也不在话下,毕竟是简单查询构成的复杂查询而已。

到现在,我只能说是对于单独的HTML、SQL掌握的还可以,java基础内容也一般,但对于新学的java web 依然没有学好,还是一头雾水。我们是项目与教学结合,我们是维护真实的上线项目。我们老师倒是很放心的交给我们。但是,架子是老师搭起来的,我们只是完善细节。即使这样,我也是有些不明白,有些晕头转向。直到,有一次,我认真的从视图层追踪代码追踪一路到了数据模型层,我建立起来一条程序调用的关系,我忽然间又通透了。我明白了程序的运行逻辑,之后再写项目我是可以独立完成交给我的模块了。

但是我现在依然不是一个合格的开发者,因为我做的仅仅是简单的那一部分。重复工作的那一部分。框架怎么搭建起来,怎么运行出来的,原理什么的,数据库交互什么的,我依然不清楚。

毕业后,依然是怀疑自己是否有能力从事软件开发,我跟同学一起去了北京参加培训。大学虽然学习的java,但是去培训是学习的iOS开发。在培训中,我觉得老师讲的东西比较简单,我能快速的跟上,这也得益于大学学习的就是编程。在培训班也有零基础的,他们学习起来就是非常的费劲。培训班上学的基础语法,我很快的就掌握了,然后学习面向对象。曾经在大学也学习面向对象,可是一直不理解面向对象的思想。这一次又学习了一遍,忘记是在哪个节点,我忽然开窍了,完完全全的明白了面向对象。以前所学的很多东西忽然间就明白了。我觉得从来没有像现在这样的理解程序,明白程序。

然而后面因为我的开窍,我忽然有些自大,觉得程序不过如此,没什么难的。后面的iOS UI课程我自己看的,老师讲的时候我也是挑着听。我认为我明白了我就过了。这样我学的很快,但是坏处也会很明显,就是不扎实。

学完所有的UI组件后,我们培训班就结业了。我自信满满的去写简历找工作。本以为我不需要弄虚作假整工作经验,我也可以找到一个好的工作。但是我错了,我简历寄出去总是没了消息,了了几家会跟我约面试,然而这几家也并不看好我。然后我又修改简历,非常认真的修改简历。第一次发现,漂亮的简历是非常重要的。我想要一个机会,来证明我自己可以。但是我依然不敢太过弄虚作假,只是写了自己有一年的实习经历。这次面试的机会稍微多了点,但是大都面试的不理想。这段时间也是过的非常压抑。我想不明白为什么,在培训班里,我属于尖子的那批,而找工作,我却是垫底的。有些人写三五年工作经验,遇到了不是很懂技术的面试官,随便聊聊就拿到了offer,薪资都一万四五。我就是很奇怪,为什么我就没有机会。找不到工作的期间,我又调节情绪沉下心来,审视了我自己。我是有些傲气了,不够谦逊。并且我的技术也并没有那么好,因为自大蒙蔽了双眼。我开始看技术视频,沉淀着,跟着学。所有的简历我也不投了,面试先终止。这是很艰难的,在北京生活成本很高,而我也不愿意跟家里要钱,还是靠着我大学积攒的三千块钱一直撑着,学费也是贷款贷的。最后我已经沦落到一顿饭就花一块钱买两个馒头,一瓶老干妈将就着,有时候靠着蹭同学的救济。这大概是我人生中的一个大低谷吧。熬过去总会上升的。

终于,功夫不负有心人,我看了很多的学习视频,我觉得可以边投简历面试边继续学习。我收到了面试邀约,我去面试了几家,基本上是都谈的不错,能够给到我offer。我选择了第一家给我offer的公司。事实上,我的选择也没有错,第一家公司让我的成长也是飞速的,我至今还是非常感激我的第一家公司。

在第一家公司里,有一个宝贝级的架构师。但是她的性格非常的好,我们整个iOS小组都跟她打成一片。她也是我们iOS小组的孩子王。工作上,我们遇到问题会去找她,她也能很快的发现问题给予指导。下班后,我们也是经常聚餐。在这个公司,我学了很多的组件开发,也学习了H5的开发。编程水平是直线上升。

不想写了,戛然而止


小庄I


很多人都有你这样的问题,已经入门了一门语言,却怎么也精通不了。原因不外乎两点:\r

第一:缺乏实战\r

第二:缺乏持续的学习\r

我是如何解决这个问题呢?\r

实战:\r

1,在新项目中,多使用你新学到的知识。\r

2,将不错的技术推广到小组,大家一起用的话,更容易交流获得心得。\r

3,使用刚学的技能加入公司内部的竞赛,比如我们公司有个测试开发竞赛。就可以将你的测试驱动开发(TDD)的思想应用进去。比完就会知道自己和他人的长短\r

持续学习;\r

1,总结工作过程的经验教训。这是一个长久的过程,为什么十年经验的会比一年经验的平均薪资更高,就是他们长期的写代码过程中,会积累经验。\r

碰到各类问题后解决的思路已经积累到了一个质变了。\r

2,有益的书多看看,数据结构之类的知识在后台程序员的初级,乃至资深都是有要求的。\r

3,刷刷网上的题目,开辟另一种视野。\r

4,研究开源代码实现,比如java的话,jdk源码和spring源码,非常值得去看看。


技术古玩


下面我以大学理工科必学课程《C程序设计》为例,其它编程语言都是一样的道理。

1.找到一本讲解该编程语言的经典教材,C语言一般就是风靡校园的谭浩强的《C程序设计》;

2.学习C语言的语法,按照教材的目录内容通读一遍。书中一般会有大量小例子,建议在电脑上自己把例子敲一遍、运行一遍、调试一遍,把例子中的语法吃透;

3.经过上面两个步骤,一般基本掌握C语言的语法了。接下来就是找一些深入学习C语言的其它教材,教材以提供大量的真实案例为佳,按照书上的例子,看懂、吃透。这样反复联系,就能熟练掌握C语言了;

4.接下来就需要大量实战项目经验了,比如在单片机上做各种各样的应用,这样坚持几年,就能精通C语言啦。



羊羊羊爱毛豆


我算是一名拥有多年工作经验的工程师了,虽然不是软件专业出身,但是由于工作的需要,也在摸爬滚打中用了5,6年左右的时间来学习了C语言的使用。非常高兴来为你解答这个问题。

就拿C语言这个编程语言来讲,要深入其中去学好它,其实没想象中那么简答的。甚至可以用非常困难来形容。但是也不要被我的说法吓到,其实要入门却是很简单。为什么我会这样说呢?下面就让我来给你分析一下原因。

编程语言为什么入门容易,深入困难?

首先,这是一门实践性非常强的一门课程。在我看来,刚从学校毕业出来的计算机专业的学生99%都是业余选手,就算你在大学期间考试拿了优秀也是一样的。为什么这样讲呢,因为你没有经过各种项目的实战,只是学了一堆理论的知识,敲了一点上机的代码。这根本就不算学会编程,只能说是入门。就好比学习开车一样,你最初看着别人开车,好像比较简单,以为就是挂挡,然后踩油门的事,其实并不是这样的。等到你考驾照的时候,你突然发现其实并没有那么简单,因为你发现有各种操控技巧与规则要学习。等你毕业顺利拿到驾照的时候,你可能感觉自己很牛逼了,什么都会了,其实你错了,这个时候你只是刚刚入门而已,当你上路的时候,你发现自己还没有真正能够驾驭车辆随心所欲的那种感觉,你只是一个初生牛犊而已。等到你上路完全不再紧张的时候,可能已经经历了很长的时间。

曾经网上有一个观点:普通人用C语言在3年之下,一般来说,还没掌握C语言;5年以下,一般来说还没熟悉C语言;10年之下,谈不上精通。

当我毕业的时候,我曾以为C语言只要掌握其语法、简单的语义,无非就是弄懂变量、数组、指针、函数、内存管理就够了。但是当我参加工作,真正要去做项目的时候,我发现我错了,我确实想得太简单了。刚开始我还不太会使用调试工具,所以常常出现一些简单的语法错误都没办法解决。后来我学会了使用调试工具,但是有好多次程序报错了,我用工具也找不出问题来,甚至不吃饭、不睡觉也还是出不来,直到慢慢的积累经验之后,你会发现一些莫名其妙的问题,类似数组越界、指针使用不当等等。只有在结合了项目进行开发使用编程语言的时候,我才发现自己快速的进步了。有一句话说得好,初学者骑自行车的时候,可能觉得后轮两侧的辅助轮很有帮助,但一旦熟练过后,就会发现它们其实很是碍手碍脚。

学习编程语言要如何深入?

到了这个阶段之后,我觉得自己需要一些更深入的去了解这门语言了,我要去找一些更有深度的书籍来去学习,而不是一些简单入门的书。我去找了一些国外很早就出版,然后经过不断更版的书籍来读,因为我觉得这样的书籍才是经得起岁月的推敲的。其中类似下图这样的书我就感觉很不错。

结合这些比较有深度的书籍,然后在项目中不断的实践,我编写的代码有了比较大的改善,以前迷迷糊糊的一些东西,才开始慢慢得到答案,经常有恍然大悟的感觉。原来我知道的可能只是冰山之一角而已。

另外,检验自己有没有学懂的方法就是:要经常把学到的知识点和大家去分享,看看别人的反应如何,如果他们都是似懂非懂的话,那你就是还没完全学通,只有你分享的东西,大家都懂了,我认为这才是你真正掌握它的时候。

好像说得有点多了,我自己在编程方面虽然摸爬滚打多年,但是时常感觉自己有时候也只是大海上面的一只船而已,茫茫天际,还是看不到边际。


一起勉励吧,喜欢我的分享请关注我,我们可以一起交流和探讨。


智能硬件分析


1.找到一本讲解该编程语言的经典教材,C语言一般就是风靡校园的谭浩强的《C程序设计》;

2.学习C语言的语法,按照教材的目录内容通读一遍。书中一般会有大量小例子,建议在电脑上自己把例子敲一遍、运行一遍、调试一遍,把例子中的语法吃透;

3.经过上面两个步骤,一般基本掌握C语言


科科影视集结号


对于学习编程语言,根据我自身学习的经验来说,深入学习的方法就是,

第一,找一些相关资料和视频把基础学会,能够看的懂,会写,会做。

第二,找一些基础案例继续编写操作,并加深对基础代码的运用和记忆。

第三,然后找编写代码比较资深的行业精英学习,学习他的专业,学习他的耐心,学习他的细心,多多沟通他的代码编写经验。

第四,多找几个编写语言比较出色的行业高手学习,融汇他们每个人身上的优点,提高自己编写语言的能力。

总得来说,要深入学习一门语言的编写能力,一定要多学习,多思考,多做案例,多分析,多向身边的高手学习,这样的进步一定会非常快。希望我的回答能够帮助到您!



ai人工智能科技之旅


1. 以JAVA语言为例子吧,首先准备好编译环境。网上的教程很多。

2. 其次,在京东,天猫等弄几本比较好的编程语言来肯。多看,多实践,写一些Demo什么的。

3. 多找些相关技术的社区如CSDN等,多看些技术的博客。

4. 如果可能的话,做些兼职提升自己

5. 学好数学,数据结构等基础学科,对编程的硬提升有极大帮助

6. 学好英语等等吧


黄花家的黑胖


任何一门编程语言要想深入学习,基本功和项目经验是不可或缺的。

基本功包括操作系统、计算机网络、编译原理、数据结构和算法等等。了解了基本功才能更好地熟悉各门语言中的多线程、IO流、网络编程、集合框架的原理。基本功不掌握的话,只能到达熟练使用框架的地步,而无法(更准确的说是非常难)更深入地掌握语言的底层。

至于项目经验的话,它是任何学习过程都需要的。


海贼王东天霸


1.明确学习这门语言的目的,是要做web前端,后台,还是桌面,还是Linux?

2.先学习基本的语法,同时了解一些业务相关知识,比如数据库。做好笔记

3.网上寻找一些实例,学习,印证之前学习的知识,

4.做一个实际的项目

以项目为导向,学习的效果最好。

光学习语言本身,是没法学好语言的,需要和业务结合

语言只是工具


Shaka0723


首先呢,你得先学会语句和语法规则,但是只知道语句和语法,是无法掌握一门语言的。因为语言不仅有基本语句和语法,更重要的是有技巧,多去做一些项目案例,跟着学一点一点积累,培养自己的一套逻辑思维。编程语言一定多多练习,不断积累,总结出一些编程技巧之后,就会感到游刃有余了。刚入门的时候,才学用刀,刀比较钝,所以感觉到是个瓶颈,这和刚学外语时是一样的,多练习练习自然就好了。




分享到:


相關文章: