To C or not to C (was Ladder Parser or Compiler)

S

Thread Starter

Simon Martin

Hi All,

I work all day in a mixture of C, C++ (MFC, stl), 4GL, SQL, etc. in a variety of situations and operating systems. (Jiri may not believe me as I
still owe him the code I wrote, but I am too ashamed to show how pitifully little I did. Bad time management).

Even though I prefer working in C++, I willingly operate in other languages. Why? This is easily explained by a nice example. Parts of the current
conversation could be better handled in spanish as it has a very nice range of expletives, but who would understand it? A handful of us? What about the rest. Is understanding spanish now a pre-requesite for using this mail list?

On the other hand, there are some serious advantages to using a programming language like C++, if you really understand what's going on. In my opinion it is a 6 month learning curve to write competent C++, longer to write good
compact C++. It is time well invested, on the other hand it is difficult enough to make time for a non work oriented problem without spending time learning a new language.

How about meeting half way? You can do a reasonably efficient simulation of C++ in C (using structures to encapsulate the data/function pointers), you don't get overloading, inheritance or other niceties but you do encapsulation and a reasonable feel for ++ness.

As for Phil's mention of looking a gift horse in the mouth, who's doing the looking, you or Curt. Curt could do this project by himself, but didn't, he let us share this project. At the start of the project C was proposed as the
programming language because most people knew it. Why didn't you seriously object at that stage. So you want to develop in LISP or Prolog go for it,
develop a parallel project. Could be a seriously interesting project in intelligent PLCs, but it is not this project.

NT/Linux has come into the conversation, great, most of the hidden parts of the system can be written very easily as Win32 console and Linux apps with just a couple of headers as conditional compiles (I do this on a regular basis). When you get down to memory management or screen control you have differences that must be resolved each in there own way. Write a library of equivalent functions, that's what I do. That way the OpenPLC runs on everything. What you got? We can run on it. Makes sense doesn't it?


Debian GNU User
Simon Martin
Project Manager
Isys
mailto: [email protected]

There is a chasm of carbon and silicon the software cannot bridge



_______________________________________________
LinuxPLC mailing list
[email protected]
http://linuxplc.org/mailman/listinfo/linuxplc
 
P

Phil Covington

I do not object to using C or any other language. All of the low level stuff I do I
code in C. Heck, I program PIC microcontrollers in C.

What I do object to is trying to force everyone who would like to contribute into using someone's favorite language whether its C, C++, Python, Pearl, Pascal, etc... I don't want to see Hugh Jack be discouraged from participating here just
because someone wants to be anal about the earlier choice of C for the programming language
in this project.

And being able to participate in this project is not a 'gift' if everyone has to _submit_ to the desires of it's creator...

> NT/Linux has come into the conversation, great, most of the hidden parts of
> the system can be written very easily as Win32 console and Linux apps with
> just a couple of headers as conditional compiles (I do this on a regular
> basis). When you get down to memory management or screen control you have
> differences that must be resolved each in there own way. Write a library of
> equivalent functions, that's what I do. That way the OpenPLC runs on
> everything. What you got? We can run on it. Makes sense doesn't it?

I agree totally...

Regards,

Phil


_______________________________________________
LinuxPLC mailing list
[email protected]
http://linuxplc.org/mailman/listinfo/linuxplc
 
Top