入IT如何选择第一门编程语言

元气小坏坏 提交于 2020-01-24 03:28:58

起初我也经历过这一时期,自身的兴趣虽说是在互联网行业, 但我和你们一样,对自己没有定位,又希望朝这方向发展,我花费了近半个月时间调查目前社会的就业情况,查看各大网上的数据,又花费半个月的时间,去了解各种语言,并且了解各门语言的发展方向,分析它们的实用性以及就业难易,最终再结合自己的意愿以及市场的需求,综合性决定了一个自己去努力的方向,这篇文章便是在我困惑之时所记录的心得希望能帮到所有迷茫着的伙伴。

怎么去选择编程语言

这是最常问到并且最纠结的问题,生怕做了错误的决定。自己纠结不清楚,就会像墙头草一样到处漂浮,网上查到的数据无法直观解决自身的疑问,就去寻找其他人咨询,其实不只是在选择期的小白会出现这个问题,其实在学习阶段的小伙伴也肯定有人出现过这种想法,目前我已工作将近两年,在这期间,我觉得其他人学的语言好,就业薪资高,就考虑着要不要换一门语言?若你没有自身的方向一再追问究竟应该学习哪门编程语言,这一篇就是为你准备的。首先,我会消除你的一些疑问,然后为你选择语言提供一些切实可行的意见。
因为我们学编程语言,除了兴趣可能唯一的原因就是"高薪"就业
若只是纯粹为了个人的兴趣爱好,你想学哪门语言都没有关系!

其实,什么语言并不重要

是的,你没看错,虽然学编程语言大多数是为了就业,但这不完全是选择某一语言的原因。最主要的是众多编程语言的核心是非常相似的,在我看来,一个程序员所必备的是“逻辑+框架+语法+算法”,因为某种语言之间有的甚至相似到你精通一门之后就自然而言很快上另一门语言,C# 和 Java 都是很好的例子!之所以犹豫不决,那是因为你没想好自己学编程的目的,你需要给自己一个准确的规划以及定位。先想想自己学习编程为什么,想干什么,要往哪个方向发展。至于学什么语言,根据市场需求和自身的想法以及个人的能力综合去确认!

用我们中华大白话直白一点说就是,挖个坑跳进去,先掌握,不管将来如何发展,你终究至少要掌握两门语言甚至更多语言,路还很长,不要太过于纠结。

不知这番解答是否解决了你心中的困惑,编程语言中有绝大部分的共同点,学习编程其实不完全是去学习哪门语言,不管哪门语言,它只不过是一个工具,这个行业不变的是与时俱进,主要的还是要去理解编程的思想,去观察不同语言中不同的特性,重视语言的特性,而不是语言本身。

当你是小白也并非科班出身的三好学生时,你可能不会相信这些话,但如果你已经历过学习第一门和第二门的语言,你会发现再去学习其它语言会呈几何倍数下降,但是如果你已经学会了10门语言,我敢保证你会说前两门语言是最难的。

所以个人觉得首选哪门语言并不重要,若你还是不知如何选择,那么你可以按照以下的分析然后解答你心中的疑惑!

首先,必须要了解每个语言的特点和就业的前景以及它目前时代各方面所占用的份额

对于大多数人来说,最需要考虑的是,选择什么样的编程语言,能对我未来的工作有所帮助。如果你只关心工作的可用性,可能会虑主流的编程语言,在写这篇文章的时候,这些都是职场中最受欢迎的九大编程语言

