历经10年,我写了一个没人用的编程语言

平稳随机过程和各态历经性最清晰直观的解释 讲解了随机过程的概念以及平稳性和各态历经性 阅读详情

周末在网上闲逛, 发现了一个叫Piotr Fusik波兰程序员,从2011年开始,开发一个叫做Ć的语言。 

GitHub :https://github.com/pfusik/cito

注意,不是C语言啊,在字母C上还有一撇,这是个波兰字母,我搜了一下发音好像有点像“赤”。

他一个人整整维护了10年!

这个语言是干嘛的呢? 

当然可以用它去写程序,不过它的厉害之处在于:可以自动编译成 C, C++, C#, Java, JavaScript, Python, Swift, TypeScript and OpenCL C, 是不是很酷?!

我来了兴致,决定尝试一下。 

Ć使用C#写的, 需要 .NET 5.0, 这并不难,一会儿就安装好了。

然后用"赤"语言写个Hello World: 

public class HelloCi
{
    public static void SayHello()
    {
        Console.WriteLine( "Hello, world!");
    }
}

满满的C# Style 。 

完成了“赤”语言源码, 然后就可以把它编译成各种其他语言了。  

先试试Python :cito -o hello.py hello.ci  

结果如下:

class HelloCi:
  @staticmethod
  def say_hello():
    print("Hello, world!")

再试试JavaScritpt :cito -o hello.js hello.ci  

"use strict";
function HelloCi()
{
}
HelloCi.sayHello = function()
{
  console.log("Hello, world!");
}

编译成C语言会是什么样?cito -o hello.c hello.ci      

#include <stdio.h>
#include <stdlib.h>
#include "hello.h"


struct HelloCi {
};


void HelloCi_SayHello(void)
{
  puts("Hello, world!");
}

总之,一次编写,跨语言到处编译,看起来非常牛的样子。

没有深入尝试,但是我想这哥们应该会在编译以后的代码中体现各个语言的最佳实践,而不是拼凑的垃圾代码。 

可是这样的语言有什么用呢? 

比如用Ć怎么去写Web程序?

对不起,没有类库和框架,没有生态,得从头写起。

即使是哼哧哼哧写出来了,如何编译成别的语言呢?

每个语言都有自己独特的类库,所以也编译不了 —— 得了解所有语言的所有类库的所有细节,估计只能神才能办到吧。

Ć这样的语言,只能写那些完全独立,不依赖第三方类库的程序,比如Piotr Fusik用它实现了图像解码器,加密、解密等工具。 

但是这样的程序又有多少呢?

可是这哥们居然坚持了10年之久,就是凭兴趣做事,这是真爱啊。

我的知识星球“码农翻身”的球友“孔令贤”说: 

这种项目在现实中没什么卵用,但作为个人业余时间的兴趣和研究,对编程语言底层逻辑的基本功的提升却大有裨益。如果跟工作相关,那自然最好,否则拿出来吹吹牛逼当做茶余饭后的消遣也还不错,让人眼前一亮

确实是这样,做这样的项目需要精通多达10种编程语言,同时精通编译原理,对个人的技术功力大有提升。 

我到LinkedIn看了一下,他经历丰富,2004年从华沙大学毕业以后,做过兼职,在公司做过全职,自己开公司干过,现在在Intel,做高级编译器工程师。

我想他应该不是996,应该没有无穷无尽的需求,他有时间、有精力十年如一日地维护这样的项目,追随自己的兴趣。 

这样程序员多了,一定会产生伟大的技术发明和创造。

相信大家都有这样的体验:高强度,满负荷、被逼迫的软件活动只会产生垃圾。

好的、有创造性的想法通常产生在自己感兴趣的领域,在适度的压力下,在不断的追求中,突然灵机一动想出来的。

“有闲”很重要。 

年轻时我也有自己的梦想:

48b823855e1b830e01fd5ac838cf81c1.png

可是,梦想败给了现实。 

我丝毫不怀疑中国有很多天才程序员,只是绝大多数都被几座大山压着,每天累得要命,没有机会用自己的聪明和才智去创造。

算了,不说了,我去干活去了。 

(完)

最后,再介绍一下我的一个备份号“想躺平的程序员”,防止被人投诉后失联,请小伙伴们保存一下吧。

这个号不会空着,经常会发一下轻松有趣的东西,让大家在紧张的工作之余乐呵一下。

