小白编程系列(一):编程语言选择
前言
汇智网开通以来访问量一直在持续不断的攀升,数以百万计的用户为了学习编程,访问了我们的网站,通过使用我们有在线编程环境的互动课程获得了一些自己想学习的知识。
根据我们后台统计,小白用户的数量占到了总用户数的一定比例,所以我们决定按照不同的用户人群划分,来写一些博客内容,把这段时间来我们的一些想法和思路整理一下,希望能对不同的用户有一些帮助。按照学习内容的深度,就先从小白编程来整理,作为第一个系列。
小白
<!--more-->
小白其实是小白痴的简称,在我们搞编程的人来说就是菜鸟。刚进入编程这个领域时间不长,还没摸着门道,处在狂学习的阶段,总是感觉时间不够用,到处都是需要学习的东西。有的常常感到着急,总是觉得学习效率太低,进展太慢;也有的感到迷茫,不知道该重点学那些东西;还有的只顾蒙头学,等抬起头的时候发现好像不对路...总之问题似乎很多。
编程
编程官方的说法就是为了让计算机解决某个问题而使用某种程序语言编写程序代码,并得到想要的结果,这个过程就是编程。其实本质上,编程就是人和计算机的一个交流过程,人通过计算机能够理解的形式把需要解决问题的思路、方法告诉计算机,然后计算机按照人的想法去一步一步的执行完成,就是这么个过程。
语言
既然要交流,那就需要语言,从编程的发展来看是这样:
- 机器语言,二进制原生码,是一套计算机可以直接解读的指令集,不同硬件差异很大。
- 汇编语言,低级符号语言,通过编译器翻译成机器码来执行,不同硬件差异很大。
- 高级语言,与计算机的硬件结构及指令系统无关,以人类的日常语言为基础的编程语言。
我们现在常说编程,大多数情况下是指用高级语言来写程序,写好的这些程序运行的硬件平台基本上是在x86平台或者arm平台,所以我们只就高级语言来说吧。高级语言有很多种,也有很多的分类方法,我们就按编译和解释来分类吧:
- 编译型语言的首先将源代码编译生成机器语言,再由机器运行机器码(二进制),效率比较高,跨平台差。像C/C++、Pascal/Object Pascal(Delphi)、go等都是编译型语言。
- 解释型语言:程序不需要编译,程序在运行时才翻译成机器语言,每执行一次都要翻译一次,因此效率比较低,跨平台好。如JavaScript、VBScript、Basic、PHP、Perl、Python、Ruby、MATLAB都是解释性语言。
- 但是java和c#比较特别,随着语言的发展希望能够结合编译类语言的效率和解释型语言的跨平台优点,java和c#都是先编译,然后交给虚拟机或者执行组件去解释执行。
下面是最新的TIOBE语言排行如下:
语言选择
对于刚接触编程培训学习的小白来说,如何选择一门语言来学习,是编程过程中第一要面临的重要选择,这个问题仁者见仁智者见智。小编来说说我的理解,最开始先要确定你学编程的主要目的是什么,你对那些领域感兴趣,你未来找工作想找什么样的工作?如果这些问题都有了答案,那么选择一门和是的语言作为最开始学习的内容就很容易,如果这些问题没想明白,那就会比较纠结。因为每门语言都有自己的特点,有自己的优势,我们看看最主流最常见的一些高级编程语言的特点:
- java
-
C
-
C#
- python
- JavaScript
- PHP
- Objective-C
根据上面的这些图片内容,我们对每一种语言的基本情况有一个大致的了解,我们来分析一下:
- 如果从平均薪水上来考虑,苹果相关的编程会稍微高一点儿,其他的编程语言对入门者来说相差其实不太大,主要决定因素是公司而不是编程语言本身。
- 如果从你感兴趣的领域或者想从事的行业来说:
- 如果从就业情况来说,Java的需求量最大;由于Node.js等新的网络运行平台的出现JavaScript代表的前端和全栈工程师需求量也很大,目前的市场应该和Java的需求不相上下,其他的语言相对来说可能都会少一点儿。目前火热的招聘市场来看,这些主要的编程语言在人才市场上找到工作应该都不成问题;退一步说如果找不到,那应该和编程语言本身没多少关系。如果就业是你的选择,你可以到51job、智联招聘、拉勾、猎聘等网站上看看哪些岗位、哪些公司在招聘,这样针对性更强。
稍微总结一下:最容易上手的是Python,最强大的是C++,最有潜力发展最快的是JavaScript,最稳定持久的是Java。我们的网站上这些主要语言都有相应的入门课程,大家如果确实想学,可以直接点击上面的链接过去瞅瞅。
那么我们的推荐就是从这几种编程语言中来选择你的第一门要开始学习和努力掌握的编程语言。不过一旦选择了某一种语言,那么你就选择了一条学习路径。
下一篇我们就来简单的说一下这几种学习语言的学习路径。