语言 一句话概括这门语言
C语言 C语言是底层的系统语言,也是许多人极力推荐的入门语言,相比Python,学习C语言可以充分了解计算机相关知识。并且C语言更适合写程序。当学会C语言再去学其它语言,会发现比直接接触容易许多 ---- “千里之行,始于足下。”
C++ C++是C语言的继承,不仅拥有计算机高效运行的实用性特征,具有相当高的性能,常用于系统开发,引擎开发,大型3D游戏等应用领域,同时还致力于提高大规模程序的编程质量与程序设计语言的问题描述能力,但个人觉得学习难度会稍微大一些。
JavaScript JavaScript 是目前最广泛的脚本语言!JS入门难度较低,可在任何浏览器上开发及调试,不需要安装额外的软件。作为一门灵活的脚本语言,JS有很多用途:前端,后端,游戏脚本等,并且许多web的开发都要和JS挂钩
Java Java是高级的面向对象的编程语言,时至今日,Java依旧是在科学应用中最好的选择,十几年来占据着市场主导的位置!
PHP PHP是简单入门的web开发语言,经常有程序员调侃到“PHP是世界上最好的语言!”可看出它功能的强大、快速、简单的特点,广泛用在网站开发,API接口开发,服务器端开发,广告系统开发,内部OA系统开发,移动端后台开发等。
C# 由C语言和C++衍生而来,基于 .NET Framework之上的高级程序设计语言,具有安全、稳定、简单、优雅的特点
Ruby Ruby使文本处理和系统管理变得简单,优雅又不丢失实用性,受到许多程序员的热爱,一句话:简单明了,扩展性强,移植性好
Python 当考虑应该找哪一门语言时,往往会有人跟你推“人生苦短,我要学Python。”Python对入门极为友好,4个字概括“简单,强大”的编程语言,并且前景非常好,但你必须清楚python的分支,因为AI以及大数据方向在目前来说门槛非常普遍要求较高。
Objective-C Objective-C的流行可以说是归功于iPhone的成功,ios移动端开发主要编程语言就是Objective-C。但目前很多ios开发工程已开始向Swift进行切换。

因为博主并不太了解Go等语言,各位请参考其它文献资料。

首先考虑的是编程语言在各大软件公司的使用率以及需要的人数占比,例如目前需求最高的是JAVA,那么我们极有可能会选择JAVA这门语言用来就业,但是由于JAVA出道十几二十几年,人才辈出,你得重新对自己的能力进行评估,是否能跻身越入企业的要求,自身能力是否优秀于拥有一两年经验的JAVA开发者并且具有更大的潜力。

另一个需要考虑的问题是编程语言未来发展的可能性。例如Objective-C并不是一个好的选择,因为大多数iOS开发者都已经切换到Swift,若你因各种因素,导致已正在学习而且已然不能随意抛弃的地步,也不必太过于担心,因为仍然有大量的遗留工作需要Objective-C来维护,只不过长远来看,Objective-C早晚会被Swift取代的。

使用以上任何一种语言的职位都不在少数,但如果你不愿意离开目前所在的城市,另一个要考虑的就是当地的需求,选择哪种语言就取决于你所在的位置。例如,你所居住的是一个德玛西亚的小村落,只有为数不多的公司使用编程语言,他们所有的业务都只使用Java或者少数的其它语言,那么我强烈建议你学习Java,这是从非常现实的角度来考虑问题。

其实的主要问题在于,你永远无法预测未来会发生什么。

Ruby花费了许久时间才变得流行。

JavaScript可以说是有史以来设计最糟糕的编程语言之一,原用来制作web上的弹窗,但现在它是一门全世界都极受欢迎的语言

这不是每个人都能预判,不是每个人都能想到的结果,但它实实在在发生了。

以下是我对选择语言以及学习的一点建议

  • 1、明确自己的兴趣点 Identify myself interests

如果你清楚自己对什么技术感兴趣,那么语言的选择将会容易许多,因为兴趣是人生的第一老师,根据兴趣挑选第一门语言绝对不会让你后悔,因为刚接触编程都是最困难的一步,你越感兴趣就越可能坚持下去,它将带领你克服学习中的种种障碍,并度过学习曲线最艰难的部分。

  • 2、语言的难度系数Consider starting with a “simpler” language

不管当时自己的初衷是为了就业还是因为其它的原因,编程入门应该选一个简单的高级语言,它会让你明白基础的概念和完善你的逻辑思维,例如C# python php Ruby or JavaScript。当然我不会阻止你一开始就学难度较大的语言,比如C++,如果你确实想的话,但你起码应当知道自己在面对什么以及是否愿意你的第一门语言相对容易些。

  • 3 Read through some basic tutorials for a variety of languages.阅读一些基础的教程

如果你还不能确认学习什么编程语言,可以阅读一些PDF的基础教程,或者是看一些基础的视频教学,你可以感觉一门语言比另外的语言更有意思,网上这类教程很多,如果非科班出身,一点基础都没有的同学,不建议阅读书籍,视频的讲解更通俗易懂。

  • 4 Start practicing debugging. 开始练习调试代码

一旦编写程序,你会经常遇到错误,它们会出现在程序任何地方。它们是不通过编绎或者解释的主要错误。找到并修正这个错误是软件开发环节中一个重要环节,所以不要紧张。

  • 5 Never stop programming. 不要两天捕鱼,三天晒网