随机过程的各态历经性 设X(t)是一平稳随机过程,若mXT=X(t)‾=E[X(t)]=mXmXT​=X(t)​=E[X(t)]=mX​依概率1成立,即对任意的ε>0ε>0有lim⁡T→∞P{∣X(t)‾−E[X(t)]∣≤ε}=1T→∞lim​P{∣X(t)​−E[X(t)]∣≤ε}=1则称随机过程X(t)的均值具有各态历经性。 阅读详情

相关推荐

RK3588设备树调试实战:解决NPU不加载、USB3.0识别异常与DP显示问题

本文深入探讨了RK3588设备树调试中的三大典型问题:NPU不加载、USB3.0识别异常与DP显示问题。通过详细的问题定位步骤、关键设备树修改和调试技巧,帮助开发者快速解决硬件适配中的挑战,提升RK3588平台的开发效率。

weixin_30576827的博客 476

常见的十几种编程语言介绍

作为一名小白,在刚接触编程的时候,常常不了解这些编程语言具体有什么用途,或者说不知道应该学习哪种语言能实现自己想要从事的IT领域方向,于是,结合自身学习经验以及资料查找,我整理了一些常见的编程语言的介绍,帮助大家认识了解编程语言的特点、用途,从而快速明确学习方向,制定学习计划。Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。——(与java的功能相似,但主要开发的软件类型不一样) / (创始者:微软公司)

qq_46094651的博客 4万+

还在用iReport 5.6.0?手把手教你用JasperSoft Studio 6.8.0设计报表(附JDK 11+兼容方案)

本文详细介绍了从iReport 5.6.0迁移到JasperSoft Studio 6.8.0的全过程,包括JDK 11+环境配置、项目迁移实战、高级特性应用及常见问题解决方案。帮助开发者高效完成报表生成工具的升级,提升开发体验和报表性能。

weixin_30687051的博客 407

十大编程语言,每一个都不容易学,但每一个又很有用,黑客必备

一定要注意,您选择的编程将在很大程度上取决于您要定位的系统类型和计划使用的漏洞。因此,根据您的策略,任何语言都会很棒。

weixin_67991858的博客 1万+

Windows系统下AutoDock 4.2.6安装避坑指南(附MGLTools配置技巧)

本文详细介绍了在Windows系统下安装和配置AutoDock 4.2.6的完整流程,特别针对分子对接研究中常见的软件安装问题提供了解决方案。从环境准备、分步安装到常见报错处理,涵盖MGLTools配置技巧、工作目录设置和环境变量优化,帮助科研人员快速搭建稳定的分子对接平台。

weixin_29234239的博客 313

图片边界矢量化-地理配准

无地理和投影信息的JPG图片,通过ArcGIS进行地理配准(Georeferencing)完成数字化边界。

u012727861的博客 1904

8种编程语言对比,究竟谁更好用

8种编程语言对比,究竟谁更好用

Java癫疯的博客 1万+

cadence——MOS晶体管I-V特性曲线仿真

MOS晶体管I-V特性曲线仿真 目标:使用cadence绘制晶体管的I-V特性曲线(dc仿真) 流程: 新建原理图,将MOS管的栅极电压设为变量Vg,漏极电压设为变量Vd 打开ADEL,点击Variables——Copy From Cellview添加变量;并选择dc仿真,对Vd进行扫描 以Vg作为参变量进行仿真,点击Tools——Parametric Analysis进行设置 选择漏极电流作为输出,进行仿真即可得到I-V特性曲线 ...

skycmq的博客 1万+

编程语言有哪些?这些知识可以了解一下

作为一名新手程序员,在选择编程语言时可能会感到困惑。本文将介绍一些常见的编程语言,以帮助您更好地了解它们以及其应用领域。

2301_77769537的博客 1579

告别“静态组件”:Adobe XD的堆栈+状态,打造“活”的响应式UI

今天,我想分享一套能彻底告别这种“笨方法”的、Adobe XD中的进阶技巧,通过组合使用“堆栈”、“内边距”和“组件状态”,去构建一个能自动适应内容、真正“活”起来的智能响应式组件。

Kingsdesigner的博客 760

手把手教你RK3568 MIPI屏驱动适配,纯干货!

RK3568 作为一款高性能的多媒体处理器,在嵌入式领域中备受瞩目。它采用了先进的 22nm 制程工艺,搭载四核 Cortex-A55 处理器,这种架构为芯片提供了高效的功耗比,使其在运行各种复杂任务时,既能保证性能,又能有效控制功耗。在实际应用中,无论是多任务处理还是运行大型应用程序,RK3568 都能凭借其四核 Cortex-A55 处理器,实现流畅的操作体验,满足智能设备对高性能和低功耗的需求。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 4069

