作者回复: 你有任何语言的背景,都能学这门课。
毕竟,这门课本身,就是为了让你了解各门语言背后的知识。当然不会因为你所掌握的具体语言而卡壳。
当然,我在课程里的例子,有c的,有java的,有javascript的,这几门语言的语法看上去都很像,所以你不会有陌生感。很多同学应该都学过上述语言之一。
作者回复: 我离开GIS领域已有一段时间。为了你这个问题,专门问了两个同学,技术大咖。一位是腾讯地图的,一位是ESRI(ArcGIS,GIS领域的鼻祖级公司)的。
大致需要三类技术:
1.GIS的后端。都是用Java和C++开发的。对性能要求比较高。
2.做算法。基本上是AI框架 + python,要能快速迭代,作出模型来以后,还能还要用java和C++落地到生产系统。
3.做前端。这个就不说了。
GIS总体来说,还是挑战比较高的一个领域。门槛高,前途应该也比较好。这是我的看法,仅供参考。
作者回复: 非常同意那位前辈的意见。他很有经验。
一起努力!
作者回复: 呃...
那这个编译优化得很厉害。生成的目标代码很少。:(
作者回复: 如果学不会,是我的错!
作者回复: 谢谢兄弟鼓励!
作者回复: 谢谢信任,我一定努力,让大家都能听懂,都能上手!
作者回复: 一个厉害的flag!
敬佩!加油!
对了,我有点好奇,你想搞Logo,是要进入儿童教育或者大众编程教育领域吗?
作者回复: 哇,你的思维已经很靠前了!
一起加油!
作者回复: 对的,我明白你在说什么。
搞懂原理,就能更自由、更有信心的驾驭工具。因为本质上,你也可以写出这样一个工具。
另外,Antlr4又有很大进步,写语法规则更简单了。我怕这么好用的工具惯着大家,所以在课程里还是让大家从基础的坑踩起。比如左递归、结合性、优先级等必须说清楚。否则,大家用着工具还会是懵里懵懂的。
作者回复: 中科院是在地理所搞遥感和GIS。北大时也是在这个领域,是城环系,现在是城环学院。
那时用国外的GIS软件,人家都能支持脚本。觉得咱们怎么做个软件都没有支持语言的能力呢?
当时还在工作站上用mathematica。惊艳!强大的交互式命令和脚本。
作者回复: 感谢你分享领域需求!你说的非常对!
你所说的策略引擎、工作流等就是DSL。
另外神经网络领域,不管用哪家的AI库,但底层原理都是一样的,都是这几年深度学习领域那些进展,都是张量计算。所以,其实不同家的AI,应该都可以翻译成标准的底层。这就是ML领域的IR。然后再对应到不同的硬件上,比如TPU、GPU。这个领域内正在定标准。
作者回复: 哈哈!一起加油!
作者回复: 感谢信任!
作者回复: 一定能行!再入不了门,找我说道说道!
作者回复: 会的,会有帮助。
在编译原理的后端部分,我们会动手生成汇编、生成中间代码、生成字节码。这些都有共通性。以后你再看这些就不会觉得陌生了!
作者回复: 这门课的设计思路之一,是拿实例带动对原理的理解。否则很多同学都会被卡住。
第28篇,是应用篇。是用一个应用题目,以点带面的让大家对指令选择有个直观的体会,甚至是戏剧性的体会。
这也是我们的一个想法,一定要让大家建立直观的感受,这才算领进门。领进门以后,我们往往就自己有能力往前走了。
这就要致力于消除这样的疑问:编译原理的这部分到底是在讲什么?编译原理的知识点中,很多都面临这样的挑战。建立直观理解的挑战。
作者回复: 没错。从顶层到底层贯通,心里才会踏实。
作者回复: 愿意去拿起来的同学,就不简单。
作者回复: 呃...