Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

General Discussion

What's the different between C# and C?

Hello!

Today Im going to learn machine oriented programming language from uni and they said that I must know well in C programming language. I know that treehouse doesnt have C instead they have C#. I thought myself to study C# because they are similar to C?? The problem is that I have dyslexia and I don't like to google around or watch Youtube or read some books. Also I have very bad logic programming.. means that I know how syntax and datatype but if you asking me to code a program -> No, I cant do that. Help :(

-> Is it smart to study C#? What is disadvantage? Please let me know and give me advice!

Simon Coates
Simon Coates
28,694 Points

Wikipedia's article on C states language that borrow from c (including c#) "tend to combine the recognizable expression and statement syntax of C with underlying type systems, data models, and semantics that can be radically different." if YOU NEED C YOU NEED TO LEARN IT DIRECTLY. it may be hard to find interactive tutorials. I think Lynda.com has some C videos that you could try.

3 Answers

Alexander Nikiforov
seal-mask
.a{fill-rule:evenodd;}techdegree seal-36
Alexander Nikiforov
Java Web Development Techdegree Graduate 22,175 Points

Oh well, If they ask you to learn C , you have to learn C and not C#.

Very nice comparison can be found here:

http://stackoverflow.com/questions/692225/what-are-the-differences-between-c-c-sharp-and-c-in-terms-of-real-world-appli

Shortly saying the difference is following.

C languages is NOT object-oriented, whereas C# and C++ are.

This means that if you start learning C# here at Treehouse, you will not be able to use knowledge in C simply because C++ and C# were mainly created because people wanted to use object-oriented paradigm.

And well C# is used to do GUI applications/web application, whereas C is for, quoting

Kernel level software.

Hardware device drivers

Applications where access to old, stable code is required.

So you have to find another resource learning C, and it is not a good idea to start with 'C#'.

And if you want to learn machine learning you have to start and dig into C language. it is very hard, very primitive, but for machine learning apparently it is language to stick with.

It will be hard in the beginning, since you said, quote :

Also I have very bad logic programming.. means that I know how syntax and datatype but if you asking me to code a program -> No, I cant do that. Help :(

But if you chose machine learning then you have to deal with such hard language, that is the price one has to pay, being closer to machine than 'C++' and 'C#'

I see that.. Thank you so much guys!!

The funny fact that I have ask treehouse support and they suggest me to study C# .. lol??

From supporter Treehouse:

Hi there, Thank you for reaching out! We do offer C# courses, which can be found here. Please let us know if you have any other questions :) Best, Kara

I asked them why I should study C# she said:

Thanks for writing back. Our program is a 100% self learning platform, so it's completely up to you what you would like to study here with us. We added the C# courses within the last 6 months or so based on the requests we've received from other students, and we do believe it's a helpful language to learn :) If you do decide that you do not wish to learn those courses, you can certainly switch to a different topic at anytime!

I am confused ??!

Well if you said NOT to study C# - fine then.

Simon Coates
Simon Coates
28,694 Points

C# is perfectly fine. It's just different to C.

Alexander Nikiforov
seal-mask
.a{fill-rule:evenodd;}techdegree seal-36
Alexander Nikiforov
Java Web Development Techdegree Graduate 22,175 Points

I would vote for not studying C#.

You can compare it to driving learning:

Imagine you first learned how to drive using automatic transmission, in order to learn later on to drive manual transmission...

It can help you here and there...

But what is the point of learning to drive using automatic transmission if you now that you will drive only manual transmission car.

I imagine the problems that you will need to solve with machine learning will be quite quite different comparing to problems C# language is trying to solve.

Like I said you will have to solve a lot of stuff manually in C, for what classes were written in C#, but that is part of the process of learning in C.

About tutorials I cannot say much ... Language is instrument, which means that you cannot go far with instruments if you don't know what build.

So in my experience, the earlier you start solving actual machine learning problems using C language, the faster you will learn, because this way I think, you will easier connect language syntax for solution of problems related to machine learning ...

Alexander! You damn much!! :) XD