程序员们如何看待华为方舟编译器首次开源部分代码?
update:
Himself65/OpenArkCompiler看上去东西很少,还不知道能不能build。
水平高低其实并不重要,看头还是方舟ark runtime的形成,如果这个能做成,鸿蒙就成了一半了。
bat的开源项目,也许有技术上更牛逼的,但这次是中国公司首次挑战通用操作系统生态。方舟编译器最终目的是鸿蒙os或者叫啥不重要的生态圈。中国的步枪火箭弹也许有很牛逼的技术上极其先进的,但对军力来说052d意义最重大。
安卓一开始是什么垃圾大家也都清楚,效率和ios差距有多大,性能有没有ios一半?不也还是到萝莉波普才正经的好用的?性能高低并不重要,反正k3v2用了两年不也撑过来了?
我估计华为一开始也没想直接弄鸿蒙,事发突然才这么弄的,结果弄出来一个ppt的鸿蒙。
开弓没有回头箭,不成功便成仁了。接下来基本上要正式和安卓决裂了,希望华为能做成,给国内厂商示范一下。
还有,开源不开源不重要,给个能编译出华为手机能跑软件的工具套呗?别拿安卓原来那套来充数就行。
前面那些个说这个多厉害的一定已经跑通了吧,请问下那个java-core库要去哪里获取。
还有那些说别人看不懂的,现在仅只放出来一个模块而已,虽然没什么注释,但是即便像我这样的菜鸡都能看明白不少,因为代码量真的不大,相信不少人还是能读懂这块代码的。凭什么人家稍微评论两句代码有问题就有人跳出来喷。还没见过有错误不给说的,而且我想问问你们在说别人看不懂的时候自己看懂了没。
能不能给个demo来尝尝鲜,看你们聊了一天了,但是现在能看代码没几页,能跑的东西也没有。
期待有个能让我游戏跑的飞起的编译器。
无法看待,全部放出来再补。
华为加班请勿叫好,你我都是打工仔,为国加班你先上,你加班,我帮你加油就行了。
实在是感慨,其实越激进的人往往教育水平和生活条件越差,但爱国主义的美妙之处就在于,哪怕你是共产主义接班人,一打上这鸡血,甚至能为资本家的剥削行为辩护。
问程序员如何看待,程序员说了你们又不爱听,还要把人往火刑架上绑。
一堆外行人,逼着内行人说自己爱听的话,啧啧啧。。。
我是一名做西点的厨师,但是我对中餐很感兴趣,有一天有人说要请我吃裹了面粉的炸鸡腿的,我非常高兴,可是他拖啊拖,我就说你是不是不想请我了啊,别人说,说了要请客你一个客人急什么,我说我是厨师想快点学一下中餐,他们嘲笑我,说我一个做西点的怎么学得会中餐。说要请我吃炸鸡腿的人在没请我吃炸鸡腿之前,见到了我说还要请我吃遍中餐的好吃的。后来他只请我吃了面粉,有人和我说,别人请的有得吃不错了,还有人和我说,你不是厨师吗,你要吃自己做去啊。
同理。
If it looks like a duck, sounds like a duck, walks like a duck. It is a duck .
如果一件事扭扭捏捏遮遮掩掩犹抱琵琶半遮面,那一定有隐情。
外行看热闹,内行看门道。但是外行总是比内行多10倍。
多行不义必自毙。
牛皮吹得震天响,小心观众来算账
发海报
发ppt
宣传
程序员不吃这一套的
但是菊花厂明知这样他还是干了
就像是这场scene一开始就是打算做给外行看的。
这样一想,我便不便多说什么了。
沸腾保命要紧。
程序员目前都还没下班,应该是没办法来答题
如何看?
当然是拿vscode看,谁叫我不会写c呢
这个的意思是不是说,现在开源的这部分不仅不可能编译出一个应用程序,连一个完整的java程序其实都是无法编译的。。。只能拿他给的示例代码开心一下?
我就想问编译出来的程序有文档吗?怎么用?
看下来至少有这些问题:
1、存在未使用的变量
2、乱用 move,很多应该要避免拷贝的地方反而不注意
3、许多方法只有声明并无实现,链接会报错吧
4、MapleCombCompiler::Compile 方法内存泄漏
5、其余是一些代码风格问题让我不爽(当然这就见仁见智了):
- h、cpp 目录分离
- 很少使用 const 变量
- 成员变量不使用下划线后缀或 m 前缀作区分
- 用 ifndef 做 include guard,而不是 pragma once
- 在 c++ 里写 typedef struct {...} Foobar
单论代码质量的话我打70分。
这一个月,华为程序员辛苦了啊
熬夜加班不容易,终于赶出来了
为了堵上营销吹出来的坑,这一个月太难
为啥会把源代码直接注释掉,这操作好迷啊
放了IR上来,一些方法只有声明没有实现...,后端没有,示例都跑不了,让大家看什么?又让大家验证什么?我相信60%还不行吗?(谜之60%,为啥不是59%,61%...)
编译器是工具,重点在于拿它干了什么活?大家不是做工具的,也不是闲得没事干,正在用其他工具发现新世界,恰钱养家。
开源最初放上来的得是1.0版本吧?现在整个0.1版,然后说开源了,是让大家给补全?我觉得可能有两点原因:圆之前营销吹过的牛;配合市场团队为9月初的新手机营销造势。Android那么大体量的项目最初开源的时候很糟糕,但也没这么不堪。g++也不是这样开源的,开源几十年来,广大开发者和开源爱好者都是在用的过程中提交issue不断完善的,是无数人的智慧结晶。
分批开源也特么是醉了,ppt说了分阶段开源就已经重新定义开源了,再说按照ppt的分阶段开源,这次应该开源的是编译器框架,只开源个IR也没兑现承诺吧?
好在华为在全球软件行业没有影响,在自由软件领域更是没有影响,否则要把行业玩坏。
那些现在叫嚣着让程序员解读的人,你们能不能等到1.0版出来了在看热闹?
Oracle表示:你们做这件事之前,和我们商量了吗?我们的讼棍,哦不律师,正在启动法律程序,这回正好连google一起告了。
以前别人说华为软件内部烂的一塌糊涂,我还有些怀疑是故意抹黑。现在就华为应该非常重视的一个系统的代码来看,还真是这么回事,这代码还真是烂的一塌糊涂。
其他风格问题不说,move const引用居然能通过 code review,华为可能就没有 code review 这一步吧。
我想起了很久以前我做的一个项目:
甲方爸爸要三天赶一个系统出来,甲方不缺钱
然后等资料就等了两天,最后一天早上资料来了,我说这玩意儿我做不了,一天时间我也就做个ui
那边说什么已经向上面汇报了,明天就要做展示要我看着办吧
于是我把明天要演示的熬夜做出来了,全是静态的东西,没有任何数据接入
半夜那边的程序员起了疑心,要我的源码说要改点东西
我大惊失色,连忙往里面加了很多变量函数之类的,为了证明软件很丰富
那边的程序员拿到源码就开喷:
“你的变量只声明了没调用啊,你的内存漏了啊,你的接口接的啥,无法运行啊。。。。。”
而我还在码代码,没空回复他,我还在马不停蹄的码代码
能运行不是就被发现嘛,不能运行还留个念想
最后顺着甲方要求的修改一起把系统做完了。。。。。。。
那个已经是一年后了。。。。。。。。。。。。。。。。。。
部分方法只有声明,没有实现。
我仔细思考了一下,这不就是代码界的“PPT”吗?
以前我有一个做通信的朋友,说死也不要去华为。
我问他为什么。
他说:7*24半夜爬起来修bug。
说真的我是理解的,程序员嘛,哪能没有bug。
但是每天,半夜,这是不是夸张了一点?
于是我就说他不爱国。
然后,他用了一个王者蔑视的眼神看了我一下。
今天,看了一部分代码,我觉得这个眼神我吃得不亏。
从最初宣布开源到现在都这么久了,结果还只是开源部分代码,还得继续等后续,这开源开得吞吞吐吐遮遮掩掩不情不愿的,在开源界应该也算是前无古人了。