不要以为C语言很独特!

学习C语言想当然以为那些简洁自由的语法是C语言独创,事实上,C语言是从B语言扩展而来,很多特性都可以在B语言中找到,B语言是BCPL的简化版,BCPL来自CPL,CPL借鉴了计算机鼻祖级别编程语言ALGOL, 而和ALGOL同时期四大编程语言还有FORTRAN/COBOL和LISP. 

  FORTRAN作为鼻祖级别科学计算编程语言,已经具备了后续编程语言所有的变量、初始化、语句和过程,而这些语言的体验,对于80/90/00甚至10后程序员可能是一种遗憾和缺失。

  不过没关系,本公众号会不断将这些尘封已久的编程语言捡出来,分享它们的特别之处,在对比和总结中对它们有更深刻的理解,这何尝不是一种快乐呢!大家加油!

  Fortran/Algol/Lisp/Cobol/CPL/BCPL/B/C/Simula/Smalltalk/ObjC/C++/Perl/PHP/Java/C#/JavaScript/Go/Rust/D/Dart/Kotlin......

  Algol最初目标是为了实现通用的程序设计语言,Lisp是最早的人工智能语言,Cobol主要用于商业金融领域。C语言因Unix名声大噪,Simula奠定了面向对象程序设计的基石,C++博大精深,可提供绝对自由度和犯错的无与伦比的感觉,Java/C#等语言正是在C++巨人的肩膀迅速前行。

  作为一个程序员,不了解编程语言历史不是背叛,但了解历史更不容易被语言表面迷惑,可领悟语言的真谛。


微风不燥,阳光正好,你就像风一样经过这里,愿你停留的片刻温暖舒心。

我是程序员小迷(致力于C、C++、Java、Kotlin、Android、Shell、JavaScript、TypeScript、Python等编程技术的技巧经验分享),若作品对您有帮助,请关注、分享、点赞、收藏、在看、喜欢,您的支持是我们为您提供帮助的最大动力。

欢迎关注。助您在编程路上越走越好!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/834619.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数字图像处理基于opencv-python 入门demo1

