On Dec 22, 2:23*pm, "Jujitsu Lizard" <jujitsu.liz...@gmail.com> wrote:
> That would be Dennis Ritchie:
>
> http://en.wikipedia.org/wiki/Dennis_Ritchie
>
> C in my opinion is "just right".
>
> The reason is that if you go too high-level, there are performance
> implications.
>
> C is, plus or minus a little, a structured assembler.
>
> C gives you enough rope to hang yourself (no array bounds checking, etc.),
> but on the other hand you can write those things yourself if you so desire
> and you really won't take a performance hit over a "high-level" lanugage, as
> your compiled code will do about the same things that the compiled
> "high-level" language would do.
>
> If you can't consistently write correct code, you SHOULD be using another
> language.
>
> --
> Jujitsu Lizard (jujitsu.liz...@gmail.com)
I'm a big fan of C + datastructure tools. I find C + datadraw to be
higher performance than C alone, while more productive for EDA
applications than C++. The problems with higher level languages is
they make a lot of assumptions about the target application. They
assume we can afford some loss in performance, and that we mostly need
static inheritance rather than the ability to dynamically extend
objects that already exist in a database. Both assumptions are wrong
for most EDA programs. They also do simple one-class implementation
inheritance which isn't even capable of doing a decent performance
linked-list, because it optimally involves adding functionality to two
classes rather than just one. Graphs, the heart of most EDA
applications, are a PITA to describe generically in most high-level
languages, though Java does a better job than C++, IMO. Then there's
garbage collection. Modern languages assume they can help us by
eliminating the need to call "delete" on an object, but we have to
remove it from all database relationships anyway. They saved me one
line of code, but I still have to write my own destructors from
scratch.
There's a reason most new EDA applications are still written in C, and
it's not that programmers are stupid.