Monday, May 15, 2006

Learning a new language

One of the fun things about working in verification is every once in a while you have the opportunity to learn a new tool or a new language. Lately, I have been learning a new simulator and SystemVerilog.

The language I learned best as a computer science major, was the 'C' language. I believe the major contribution was just sitting down with the examples from Kerninghan and Ritchie's book called "The 'C' programming language". The beauty of the book is that it builds the language incrementally, and only rather late in the book (which is pretty short) starts alluding to built-in and other libraries.

SystemVerilog seems to have proponents who favor the "let's complicate things" school of thought. The books, courses, presentations, and "methodologies" I have seen do a wonderful service in making the language look complex and unwieldy.

In order to cope with the complexity, I'm doing my own incremental approach, and yes it even starts with "Hello, world". As I progress, I need additional functionality, I return to the books, skip through them and look for what I need. So far it has been going well.

As far as adopting libraries of someone else's code. I don't yet have an understanding of what these libraries actually do, and what I might gain by adding in these libraries. So until I do, I think I'll prefer to stick with my own code.