想自己开发语言, 可以用来做爬虫, 做网站 , 就行了, 这是第一个目标
但是我了解了一下,发现这里面门槛挺高的,似乎要很高的学历才行
所以想问问大家
谢谢
1
wandehul 2020-10-25 12:55:59 +08:00 11
兄弟为什么会有这种想法 ? 安安静静做个首富不行吗
|
2
siknet 2020-10-25 12:58:07 +08:00
用工具也可以啊,不一定非要学 python
|
3
villivateur 2020-10-25 13:01:04 +08:00 1
是的,一定要很高的学历,很强的思维能力才可以,否则是不可能的,至少概率上不可能
|
4
levelworm 2020-10-25 13:02:15 +08:00 via Android 1
学 Programming Language theory
|
5
fiveelementgid 2020-10-25 13:13:50 +08:00 via Android 6
需要对计算机体系有特别深的理解
操作系统交互 底层汇编或者 C 语言设计解释器 我又想起来了中科院的那个套壳 python 语言。。。。草 |
6
t6attack 2020-10-25 13:15:10 +08:00 1
《编译原理》
|
7
locoz 2020-10-25 13:19:31 +08:00 via Android 1
开发一个编程语言是很复杂的事情,如果你只是做个玩具的话倒是无所谓,但是如果你要做个有实用价值的东西,那还是算了吧。
|
8
Issacx 2020-10-25 13:19:41 +08:00 1
计算机里面就没什么东西是跟学历挂钩的。设计语法简单,实现这种语法需要一个编译器或者解释器,这门课的名字叫编译原理。兄弟你这需求还是学门现成的语言和一个框架比较快。
真想自己设计门语言也不一定要从头写到尾,前端自己写完,后端找个现成的就行。 |
10
msg7086 2020-10-25 13:24:32 +08:00 1
不一定要从原生通用语言开始做。有个东西叫 DSL,可以在现有的语言上搭,比徒手撸一个语言简单很多。
而且都 2020 年了,已经没有个人撸语言的意义了。 只有大厂才考虑自己搞新语言( Go 或者 TS 等)。 毕竟,没个几十个月薪几十万美刀的工程师,搞不定这玩意儿啊。 你自己一个人搞的话,首先得要几十年的时间。 学历不需要高,花时间读上去就行了。 活不到几百岁才是大问题。 |
11
geebos 2020-10-25 13:25:08 +08:00 1
和学历没什么关系,但是能开发一门能用的编程语言的话,至少在能力上已经超过国内绝大多数计算机专业的研究生了
|
12
secondwtq 2020-10-25 13:25:40 +08:00
语义啊语义…
|
13
black11black 2020-10-25 13:27:40 +08:00
@msg7086 请问 python 有相关项目吗,用 python 重新实现某种语法,用在特定领域,似乎挺好的
|
14
msg7086 2020-10-25 13:28:38 +08:00
@black11black 我不会 Python,可以看看其他 Python 大佬怎么说。
|
15
whileFalse 2020-10-25 13:30:25 +08:00 4
不一定要很高的学历,但要很高的能力。
如果 LZ 初中没毕业是因为现在才 9 岁,那应该不影响。 |
16
Perry 2020-10-25 13:31:56 +08:00
这个大学本科大多数人都做不到,光是理论知识就要学个好几门课。。。
|
17
Cbdy 2020-10-25 13:32:38 +08:00 via Android 1
看做到什么程度
简单的话,小学学历的脚本小子就可以了,比如用 antlar4 做一门在 jvm 上跑的小语言 |
18
Felldeadbird 2020-10-25 13:41:51 +08:00 1
设计一门新的编程语言不需要学历。
你只要了解计算机原理就可以了。 举个例子,你可以在 JS 上开发一门新的语言。也可以在 PY 上开发一门新的语言。 只是,这个东西,别人看起来可能会说,是一个库。 如果从计算机底层写起来……这不是学历的事情了。是时间的事情。你出来社会,根本没时间做。真正空闲,让你钻研的时间,就是大学了。。。 |
19
jsun 2020-10-25 13:47:24 +08:00 1
《计算机程序的构造和解释》推荐看看
|
20
natashahollyz 2020-10-25 13:54:05 +08:00 via iPhone
开发一个编程语言。。怎么说呢,能搞成的话,至少比 99.99%的人强。既然你问这了,那还是
|
21
lqw3030 2020-10-25 13:57:35 +08:00 via iPhone
把问题改成如使用 cpu 指令爬取数据,需求的知识就都出来了
|
22
Track13 2020-10-25 13:59:45 +08:00 via Android
此贴终结。
不需要任何学历。只要你有这水平就可以。 或者你 ppt 做的好也可以。😂 |
23
love 2020-10-25 14:12:26 +08:00 via Android
不用,你看最简单的 js 解释器,没多少代码,也没什么高深算法
|
24
cmdOptionKana 2020-10-25 14:12:45 +08:00 via Android 1
正面回答:1. 不要求学历。
2. 首先需要补充的知识是搜索引擎的使用方法。 3. 然后需要补充的知识都请自行搜索。 我这不是开玩笑,非常认真,搜索不是唯一的方法,但几乎是最好的方法了,比你上论坛问,甚至可能比你花钱请人教更管用。 |
25
chocovon 2020-10-25 14:16:43 +08:00
“可以用来做爬虫, 做网站 , 就行了”
现在的语言满足不了你的需求吗? |
26
IGJacklove 2020-10-25 14:27:50 +08:00 via Android
感觉你就是来骗回复的吧。
|
27
jmc891205 2020-10-25 14:49:24 +08:00
只是做爬虫做网站
为什么要重新开发一种编程语言? |
29
xth12138 2020-10-25 15:01:14 +08:00 1
|
31
loading 2020-10-25 15:07:02 +08:00 via Android
我想问问为什么要这样做?想出名然后逆袭吗?
|
32
crella 2020-10-25 15:10:27 +08:00 via Android
不只是 Python 之父有浓密的头发啊,你看 Delphi 、C#、Typescript 之父 A.H.
|
33
IgniteWhite 2020-10-25 17:12:04 +08:00 via iPhone 1
骗回复的吧。楼主说的这个人学历到底是啥啊
|
34
Liyiw 2020-10-25 17:17:25 +08:00 1
|
35
xd314697475 2020-10-25 18:47:35 +08:00 1
直接上编译原理课,然后看龙书,哪里不懂补哪里。
做一个入门的编程语言就是个大作业难度。 但是做一个 C++、C#级别的编程语言,全球没多少能做到的。 |
36
lixon166 2020-10-25 19:01:07 +08:00
不用的,认识一个最小的 python 程序员,才 10 岁
|
37
IgniteWhite 2020-10-25 19:07:33 +08:00 via iPhone
@lixon166 我儿子三岁写 python
|
38
Death 2020-10-25 20:05:08 +08:00 via Android 2
|
39
ncepuzs 2020-10-25 21:33:37 +08:00
缺铜币直说啊
|
40
lscexpress 2020-10-25 21:53:28 +08:00
@lixon166 我儿子认识一个最小的程序员,才 10 岁
|
41
araaaa 2020-10-25 21:57:19 +08:00 via iPhone
先写个 lisp 编译器
|
42
dtgxx 2020-10-25 22:04:22 +08:00
即使你有很高学历,你也不行。开发一门编程语言,还得火起来,得需要天时地利人和,不是随便说说。
|
43
DoctorCat 2020-10-25 22:04:29 +08:00 1
害,学就完了又不是没那条件。
编译器原理、工程和动手写编译器的教程英文资料比较多,英语好就行,难得是解决困难的动力。可以先写个简单的 lexer,再去考虑要不要继续学下去。 |
44
namelosw 2020-10-25 22:37:58 +08:00 2
我过一阵子离职赋闲一阵,打算搞个语言练练手,也正在学习,感觉如果只是普通语言这种需求的话,其实没那么深奥
楼上很多“不仅我不懂,而且我觉得你也懂不了”的态度…… 不要妄自菲薄,感觉中国的程序员普遍很不错,但是在语言设计之类的方面和欧美还有差距,主要问题是不了解,周围的人也不了解就觉得很难。可能欧美有很多老程序员以前都做过这些,就有一小部分这些文化传承下来了,或者教育上可能也有差距把。 1. 推荐一个很不错的书 http://craftinginterpreters.com/ 非常实用,一方面不像龙书或者 Stanford 的那个编译原理课那么费时间,另外一方面又不像其他的小教程那样过于凑合,里面还有很多额外的 consideration 。 只要看到前一小半写个 Tree walking interpreter 这个语言就完全能用了,后面写 VM Compiler 主要是为了效率。 这本书里面为了教育意义是手写的,但是每个小部分有现成工具可以用的时候脚注会告诉你。 明白道理之后,把工具也用一遍最后发现做编程语言也不过如此,困难 /麻烦的事情都被别人解决过了(比如 LLVM )。真正困难的是学别的东西,比如要造 Hindley-Milner 那种语言,首先得理解那套类型系统,再学习实现那套推断算法。如果只是发明一个跟 Python 差不多的普通语言,就没什么特别的坑了,这本书都教给你了。 2. 然后感兴趣或者想练手可以把这个当个作业做,用啥语言实现都行,花不了太多时间: https://github.com/kanaka/mal 3. 然后有兴趣深入可以再看 Stanford Alex Aiken 的编译器课程 4. 龙书都说浪费太多时间在 Parser 上了,而且又厚又枯燥,不看也无所谓,或者当个参考书偶尔翻一下把。 5. 另外有一些资源就是 SICP 的第四第五章其实就是重写解释器,重新发明 register machine 和汇编,然后再重新给这个机器写编译器,比较自成体系,如果对 SICP 本身或者 LISP 感兴趣可以看看,不感兴趣的话感觉有点绕路。 |
46
jxie0755 2020-10-26 07:08:25 +08:00 via iPhone
是“初中没毕业”,还是“初中无法毕业”?
|
47
THP301 2020-10-26 07:17:59 +08:00 1
上过 编译原理 课的大学生基本都知道怎么开发编程语言, 最好自己读一下相关的书籍,难度不高,只是概念有些多
|
48
xumng123 2020-10-26 07:37:21 +08:00 via iPhone
当然可以
|
49
xianxiaobo 2020-10-26 09:05:22 +08:00 1
我记得王垠说过发明一个编程语言没有那么难,就跟组装电脑似的。
发明 cpu,内存条,显卡这些零件才是真的难。 所以结论是应该不需要很高的学历,初中没毕业应该是可以的。 |
50
laike9m 2020-10-26 09:41:17 +08:00 via Android
建议放弃
|
51
Curtion 2020-10-26 10:06:47 +08:00 1
LLVM 呀,现代语言很多都是用这个作为后端
|
52
sunziren 2020-10-26 10:12:27 +08:00
加油,你可以的
|
53
billgreen1 2020-10-26 10:40:23 +08:00
不行,行的人不会来问的,直接干
|
54
neptuno 2020-10-26 10:46:25 +08:00
“可以用来做爬虫, 做网站”,就这俩需求,学学 python 不就好了,,,,人生苦短
|
55
www5070504 2020-10-26 10:55:54 +08:00
可以的 在国内很容易 你只需要套个壳 再从以前的历史书 或者周易之类的比较有知名度的书里边 挑个你喜欢的词当名字 就可以了
|
56
libook 2020-10-26 11:23:21 +08:00 2
学历只是一种粗略地评估个人知识和能力水平的方式,历史学博士未必能造出核反应堆来,最先发现原子结构的人肯定没有核物理博士学位。
你想干成一件事情,得看这件事情究竟需要哪些知识和能力,你不具备的话可以去学,当然去学这些东西可能还要求其他的知识和能力,就像你学习导数得懂得极限,想懂得极限得懂得基础算数,想懂得算数就得会数数。 你想自己做一门编程语言,可以去了解一下编程语言相关的理论知识和技能都有哪些,自己没掌握的就去学习。 当然如果只是应付差事,可以以各种现有的语言为基础套个壳子,改改关键字、加一些语法糖,比如之前出现的“木兰语言”就是用 Python 套的壳子。 如果你的终极目的不是想自己做一门编程语言,而是想做网站和爬虫,那没必要自己搞编程语言,流行的编程语言已经经受过了相当长的时间的检验,解决了大量问题,这些你都重新来一遍,还不如人家做得成熟,岂不是很浪费时间。除非你真的对各种编程语言的底层原理极其了解,胸有成竹可以做出一门更优秀的编程语言。 |
57
levelworm 2020-10-26 11:36:28 +08:00 via Android 1
我也推荐冷门书,game scripting mastery, 手把手教你写一个游戏脚本语言,带字节码和虚拟机的。比较浅显,适合入门的。
|
58
afx 2020-10-26 11:49:42 +08:00 1
嗯,我先下结论,玩具级的语言很容易设计出来,要做出一门好的语言那是大大大神才能干的。目前我们开发的软件内部就有一种类似于 excel 公式的功能,语法语义完全是结合特定行业设计的,所以自认为比一般的程序员在编译原理上应用得深一点,毕竟我们需要使用这个技术来赚钱的。目前遇到的问题,语法语义的严谨性,类似数学里面的定理,需要非常严谨,否则自身设计出来的语言很容易自身就矛盾了, 光这一点在我看来一般人根本无法胜任。看看当初只花了 10 天设计出来的 javascript 。
|
59
gitgabige 2020-10-26 12:15:31 +08:00 1
干就完了,即使是国家领导人,也不一定需要很高的学历的
|
60
Selenium39 2020-10-26 12:37:45 +08:00
@xth12138 中科院大佬
|