Programming
In IC design there will always come situation where you have to parse a text file, csv file, or something else, and translate into another format.
For this, you need to learn a programming language. The only way to learn programming is to first have a problem that you really need to solve, and then learn programming as a tool to solve it.
Some of the languages I would recommend are listed below.
1: Python3
It’s the easiest to learn, most versitile programming language. There are excellent packages like numpy, pandas, seaborn, matplotlib, regex, json, yaml which makes reading csv files or other text files a breeze.
Why not use it
If things need to be ultra fast, then Python is not the right tool (although cython is an alternative) If you plan to give your code to someone who does not normally run python, then it’s tricky
Examples
2: C
If you’re programming embedded, C is what you must learn.
Why not use it
If Python will work
Examples
3: C++
Why not use it
If Python will work or you’re programming embedded, where dynamic memory allocation is a giant pain, or you’re a SW engineer that needs to debug other peoples code.
Examples
4: C#
Fantastic for Windows programs, especially GUI. Fantasitc support from Visual Studio
Why not use it
If Python will work
Examples
Not recommended any more
Perl
It’s amazing for text parsing. It has amazing regular expression support. It’s extremely concise (possible to write short programs)
Why not use it
It’s been called a “write only” language, it’s hard to read. See JAPH. Your code will be better in Python3.
This is a fully functional useful Perl program
perl -p -i -e "s/\s+(\.SUBCKT)\s+(\w+)/${1} ${2}_CV/ig;" test.scs