zoukankan      html  css  js  c++  java
  • 为什么 C 语言是程序员的首选,你知道吗?

    C 语言是第一选择

    对于大部分程序员,C语言是学习编程的第一门语言,很少有不了解C语言的程序员。网上总是很多人建议学JAVA,学习VB开始入门。但是作为IT行业人员,我是推荐大家首选学习C语言。

    系统用什么开发的,当然就用什么作为系统开发的首选。Symbian是C++开发的,C++就是Symbian系统级开发的首选。如果有一个系统是用Java开发的,那那个系统开发的首选语言,也一定是Java。不过很可惜,真正能够用来开发操作系统的语言并不多,而Java、Python这些都是在C之上实现的。


     

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

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


     

    为什么 C 语言是实现程序员的首选?

    C语言之所以是首选,因为C语言概念少,词汇少,包含了基本的编程元素,后来的很多语言(C++、Java等)都参考了C语言,说C语言是现代编程语言的开山鼻祖毫不夸张,它改变了编程世界。我认为原因主要体现在这几个方面:

    1.性能

    而 C 语言就能实现快速编写代码。C 语言通常被描述为“可移植性的汇编语言”。它使开发人员能够尽可能靠近底层硬件进行编码,同时仍然可以跨平台保持可移植性。平常,我们可能会看到有人描述某种语言“像 C 语言一样快”,却不会看到有人说,作为通用目的编程时,会有一门语言“比 C 语言快”,因为这种语言真的不存在。

    2.兼容性

    几乎所有系统都能调用 C 语言编写的库,但其他语言就不尽然。我们见到的大部分系统,Windows、Linux、FreeBSD都是C开发的。大家都提到了为什么C适合系统开发,我只补充一点,就是C语言是为了开发操作系统而生的,所以适合开发操作系统也是必须的。


     

    3.低依赖性

    用 C 语言编写的库对运行时没有很强的依赖。例如,SQLite 的最低配置也只要求 C 库中的这些方法:

    memcmp()

    memcpy()

    memmove()

    memset()

    strcmp()

    strlen()

    strncmp()

    在更完整的构建中,SQLite 也使用诸如 malloc() 和 free() 之类的库例程以及用于打开,读取,写入和关闭文件的操作系统接口。 但即便如此,依赖的数量也很少。

    4.稳定性

    正是由于C语言的简单,对初学者来说,学习成本小,时间短,能够快速掌握编程技术在世界编程语言排行榜中,C语言、Java 和 C++ 霸占了前四名,拥有绝对优势,如下表所示:


     

    在我们开始学编程的时候,Python并不是那么“甚嚣尘上”,中文资料也不多,绝大部分人还是从C学起,大学的课程也是这样安排的,先学C、再学汇编、C++、Java等,把C作为一门基础语言。但是,现在情况不同了,有一部分初学者放弃了C,从Python开始学起,认为Python简单,容易学习,不像C那么晦涩。其实,Python 的“简单”主要是指代码格式清晰,语法没有那么严格。

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


     

    结语

    任何编程语言都一样,不管是别人告诉你简单,还是你自己认为简单,其实都是错误的观念,不要被这些观念误导。你可以认为X语言比Y语言在软件开发方面更加优秀,或者M语言比N语言在数据挖掘方面更加方便,但是绝不能认为哪一种语言更加简单。每一种编程语言都有自己的应用领域,要学习合适的语言,而不是“简单”的语言。

    最后,各位朋友如果有兴趣或是想与我们一起学习计算机技术(软件开发),可以关注我哦!这里还有一些你可能不知道的趣事分享哟。

  • 相关阅读:
    .NET框架设计—常被忽视的C#设计技巧
    判断网络是否链接
    ADO.NET入门教程(五) 细说数据库连接池
    爬虫selenium中截图
    爬虫极滑块验证思路
    Linux 磁盘分区、挂载
    linux中crontab任务调度
    第30课 操作符重载的概念
    第29课 类中的函数重载
    第28课 友元的尴尬能力
  • 原文地址:https://www.cnblogs.com/mu-ge/p/13736515.html
Copyright © 2011-2022 走看看