要成为某一行业领域的专家,有一个很著名的1万小时理论。虽然这个理论有很大的争议性,但还是有一定的普适性。时间与专注是不可缺少的先决条件,不可能一口气吃成一个胖子,如果你聚集于一点,不断学习,你就很可能成为这方面的专家。.

  • 6 Focus on one concept at a time 同一时间段专注一个概念.

程序界一般教一门新的语言会用“你好,世界”来起步。它只在屏幕上显示“你好,世界”的简单程序。它教会新手创建产基本程序结构的最简单的语法,及处理显示的输出。通过修改文本,你会了解程序如何处理基本数据。下面的链接是不同的编程语言显示

  • 7 Learn through deconstruction of online examples. 通过剖析网络上大量案例来学习。

网络上有大量的代码实例可供学习与参考,通过实例的学习,可以了解语言工作的方方面面及它们部件之间如何交互。可以从实例中选取部分代码来创建你的程序。

  • 8 Examine the syntax. 检查语法的正确性。

语法是编程语言的书写正确方式,这样编绎器与解释器才能够理解程序。每个语言的语法都是不一样的,尽管一些元素共享多门编程语言。学习语法知识是学习编程的基本功,编程代码也体现了程序员的思想。现实中也一样,语法是语言中其它高级功能的基础。

  • 9 Experiment with changes. 通过修改程序进行不断的实验

修改样本程序,测试结果。通过大量实验,你会学会那些可行,那些不可行,这种方法比阅读书本与编程指南要高效与快速。不要害怕程序的中断,学会如何纠正错误是开发过程中一个不可缺少的步骤,新事情一般不可能第一次就能够正常运行。.
修改基本程序时,经常会碰到程序问题.找到不同解决问题的方案,是作为程序积累经验与技巧的最佳途径,并且对一些疑难杂症最好记录的笔记,这里推荐工具使用Typora、OneNote或者有道云笔记等。

  • 10 Comment all of your code. 对代码进行必要的注释

程序语言一般都注释这个功能,注释的内容编绎器与解释器是不会处理的。一般情况下,注释要求用简洁的,自然语言来解释代码的做什么。在大型程序中,这个方法可以帮助你记住代码的功能,在团队协助的环境下,也是让他人读懂你的代码的方法。.

  • 11 Code daily. 每天都编写代码(结合理论一起练习)

掌握一门编程语言非常费时,即便是Python这个语言,也需要1-2天才能够理解基本的语法,掌握需要更多的时间。与其它技能一样,熟能生巧. 每天抽出一点时间编程,即使工作或者用餐中的间隙时间,动手实践结合理论知识提升会更快。

  • 12 Talk with others and read other programs. 与大牛交流,经常阅读别人的代码

有很多的编程社区,致力于特写的编程语言或者相应学科。参于到这些你感兴趣的社区活动,你会接触大量例子,工具来帮助你学习。阅读别人的代码可以激发你的创造力,帮助你掌握一些核心的概念与思想。

去看看编程的论坛,尽量参与进去,不局限于问问题。社区里有很多的协助,讨论,不局限于问答。不要羞于问问题,提交你的工作,打开的想像力,尝试不同的方法。
积累到一定的程度,参加一些编程果酱,这些是个体或者团队定期开发一些功能性程序,一般面对一些特定的主题。这些活动好玩,也是接触其它程序员的好方法。

  • 13 Take a few training courses.参加一些培训课程

很多的大学,社区学院,社区提供一些编程课程或者就业课程,你可以参加这些课程。对新手来说也是一个非常难得的机会,你可以得到有经验丰富程序员及时的帮助,也可以与当地的其它程序员协作分享。

  • 14 Study math and logic. 学习数学与逻辑的知识

编程一般涉及到简单的算术,.你还要学习更多的高级内容。这一点对于编写复杂的模拟或者涉及大量算法的程序。对于大多数日常工作的程序代码,并不涉及大量高级的数学知识。学习逻辑,特别是计算机逻辑,对于理解与解决复杂问题,编写高级的程序很有用。

  • 关于资源的最后一个要考虑的问题是,当你遇到实在解决不了的困难时,有没有可以求助的人?当然在今天网上有千千万的人会帮助你,但身边有一个可帮助你的良师益友效率会更高。虽然可用资源不是选择语言时的最大问题,但还是需要考虑一下。

B站胖哥分享

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!