我是做芯片前端设计开发的。
我目前掌握的语言包括但不仅限于:
Verilog:吃饭的家伙
SystemVerilog:验证必备
Perl:日常提高工作效率必备脚本语言之一
Makefile:搭建简易平台很好用
SystemC:用它徒手撸过一个简单的路由器,Vivado的HLS支持还是挺强的
Tcl:不会这个基本上你就没法使用综合往后环节的任何EDA软件了,还可以用来写图形界面,必修
Matlab:没学过这个你的数字信号处理课是怎么过的?我毕业进公司第一件事就是算法扔了一个Matlab算法让我写成RTL,你跟我说你不会怎么行?
C:搞电子和计算机还有人不会这个?主要是SOC就有处理器,有处理器就有C,而且底层驱动大部分都是C写的,少部分startup是汇编,不会C你怎么做SOC级别的验证?不仅要会,还得写得好,不然你到时候大部分时间都在debug你的测试代码而不是你设计的芯片。你知道仿真跑到你在C里写的一个bug需要多长时间么?要我说,芯片前端不仅要会写C,而且还要把C写好,没有BUG是基本要求。另外还要熟练掌握C的编译环境使用方法,什么测试开O3,什么测试只能开O0,等等。
C++:面向对象的C还能难倒你吗?
C#:业余用这个开发Unity游戏,协程是个好东西,一用就上瘾
Objective-C:早几年iOS游戏和APP开发的主流语言
Swift:当前iOS开发的主流语言,语法糖很多
JavaScript:事实上应该叫做ECMAScript,因为这门语言可以开发的东西太多了,本质上每种使用场景下它都等于一种新框架下的语言,用它开发过时序图绘制工具,网站,游戏引擎,Unity游戏,微信小游戏,Microsoft Office插件,BrainJS和TensorflowJS等深度神经网络架构,等等,重点推荐
TypeScript:升级版的JavaScript,模块封装化,更多语言特性
VimScript:Vim是最好的编辑器!但是VimScript真的不咋地,Vim里如果一定要用代码辅助编程的话我宁愿调用Perl接口,不推荐
VBA:不会这个的人,Office全家桶基本只能算是入门水平,没有它我每个项目里一个人写出那上千页整整齐齐的文档还很少加班是完全不可能实现的
Python:目前火的原因主要是AI的兴起,研究AI的时候顺手学的,不喜欢强制用缩进代替花括号的做法,但并不难学
Inky:很小众的一种语言,用于生成对话和剧本文字的语言,两天就能学会
汇编:最高纪录读书的时候徒手写了五页纸,上机一次调通,而且不学这个的人很难说理解了计算机的底层架构