对于大部分程序员,C语言是学习编程的第一门语言,很少有不了解C的程序员。

  C语言除了能让你了解编程的相关概念,带你走进编程的大门,还能让你明白程序的运行原理,比如,计算机的各个部件是如何交互的,程序在内存中是一种怎样的状态,操作系统和用户程序之间有着怎样的“爱恨情仇”,这些底层知识决定了你的发展高度,也决定了你的职业生涯。

  如果你希望成为出类拔萃的人才,而不仅仅是码农,这么这些知识就是不可逾越的。也只有学习C语言,才能更好地了解它们。有了足够的基础,以后学习其他语言,会触类旁通,很快上手,7 天了解一门新语言不是神话。

  C语言概念少,词汇少,包含了基本的编程元素,后来的很多语言(C++、Java等)都参考了C语言,说C语言是现代编程语言的开山鼻祖毫不夸张,它改变了编程世界。

  正是由于C语言的简单,对初学者来说,学习成本小,时间短,结合本教程,能够快速掌握编程技术。

  在世界编程语言排行榜中,C语言、Java 和 C++ 霸占了前三名,拥有绝对优势,如下表所示:两性教育

  --2015年01月榜单2015年06月榜单2016年04月榜单

  排名语言占有率语言占有率语言占有率

  1C16.703%Java17.822%Java20.846%

  2Java15.528%C16.788%C13.905%

  3Objective-C6.953%C++7.756%C++5.918%

  4C++6.705%C#5.056%C#3.796%

  5C#5.045%Objective-C4.339%Python3.330%

  6PHP3.784%Python3.999%PHP2.994%

  7JavaScript3.274%Visual Basic .NET3.168%JavaScript2.566%

  8Python2.613%PHP2.868%Perl2.524%

  9Perl2.256%JavaScript2.295%Ruby2.345%

  10PL/SQL2.014%Delphi/Object Pascal1.869%Visual Basic .NET2.273%

  C语言诞生于20世纪70年代,年龄比我们都要大,请猛击《C语言的发展及其版本》了解更多。

  当然,C语言也不是没有缺点,毕竟是70后老人,有点落后时代,开发效率较低,后来人们又在C语言的基础上增加了面向对象的机制,形成了一门新的语言,称为C++,我们将在VIP教程《C和C++到底有什么关系》中讲解。

  C语言和Python

  最近几年,有一门新的语言异军突起,夺得了大家的眼球,它就是Python。

  在我们开始学编程的时候,Python并不是那么“甚嚣尘上”,中文资料也不多,绝大部分人还是从C学起,大学的课程也是这样安排的,先学C、再学汇编、C++、Java等,把C作为一门基础语言。

  现在情况不同了,有一部分初学者放弃了C,从Python开始学起,认为Python简单,容易学习,不像C那么晦涩。

  其实,Python 的“简单”主要是指代码格式清晰,语法没有那么严格,例如,在屏幕上显示“C语言中文网”:

  print "C语言中文网"

  对比C语言的代码:

  puts("C语言中文网");

  你看,Python不需要括号,也不需要最后的分号。   两性交流

  但是,不要被误导了,Python涉及到的编程概念和编程思想并不简单,比C语言要多要复杂。以我的实际感受,Python的学习成本并不比Java、C++小。

  任何编程语言都一样,不管是你的学长学姐告诉你简单,还是你自己认为简单,其实都是错误的观念,不要被这些观念误导。

  你可以认为X语言比Y语言在软件开发方面更加优秀,或者M语言比N语言在数据挖掘方面更加方便,但是绝不能认为哪一种语言更加简单。每一种编程语言都有自己的应用领域,要学习合适的语言,而不是“简单”的语言。

  总之,我不认为学习Python的成本比C小。

  值得一提的是,Python也是用C来开发的,如果你希望更好的学习Python,那么肯定也要学习C。