数字图像处理 随着人工智能发展,数字图像处理显得尤为作用,体现在如何让计算机代替人眼进行识别检测一些物体,进而对一些生活场景进行监控,控制以及处理。 图像的读取 """ Time : 2024/4/28 22:14 Author :…

vcs覆盖率合并和查看

1 vcs编译增加覆盖率选项 1)编译的时候增加的选项 VCS增加如下选项 vcs ${vcs_elab_opts} xil_defaultlib.${top} xil_defaultlib.glbl -o ${top}_simv \ -cm linecondfsmbranchtgl \ -cm_name ${top} \ -cm_dir ./${top}.vdb 上面的vcs…

6-3 Deque

作者 陈越 单位 浙江大学 A "deque" is a data structure consisting of a list of items, on which the following operations are possible: Push(X,D): Insert item X on the front end of deque D.Pop(D): Remove the front item from deque D and return it.…

LeetCode例题讲解:3005最大频率元素计数

给你一个由 正整数 组成的数组 nums 。 返回数组 nums 中所有具有 最大 频率的元素的 总频率 。 元素的 频率 是指该元素在数组中出现的次数。 示例 1: 输入:nums [1,2,2,3,1,4] 输出:4 解释:元素 1 和 2 的频率为 2 &#xf…

OpenHarmony实战开发——WLAN驱动框架介绍及适配方法

1. WLAN 驱动框架概述 WLAN 是基于 HDF(Hardware Driver Foundation)驱动框架开发的模块,该模块可实现跨操作系统迁移、自适应器件差异、模块化拼装编译等功能。从而降低 WLAN 驱动开发的难度,减少 WLAN 驱动移植和开发的工作量。 本文主要分析 WLAN 驱…

c++ upper_bound和lower_bound

upper_bound和lower_bound 是C的STL(标准模板库)中的两个函数,用于在一个有序的容器中查找特定元素的上界和下界。 upper_bound函数的作用是在一个有序容器中查找大于某个值val的第一个位置。它返回一个迭代器,该迭代器指向容器中…

mac重装pycharm失败

更新重装新版本后失败 试了好多个版本都不行 清除掉原来的pycharm残余信息后可以装上 检查是否有以下残留信息 rm -rf ~/Library/Application Support/JetBrains rm -rf ~/Library/Application Support/PyCharm*# Configuration rm -rf ~/Library/Preferences/PyCharm* # Cac…

Windows下安装人大金仓数据库

1、点击安装包进行安装 2、双击进行安装 3、点击确定 4、接着选择下一步 5、勾选接收 6、选择授权文件 7、显示授权文件信息 8、选择安装位置 9、点击安装 10、点击下一步 11、正在进行安装 12、设置密码。123456 13、系统正在进行配置 14、安装完成 15、登…

C 深入指针(3)

目录 一、关于数组名 1 数组名的理解 2 数组名 与 &数组名 的区别 二、使用数组访问指针 三、一维数组传参的本质 四、二级指针 五、指针数组 六、指针数组模拟二维数组 一、关于数组名 1 数组名的理解 //VS2022 x64 #include <stdio.h> int main() {int …

为什么要使用大模型

随着OpenAI引领的超大模型风潮&#xff0c;大模型的发展日新月异&#xff0c;如同雨后春笋般茁壮成长。在现今的科技舞台上&#xff0c;每周&#xff0c;甚至每一天&#xff0c;我们都能见证到一个全新模型的开源&#xff0c;这些模型的创新性和实用性不断超越前作&#xff0c;…

leetcode 1235

leetcode 1235 代码 class Solution { public:int jobScheduling(vector<int>& startTime, vector<int>& endTime, vector<int>& profit) {int n startTime.size();vector<vector<int>> jobs(n);for(int i0; i<n; i){jobs[i] …

Kotlin基础知识总结(三万字超详细)

1、条件语句 &#xff08;1&#xff09;if条件 if条件表达式&#xff0c;每一个分支最后一条语句就是该分支的返回值。适用于每个分支返回值类型一致这种情况。 fun getDegree(score: Int): String{val result: String if(score 100){"非常优秀"}else if(score …

GDAL的使用

栅格位置(像素或者是行坐标)和地理参考坐标之间的转换可以通过仿射变换实现&#xff0c;仿射矩阵可以通过GDALDataset::GetGeoTransform()得到&#xff0c;依据下面的公式将像素/行坐标转换到地理参考空间&#xff1a; X g e o G T ( 0 ) X p i x e l . G T ( 1 ) Y l i n …

Vue从入门到实战Day03

一、生命周期 1. 生命周期四个阶段 思考&#xff1a; ①什么时候可以发送初始化渲染请求&#xff1f; 答&#xff1a;越早越好&#xff0c;在创建阶段后 ②什么时候可以开始操作DOM&#xff1f; 答&#xff1a;至少DOM得渲染出来&#xff0c;在挂载阶段结束后。 Vue生命周…

SpringBoot+logback实现日志记录写入文件

前言 在实际的开发过程中&#xff0c;日志记录有着极其重要的作用&#xff0c;它帮助我们实现更高效的故障排查与调试、更及时的监控和性能优化、更全面的业务分析与决策支持…那么我们如何在SpringBoot项目中实现日志的个性化定制&#xff0c;以满足其他特殊需求呢&#xff1f…

csv 可视化 python代码

excel查看csv后,csv就被锁定了,不能修改。 用pyqt写一个csv查看工具,拖拽查看,非常方便 目录 第2版,提升加载速度 第1版,加载速度慢 第2版,提升加载速度 import sys import pandas as pd from PyQt5.QtGui import QStandardItemModel, QStandardItem from PyQt5.Qt…

987: 输出用先序遍历创建的二叉树是否为完全二叉树的判定结果

解法&#xff1a; 一棵二叉树是完全二叉树的条件是&#xff1a; 对于任意一个结点&#xff0c;如果它有右子树而没有左子树&#xff0c;则这棵树不是完全二叉树。 如果一个结点有左子树但是没有右子树&#xff0c;则这个结点之后的所有结点都必须是叶子结点。 如果满足以上条…

机器学习(三) ----------线性回归算法(梯度下降+正则化)

目录 1 定义 2 损失函数&#xff08;回归&#xff09; 2.1 最小二乘函数&#xff08;Least Squares Function&#xff09; 2.2 均方误差&#xff08;Mean Squared Error, MSE&#xff09; 2.3 均方根误差&#xff08;Root Mean Squared Error, RMSE&#xff09; 2.4 平均绝…

DDoS攻击的方式

原文网址&#xff1a;DDoS攻击的方式_IT利刃出鞘的博客-CSDN博客 简介 本文介绍DDos攻击的方式。 DDoS的含义&#xff1a;通过占用网络服务的资源让服务器应接不暇&#xff0c;从而拒绝正常的业务流量的一种网络攻击方式。通俗来讲&#xff1a;DDoS就是占用带宽等资源&#…

PC端网页特效异读

pc网页特效 一、三大系列1.元素偏移量&#xff08;offset系列&#xff09;&#xff08;1&#xff09;一些属性&#xff08;2).offset和style的区别(3).一些例子 2.元素可视区(client系列&#xff09;(1).一些属性(2).flexible.js源码分析 3.scroll系列(4).三大系列小结 其他&am…