为何我相信使用 C 语言可以保证内存安全?

小微 科技评论33字数 960阅读模式
摘要在研发过程中,编程语言的优劣对应用程序的性能有着巨大的影响。近些年间,随着应用程序规模的扩大,越来越多的公司开始关注其安全性能,如 Google、微软、亚马逊等科技巨头纷纷开始推荐...

在研发进程中,编程语言的优劣对利用程序的机能有着巨大的影响。近些年间,跟着利用程序范围的扩展,愈来愈多的公司开始关注其安全机能,如 Google、微软、亚马逊等科技巨头纷纭开始举荐 Rust 这种为安全而生的语言,欲取代过往的 C/C++,乃至美国国家安全局也于不久以前发布建议:弃用 C/C++,使用更安全的 Rust、C、Rust、Go、Java、Ruby 以及 Swift,主要缘由是这样可以帮助软件开发者以及使用者预防并减缓软件内存安全问题,这些问题占可应用漏洞的很大一部份。

这份文档引发了很大骚动。其实,这些都是常识性建议,如非有充沛的理由,咱们都应当遵循这些建议。文章源自微观生活(93wg.com)微观生活-https://93wg.com/6341.html

无非,C++ 之父 Bjarne Stroustrup 认为 C++ 并无那么糟糕,他表示美国国家安全局疏忽了 C/C++ 三十多年来的进步。文章源自微观生活(93wg.com)微观生活-https://93wg.com/6341.html

Bjarne Stroustrup 还说:文章源自微观生活(93wg.com)微观生活-https://93wg.com/6341.html

“例如,Microsoft Visual Studio 分析器以及内存安全评测器已能提供大部份的 CG 支撑,而现在任何优秀的静态分析器(例如 Clang tidy 就提供了部份 CG 支撑)均可以设置为提供这样的保证……”文章源自微观生活(93wg.com)微观生活-https://93wg.com/6341.html

但我无比不赞同这个观点。事实上,我认为 C++ 的繁杂性使其比 C 更糟糕。文章源自微观生活(93wg.com)微观生活-https://93wg.com/6341.html

美国国家安全局人员 Ji妹妹y Hartzel 如斯评价,我无比赞成他的看法:文章源自微观生活(93wg.com)微观生活-https://93wg.com/6341.html

“就内存安全而言,‘大部份’是完整不够的,而‘可以设置为’实际上也没有价值。从根本上来看,关键的一点是 C++ 的内存安全仍在踊跃开发中,已经很接近其他的语言了。同时,Rust(以及 Swift、C文章源自微观生活(93wg.com)微观生活-https://93wg.com/6341.html

  • Various assembly languages文章源自微观生活(93wg.com)微观生活-https://93wg.com/6341.html

  • GLSL文章源自微观生活(93wg.com)微观生活-https://93wg.com/6341.html

  • Co妹妹on Lisp文章源自微观生活(93wg.com)微观生活-https://93wg.com/6341.html

  • Racket

  • Julia

  • Tcl

  • Vim script

  • 另外,我还钻研过下列语言:

    • ML

    • OCaml

    • HAL/S

    • Pascal

    • Objective-C

    • MATLAB

    • Modula-2

    • Coq

    • Isabelle/HOL

    • Ada/SPARK

    等等。

    若论编程的乐趣,我厌恶所有这些语言。除了了 C 语言。

    没错,C 是独一我真正喜欢的编程语言。

    我不是在说笑,相较于其他语言,我用 C 编写代码的效力高出几个数量级。我的头脑只合适用 C 思考,我也不知道为何。

    这对我来讲无比重要。依据以往的经验,我是一个很容易情绪化的程序员,

    以上就是微观生活(93wg.com)关于“为何我相信使用 C 语言可以保证内存安全?”的详细内容,希望对大家有所帮助!

    继续阅读
     
    小微
    • 版权声明: 本文部分文字与图片资源来自于网络,转载此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们(管理员邮箱:81118366@qq.com),情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!
    • 转载请务必保留本文链接:https://93wg.com/6341.html
    匿名

    发表评论

    匿名网友

    :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

    确定