自己动手造语言

一个人选用一个语言的理由可能是很少的,比如觉得开发效率高,觉得适合做网页,需求要求,或者甚至只因为作者长得帅;想要造一个语言的理由就比较多了,比如觉得xx语言写起来太麻烦,xx语言不安全,xx语言太慢,xx语言的风格不符合自己的审美等等

最早产生这个想法是09年,看完python的源码剖析后感觉编译原理里面的一些东西串起来了,其实大学就学过,只不过那时候大部分时间用来学lex和yacc怎么用,结果现在也忘了,其实这俩玩意完全可以不用。我得说龙书的确是本好书,如果它能再精简一些的话就更好了。不过,那时候也只是大概看懂了py的实现,主要是为了写C扩展不至于出问题,实际使用中py+C足够了,究其原因还是需求问题,在工作中简单的需求用脚本就能搞定,等需要用C的时候,相对开发时间又会宽裕很多,再者还可以用py建模然后用C重构,当然还有一点是,工作中可以有很多时间去做分析和设计,还有沟通,所以代码这块没有那么大问题

后面是自己做到projecteuler的时候,矛盾才凸显出来,首先是需求分析(思考过程)太长了,很难想象在好容易想出一个抽象方案后,还来设计数据结构和具体算法(或者还要考虑内存问题,如果用C的话),这等于心理自虐,所以我大都用py做,但第二个问题是py很慢,比如跑半个小时,于是又用java改写,结果等改完,py那头也快跑出结果了,如果最后答案不对,又得修改,来回很麻烦,再者我又觉得java写起来太啰嗦了,而且某些实现(高精度计算,泛型等)个人觉得就是一坨(原因以后分析)。。还不如用py。而且语言特性不同,改起来也很麻烦,比如py里面我有个(1,(2,3),"abc")这种tuple,可以直接作为dict的key,改java就呵呵呵了,自己搞class和hashCode吧

所以简单说,就是要一个语言,开发要像py一样简单(包括库和内置数据结构等),然后运行效率还需要高,向C看齐。是不是觉得耳熟?没错,当初go语言的广告就是这么说的(貌似非官方?),只是后面的实际情况大家都懂的,语法方面萝卜白菜了,反正我很不习惯,效率方面参考我之前的日志,虽然bench只有一个,但总的来说我猜不会超过java。或许已经有了这种语言,不过我懒得学……所以觉得还是自己尝试搞一个新的,比对目标可以选go现在的版本,C和java就别想了

最后的问题就是怎样才能搞定,语言是一个很复杂的东西,最早的fortran编译器花了18个人年,而现在,如果能充分利用已有的理论和技术,可以很方便地实现自己想要的,当然前提是对相关的东西比较熟悉了
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 自己动手制作一台SLAM导航机器人是一项非常具有挑战性的项目,需要一定的机械、电子、计算机编程等综合技能。首先需要设计机器人的整体结构,包括底盘、轮子、控制电路等等,并进行适当的加工和组装。 其次,机器人需要配备激光雷达、相机等传感器,以获取周围环境的数据,并使用SLAM算法实现地图构建和自主导航。这涉及到深度学习、计算机视觉等技术的应用,需要有一定的专业知识和实践经验。 最后,机器人的控制和调试也是项目中非常关键的一步。需要对机器人的控制器编程,以实现自主导航、避障等功能,并不断对其进行调试,使其性能最优化。 自己动手制作一台SLAM导航机器人是一项极具挑战性的任务,但也会带来非常有趣和有意义的经历。能够通过自己的努力和创力,实现一个自主导航机器人,不仅是一种技术上的成就,更体现了自己不懈追求的精神和自我超越的力量。 ### 回答2: 自己动手做一台SLAM导航机器人需要一定的相关知识和技能,并且需要进行步骤繁琐的操作。首先需要了解SLAM技术原理、机器人硬件结构、编程语言和相关软件等基础知识。其次需要购买所需的硬件器材,包括一个基于ROS系统的移动底盘、LIDAR传感器、IMU传感器、控制器、电源和其他所需材料。接着需要进行硬件组装和连接,把所有的硬件器材和传感器按照设计要求进行组装和连接。 接下来需要完成编程部分,对机器人进行代码编写和程序调试。编程需要涉及ROS系统、C++等多种编程语言,需要进行程序设计、实现、调试,以确保机器人顺利工作,并能实现SLAM导航功能。此外,还需要进行传感器校准,以确保机器人获取到的传感器数据准确无误。 最后,需要进行实地测试和调试,检验机器人的导航、避障等功能是否正常运作。整个过程复杂繁琐,需要耗费大量时间和精力。自己动手做一台SLAM导航机器人可以锻炼自己的技能和动手能力,同时也可以满足个人的爱好和需求,但需要投入足够的精力和耐心。 ### 回答3: 建一台 slam 导航机器人需要计划、材料和技能。首先,您需要确定您的机器人将运行的环境类型,并为其选择合适的传感器和控制器。一般来说,您需要使用激光雷达扫描环境,并安装摄像头和微控制器等设备以控制机器人的运动。其次,您需要设计、打印或制机器人的外壳,并组装电气元件和机器人控制器。最后,您需要编写软件以使机器人能够感知其环境、规划路径并导航至目标。 然而,这并不是一项简单的任务。要建高效的 slam 导航机器人需要一定的电子、机械和编程技能。因此,新手建议始于初级项目,例如制追踪线的机器人或机械臂。这些项目将帮助您熟悉机器人技术,同时也提高了您的技能和信心,为进一步建 slam 导航机器人做好准备。 如果您决定 DIY 一台 slam 导航机器人,提前做好计划和准备工作很重要。购买正确的材料、学习机器人编程和构建的技能,是这个过程中最关键的部分。当您完成了这个项目时,您将拥有一台能够感知、规划和导航的机器人,并且这个项目还能提高您的技能并激发您的创力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值