哎呀,毛毛生气了

2019-01-29  本文已影响1596人  LP理事会

简书有一位非常好的作者,叫毛大姑娘。有时候,我们叫她毛毛。毛大姑娘写的村姑系列文章,那是真好,简书99%的作者写不出!我非常非常喜欢她的文章。

可是我一直期待继续看她的村姑系列之类的好文,却好久没等到。过去看看她的目录,哎呀,都是些什么呀。

哎呀,毛毛生气了

然后她还在群里说自己一口气写了五篇技术文章。我就很烦,你这些文章一点都不好看,我想看你写的好看文章!大家都写自己的技术文章,这简书就没人看了。各行业的技术仅仅是世界上一千门技术之一。如果大家都写本专业的东西,隔行如隔山,一般人看懂的文章也只有一千分之一,斜杠青年可能看懂千分之三。

99.9%文章都看不懂,这简书的社区还怎么建立呀。咱手里的FTN还怎么涨价呀。

就说写代码吧,不是只有你们互联网行业的技术员写代码,俺们机械工人也是要写代码的。世界上好几千种编程语言,一般人能懂个十几种已经不错了。

跟你们不一样的是,你们是在写字楼里干干净净写代码,俺们在噪音轰鸣的到处是灰尘铁屑的车间里,满手机油铁锈地写代码。一不小心机器还会砸你脑袋上,我一个同事就被IRB3000砸破了头。

给你看看我们的代码啥样的。这个代码,是ABB的IRB3000机器人要用的,那些刷油漆的,电焊的,装配的,拧螺丝的,打毛刺的工人,都是用这种风格写代码。

IF bCurrentPos(pPreplace,tGripper,100\wobj:=Wobj0)= TRUE THEN
M oveJ pHome,v500,fine,tGripper\WObj:=wobj0;
ENDIF
IF bCurrentPos(pHome,tGripper,100)=FALSE THEN
! If no known position is found, check if the robot is in a specified
! window and move him to the first position in the program
ActualPos:=CRobT(\Tool:=tGripper\WObj:=wobj0);
IF ActualPos.trans.x<MinX OR ActualPos.trans.x>MaxX OR ActualPos.trans.y<MinY OR ActualPos.trans.y>MaxY OR ActualPos.trans.z<MinZ OR ActualPos.trans.z>MaxZ THEN
HomeOffset:="";
IF ActualPos.trans.x<MinX THEN
HomeOffset:=HomeOffset+"X :"+NumToStr(MinX-ActualPos.trans. x,0)+" ";
ELSEIF ActualPos.trans.x>MaxX THEN
HomeOffset:=HomeOffset+"X :"+NumToStr(MaxX-ActualPos.trans .x,0)+" ";
ELSE
ENDIF

模具车间的模具钳工老师傅经常需要用老掉牙的钼丝快走丝线切割机床、或黄铜丝的慢走丝线切割机床,来割一块铁,他们虽然年龄很大,对着蓝图编程速度却飞快,他们的程序代码是这种风格:

1 T 84 T 86

2 B 0 B 2900 B 2900 GY L4

3 B 5100 B B 5100 GX L3

4 B 0 B 2000 B 2000 GY L4

5 B 100 B 4900 B 9800 GX SR3

6 B 0 B 2000 B 2000 GY L4

7 B 5100 B B 5100 GX L1

8 B 5100 B B 5100 GX L1

9 B 0 B 2000 B 2000 GY L2

10 B 100 B 4900 B 9800 GX SR1

11 B 0 B 2000 B 2000 GY L2

12 B 5100 B B 5100 GX L3

13 B 0 B 2900 B 2900 GY L2

14 T 85 T 86

15 M 02

有些退休的老师傅会写更古老的线切割机床代码,比如有一台已经很多年的线切割老机器,那代码是这样的:

哎呀,毛毛生气了

我们机加工工人开铣床,也需要编程,铣床的程序代码是这样风格:

G92 X0 Y0 Z0;设定绝对坐标系,刀具位于开始位置(X0,Y0,Z0); N1 G90 G17 G00 G41 D07 X250.0 Y550.0;建立刀具半径补偿; N2 G01 Y900.0 F150; N3 X450.0; N4 G03 X500.0 Y1150.0 R650.0; N5 G02 X900.0 R-250.0; N6 G03 X950.0 Y900.0 R650.0; N7 G01 X1150.0; N8 Y550.0; N9 X700.0 Y650.0; N10 X250.0 Y550.0; N11 G00 G40 X0 Y0;

我们车间的流水线传送带或其他机器需要改变一下运行参数,维修电工需要给PLC编程,程序是这样的:

哎呀,毛毛生气了

有时候维修工也要懂气动编程,不是用电子的哟,完全是气动的,就算是最古老的气动计算机吧。那东西的编程是这风格:


哎呀,毛毛生气了 哎呀,毛毛生气了

我们生产的机械设备里用到很多51单片机,主管机器电气控制的电工经常需要写汇编语言代码以符合乙方客户要求。汇编语言据说写起来挺费事,中国电力一姐李大姐在清华读研的时候连最入门的《微机原理》都好几次不及格。但是我们车间工人写得很溜。代码风格是这样的:

ORG 0000H

LJMP START

ORG 30H

START:

MOV SP,#5FH

MOV A,#80H

LOOP:

MOV P1,A

RL A

LCALL DELAY

LJMP LOOP

delay:

mov r7,#255

d1: mov r6,#255

d2: nop

nop

nop

nop

djnz r6,d2

