开发编译器做为事业,有没有前途?高人请进!

babyfat123 2006-06-01 06:29:34
本人没什么精彩的资历,最喜欢的语言是C++,以前用asm写过os,现在有点忘了,可以说什么都会一点,但都不是特别深入吧.一直都对编译器有浓厚兴趣,私底下写过不少应用.我很欣赏c#的编译器和.net的整套体系,编译器技术水平之高有点到了变态的地步.
由于写过操作系统的关系,很想把一个编译器写出来,毕竟操作系统没有自己的编译器前途就会很弱.用开源的又不是特别理想,又不想重复开发.所以就有了超前的设想:把多个compiler高度抽象直接集成在一起,实现多种编程语言的编译,比如什么 c,c++,c#,javascript 全部用一个"超变态"的编译器来实现编译,解析.

本人学历不高,大专结业,因为工作要混饭的关系一直没有办法做成.最近失业了,很想把它变成现实,做这个东西的原因一是挑战技术,二是人生有点意义.另外的原因是本人对自然语言分析技术小有学习,认为这样的东西在原理上是可行的 :-)其次是写过一此超轻量级的编译器..例如xml parser.

由于本人经常失业,摆地摊又不在行,想靠做这行混饭感觉迷茫,请不要笑话,有什么看法请不吝赐教!
...全文
1621 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
月吻长河 2006-12-03
  • 打赏
  • 举报
回复
很多IC公司都有Compiler team!
楼主最好把系统结构、现代编译原理,程序设计语言等理论研究透彻深入
会有很大前途的
argenCHN 2006-12-03
  • 打赏
  • 举报
回复
我支持你
rawa459 2006-12-03
  • 打赏
  • 举报
回复
r03@sohu.com,QQ:160404973,正在编写一个精简C编译器,用于嵌入系统,有机会聊聊。
gturing 2006-06-05
  • 打赏
  • 举报
回复
呵呵,设计一种语言,实现它,希望它对很多人都有用
pankun 2006-06-03
  • 打赏
  • 举报
回复
我认为编译器在数学上就应该高度抽象,否则很多事情干不了
-----------------------------------
简单的来说,理想是美好的,不过是理想。理想是有可能变成现实的,但却可能很遥远。
你的想法,其实早有人提出来了,而且是编译器前端支持多种语言,后端支持编译成多平台的代码,可惜这方向的研究进展有限。
我也相信高度抽象能达到你的目的,但这复杂度呢,有可能是呈指数上升?你能承受得了吗?而且是一个人.而且这样做也没什么必要的益处。
建议楼主先试着做个简单的compiler,而不是parser.


引用"其实我也知道gcc那个c++开发者花了多少时间来做这个编译器,我不敢说自己的能力离他有多远,但我有新的设计思路,可以避免单独设计一个编译器.或者这么说,我只建立一个模型,就可以编译C,c++,pascal等..我想如果半年内做不出来一个雏形..就得跑路了..毕竟还要混饭的说"
----------------------------------------------
也许你打算用十多年,几十年来研究,我支持你,但半年的话.....建议楼主还是别白费这力.不如专心做好一个语言的compiler.

当然也可能是我个人见识短技术浅,上面仅是建议,楼主自己考虑吧 :-)
babyfat123 2006-06-03
  • 打赏
  • 举报
回复
网上做英雄,网下做狗熊,跑路了.谢各们大牛指教....
babyfat123 2006-06-03
  • 打赏
  • 举报
回复
to pankun(剑神一笑 Console下面干革命) :

:-)谢谢你的建议.说实话我不太有兴趣去证明别人的怀疑,因为把东西拿出来就是最好的说服力.楼上有位朋友说了,做一个编译译除了能证明自己技术很牛之外有什么意义呢?另一方面,即使再做出一个c#编译器又有何用 ? 个人的东西始终难以和商业化的产品抗衡.所以,我本身也不赞成别人去做这样的事,但如果要做,该站在什么起点呢? 能跟MS和GNU的编译器搞衡吗?显然很难,所以要做就只能站更高的技术制高点....俗话说搞原子话比不过搞茶叶蛋的,技术再牛又如何 ?中国的IT显然不只是技术的问题...所以我担心别的问题多于技术的问题,我想你工作后就有体会了.
你说的很实在,一个人精力有限.因为有限,所以才想尽可能设想去做精彩的事...不想说了,说得自己无所不能一样,其实只想混个饭而已,再牛也无用.
trrrr 2006-06-02
  • 打赏
  • 举报
回复
不错,呵呵,支持你
babyfat123 2006-06-02
  • 打赏
  • 举报
回复
to pankun(剑神一笑 Console下面干革命)

我在楼上给的那个网址的3D Demo就是基于极端数学抽象模型的,那些东东能给人很多启发 :-)我认为编译器在数学上就应该高度抽象,否则很多事情干不了,简单一点说吧,例如一个带纠错功能的xml parser遇到这么一段嵌套错误的xml fragment:
<a> a <b> b <c> <d> </a> a </c> c </b>
如何把它变成良好格式的xml?(现实中不太需要,但在浏览器里面很有意义),虽然看起来很简单,但如果建立的解决模型不对,就难以实现设计目标.抽象是什么?我给它的定义很简单:把问题简单化:-) 简单以易于掌控

to KeepRun(void)

