Is it necessary to learn C++ before C# for a hardware design thesis project?

  • Context: C/C++ 
  • Thread starter Thread starter Ian_Brooks
  • Start date Start date
  • Tags Tags
    C++
Click For Summary

Discussion Overview

The discussion revolves around whether it is necessary to learn C++ before C# for a hardware design thesis project that involves creating a desktop application to interpret data from a wireless Bluetooth device. Participants explore the implications of learning one language over the other, considering time constraints and prior programming experience.

Discussion Character

  • Debate/contested
  • Technical explanation
  • Conceptual clarification

Main Points Raised

  • Some participants suggest that if the goal is to use C#, one should focus on learning C# directly, as it is not difficult to pick up.
  • Others argue that learning C++ first may not provide significant benefits as a stepping stone to C#.
  • A participant with prior experience in C++ found transitioning to C# to be easy, indicating that prior knowledge of C++ may help but is not strictly necessary.
  • Some participants emphasize that C# is easier to code in than C++, but this perspective is challenged as overly simplistic, noting that each language has its strengths depending on the project type.
  • There are discussions about the advantages of C# over C++, including faster development times for C# applications, while C++ may offer better performance in execution speed.
  • One participant raises concerns about the differences in programming paradigms between C (procedural) and C# (object-oriented), suggesting that the transition may be challenging without understanding object-oriented design.

Areas of Agreement / Disagreement

Participants generally agree that focusing on C# is advisable for the specific project at hand, but there are multiple competing views regarding the necessity and benefits of learning C++ beforehand. The discussion remains unresolved on whether prior knowledge of C++ is beneficial for learning C#.

Contextual Notes

Participants express varying levels of confidence in programming and highlight different experiences with C and C++. There is an acknowledgment of the potential challenges in transitioning from procedural to object-oriented programming, which may affect learning outcomes.

Who May Find This Useful

This discussion may be useful for students or professionals considering which programming language to learn based on project requirements, particularly in the context of hardware design and application development.

Ian_Brooks
Messages
127
Reaction score
0
I have a hardware design thesis project and I'll be required to write a desktop windows application that will interpret data from a wireless blue tooth device.

I'm currently looking at the Microsoft visual studio express dev environment and tutorials regarding C++ and C#.

Now most of my friends doing PhD suggested I do the GUI in C#.

Should I learn C++ prior to C# to get a better handle of the two, or jump straight into learning C# due to time constraints?Edit:

I have 3 years of programming background in C, kernal programming with RTI linux (6 months) and 2 Years of java behind me. However I'm not that confident a programmer, would anyone have any further tips/sites for me to look at in the mean time?
 
Technology news on Phys.org
If you want to program in C#, just learn C#. It's not hard to pick up; it took me about a month.

There are benefits to learning C++, of course, but as a stepping stone it won't be much good at all.
 
I picked up C# several years ago when it first came out. I had maybe a year of C++ under my belt and it was a breeze. I don't see any reason why you can't drive right into C#.
 
Ditto the above. If you want to use C# then just learn C#. If later you find you need to use C++ then you can learn C++ at that point.
 
What advantages does C# have over C++? I know a bit of C++, but I've only ever worked with consoles, however before completing my BS, I want to create a GUI based application on windows, what would I want to learn further in C++ or jump to some other language? I still have three more years to go :D.
 
Learn what you intendto or must use. Deferring getting into C# is a waste of your time.
 
chaoseverlasting said:
What advantages does C# have over C++? I know a bit of C++, but I've only ever worked with consoles, however before completing my BS, I want to create a GUI based application on windows, what would I want to learn further in C++ or jump to some other language? I still have three more years to go :D.

In a nutshell:
C++ programs run faster. C# programs are developed faster.
 
So C# is easier to code in than C++?
 
chaoseverlasting said:
So C# is easier to code in than C++?

That's too simplistic an approach to the issue. C# is more suited to some types of project than C++, and C++ is more suited to other types of project than C#. Ultimately, the question of which language is better suited to a given objective would be decided on a case by case basis.
 
  • #10
Go with C#. C++ is great but it's kind of messy. You'll get confused over minor things instead of learning the big picture. You don't need one for the other, either. C# has similarities to C++, but it's still different. It's like asking whether you should earn how to ride a motorcycle before learning how to ride a car. Doesn't really matter.

The cool thing is that once you learn a programming language, jumping into a different one is pretty easy.
 
  • #11
Thanks, I'll focus on C# then.

Would the microsoft express tutorials be sufficient?
 
  • #12
Ian_Brooks said:
Thanks, I'll focus on C# then.

Would the microsoft express tutorials be sufficient?

They'll probably get you started just fine.

I was able to program in C# after just reading the design spec sheet (~90 pages) and playing around with it.
 
  • #13
thanks for the help
 
  • #14
First question, why do you want to learn those languages anyway, when you already have
3 years of C programming under your belt? The Win32 API is coded in C, so you should be able to do Windows programming already.

Do you have experience in object oriented design? I am asking this because you have been coding in C for three years, and C is a procedural language, while C# is highly object oriented, with C++ being in the middle. While learning the syntax of of C# may be easy, the design of the programs written in C and C# are very, very different, so there is a very high possibility that you will struggle with the language.
 

Similar threads

  • · Replies 6 ·
Replies
6
Views
6K
  • · Replies 13 ·
Replies
13
Views
6K
  • Sticky
  • · Replies 13 ·
Replies
13
Views
8K
  • · Replies 5 ·
Replies
5
Views
3K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 12 ·
Replies
12
Views
3K
  • · Replies 13 ·
Replies
13
Views
4K
  • · Replies 13 ·
Replies
13
Views
4K