黑客常备十大编程语言,每一个都不容易学,但每一个又很有用

一定要注意,您选择的编程将在很大程度上取决于您要定位的系统类型和计划使用的漏洞。因此,根据您的策略,任何语言都会很棒。 1. C语言 它被称为“所有编程语言之母”,也是Hacking社区中的关键语言。今天,我们拥有的大多数流行操作系统都基于C语言运行。从Windows,Unix内核到Linux及其发行版。 与大多数语言相比,C语言的低级性质为其带来了额外的优势。它使黑客和安全人员可以操纵系统资源和硬件,包括RAM。 C以编写极快的漏洞利用程序而闻名,这些漏洞利用程序在系统的较低级别上执行。C语言还因在执行

m0_59235945的博客 2万+

知识图谱-KGE-语义匹配-双线性模型-2018:SimplE

【paper】 SimplE Embedding for Link Prediction in Knowledge Graphs 【简介】 本文是加拿大英属哥伦比亚大学的两位学者发表在 NIPS 2018 上的工作,文章提出了 SimplE(Simple Embedding)。这篇和前面一篇差不多,也是对 1927 年的 CP 进行改进(简化),传统CP为实体分配的两个向量是独立训练的,SimplE利用关系的逆在三元组打分函数中加上了一个对称项,使得每个实体的两个向量依赖学习,并且 SimplE 的复杂度随

u013250861的博客 958

平稳过程的各态历经性

平稳过程的各态历经性1.各态历经的定义2.例题2.1 例1 1.各态历经的定义 如果一个随机过程是平稳的,而且是均值和相关函数都具有各态历经性,那么我们称这个平稳过程具有各态历经性。 均值各态历经的定义 <Xt>=l.i.mT→∞12T∫−TTXtdt<X_t>=l.i.m_{T\rightarrow \infty}\frac{1}{2T}\int_{-T}^{T}X_t...

xd1501013的博客 1万+

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

【随机信号】各态历经过程与非各态历经过程的区别

随机信号处理 概念各态历经过程(Ergodic Process)与非各态历经过程(Non-Ergodic Process)是随机过程理论中的两个重要概念,它们主要区别在于统计特性的获取方式和过程的长期行为。各态历经过程的主要特点是其统计特性可以通过时间平均来获得,而不需要集合平均。这使得在实际应用中,对各态历经过程的分析和处理相对简单。非各态历经过程则需要通过集合平均来获取统计特性,单个实现的时间平均可能无法反映其真实特性。这在某些情况下可能会增加分析和处理的复杂性。

tsumikistep的博客 1493

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

各态历经过程

时间平均值与时间自相关函数 对于一个函数,用A[⋅]A[\cdot]A[⋅]来表示其平均值,比方说对信号s(t)s(t)s(t),其时间平均值为 A[s(t)]=lim⁡T→∞12T∫−TTs(t)dtA[s(t)] = \lim_{T\rightarrow \infty} \frac{1}{2T}\int_{-T}^T s(t) dtA[s(t)]=T→∞lim​2T1​∫−TT​s(t)dt ...

qiongyu0422的专栏 4449

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

各态历经性的判定

