前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >为什么编程里习惯使用 i、j、k 等作为循环变量?

为什么编程里习惯使用 i、j、k 等作为循环变量?

作者头像
LIYI
发布2022-11-18 14:30:43
1K0
发布2022-11-18 14:30:43
举报
文章被收录于专栏:艺述论专栏

i 可能是 integer 的简写,或者是 int 的简写。有人说是 iterator 的简写,这个有点牵强。早期教材中的示例都是以 i、k、j 作为循环变量,后来这样使用成为了一种习惯。

但这种习惯是如何形成的呢?

在 1957 年诞生的 Fortran 编程中,有一个「I—N 规则」,以字母 I,J,K,L,M,N 六个字母开头的变量,如无另外说明均为整型变量,以其它字母开头的变量则为实型变量。实型变量在这里狭隘理解就是小数,包括指数形式的小数。

Fortran 更多是一种教学语言,后来诞生的 B 语言、C 语言都借鉴了 i、k、j 的命名规则,久而久之成为了习惯。

关于 I-N 规则,可以查看这里:https://micro.ustc.edu.cn/Fortran/ZJDing/Sec1-4.htm

Fortran 支持整型、字符型等类型。Fortran 诞生于 1957 年,比 C 语言早了 10 年,很难想象在远古编程语言中,竟然就有了对变量类型的支持。虽然对类型的支持并不是一开始就有的,但也基本发生在 Fortran 诞生之后的几年里。

JS、Python 这样的脚本语言没有变量类型,并不是它们低级,而是在它们的语言哲学里,没有类型更加简洁方便。

编程语言一向有两个发展方向,两种哲学:

  • 一,力求简洁,代码编写效率高,脚本语言基本都是这样,例如 Python、JS;
  • 二,力求高性能、安全与稳定,后端语言基本都是如此、例如 Java、C++。

一般情况下,我们都会保持这种语言中哲学的纯粹,但有时候我发现我们开发者又很矛盾,例如 JS,它本来是弱类型的脚本语言,当我们在享受它简洁方便的语言特性时,又搞了一个 TypeScript 出来,希望它也像 Java 那样具有强类型的严谨。

就像一个姑娘,有时候希望她泼辣,有时候又希望她文静。

有一个语言,因为诞生的晚,吸收了众多现代语言的优点,既有强类型语言的优点,又有弱类型语言的优点,它就是 Go 语言。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-09-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 艺述论 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档