码农戏码

新生代农民工的自我修养

0%

SEMI - 放弃 Java 开发而选择 C++

最近工作中碰到 SEMI

查阅资料时,翻到一个 C++ 程序员的发言

在中国,大多数开发者过度依赖现成的框架,而忽略了网络协议的底层原理。例如,大多数中国 Java 后端开发者都熟悉 MyBatis、Spring 和 SpringMVC,但却很少有人能描述 HTTP 消息的格式。这多么荒谬!这就是我放弃 Java 开发而选择 C++的原因。

不得不承认,这名程序员说得没错,他希望能更关注底层的原理和实现,而不只是上层框架的使用。
这其实是一名技术人员朴实的追求,深挖原理,都希望从底层字节层面弄懂弄通
但任何生物、事物都为是了生存、繁殖。所以都会去适应环境,放低存活门槛。
回顾计算机语言发展,从开始的打孔、汇编、再到C 、现代高级语言,都是在迭代改进,放宽入门门槛,增大存活机率,实现普世价值

而现在 AI ,更是通过自然语言去实现编码能力。因此从大的视角
程序员分两类:
1、专业程序员,垂直深度,就像这名程序员追求的,提供专业的工具,像语言缔造者,底层协义设计
2、应用程序员,编码语言的使用者,随着 AI 加持,未来可能人人都是程序员的程序员

简单介绍一下 SEMI: 全称 Semiconductor Equipment and Materials International,国际半导体设备与材料协会

一座 300mm 晶圆厂,动辄上千台设备,来自数百家供应商。
如果没有统一规则,晶圆厂只有两条路:要么被单一供应商锁定,要么为每一台机台单独开发对接方案——两条路都是天文数字的成本

一台来自德国的设备、一片来自日本的硅片、一套来自美国的自动化软件,要在同一条产线上无缝协作——靠的就是 SEMI 标准。它不生产任何一颗芯片,却定义了全球每一座晶圆厂的运行方式。

在 1975 年之前,业内流传着 2000 多种不同的硅片规格,每家供应商按自己的喜好发货,设备商只能追着”移动靶”设计搬运机构。

在1975年,第一个标准项目异常朴素却价值巨大:统一硅片直径
标准发布后不到两年,约 80% 的硅片实现了统一。

SEMI 标准本质上把三件事固定下来:

物理上能对接

晶圆盒的尺寸和把手位置、装载口的机械接口、地脚的间距、超纯水管路的接头规格——全都写死在标准里。设备到场即可就位,不需要现场”量体裁衣”。

信息上能对话

设备与工厂主机之间用什么语言说、说什么内容,由 SECS-I / SECS-II / HSMS / GEM 一族标准定义。晶圆厂写一套 EAP(设备自动化程序),就能挂上所有符合 GEM 的机台。

商务上能替换

接口标准化之后,同一种工艺可由多家设备商供货,且软件无需重写。这是晶圆厂议价能力的技术基础——标准的本质是把”定制”变成”通用”。

SEMI 标准是半导体产业真正意义上的”通用语言”——不掌握它,你只能看到设备的黑箱;掌握了它,你才能看懂这条产线是怎么被组织和控制起来的。

“通用语言”,在DDD中的关键概念。

这次我碰到的是信息对话,EAP能与我们软件通信,需要实现 SECS 协议。 SEMI 中 关于 SECS 部分将近有 500页规范。从底层通信消息结构与数据项 到 上层的报文语义,再到设备行为状态转换

如果从零开始实现,就像告诉了你 HTTP 协议规范,要去实现一个 http server,开发一个tomcat

好在开源社区有相应的实现,所以我也只是个应用程序员,最多是专业程序的爱好者。去实现一套 SECS 难度还是很大的

https://github.com/ostigter/secs4j/issues/5