My biggest gripe would be with the abomination of a language we have for functional design and verification, SystemVerilog.
- It has been developed without public discussion, now that the IEEE has shut down their mailing lists to non-paying entities and persons
- The steering committee are bright, well-meaning individuals... who don't appear to have any language design experience between them, and whose knowledge of programming languages appear to be limited to Verilog, Java and a daring dash of Tcl. They have never seen a feature they didn't think was worth adding as new syntax.
- It retains backward compatibility with Verilog, which was a cool hack in 1983.
- It basically looks like Java with a whole bunch of additional (inconsistent) syntax for stuff that should probably be in a standard library, but...
- It doesn't have a standard library
- Oh, and by Java, I mean Java as it was in 1995. Or at least, it will have sort of the same feature set, once they add interface inheritance - later this year. Yup, 2012.
- Its metaprogramming facilities are weaker than ANSI C, which is why most large ASIC shops end up brewing their own metalanguage syntax, usually by having embedded snippets of Perl or Tcl.
- And this inexpressive, crippled language somehow has a spawling mess of a spec that runs a whopping 1200+ pages.
I used Verilog a little bit in college, while studying for my EE degree. It didn't seem like a bad language. It was a weird blend of register transfer-level stuff and C-like pseudocode stuff.
It sounds like Verilog fell prey to the C++ philosophy of language design-- just keep adding anything that sounds remotely like a good idea to the core language. If it interacts poorly with what's already there, that's just too bad.
Unfortunately, new programming languages are NOT a good startup idea, in any field. Also, if people are paying 5 and 6 figures for tools in SystemVerilog, change is going to be slow.
- It has been developed without public discussion, now that the IEEE has shut down their mailing lists to non-paying entities and persons
- The steering committee are bright, well-meaning individuals... who don't appear to have any language design experience between them, and whose knowledge of programming languages appear to be limited to Verilog, Java and a daring dash of Tcl. They have never seen a feature they didn't think was worth adding as new syntax.
- It retains backward compatibility with Verilog, which was a cool hack in 1983.
- It basically looks like Java with a whole bunch of additional (inconsistent) syntax for stuff that should probably be in a standard library, but...
- It doesn't have a standard library
- Oh, and by Java, I mean Java as it was in 1995. Or at least, it will have sort of the same feature set, once they add interface inheritance - later this year. Yup, 2012.
- Its metaprogramming facilities are weaker than ANSI C, which is why most large ASIC shops end up brewing their own metalanguage syntax, usually by having embedded snippets of Perl or Tcl.
- And this inexpressive, crippled language somehow has a spawling mess of a spec that runs a whopping 1200+ pages.
The entire thing is a train-wreck.