为什么入门首选C语言的更多相关文章

  1. 编程入门选什么语言好?C 语言还是Python ?为你解析

    前面我分享过计算机行业已经成了学校选择排名第一,家长和学生都很看好计算机类专业.现在IT行业也越来越火爆,程序员越来越被人看好.面对相比同龄人高薪资的诱惑,人们很难不心动,即使秃头也值得! 那么问题来 ...

  2. IOS入门之Swift语言(一)

    经过不断的努力,小哥也买了台苹果设备,终于可以开始我的IOS之旅了,说来确实令人苦恼,为了学习IOS我这着贫农阶级,省了几个月的零花钱,外加向亲朋好友求救,最终痛下心扉,卖了台MAC pro128G版 ...

  3. c语言入门教程 / c语言入门经典书籍

    用C语言开始编写代码初级:C语言入门必备(以下两本书任选一本即可) C语言是作为从事实际编程工作的程序员的一种工具而出现的,本阶段的学习最主要的目的就是尽快掌握如何用c语言编写程序的技能.对c语言的数 ...

  4. 【转】c语言入门教程 / c语言入门经典书籍

    用C语言开始编写代码 初级:C语言入门必备 (以下两本书任选一本即可) C语言是作为从事实际编程工作的程序员的一种工具而出现的,本阶段的学习最主要的目的就是尽快掌握如何用c语言编写程序的技能.对c语言 ...

  5. JAVA入门之基础语言

    在上一章文章中,读者已经了解了如何搭建Java 开发环境及Java 程序的开发过程.从本篇文章开始讲解Java 的基本语言.这些基本语言的语法和其他一些编程语言相比有些是类似的,但还有很多不同之处,读 ...

  6. 如何快速入门单片机C语言

    一.为什么要学单片机技术? 传统的电子产品升级改造成智能化的电子产品需要用到单片机技术.也就是说传统的电子产品如电视机.电子表.计算器.数码相机.手机.MP3.遥控器.洗衣机等产品智能化.微型化,需要 ...

  7. 51单片机入门(补充)1--与C语言的交接

    我写完上一个文章,发现我写的还是不够全面,所以,这篇文章将会延续上一个文章的内容,并且再次补充新的东西,如果还有什么地方需要补充,还请各位一一指出,如果你已经学过这些东西,大可以直接跳过,假如说之后有 ...

  8. C、C++、Java到Python,编程入门学习什么语言好?

    摘要:回顾编程语言几十年来的兴衰起伏,似乎也折射了整个信息产业的变迁消亡,想要在技术的洪流里激流勇进,找准并学精一两门编程语言更加显得至关重要. 最近,TIOBE更新了7月的编程语言榜单,常年霸榜的C ...

  9. [Java入门笔记] Java语言基础(二):常量、变量与数据类型

    常量与变量 什么是常量和变量 常量与变量都是程序在运行时用来存储数据一块内存空间 常量: 常量的值在程序运行时不能被改变,Java中声明常量必须使用final关键字.常量还可以分为两种意思: 第1种意 ...

随机推荐

  1. hdoj:2069

    Coin Change Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  2. SSH使用小记

    0.是什么 SSH(Secure Shell)是一种加密的网络传输协议,可在不安全的网络中为网络服务提供安全的传输环境.(更多详情可参阅维基百科 https://zh.wikipedia.org/wi ...

  3. 关于Unity中摇杆的操作

    之前在解决摇杆控制角色的时候使用的是RPG游戏中主角的运动方式,有八个方向,最近找到一个新的方法,可以比较流畅地控制角色各个方向的移动 步骤 1.Easy Touch插件,角色控制器组件 2.在控制角 ...

  4. js和css实现手机横竖屏预览思路整理

    实现效果,如上图. 首先,实现手机页面在PC端预览, 则先在网上找到一个手机的背景图片,算好大概内间距,用来放预览的页面,我这里是给手机预览页面的尺寸按iphone5的尺寸来的: 一个手机页面在这里预 ...

  5. ABBYY PDF Transformer+ 给你好看

    ABBYY PDF Transformer+是一个新的.全面的巧妙解决PDF文档的工具,它将泰比的光学字符识别(OCR)技术和Adobe®PDF技术完美结合,以确保实现便捷地处理任何类型的PDF文件, ...

  6. Linux i2c子系统(二) _通过i2c-dev.c访问设备的方法

    另外一种驱动 应用层除了使用上述的使用i2c_driver接口来访问i2c设备,Linux内核还提供了一种简单粗暴的方式--直接通过虚拟i2c设备驱动的方式,即上一篇中的i2c-dev提供的方式,这种 ...

  7. PowerBI与Visio

    前言 如何在Power BI中使用Visio, 刚好最近微软推出了适用于Power BI 的 Visio自定义可视化对象预览,分享给大家. 我们先看一下效果:    通过自定义可视化对象,将Visio ...

  8. K - Heavy Cargo dijkstar

    来源poj2263 Big Johnsson Trucks Inc. is a company specialized in manufacturing big trucks. Their lates ...

  9. 振兴中华(dfs or dp )

    小明参加了学校的趣味运动会,其中的一个项目是:跳格子. 地上画着一些格子,每个格子里写一个字,如下所示:(也可参见p1.jpg) 从我做起振 我做起振兴 做起振兴中 起振兴中华 比赛时,先站在左上角的 ...

  10. Map 嵌套存储Map

    import java.util.HashMap;import java.util.Iterator;import java.util.Set;import java.util.Map.Entry; ...