Link to home
Start Free TrialLog in
Avatar of newpro2010
newpro2010

asked on

Which programming language should I use to develop a network application?

Hello,

I have been given a task of developing a network program which is either a
* radius supplicant ((basically a GUI becuase the radius supplicant source code is already available anywhere in the net, but there is no real good user interface for it))
* an EAP-TLS indicator.. ((basically an interpreter to check the autentication process for this protocol))

I am pritty new to .net and c++, but i am doing my best to learn and build the application. I have been given one month to finish it, but I have some programming experiances so i am not starting from scratch.

so the question is, which programming language you advice me to work with? I have been given the choice to work either with C# or C++, but I also can do it in any other .net language if there is a strong reason for that.

I would appreciate any opinion or advice.

Best Regards
Avatar of Zoppo
Zoppo
Flag of Germany image

Hi newpro2010,

I think the better would be to choose C# in your case. On the one side C# is the 'main' language intended to develop with .NET, so i.e. it's supported very well in VisualStudio, on the other side learning C++ from the scratch maybe much more difficult than learning C# from the scratch.

ZOPPO
you should use JAVA java has a good support for networking and you can use ecillips or netbeans....
Hi!

What is the level of granularity of the Networking task you are about to do
C++ can give you more control over the system
Where as C# can have good UI and support, But make sure there are no task where you may get stuck and start Invoking
system API's .

So be clear of what type of Networking job you are about to do and then check
if there is good number of Libraries available in C#
If yes go for C#
Else stay with C++


Thanks!
@navneethegde: These aren't features of C# but features of .NET - using .NET with managed C++ allowes you to use exactly the same .NET libraries/classes as using C# does.

@newpro2010: I understood your question to ask what might be the best language for you to solve your job with .NET - is this right? If not maybe there are different other approaches including i.e. Java as nishantcomp2512 mentioned.

ZOPPO
Avatar of newpro2010
newpro2010

ASKER

Many thanks for the fast replys.. I really appreciate it.
I have already programmed in Java, so it would be much easier for me if they asked me to do it in Java, but the problem is that I have to do it in .net or C++. Basically any of these languages that at the end provide a nice user interface with the backend functionality needed.

Regarding the networking task itself. It is either a radius supplicant (client). I have seen a couple of solutions out there. I think one source was in C# and the other was in C++, but they are both in consol, so I need to create a nice funcioning interface for one of them.

The other task is to make a wireless network sniffer, but this would be limited just to sniff the EAP-TLS protocl, and would be maily to check if the authentication was successful or not.

Any comments would be of great help for me.

Thank you again.
Hi!
Hi you can build the Class Library in C++
and UI in C#, So you can reference C++ DLL

Thanks!
About user interface: .NET allows you to use Windows Forms no matter if you use C# or managed C++. C++ itself (unmanaged, no .NET) has no user interface, but depending on your needs you can use GUI frameworks like i.e. Qt (platform independant) or MFC (Windows only).
Thank you guys. What makes me more confused now is this:
Since I am going to use the Winpcap libraries to develop my application, I saw that all the examples and source code they have provided is written in C. So is there any way to still make use of the C libraries and write my program in C# or C++? or do I have to switch to C now?

thank you in advance
ASKER CERTIFIED SOLUTION
Avatar of Zoppo
Zoppo
Flag of Germany image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial