在人类所制造的工具中,有的可以将人送上月球,有的可以驾驭原子的火焰,但是只有计算机软件才能透彻的返照出人类的心智。
--《Java与模式》
软件能够返照出人类的心智,那么计算机语言就是我们展现心智的基石。经常在一些论坛上和贴吧上看到一些能人志士谈论如何学习语言的文章。有些人说心态;有些人说类比;有些人说代码。
我个人认为他们都有道理。我从一进入这个行业开始,也学习了很多种计算机语言了。我通过这几种语言的学习来说说我是如何来学习一门新语言的,分享一些我学习语言的经验。
首先,新手无论干什么事情,都会遇到挫折,这是不可避免的。既然挫折不可避免,那么新手就不应该去恐惧,不应该去害怕,就直接勇敢的去面对就OK了。这是一种平和的心态,把心态放平和了,也许你的白纸上面会画出最新最美的图画。而且新手要意识到第一门语言是非常重要的,对以后影响也是非常巨大的,如果学好了,则自信心大增,对以后的学习和发展也起到推进作用。
其实解决了心态问题,就是一些关于选择和Coding的问题了。
迎面而来的就是语言众多,无从下手。第一,不知道学哪种语言为好,第二,不知道如何学习。
其实以前我也遇到过这类问题,我的恩师 带领我进入了vb的世界,因为大学学习了一学期的vb语言,再加上vb上手非常容易,所以就选择了vb语言作为我的第一门语言。当然我是通过视频,coding还有实战项目进行学习这门语言的,因为第一门语言非常重要,所以我花了很长时间在这个语言上面。现在回过头来看真的是非常值得的。
其实关于选择哪种语言作为自己的第一门语言,我个人认为,要从自己的角度考虑和前人的指导,因为第一门语言的重要性,所以我们绝对不能轻视,不要因为哪种语言流行就选择哪种,选择要有根据性,要有目的性的。
对于第一门语言我的学习方法就是循序渐进,一步一个脚印的走。这个阶段是非常痛苦的,心态放平和,不停的coding,想办法建立自己的自信心,合适的时候选择一个好的项目实战一下。
学习一门新的语言的时候,要利用以前所学的语言的功底
我们不得不承认,学习另一种新语言是有学问的,因为语言的类型是不同的,有些是过程语言,有些是面向对象语言,如何你的第一门语言和你将要学习的新语言是一个类型的,那么困难度是非常小的,然而如果你从过程语言过度面向对象语言,这个困难度是非常大的,因为这两种语言的思维方式是不一样的,用过去的思维定式却转变新的思维定式,这是非常痛苦的。
所以我就经历了这样一段痛苦的经历,VB是我的第一门语言,之后我要进行面向对象的学习,所以要学习一门面向对象的语言,就进入了VB.NET的语言,其实这个过度还是非常合理的,因为VB和VB.NET的语法几乎是一样的,只有一点是开发平台不一样了,一些小的细节方面发生了一点变化。其实这个阶段主要还是思维的转变,从过程到对象,从一个整体逐渐分成若干个关系不大或毫无相关的对象,这是非常非常痛苦的。所以说选择好第一门语言是非常重要的。
当然我随后学习了C#.NET还有JAVA语言。从VB.NET到C#.NET再到JAVA语言,就非常轻松了,因为这三个语言都是面向对象的语言,JAVA是我的就业语言,通过C#.NET的中间过渡让学习这几门语言变得非常容易轻松。因为VB.NET和C#.NET在一个平台中,有很多东西都是相同的,就是语法有差异;C#.NET和JAVA的语法非常相似,就是环境不一样。(当然语言之间的差异性我只是泛泛的说了一下,希望读者不要较真,明其理即可)
在这个阶段的学习中,不论是同种类型语言的过度,还是不同种类型语言的过度,有一点是肯定的,就是要是想学习好这一门新的语言就要借助于旧语言。将新旧语言进行类别,看看相同和异同之处,比较着学习。举个例子来说:
VB语言的For循环:
For 变量 = Start To End [Step]
[需要循环的语句]
[Exit For]
Next 变量
而C#语言的For循环:
For(initializer,condition,iterator){
Statement(s)
}
其中:
Initializer是指在执行第一次迭代前要计算的表达式(通常把一个局部变量初始化为循环计数器)
Condition是在每次迭代新循环前要测试的表达式(它必须等于true,才能执行下一次迭代)
Iterrator是每次迭代完要计算的表达式(通常是递增循环计数器)。当condition等于false时,迭代停止。
JAVA的For循环和C#的一样。
通过这一比较我们就能很快的掌握了三种语言的For循环的用法,而且每种语言的用法都能够“记”的清清楚楚。当然如何具有探索精神的化,那么就可以对for循环加深,java中的增强for循环,c#中的foreach语法,这些都能一起去类比的。
通过简单的一个例子就能说明,学习新语言就要借助旧语言的功底的去类比。
另外学习新语言的时候,也应该注意一些其他方面的因素,例如心态啊,语言的历史啊,编程环境啊,向高手取经啊····
其实还有一个最关键的东西没有说,就是Coding。
有人说过:Coding,Coding,软件人员的Wedding。如果不通过Coding就想学会一门语言那是痴人说梦。Coding是有技巧的,主要抓住循序渐进,不要总想一口吃个胖子,踏踏实实一步一个脚印的去做,去Coding。
其实语言并不难学,关键是在方法。
分享到:
相关推荐
北师大语言学考研经验分享.pdf
go语言学习参考实例,供大家一起共同分享学习。
go语言学习资料,分享分享分享分享分享分享分享分享分享分享
这是关于我学习汇编时候的经验,给大家分享下
一本前辈分享的C++语言基础教程,讲解的很详细,由浅入深,由易入难,很容易学习
C语言学习资料C语言技术编程经验分享C指针经验总结资料合集(25个): c99标准.pdf C指针经验总结.pdf C程序设计语言.pdf C语言参考手册之函数库.pdf C语言图形编程技术.pdf C语言大全第4版.pdf C语言常见问题集.pdf...
适用于新手对3ds MAXScript脚本语言的学习,非常详细的讲解3ds MAXScript脚本语言的应用。很实用,易懂
R语言视频教程.txt(老师分享的学习资料)
里面包含了学习go语言的几本资料,网络上下载的,免费分享
go语言基础入门学习文档以及go语言并发学习的一些案例总结,我是一个两年多的Java开发工程师,从18年开始,开始接触容器化...我也就从0开始学习golang了,把一些自己开始自学的文档分享给大家,让新手也少走些弯路。
《R语言数据分析与挖掘》课程旨在帮助学员掌握R语言的高级应用,深入理解数据分析与挖掘的核心...不仅深入学习R语言编程,还涵盖数据处理、统计分析、机器学习等方面的知识,为学员在数据领域的职业发展提供有力支持
UML面向对象设计语言学习课件,我已经通过考试,给大家分享学习资源,欢迎大家下载学习,祝大家通过考试
涵盖了多个主题,包括深度学习基础知识、自然语言处理基础知识、大语言模型基础知识以及大语言模型推理和应用等内容。你将在这里找到丰富的学习资料,帮助你构建对大语言模型的全面理解和应用能力。 除了基础知识,...
我正在开发一款Java语言考试学习信息系统的毕业设计。...除了以上的功能,Java语言考试学习信息系统还将提供一个交流平台,学生和教师可以通过平台进行互动和交流,分享学习经验和技巧。这将有助于学生更好地理
JAVA学习资源分享JAVA学习资源分享JAVA学习资源分享
Delphi语言个人学习小案例分享,利用Delphi语言编写一个实现桌面涂鸦的小程序
导游考试语言学习分享篇(1).doc
语言人类学PPT课件.pptx
Ruby语言个人学习小案例分享-Ruby类案例,适合初学者学习参考,附带源码在里面。
汇编语言学习大全 不错的入门书分享 了 很详细的汇编资料