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

  • C#
  • Thread starter Ian_Brooks
  • Start date
  • Tags
    C++
In summary: C++ is a very powerful language and is suited for more complex applications, while C# is a much more common language and is suited for less complex applications. C++ is a very difficult language to learn, while C# is much more beginner friendly. C++ is also more difficult to code in, while C# is much easier to code in.
  • #1
Ian_Brooks
129
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
  • #2
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.
 
  • #3
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#.
 
  • #4
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.
 
  • #5
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.
 
  • #6
Learn what you intendto or must use. Deferring getting into C# is a waste of your time.
 
  • #7
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.
 
  • #8
So C# is easier to code in than C++?
 
  • #9
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.
 

1. Should I learn C++ before C#?

It is not necessary to learn C++ before learning C#. Both languages are object-oriented and have similar syntax, but C# is considered a more modern and easier to learn language. You can start with either language and then easily transition to the other.

2. Will learning C++ help me in learning C#?

Yes, learning C++ can be helpful in learning C# as they share many common concepts such as data types, control structures, and object-oriented programming principles. However, C# also has its own unique features and it is not necessary to have prior knowledge of C++ to learn C#.

3. Which language is more in demand, C++ or C#?

Both C++ and C# are widely used languages in the software development industry. C++ is more commonly used for low-level programming tasks such as operating systems and device drivers, while C# is used for developing applications and games. The demand for both languages depends on the specific job market and industry.

4. Is C++ more difficult than C#?

It is subjective to say whether C++ is more difficult than C#. C++ is considered a more complex language with a steeper learning curve due to its low-level nature and manual memory management. C# is relatively easier to learn as it has automatic memory management and a simpler syntax. However, with practice, both languages can be mastered.

5. Can I learn C# without any prior programming knowledge?

Yes, it is possible to learn C# without any prior programming knowledge. C# is considered a beginner-friendly language and many learning resources are available online. However, having a basic understanding of programming concepts such as variables, data types, and control structures can make the learning process easier.

Similar threads

  • Programming and Computer Science
Replies
6
Views
5K
  • Programming and Computer Science
Replies
13
Views
6K
  • Sticky
  • Programming and Computer Science
Replies
13
Views
4K
  • STEM Career Guidance
Replies
5
Views
2K
  • STEM Academic Advising
Replies
5
Views
1K
  • MATLAB, Maple, Mathematica, LaTeX
Replies
12
Views
1K
  • STEM Academic Advising
Replies
13
Views
2K
  • Special and General Relativity
Replies
13
Views
2K
Back
Top