djnz r7,d1

ret

END

我们车间主任是个七零后,他从来不写代码,因为这是车间工人的事儿。但是有一次我帮他搬家,发现他以前也写过机械零件受力与外形尺寸计算的代码,是这种风格:

SUBROUTINE WBLEST(X,NOBS,ALPHA,BETA)
C
C COMPUTE MLES FOR SHAPE PARAMETER (BETA) AND SCALE PARAMETER
C (ALPHA) BY SOLVING THE EQUATION G(BETA) = 0, WHERE G IS
C A MONOTONICALLY INCREASING FUNCTION OF BETA.
C THE INITIAL ESTIMATE IS: RI=(1.28)/(STD. DEV. OF LOG(X)'S)
C AND THE TOLERANCE IS : 2RI/(106).
C
DIMENSION X(NOBS)
C
RN = FLOAT(NOBS)
SUMY = 0.0
SUMYSQ = O.O
DO 2 I = 1, NOBS
Y = ALOG(X(I))
SUMY = SUMY + Y
SUMYSQ = SUMYSQ + (Y
2)
2 CONTINUE
YSTD = SQRT((SUMYSQ - (SUMY
2)/RN)/(RN - 1.0))
XGM = EXP(SUMY/RN)
RI = 1.28/YSTD
TOL = 2.0
.000001RI
BETAM = Rl
GFM = GFUNCT(X,NOBS,BETAM,XGM)
C
C IF G(BETAM) .GE. 0, DIVIDE THE INITIAL ESTIMATE BY 2 UNTIL
C THE ROOT IS BRACKETED BY BETAL ND BETAH.
C
IF(GFM .GE. 0.0) THEN
DO 3 J = 1, 20
BETAH = BETAM
BETAM = BETAM/2.0
GFM = GFUNCT(X,NOBS,BETAM,XGM)
IF (GFM .LE. O.0) GO TO 4
3 CONTINUE
STOP 'GFM NEVER LE 0'
4 CONTINUE
BETAL - BETAM
ENDIF
C
C IF G(BETAM) .LT. 0, MULTIPLY THE INITIAL ESTIMATE BY 2
C UNTIL THE ROOT IS BRACKETED BY BETAL AND BETAH
C
IF(GFM .LT. 0.0) THEN
DO 7 J = 1, 20
BETAL=BETAM
BETAM=BETAM
2.O
GFM=GFUNCT(X,NOBS,BETAM,XGM)
IF(GFM .GE. 0.0) GO TO 8
----------------------------------------------page 2

8 CONTINUE
BETAH = BETAM
ENDIF
C
C SOLVE THE EQUATION G(BETA) = O FOR BETA BY BISECTING THE
C INTERVAL (BETAL,BETAH) UNTIL THE TOLERANCE IS MET
C
10 CONTINUE
BETAM = (BETAL + BETAH) / 2.0
GFM = GFUNCT(X,NOBS,BETAM,XGM)
IF(GFM .GE. 0.0) THEN
BETAH = BETAM
ENDIF
IF(GFM .LT. 0.0) THEN
BETAL = BETAM
ENDIF
IF((BETAH - BETAL) .GT. TOL) GO TO 10
C
BETA = (BETAL + BETAH) / 2.0
ALPHA = FNALPH(X,NOBS,BETA,XGM)
RETURN
END

我们车间的仓库管理员大妈也写过代码,我们用的螺丝螺帽垫圈之类的标准件数据库就是她二十七年前写的dBase。那时候好像叫dBase III, 这种代码当年很流行,据说不仅仓库管理员大妈会写,周鸿祎、刘强东和雷军也会写。

我说这些,意思是说,不仅毛毛美女你需要写代码,我们机械厂的很多工人也需要写代码。可是代码有啥好看?你的代码我们机械厂工人没兴趣去读懂。我们机械厂工人和仓库管理大妈写的那些代码你也未必看得懂。

编程语言实在太多。除了你们互联网技术员比较熟悉的六百种语言外,全世界还有几千种特殊用途的语言。正如除了你们日常使用的几种钞票,还有几千种风格各异的token。

亲爱的毛毛,如果我惹你生气了,那你就加我微信,我给你发红包赔礼。世界上没有什么事情是红包不能解决的。如何一个红包不能解决,那就发一个更大的。

如果你觉得人民币红包俗气,我就过几天给你发FTN红包。你要知道Fountain的技术员正在做FTN红包小程序,上帝保佑他们做得好。

其实我也觉得人民币够俗气。这东西总不涨价,还每年放水。自从我认识了二位导师,一位叫币布斯,一位叫简本聪,我就做梦都希望自己靠token发财,因为靠人民币发财太难了。

这二位导师的名字也很好记,币布斯就是币圈的乔布斯,简本聪就是简书网的中本聪。

如果我能在年底抢到几个FTN红包,我过了新年就发给你。

如果年底还是没有抢到FTN红包,那就请你耐心等待,等到4月以后,当杜鹃花开遍山坡,我再给你发FTN红包。

如果一个100个FTN的红包还不能让你开心,那就来一个1000个FTN的。

如果你觉得一个钱包不够,那就多申请几个。一个在群里抢,另一个专门收我的私包。

人生得意须尽欢
千金散尽还复来
十有九人堪白眼
百无一用是书生
三更灯火五更鸡
正是男儿立志时
币圈有险宜谨慎
古来富贵险中求

扫码加好友,给Fountain008发“FTN”进入微信讨论群
上一篇下一篇

猜你喜欢

热点阅读