当你看到这个题目的时候,你可能有两种感想:1,我正想学开发,不知道哪中语言更适合,正好看一看。2,博主是个213,竟然讨论这个问题,典型的小学生 ,xxx。或许你还有其他的观点,如果你愿意,请留言给我。这篇文章没有任何的针对某些人的意思,只是发表下个人的观点而已。如果你迷茫,倒是更希望你看一看
首先,在中国有很多论坛、贴吧,都会有相同的问题:我是一个编程新手,我该学习哪种编程语言,哪种编程语言更好,等类似的问题。而且我也在quora上看到过相同的问题,不过那里问的是python和ruby哪种语言更好。可以这样说,可是一个通病,也是每个程序员可能会走过的路。没有关系,经历了,才懂得。每个牛人不是从小学生走过来的。
说了这么多的废话,说下个人的观点。我认为,语言只是一种工具,工具只是一种工具。这句话貌似是张龙老师(风中叶)说的。我看他的Java视频时候记下的。但是只是记住了,随着时间的推移也慢慢的有了自己的理解。
语言只是一种工具,工具只是一种工具。
语言只是一种工具。笔者是大一接触的编程。说下笔者的意见。刚开始学的时候可以学C(很老土是不是),其实这里学C,会让你懂得内存如何工作,如果操作内存,其中还会涉及到很多的计算机知识。即便现在很多语言不提供直接操作内存的方法,但是有了对内存的了解以后,当出现问题的时候你可以从内存的角度去分析这个问题是如何产生的,Cup遇到这个问题的时候会如何抛出异常。可以去思考,如果你是这门语言的作者,在面对这样的问题的时候,该如何去处理。这都会涉及到底层的知识。有了一定的C语言基础以后可以去学Java或者python(国内推荐Java,国外很多大学把pyhon作为基础课),二者都是比较严谨的语言,有利于形成一种严谨的思维方式,而且用Java实现的各种设计模式更推荐自己敲一遍。阅读一下源码,比如Log4g,都可以很大程度上提高你的能力。然后可以去学习javascript,这里一定要先使用javascript,再使用Jquery、angular js等框架。当然你可能会停留在某一种语言上,以为工作需要。学的过程中多做一些项目,熟能生巧。这时候大家再去接触其他非函数式语言就会方便的多。比如Java和C#有相当大的相似之处,python、js、ruby等动态语言的方便性。这时候你会发现有种东西叫做编程范式,相似语言的核心思想是那么的相似。所以说语言只是一种工具。
工具只是一种工具。
在中国,IT技术有着一个相同的特点:技术普及程度不同。 举个例子,笔者在北京工作,接触的语言是ruby python ,js(这里指的是Node Js)之类的语言。IT相对落后的二三线城市,比如河北石家庄,今年笔者在招聘会(笔者今年大四)仍然看到绝大多数的公司招聘的还只是Java C#,还有一两个PHP的。在笔者的老家,河北沧州,还有不少人在使用cms来做。笔者认为这是技术普及程度的一个表现。所以对于刚才的问题,一个答案是看你要工作的地域使用什么样的语言,这样有针对性的去学。
每一种语言有自己的特性,不管是昙花一现,还是流行已久。比如Java,这种语言很多公司不再使用了,无论是说其性能低也好,还是说起死板也好,但是Java并没有随着大家的议论而低靡。而且很多公司仍然在采用,笔者认为他比较严谨,而且在面对大并发的时候仍然能够游刃有余。我们要的选择一个适合的语言来制作产品。比如,要做一个个人blog,并发量不是很大,那我们就可以选择ruby on rails,开发的快。要做一个ERM,我们可能会选择SSH、PHP、SINATRA等。我们要做一个移动应用的后台,那我们可能选择NodeJS。笔者的意思是,每一个框架有自己适合的应用场景,在不同的情景下选择不同的语言。我需要快速开发,可以选择Ruby On Rails,可以选择Django。我需要高并发,可以选择Node Js。需要安全性比较高,可以选择Java 、python。选择合适的,没有最后,只有更好。所以说工具只是一种工具。
如果你读到这里还没有决定去学哪种语言,笔者建议你随机任意的一个,然后深入去学。原因有两点。
1,每一种技术你深入学习以后,不会愁找不到工作,没有项目做。尤其是大企业,更需要对技术专研比较深的人员,精通一门语言不会饿着你。比如淘宝的去IOE,如果没有功底很深的工程师如何去做,如何成功呢(2013年的双11)。
2,从个人感情上看,你现在处于一个浮躁的状态。或者是这个也想学一点,那个也想学一点,或者是一直愁学哪一种语言。无论是哪一种情况,到头来都是一无所成。讲一个故事,内容说的是对一位作者的采访。问:你有没有经历过大脑中没有一点点灵感、一点点思路的时候?答:有。问:你是怎么处理的呢?答:坐下来写,随便写,脑袋里想什么就写什么,写着写着就有思路了。这要从心理学角度来分析,笔者心理学知识看看,就不说了。总之迷茫是以个怪圈,刚才的办法是让你尽快的走出怪圈而已。
最后一点,千万不要参与各处的”xxx语言比yyy语言好的大战中“。否则你永远只是一个coder,一个勉强及格的coder。就像我,还会无聊的发表这样的一片文章。
相关推荐
在探讨单片机编程语言的选择时,我们首先需要了解单片机编程语言的分类,以及它们各自的特点和适用场景。单片机编程语言主要可以分为三大类:机器语言、汇编语言和高级语言。 机器语言是最底层的编程语言,它由一...
### 单片机编程语言概览 #### 一、引言 随着电子技术的发展,单片机已经成为现代工业控制和消费电子产品中不可或缺的一部分。选择合适的编程语言对于开发...无论选择哪种语言,持续学习和实践都是提高编程技能的关键。
家长们常常面临一个疑问,那就是在众多的编程语言中,究竟哪种语言最适合孩子初学编程。就像选择衣物一样,选择编程语言的关键在于其适用场景和目标。就像婚礼上的婚纱、正式场合的正装或是日常生活中的休闲装各有其...
然而,随着时间的推移和技术的进步,这两种语言都有可能在未来取得更好的成绩。 #### 六、TIOBE排行榜的局限性 值得注意的是,TIOBE编程语言排行榜虽然能够反映编程语言在全球范围内的流行趋势,但它主要基于英文...
为了适应这种情况,Zemax提供了一种专有的编程语言——Zemax编程语言(ZPL),让设计师们能够更深入地开发和利用Zemax软件。 Zemax编程语言(ZPL)是一种专门为光学设计软件Zemax设计的脚本语言。它允许用户编写...
西门子PLC的几种编程语言 ...西门子PLC的编程语言多样化,选择哪种编程语言取决于具体的应用场景和编程人员的经验和喜好。了解西门子PLC的编程语言,可以更好地应用于工业自动化领域,提高生产效率和产品质量。
Plant Simulation编程语言SimTalk 2.0官方说明 Plant Simulation编程语言SimTalk 2.0是Tecnomatix ...SimTalk 2.0语言是Plant Simulation软件中的一种强大且灵活的编程语言,可以帮助用户更好地模拟和控制模拟模型。
世界上第一门编程语言究竟是谁? 编程语言是计算机的灵魂,它存在感远远高于计算机,是纽带把我们和计算机...讨论了图灵机、打孔卡片、机器代码和汇编语言等概念,帮助读者更好地理解计算机科学和编程语言的发展历程。
学习编程语言的目的是为了使我们成为更好的软件开发者,无论是在哪种编程语言中。本课程中提到的“教学”三种语言ML、Racket和Ruby,实际上是为了通过这些语言来学习不同的编程范式和概念。通过使用这些语言,我们...
编程语言的发展历程是一个充满创新和技术进步的精彩故事。自1614年以来,人类对计算机器的探索逐渐演变为现代编程语言的诞生。...了解这段历史,有助于我们更好地理解编程的本质,以及如何选择和应用适合的编程语言。
明确的目标可以帮助你更好地规划学习路径,并且保持动力。 #### 二、选择合适的学习资源 选择正确的学习资源可以大大加快学习速度。这些资源包括但不限于在线教程、书籍、视频课程和实践项目。例如,如果想学习...
阅读"编程语言实现模式.pdf"这样的资料,可以帮助开发者更好地理解和掌握如何在实际项目中应用这些模式,从而提升软件开发的效率和质量。同时,熟悉多种语言的模式实现也有助于成为一名跨语言的全能开发者,能够更好...
在机器人编程领域,选择合适的编程语言至关重要,因为它直接影响到机器人系统的效率、易用性和可扩展性。以下是对十大热门机器人...通过持续学习和实践,开发者可以更好地驾驭这些工具,为机器人技术的进步贡献力量。
编程语言心得,详细的解释了每个种语言的使用范围,更好帮你选出合适的编程入门语言
在决定学习哪种语言时,你需要考虑个人兴趣、职业目标以及项目需求。如果你追求底层控制和高性能,C或C++可能是不错的选择;如果你需要快速开发Windows应用,VB会很合适;如果你希望跨平台开发或者进入企业级市场,...
面向对象编程(Object-Oriented Programming,简称OOP)是编程的一种主要范式,它将现实世界中的实体抽象为对象,通过对象之间的交互...因此,作为程序员,我们需要持续学习和适应这些变化,以便更好地应对未来的挑战。
这些特点使得新兴编程语言能够更好地支持高性能计算和处理,提高程序的运行效率和速度,同时也能够更好地保护程序的安全性和稳定性。 新兴编程语言的优势包括高效性、安全性、易用性、灵活性和社区支持等。这些优势...
语言描述是开发者需要熟悉的重要知识点,了解语言描述可以帮助开发者更好地理解 ST 语言的工作原理。 1.1.1 语法图 语法图是 ST 语言的基础组成部分,用于描述语言的语法结构。语法图由多个块组成,每个块都有其...