聊聊foobar是什么?

大一时看很多老外的文档,总是看到一个叫 foobar的词,当时倒不是纠结这个词到底是什么意思,因为看到这个词使用的场景大多是代码示例段、示例变量名等一些无意义的地方,猜也能猜到这个词大概率没啥含义,可能是个拼接起来的词,更多的是一种规范,就像是Hello World或者test123这种。但当时还是很好奇,这个foobar的来源到底是什么呢?今年国庆闲的无聊,好好查了一下foobar的来源,记录下来当个消遣

“foo” 一词最早出现在一些二战前的漫画和卡通作品中。在关于消防队员的漫画”Smokey Stover”中,作者Bill Holman大量的使用了”foo”一词。这部漫画连载于1930至1952年,在其中,”foo”这个词经常出现在汽车车牌上和一些没有意义的对话中, 例如:”He who foos last foos best”或 “Many smoke but foo men chew”等。根据作者自己介绍,”foo”是根据某种中国的小雕像底部的文字得来的。这听起来很有道理,因为中国的雕像往往都会刻上祝福的文字,而 “foo”可能是”福”的音译。不过英文文法能接纳Holman的”foo”这个编造的单词,也是受了犹太语中”feh”和英文中”fooey”及 “fool”的影响。

在随后的二战中,因为英美士兵经常 用俚语和粗话交流,”foo”一词就被更广泛的传开了。人们把被雷达追踪到的神秘飞行物称为”foo战机”(”foo fighter”),就是后来所谓的UFO。而当英国士兵回防时,往往也会刻下”foo到此一游”(”Foo was here.”)的字眼。

而关于”foobar”,也可以追溯到二战时期军队中的粗话缩写”FUBAR”。”FUBAR”的含义是用到烂再大修(Fucked Up Beyond All Repair),后来演变成了”foobar”。

术语 foobar , foo , bar , baz 和 qux 经常在计算机编程或计算机相关的文档中被用作 占位符 的名字。当变量,函数,或命令本身不太重要的时候, foobar , foo , bar ,baz 和 qux 就被用来充当这些实体的名字,这样做的目的仅仅是阐述一个概念,说明一个想法。这些术语本身相对于使用的场景来说没有任何意义。Foobar经常被单独使用;而当需要多个实体举例的时候,foo,bar,和baz则经常被按顺序使用。

在计算机程序设计与计算机技术的相关文档中,术语foobar是一个常见的无名氏化名,常被作为”伪变量”使用。 从技术上讲,”foobar”很可能在1960年代至1970年代初通过迪吉多的系统手册传播开来。另一种说法是,”foobar”可能来源于电子学中反转的foo信号;这是因为如果一个数字信号是低电平有效,那么在信号标记上方一般会标有一根水平横线,而横线的英文即为”bar”。在《新黑客辞典》中,还提到”foo”可能早于”FUBAR”出现。

Original: https://www.cnblogs.com/appletree24/p/16758675.html
Author: Appletree24
Title: 聊聊foobar是什么?

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/685618/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 【赵渝强老师】Flink的DataSet算子

    Flink为了能够处理有边界的数据集和无边界的数据集,提供了对应的DataSet API和DataStream API。我们可以开发对应的Java程序或者Scala程序来完成相应的…

    技术杂谈 2023年7月24日
    062
  • 测试驱动开发(TDD)

    测试应用有很多方法,例如,黑盒测试、白盒测试、迭代测试等,然而,这些方法都是从宏观上描述测试的。为了在技术上保障测试的效果,Kent Beck(也是极限编程创始人)提出了在结果上进…

    技术杂谈 2023年5月31日
    089
  • dremio 权限体系

    尽管dremio 的社区版没有提供rbac 以及权限管理的模块能力,但是我们通过官方文档还是可以学到不少东西的,同时也有助于我们可以自己的认证授权模块 对象层级 dremio 是基…

    技术杂谈 2023年5月30日
    0106
  • 如何有效地开发 Jmix 扩展组件

    扩展组件的概念在使用 Jmix 框架开发中扮演着非常重要的角色。我们将在本文探索什么是扩展组件以及 Jmix Studio 在扩展组件开发和应用程序模块化方面能给开发者带来什么帮助…

    技术杂谈 2023年6月21日
    082
  • Linux&Windows查看IP相关

    ① 查询本机IP 命令行 curl ipinfo.io { "ip": "114.66.43.203", "city":…

    技术杂谈 2023年6月21日
    0118
  • 友情链接

    posted @2022-02-12 22:04 cjwen6 阅读(13 ) 评论() 编辑 Original: https://www.cnblogs.com/cjwen6/p…

    技术杂谈 2023年7月23日
    070
  • nodejs搭建一个webscoket服务器【转】

    //引入ws模块 var WebSocket = require( ‘ws’ ); //&a…

    技术杂谈 2023年5月31日
    0115
  • 天池学习赛–贷款违约预测

    贷款违约预测 赛题以金融风控中的个人信贷为背景,要求选手根据贷款申请人的数据信息预测其是否有违约的可能,以此判断是否通过此项贷款,这是一个典型的分类问题。通过这道赛题来引导大家了解…

    技术杂谈 2023年7月23日
    079
  • 5个节约生命的Python小技巧

    前言 Python是一种强大且易上手的语言,语法简洁优雅,不像Java那么繁琐废话,并且有一些特殊的函数或语法可以让代码变得更加 简短精悍。根据我的经验,下面介绍常用的5个Pyth…

    技术杂谈 2023年6月21日
    0104
  • c++多继承多态

    C++多继承多态的实现 如果一个类中存在虚函数,在声明类的对象时,编译器就会给该对象生成一个虚函数指针,该虚函数指针指向该类对应的虚函数表。多态的实现是因为使用了一种动态绑定的机制…

    技术杂谈 2023年6月21日
    081
  • crash命令 —— foreach

    参考:https://crash-utility.github.io/help_pages/foreach.html 用法: 在所有的进程上执行命令 这里的命令支持如下: 命令 可…

    技术杂谈 2023年5月30日
    092
  • asp 遍历文件夹

    转载请注明出处:http://www.cnblogs.com/cloudgamer/ 如有任何建议或疑问,欢迎留言讨论。 如果觉得文章不错的话,欢迎点一下右下角的推荐。 程序中包含…

    技术杂谈 2023年5月30日
    0100
  • 聊聊 Netty 那些事儿之 Reactor 在 Netty 中的实现(创建篇)

    本系列Netty源码解析文章基于 4.1.56.Final版本 在上篇文章《聊聊Netty那些事儿之从内核角度看IO模型》中我们花了大量的篇幅来从内核角度详细讲述了五种 IO&am…

    技术杂谈 2023年7月11日
    068
  • 千万级别的表分页查询非常慢,怎么办?

    一、问题复现 在实际的软件系统开发过程中,随着使用的用户群体越来越多,表数据也会随着时间的推移,单表的数据量会越来越大。 以订单表为例,假如每天的订单量在 4 万左右,那么一个月的…

    技术杂谈 2023年6月1日
    090
  • Vue路由传递获取参数

    通过Vue传递参数可以分为两种方式: params参数 query参数 params参数传递方式分两种: 路由配置参数 使用$router的push编程式添加 在路由中配置如下: …

    技术杂谈 2023年5月31日
    078
  • node 控制台 颜色输出

    picocolorshttps://www.npmjs.com/package/picocolors 作者:孟繁贵 Email:meng010387@126.com 期待共同进步!…

    技术杂谈 2023年5月31日
    098
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球