各态历经性的判定1.均值函数具有各态历经性的充要条件2.实过程3.t≥0t\ge0t≥0的情况 1.均值函数具有各态历经性的充要条件 设X={Xt,−∞<t<+∞}X=\{X_t,-\infty<t<+\infty \}X={Xt​,−∞<t<+∞}是平稳过程,则均值函数具有各态历经性的充要条件是limT−>∞12T∫−2T+2T(1−∣τ∣2T)Cx(τ...

xd1501013的博客 8349

各态历经性(Ergodicity)

定义: 设X(t)是一个WSS过程,如果对所有样本函数有: 1,  均值各态经历性(time-ergidic): 2,  自相关函数各态经历性(autocorrelation-ergodic): 则称X(t)是(宽)各态历经过程。 各态历经性解决了随机过程理论的一个很实际的问题:对于一个具体的随机过程问题,估算其每个

Never Ending Maze 2万+

均值各态历经的例题

均值各态历经的例题例1 例1 设Xt=Acoswt+Bsinwt,−∞<t<+∞A,BX_t=Acoswt+Bsinwt,-\infty<t<+\infty A,BXt​=Acoswt+Bsinwt,−∞<t<+∞A,B独立且都服从N(0,δ2)N(0,\delta^2)N(0,δ2)的随机变量,www为常数,讨论X={Xt,−∞<t<+∞}X=\{...

xd1501013的博客 2890

随机过程之平稳过程与各态历经过程

1.平稳过程 平稳随机过程是一类重要的随机过程,在很多工程领域中,有很多随机过程是平稳的或近似平稳的。平稳随机过程的分析要比一般随机过程简单,因此,对它的分许是重要的和必要的。如果随机过程的统计特性并不随时间变化,则称此过程为平稳随机过程。具体定义如下: (1)若随机过程X(t)的n维概率密度函数与时间起点无关,即, 则称X(t)是严格意义上的平稳过程,简称严格平稳过程,或狭义平稳过程。研究...

王子云的博客 2万+

从一个月2500没人要到大厂技术主管的编程之路|我的十年

我们程序员,即便做到CTO,也远没有到拼才华的时候,即使吹上天,也不过是普通人,一些看起来比我们牛逼的人物,只不过在别人选择安逸的时候,他选择了拼搏而已。 我也一样,曾几何时,我也是2500一个月都找不到工作的青涩少年,也是帮别人发传单、做门童,满地找兼职的学生仔。 这篇文章很长,近7000字。我选取了我人生中的几个重要经历和抉择,这些事件,持续影响了我的一生,希望对大家有所启发。 通过这篇文章,我只想让大家知道,我跟大家一样都只是普通人,也曾经处在比大家更差的阶段,只是靠坚持和毅力,把一手烂牌打得看

启舰 1万+

编程语言发展简史

编程最早可以追溯到提花机的使用,那时我国古代人为了在衣服上设计出绚丽多彩的图案,研制出了花本提花机。

lywstuding的博客 2万+

随机过程中的相关概念理解 -- 严(宽)平稳、各态历经

严平稳和宽平稳的关系,可以用个图简单表示如下:如果严平稳过程的二阶矩存在且有限,那么它一定是宽平稳过程,反之则不一定。如果宽平稳过程是正态过程,那么它一定是严平稳过程。宽平稳过程一定是二阶矩过程。以后提到的平稳过程,除非特别指明,否则都指的是宽平稳过程。通俗地说,就是指经历各种状态,在通信理论中,对于一个平稳随机过程,如果统计平均值等于时间平均值,统计自相关函数等于时间自相关函数则称之为各态历经性的平稳随机过程。

qwer12344512的博客 5565

历经5代跨越25年的RTC架构演化史

点击上方“LiveVideoStack”关注我们作者 | 袁荣喜技术审校 | 吴鹏强内容编辑|AlexRTC架构演化史 视 野#008#随着移动互联网普及和疫情叠加,实时通信技术(R...

LiveVideoStack 9018

探秘Tauthon:一个历经风雨的编程语言分支

探秘Tauthon:一个历经风雨的编程语言分支 项目简介 Tauthon,版本2.8.5,是一个历史悠久的编程语言分支,承载着自2001年以来的迭代与创新精神。它由Python Software Foundation授权,并在多个时期内经历了多次版权变更,其核心目标是提供一个可应用于多种场景的强健、交互式、面向对象的编程工具。 项目技术分析 Tauthon是Python的一个衍生版本,它既保留了P...

gitblog_00090的博客 455

随机信号分析| 03 随机信号的各态历经性分析

各态历经性的含义是: 随机信号任何一个样本函数的时间平均依概率意义等于统计平均。这句话初看很抽象,举一个例子:假设有一个人叫A,另一个人叫B,A因为高考失利进入一所双非大学读书,而B高考考的非常好,考入了一所211985大学,经过四年的学习,A成功考入B的大学,在人生经历的意义上,A和B都在同一所大学读书了,但是只是时间先后的不同,所以从人生经历的意义上,A总会读一个好大学的,这就是经历或者叫历经。还有一个更浪漫的例子: 人离世后,构成身体的所有粒子并不会消失,只是散入宇宙。而在无限漫长的时间里,依据概率与

2301_81197800的博客 697
上一篇: 漫画 | 被TDD/BDD/DDD......“逼疯”的程序员
下一篇: 敢写操作系统源码系列?我就等着看你笑话!
码农翻身
码农翻身 《码农翻身》作者 《码农翻身》作者
博客等级 码龄8年 3万+粉丝 1084原创
评论 55
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值