假定提问者还是个学生。
1
首先,在问选什么之前,我们先问一个基本问题:【该不该学一门编程】。
这就要从你对你的本行专业,也就是机械的态度来看了,机械工程从事机器人相关领域,本身专业知识就足以让你能够立足了,无论是最直接的工业机器人系统集成(也就是一些中小型非标自动化企业),还是更为专业一些机械臂/机器人设计,机械本身都是重头戏,甚至服务机器人、AGV等等行业,一个优秀的地盘工程师都是极大程度决定产品成败的核心。如果进入特种机器人等领域,那更是机械的天下,看看国内的机器人实验室有多少是机械学院下属的你就知道了。
当然,这里有一个比较尴尬的逻辑:机械工程师在机器人技术团队里面往往是收入较少的岗位,尤其是当你拿自己已经工作多年的工资和那些刚毕业的AI工程师比的时候,你会有极大的失落感。这不是机器人领域的问题,而是互联网企业挖人的问题,那边的薪水太高了。
如果你希望自己今后还是以机械为核心竞争力进入机器人行业的话,那么大可以不必特别去学习一门语言,第一,没有必要,第二,如果是课余学学的话,你真的写不过那些专门干这个的。
2
第二个可能,就是你打算【成为一个具有机械基础的跨专业人才】,典型的角色基本上是围绕着机电一体化技术开展你的职业生涯,从目前我的经验看,这类出路的一个特点就是综合能力要求高,团队角色往往是方案制定者或者至少是共同决策者,基层的技术人员往往是没有地方给你生存的。这类技术人员通常是要求掌握:机械、嵌入式、传感器/基本信号处理等能力,可以在除了智能算法外提供一个产品的整套方案能力。大多数的中小型机器人公司的技术部门负责都是这种出身。如果超这个方向努力,那么你需要大量的扩展你的眼界,了解大量的不同技术方案。回到问题,在这类出路下,通用性强的语言一定是首选,嵌入式使用的C/C++无疑应该是首选,因为你的绝大部分技术积累应该都是以无linux的嵌入式为基础的。并且最好不要(最多是轻度)学习特定机器人环境,尤其是ROS,如果你早期就开始依赖ROS,你的出路会变得很尴尬,等你有充分的经验积累再去有取舍的学习更为合理一些。
3
第三个可能,就是【放弃机械设计】,也就是不再局限于原有专业,一心想去搞机器人,原有专业背景仅作为“我了解一些机械,对我的工作很有帮助 ”层面。从这样程度的来看待,优先学习机器人中更为“值钱”的技术,嗯,具体来说那就是AI喽。在这深度学习碾压一切的时代,学python去吧,投身机器学习的大潮,有精力适当补充个通用语言,比如c++,让你有个落地点。没有其实也没有很大的关系,因为实际情况是,我们培养的机器人专业的硕/博士生,只要在培养期间搞了AI,就没有人再干机器人行业了(嗯……貌似有极少数创业还是做了机器人,但反正没有应聘机器人行业的),全都去了互联网或金融领域。还是那个问题,会这些技能为啥不去那边挣钱啊……
4
最后,就是【反正有时间,就想学点东西】,如果是这样考虑的话,其实说实话,学哪个语言真的就不是太重要了,如果想偏传统一些,C++可能还是个不错的选择,毕竟给你以后有更多变数的可能。python也不错,甚至可以说是现在非专业码农的首选,更贴近流行应用。
开工大吉!同心战“疫”
扫描关注我们