zoukankan      html  css  js  c++  java
  • 入门编程,一定要从C语言开始吗?很多小伙伴因为选择而后悔四年

    入门编程,一定要从C语言开始吗?很多小伙伴因为选择而后悔四年,那么我们刚刚进入大学应该怎么去选择呢?

    很多小伙伴在入门编程时,C语言课程开始的,但最近有的小伙伴问我, 学编程一定要从C语言开始吗? 直接学习JAVA可以吗?

    大雄建议:在选择编程语言之前,搞清楚自己的编程目的,有没特别想打磨一个产品出来?

    比如有些程序员想自己打造一款Java 游戏,所以他选择了java。所以,一定程度上取决于你的编程目的。

    C语言现在已经很成熟,它的各种语法规则、思想都已经确立起来了,并对现在的很多语言产生很大的影响。所以作为底层语言也是很多人在入门编程时想要第一个学习的。

    但是任何事物都有其优点和缺点,C语言也不例外。下面大雄带大家分别来看一下。

    C语言的优点

    C语言的优点有三个:

    (1)代码量小

    (2)运行速度快

    (3)功能强大

    我们先看第一个优点, C语言的代码量很小 ,这是什么意思呢?也就是说如果要完成同样一个功能,用C语言编写出来的程序的容量是很小的,而用其他语言编写容量就会比较大。

    比如 Microsoft Word 和 WPS,它们同样都是办公软件,功能也差不多,但 WPS 的安装文件只有 50MB 左右,而 Microsoft Word 的安装文件超过 500MB,有的甚至接近 1GB。原因就是 WPS 的内核是用C语言编写的。

    C语言的第二和第三个优点是它的 运行速度比较快 和 功能强大 。我们可以通过一个例子来解释。

    世界上总共有三大操作系统:UNIX 操作系统是用纯C语言编写的;Windows 操作系统的内核也是用C语言编写的;Linux 操作系统仍是用纯C语言编写的。

    这 三大操作系统的内核全部都是用C语言编写的 。为什么用C编写,因为C语言的速度最快。计算机中所有的软件都是在操作系统上运行的,如果操作系统的速度很慢,那么在它基础上运行的软件的速度就更慢了。而且计算机中的所有硬件都是由操作系统控制的。

    举个简单的例子,新建一个 Word 文档,这就意味着在硬盘上产生了这个文件。但是并没有直接控制硬盘,我们是通过操作系统提供的“右键单击”等功能来新建文件的。

    也就是说,操作系统给我们提供了一个界面,或者说是给我们提供了一种可操作的手段,通过这个手段我们可以删除文件、新建文件、打开文件或者修改文件。

    所以操作系统很重要,所有的硬件全部都是由操作系统控制的。而这么重要的东西只能用C语言来写,所以C语言很重要。为什么只能用C语言写?第一,C语言速度够快;第二,C语言可以访问硬件,所以它够强大。

    为什么不能用 Java 写?首先,Java 太慢了;其次,Java 语言没有指针。没有指针就不能访问硬件,所以它的功能是不够的。指针是什么稍后会讲,它是C语言中非常重要的内容。

    C语言的缺点

    C语言的缺点可以用下面三点来概括:

    (1)危险性高

    (2)开发周期长

    (3)可移植性不强

    我们先看第一点。假如写同样一个程序,在 Java 里面会报错,而在C语言里面是不会报错的。为什么?

    因为 C语言设计的思想是 :想怎么写程序就怎么写,只要这种写法错得不是很离谱,就认为这么写有特殊的含义,可以通过。但 Java 不行:只要这么写有歧义,或者说这样写不太好,那么它都会报错。

    比如C语言中可以将一个浮点型数据赋给一个整型变量,编译时只会警告,因为会丢失精度,但是在 Java 中这样写就会报错,它在语法上就禁止这样写。

    所以不同的语言对同样一个问题有不同的处理方式。

    大家想想这样导致的结果是什么?

    因为有歧义的程序也可以通过,这样就会有很多漏洞,黑客往往会抓住这些漏洞进行攻击,所以说 C语言比较危险 

    这也是为什么C语言比较难学的原因,因为学完之后编写一个 程序很可能就是错 的,但又很难发现。所以前面说 C++ 从安全性上对C语言进行了升级。

    第二个是它的 开发周期比较长 。因为C语言是面向过程的语言,面向过程语言的一个特点就是写大项目的时候很容易“崩溃”。

    当代码上到 10 万行的时候很容易崩溃,会出现各种各样莫名其妙的错误。这时候就需要用另外一种思想将整个程序的框架重新设计一下,即用面向对象的思想设计。这也是C语言现在没有 Java 流行的原因。

    C语言的第三个缺点是 可移植性不强 。这个主要是针对 Java 的。Java 的可移植性太强了,所以就显得C语言的可移植性不强。

    什么叫可移植性?就是说 Java 程序在哪个机器上都可以运行,而且结果一模一样。而C语言就不行,C程序在其他机器上不一定能运行。而且就算能运行,结果可能也不一样。

    关于第一种编程语言,对于一名新手程序员来说,只要你不选特别难的,基本上没什么影响。

    选择你们想要学习的语言去努力学习吧!


    大学想提升你的编程能力,成为一个强大的程序员找到一份好工作吗?不妨和一些志同道合的小伙伴一起学习成长!

    C语言C++编程学习交流圈子,【点击进入微信公众号:C语言编程学习基地

    有一些源码和资料分享,欢迎转行也学习编程的伙伴,和大家一起交流成长会比自己琢磨更快哦!

  • 相关阅读:
    部署prerender服务器
    Bzoj4727--Poi2017Turysta
    Bzoj4818--Sdoi2017序列计数
    Heoi2014系列题解
    scoi2017酱油记
    Burnside引理与Pólya定理
    2017省选前北京集训总结
    奥妙重重的随机发生器
    ???--???Insection is not allowed
    反演
  • 原文地址:https://www.cnblogs.com/yxy6/p/13453908.html
Copyright © 2011-2022 走看看