05编程入门(三):如何选择编程语言?

阅读本文大约需要3.2分钟。

关于什么是编程,为什么学习编程,请点下方链接:

在弄明白了什么是编程,并决定要学习编程之后,那么你就得像一个决定做工匠的人一样,选择自己要入哪一行,是瓦匠、木匠、还是画匠?类比编程,我们要做的就是在数百种(可能更多)编程语言中选择自己要学习的那一个。

在什么是编程这篇文章中我们提到,所有计算机在内部都使用0和1这样的二进制进行运算,不过对于大多数人来说都无法掌握并使用这种语言。我们需要一种更简便的方法来告诉计算机做什么,所以人们发明了编程语言。利用计算机编程语言,我们可以先用一种自己能够理解的方式编写代码,然后再把它翻译成二进制供计算机使用,以达到我们的最终目的。

那么,如何在众多的编程语言中选择自己要学习的那个语言呢?在解决这个问题之前,我们需要搞清楚一件事,计算机分软件和硬件,软硬件都有属于自己的编程语言,先选定这个大前提,才会有后续的选择。

硬件编程领域相对于软件编程领域来说,可选择的编程语言会比较少(注意,是相对来说),因此选择相对比较容易。由于本人对硬件编程没有了解,因此这里不做评论。如果有了解的同学,可以在留言区进行分享。

软件领域的编程语言数量可谓是多如牛毛,选择相对来说会比较困难。但是,既然是选择,无非就是不断地缩小选择的范围,最终确定要选择的对象。

首先,我们需要确定自己要从事的领域:游戏、网站、桌面应用、APP、服务器等等。如果要再缩小范围的话,这些领域其实是可以继续细分。拿游戏领域来说,可以按照使用终端的不同分为:网游、手游、桌面游戏、AR/VR游戏、体感游戏等等。对于这些领域分的越细,你选择的范围也就越小。当然,一般情况下,我们选择编程语言时是没法考虑太细的,因此先确定一个大的领域才是最关键的。

接下来,需要了解每种编程语言的特点,以及擅长的领域。编程语言和人一样,各自有各自的特点,且术业有专攻,虽然应用的领域可能很广泛,但都有各自最擅长的领域。比如C语言比较擅长操作系统、嵌入式、自动化控制领域;C++擅长游戏、编译器等对性能要求比较高的领域;Java比较擅长Web网站应用、Android程序的开发;Python擅长Web网站应用、科学计算、自动化运维、人工智能等领域。

如果有条件,可以和自己选择的行业或领域的大佬交流一下,业界内部一般使用哪些技术比较多,搞清楚为什么会选择A而不是B。如果没有这个条件,可通过查阅行业资讯进行了解,如果你长时间关注某个领域,那么很多技术名词对你来说应该都是熟悉的。了解这些技术背后使用的是哪种编程语言,以及为什么选择它,都会对你的选择有所帮助。

到这里,你选择的范围应该已经很小了,可能就剩三五种编程语言了,但是这个范围对刚入门的你来说还是有点大。那么这个时候你可能会想,我到底要学哪一个语言呢?

先别着急下最后的决定,我的建议是这样的:最好都学,至少是尽量多的了解。为什么这么说呢?因为在我看来,在任何行业,你知道的越多,你的选择就越多,你成功的概率也就越大。这有点像一个画家会的绘画工具、绘画手法越多,越能创作出惊艳的作品。永远不要把自己限定在一个非常小的圈子里,因为技术的变化瞬息万变,说不定哪天,你孤注一掷的那个编程语言就被淘汰了(夸张了,编程语言的淘汰是一个非常缓慢的过程)。

虽说会的编程语言是越多越好,但是,凡事都有个但是。必定只有一门语言是你入门时选择的语言(你不是?你牛!),那么这个时候该如何选择呢?我的建议是,选择社区比较强大,且社区文化氛围比较开放友好的那个编程语言(比如Python)。因为刚入门一门编程语言,如果能有一个好的社区帮助,你对编程的热情会越来越高,你的进步也会比较大,因为你在这里感受到的都是满满的正能量,不会因为那些晦涩难懂的术语而对编程望而却步。

好了,说了这么多,其实选择编程语言的核心技能只有一个:所有的选择都是在做减法,舍弃不适合自己的,剩下的才是最好的。

最后,希望大家都选择对了编程语言,从此步入编程的爱河!欢迎在留言区说说,你当初为什么选择了某个编程语言,以及你以后还会学习其他编程语言吗?

April 7

,2018

写在最后:

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180408G0038T00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券