不幸的是你说的话是我担心的问题:-) 人生短暂又何以得永生?世间能永生的东西唯一就是智慧,智慧的载体就是人类和人类遗留的制造物.人生看似是自己的问题,但唯一能定义人的价值的却在于社会.人可以认为自己很高贵,也可以认为自己很低贱,但却无法轻易改变社会对你的定义,所有的努力在修改这样一种东西:

#define 我是个烂人,不应该写程序

后来的努力修改成如下定义:

#define 我不是烂人,应该写好程序:-)


to xiangsu(不孝子,奮發圖強!)
希望将来不是:-)

to Gdlian(古德里安)
干和不干只是一个简单的变量,有时候变量很多 :-(

FengYuanMSFT 2006-06-02
  • 打赏
  • 举报
回复
> 写过一此超轻量级的编译器..例如xml parser.

parser != compiler

> 全部用一个"超变态"的编译器来实现编译,解析

Why?
What is the benefit?
babyfat123 2006-06-02
  • 打赏
  • 举报
回复
to 9731boy
据我所知,GCC是编译器集合吧,各个语言的编译器还是分开的.跟我设想的还是有点差别

ttoth12
我设计不了新的语言

to mwjx
其实我也知道gcc那个c++开发者花了多少时间来做这个编译器,我不敢说自己的能力离他有多远,但我有新的设计思路,可以避免单独设计一个编译器.或者这么说,我只建立一个模型,就可以编译C,c++,pascal等..我想如果半年内做不出来一个雏形..就得跑路了..毕竟还要混饭的说

to MagiSu
sinox的网站我去过,等我疯了,我会认真考虑 :-)

Gdlian 2006-06-02
  • 打赏
  • 举报
回复
没钱的事情从来不干

或者严谨地讲,半年内无法获取经济利益的事情,我一般不会做
xiangsu 2006-06-02
  • 打赏
  • 举报
回复
現代唐吉柯德
KeepRun 2006-06-02
  • 打赏
  • 举报
回复
进取是好的,不过作为事业就要另当别论了。请问你做的操作系统有什么用?编译器又有什么用?当然如果能申请到国家科研经费,还是很值得投入的。

人生短暂,做出需要的东西就很不错了,兴趣只有靠边站了。
pankun 2006-06-02
  • 打赏
  • 举报
回复
我也在做一个面向对象语言的编译器,毕业设计.国内想以做compiler为生不太现实,自己有兴趣做着玩倒是另当别论。


“我的想法是编译器的原理都是大同小异,完全可以用同一套引擎来实现编译(并不考虑速度),留出编程接口,只需要对特定语言添加特定代码即可.没有针对任何编程语言的内核设计,但又可以用于编译任何语言,使得编译器有广阔的扩展性能... 或者说有个家伙想自己设计一种新的编程语言也可以,他完全不需要再去写一个编译器代码,只需要用Plug-in的方式来添加一些特定代码就可”
--------------------
基本上不大可能,这需要太高的抽象能力了,比如C++和lisp之间的差异太大了。
而且这些东西也不是一个人能做的,比如C++的编译器,光你要了解C++标准所有细节需要花的时间都够你受了的.
babyfat123 2006-06-02
  • 打赏
  • 举报
回复
to FengYuanMSFT(袁峰 http://spaces.msn.com/fengyuancom/)

以前写xml parser是因为要把html转成well format的xml,后来便逐步接近此目标:无论在网上拿什么网页,经过转换后都可以顺利在任意xml parser里加载和验证DTD,但是仍然感觉不够极致:网页里面的css和javascript无法进行格式化,所以又有了想法去写css和javascript的parser.把这些东西做出来后很容易就弄成一个搜索引擎的前端,或者再弄出一个浏览器.由于一路下来写了很多的parser,做一个写一个,感觉很累,所以一直在思考有没有什么办法把parser和compiler集于大成,一劳永逸.

我的想法是编译器的原理都是大同小异,完全可以用同一套引擎来实现编译(并不考虑速度),留出编程接口,只需要对特定语言添加特定代码即可.没有针对任何编程语言的内核设计,但又可以用于编译任何语言,使得编译器有广阔的扩展性能... 或者说有个家伙想自己设计一种新的编程语言也可以,他完全不需要再去写一个编译器代码,只需要用Plug-in的方式来添加一些特定代码就可.

具体的好处我也说不太出来,毕竟编程语言比自然语言简单太多了....我收藏了一个国外顶尖高手的网站,送给大家看看(www.farb-rausch.de),看了这些超一流的3D Demo(推荐经典的fr-08: .das .produkt)觉得人生真是奥妙无止境,自己真是很渺小,哈哈,努力了!
CUG122032 2006-06-01
  • 打赏
  • 举报
回复
去Sinox
去Sinox
去Sinox去Sinox
去Sinox
MagiSu 2006-06-01
  • 打赏
  • 举报
回复
器浦就是你的榜样
mwjx 2006-06-01
  • 打赏
  • 举报
回复
这种东西是个人就能写出来
问题是你一个人做,写一个稍具雏形的大概要花10年时间,你又没工作,这10年你靠什么生活。
ttoth12 2006-06-01
  • 打赏
  • 举报
回复
厉害,支持你,为中国开发出一个世界级的程序设计语言!!
加载更多回复(2)

653

社区成员

发帖
与我相关
我的任务
社区描述
提出问题
其他 技术论坛(原bbs)
社区管理员
  • community_281
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