Open-Source Verification Language
An Anonymous Coward writes: "Atsushi Kasuya, verification engineer at Juniper Networks Inc., didn't like any of the existing languages used for verification -- so he wrote his own. Now Kasuya is offering his C-like language, Jeda, to the design community on an open-source basis under the GNU Public License."
... that's nice. Congratulations.
What makes a "verification language" different from any other? The linked site appears to already assume a knowledge of what one is, and it wasn't explained in the blurb.
WWJD? JWRTFM!!!
A verification language is used to put a chip in design through its paces. A program like Verilog is used to design a chip, then engineers will write test programs for the chip and see what happens. Those will be written in a verification language.
Someone else could explain this better most likely.
Let's not stir that bag of worms...
Vera was released as Free Software a while ago. It isn't GPL, but the license looks alot like the GPL. I wonder if one program going Free puts pressure on its compeditors to become Free too.
Appearently, one of the reasons Synopsys released Vera as Free Software was to make it an ubiquitous "industry standard" verification langague. Now, if other verification langages are to survive, they must even the playing field by becomming Free as well.
Just a thought.
Jordan Bettis
``Wherever you go, there's another stupid sigfile quote.''No real quibbles, but a few of things I think would be worth additional coverage:
Multicast Delegates - You mention them in passing, but this is one of the areas where a huge amount of manual plumbing code is removed.
Async Delegates - The fact that all delegate types can also called asynchronously via their .BeginInvoke()/.EndInvoke() methods is another very powerful aspect of the language.
Uncheck Exceptions - Anders was asked about this one at the PDC. The essense of his answer was that they realize it is an issue, but they feel the Java-esque solution is broken. (Primarily because it interoperates so poorly with versioning, but he touched on a few other reasons as well.) They have elected to omit this feature until a better solution can be found rather than introduce baggage that they will not want later.
Anonymous Inner Classes - There is no question that this is a useful feature, but as you pointed out the most common use of it in current Java code is to supply event callbacks. Since C# handles this case already with delegates, the lack is less likely to be noticed.
Sincerely, Mike Bouma
Languages such as these succeed primarily because they let idiots program with a minimum of theory, rather than because they let you get away with some trivial crap related to memory or array bounds. For instance, both provide all the data structures most programs ever need. Both provide such a trivial and high level view of the system and its capabilities that a trained monkey can use them, provided he can find accurate documentation and work his way around often shoddy implementations of reasonably good ideas. And frankly, both are boring as hell. They're the COBOL of the new century. The same people who refuse to learn vi because it is "hard," and yet think they can and should be able to program, which they apparently do not regard as being "hard," choose Java or C# or whatever over languages with fewer Fischer-Price My First Programming Language "features."
That said, they're better than C++, simply because they have a type "object" from which you derive your objects. And also, a lot of good people use these languages because they reduce the need to reimplement the basics all the time(a good thing,) and also because the boss said so(not necessarily good, but if you work on a team of any size, it probably is. Moronic java is much nicer than moronic C.)
As for the article itself, I don't know either language well enough to critique the comparisons, but I will say that apparently C# contains some stupidities. "Delegates" are pretty obviously intended to facilitate delegation, which can quite easily be done in Java despite it lacking them, for instance. Microsoft seems to have used their usual kitchen sink approach, and the result is probably a bloated pig with lots of "hidden features," as usual. You wrote it well, for whatever that's worth:)
By the way, I am utterly uninterested in any replies criticizing my characterization of these languages from people who have not written code in at least one assembler to perform nontrivial operations, mastered C, and at least used C++. There seems to be a rash of "programmers" lately who've never used a language that doesn't coddle them, and who vehemently attack anyone who says they're idiots - but they're still idiots, so if that's you, shut your hole. You cannot possibly understand where your language fits in if you don't understand other languages - and not just three or four of the same kind!
Sincerely, Mike Bouma
Repeat after me:
GNU General Public License.
GNU General Public License.
GNU General Public License...