about c#

Engineeren

Member
Join Date
Mar 2004
Location
Ýstanbul
Posts
20
Hii everyone!!!
I have a few questions about C#...

1)What is the significance of C# for automation system?

2)What is the advantage of C# according to C++ for automation system?
 
Last edited:
These are not "reality" questions.

I would bet there are very few installed C# programs written for automation systems compared to a canned HMI/SCADA package.

I would say that most custom applications for automation systems are written in VB.


Your best bet would be to read the book and find the answers to these questions. It sounds like these questions probably go along with a book or similar that you were supposed to read, and the answers are probably there, word for word.
 
be specific

There are many different areas of automation software.
MMI - man machine interface
Comm drivers
Ladder logic emulation (soft PLC)
Flow chart programming
Shop floor data collection
DCS/SCADA
Batching apps
Process simulation
Hardware design (electrical CAD)
Real time relational data base (i.e. Aspen tech)
Embedded system based control software
etc.

What area are you specifically interested in?
 
#1. C# (554.3653 Hz) works under the alias of Db has had very little impact in the automation industry. It can be used as a tone in an some annuciator systems.

#2. C# is 27.5Hz lower than C++ (587.3295Hz) which is commonly known as D major. Since C# has a lower frequency it has less zero crossings and higher avg. power at the same amplitude than C++.

:D
 
Uses of C#

Eren:

Here is a good link which encompasses many different aspects of Windows programming. This a link to the .Net Developers Association which meets on the Microsoft campus in Redmond Washington.

http://www.netda.net/Default.aspx

The primary interests in the organization above appear to be .asp (Active Server Pages), ADO (Active Data Objects) and Other High Level Windows Application and Web programming.

I have attended several of their meetings and there are usually good (make that great) resources to all aspects Windows programming.

C# is a creation of Microsoft which intended to make Windows programming more powerful. Automation didn't seem to be on the developers minds, however just about anything you intend to do with VB, can be done with C# and it is designed to be integrated with the .Net framework. I think if you are going to pour effort into .Net development, or do any kind of serious level programming with C / C++, you mind as well get on the C# band wagon. I am pretty sure .Net is not going to go away anytime soon.

Microsoft really doesn't support Visual Basic anymore, although the VB community, and the Visual C++ communities are still very strong. VB .Net is now the standard VB product available, and is somewhat different than VB 5 or 6. The programming syntax is different.

Microsoft DOS, and early Windows were primarily based and written in C. A few Microsoft programmers I know have not migrated from C++ in their day to day coding. It is my impression that C# and the .Net framework is still in transistion to being adopted even among Microsoft developers.

It would probably not be a bad move for you to learn C#, but for PLC programming, on the stand alone equipment level, it is not going to be very useful. Maybe on a plant wide, networked equipment set, you would find it useful.

Expect not to be able to do ANYTHING useful for a year or two with the Language while you are learning it, as it is simliar to Visual C++ - difficult to use for any application development if you are not a serious programmer. It is a serious commitment to pick up and become proficient with any of the MS Programming Development products.

C# Enterprise Level, is expensive. Is there really a market for it where you are??

Good Luck
 
C# is a creation of Microsoft which intended to make Windows programming more powerful.

And now for an entirely different point of view...


Microsoft is hearing footsteps from us open source zealots and needs to continue to obfuscate the inner workings (e.g. API's, FS, XAML, etc.) of their systems to prevent, or at least delay, the development of open source equivalents. It's either that or innovate.

They are doing this with their .net framework, their extensions to XML (XAML), and their new Filesystem (they haven't even documented NTFS as of yet).

The other reason why Microsoft needs to do this is because their customers aren't really seeing the need to upgrade their system. Those that did and bought the extended support got burned by Microsoft.

So, by modifying their OS to the point where it is no longer compatible with their own stuff, they force their very own customers into upgrading. Doubtful? Try buying a namebrand PC with something other than XP or 2k. See many copies of 98SE or ME at Walmart lately? Didn't think so :)

Seen any backported drivers for the latest hardware to 98 lately? No? You won't.

So if you buy new hardware, it must run the latest version of Windows (that is if you run Windows at all). This essentually requires the latest Microsoft software to be used as a hardware design requirement.


And you won't see the third party developers complain either, this means a new version is necessary and that means more money. Of course, any developer that isn't a friend, or is considered a threat, doesn't get critical information on the new API's.

Something about cutting off the air supply if I recall correctly...


They are also cranking out patents at the rate of about ten a week. Many of them for extremely self-evident "discoveries". One recent one is for determining the users intent based on the length of the press of a button. Another is for a side-scrolling mouse wheel. Please...

And as we have recently seen, about all these patents are really good for is to bludgeon your competitor into submission. In all fairness to Microsoft, this is exactly what other companies have done to them (Sun, Intertrust) so I can't really blame them for wanting to get some back.


So, since C# is nothing more than Microsoft's attempt to hijack the future development of the C language(s), I would say that there isn't any competitive advantage for you to use C#. There would be one for Microsoft of course. :)

And keep in mind that this is exactly the reason why Microsoft dumped Java when it couldn't incorporate its own extensions into it. If they can't control it, then they must kill it.


So the plan is to maintain control of a technology and keep tweaking the API's so that competitors have to continually update their software just to keep it running (e.g. DrDOS, Lotus to name just two).

Or in Microsoft's very own words, "Embrace, Extend, Extinguish".


And Microsoft doesn't seem to fear any repercussions for their monopolistic behavior since the U.S. government was quite happy to allow Microsoft to set their own terms when they lost their anti-trust case (the "Seattlement").

The EU however, is an entirely different matter, they have thrashed Microsoft and are holding firm on software patents (so go EU!).

Not that I'm biased... :)


So the upshot is use C# if you feel that it gives you an advantage, otherwise stick with plain old C or C++ (or Visual Basic).


And to try to be fair to Microsoft, I think that many of their products are very nice indeed (love their mice and Xbox, VB is very handy, and you can't beat MSHearts). And I have a small shrine devoted to the PowerQuest guys for their Partition Magic product.

I just don't like their business practices. And judging by the number of companies that they have trampled over, I'm not alone.


Sorry to go on and on :)


John
 
C++

What John said is strong medicine.

Probably your best bet is to stick with C++ because it is universally accepted as a serious professional language. Linux still has a very large hold on the server sector, and if you can code in C++ and have $4.50 you can code just about anywhere AND have a beer.

It boils down to whose pants do you want to party in.
 
Last edited:
Back
Top Bottom