@15, allow me:
First, I heard microsoft was making it so that you could develop for iOs on windows, did this ever get done? I would prefer working on windows to using a mac.
It's already been done -- with Xamarin, which is Microsoft's cross-platform development system in visual studio (though .NET core certainly works too). Xamarin allows iOS and Android development, whereas .NET Core only allows developing apps for Windows, Mac OS and Linux. Also, Xamarin is not available for C++ developers.
Second:
What do you use to run and compile c source code? Can I do this without using visual studio? I tried using visual studio a while back and could never get it to work properly.
You could, using things like Cygwin or MinGW. However, I would not recommend this; Visual Studio, by far, beats both of these platforms hands down. Yes, you have the disadvantage of not being able to use most GNU software, but you have the advantage of an excellent development environment that will assist you as you go. By "a while back" do you mean when VS2015 was the latest or when VS2013 was the latest; or do you mean when you tried using the latest version, VS2017? I encourage you t remove all prior VS products and install VS2017 -- it will be a much more pleasant experience if you do.
Third:
Are c and c++ the same language or are there differences?
C and C++ are practically the exact language, though there are differences; for example, what you can do in C you can do in C++, but not vice versa. I'd say C++ mainly adds a lot onto C; C++ was based off of C, after all. What C++ adds that C does not have are things like classes, inheritance, namespaces, polymorphism, references, exceptions, Construction, Cleanup, Copy, and Move semantics, operator overloading, special operators, class derivation, Class Hierarchies, Run-Time Type Information (RTTI), templates, generics, specialization, Instantiation, metaprogramming, the standard template library (STL), etc.
Fourth:
I've heard c is very heavy on dependencies. Is there an easy way to get them without having to search all over?
Nope. That's the simple answer. In fact, you will find that every language relies heavily on dependencies. There is not a language that does not. A language may have a huge standard library (like Python, for example) but you'll need to branch out of the standard library eventually.
Fifth:
Is c faster than python? I would guess that it is, but just want to be sure.
Generally, the answer to this question is "yes." Most natively compiled languages will be faster than interpreted or auxiliary-compiled programs simply because the program doesn't have to do anything special to run -- it runs and it works. However, the line of "native code is faster than auxiliary code" is quickly being blurred as more and more languages find more methodologies of optimization and increased performance advances, as well as the fact that computers are starting to have more and more processors and processor cores; and, by extension, more and more power. We've reached the end of processors "getting faster and faster," and are now getting to the point where instead of getting faster, we get more power instead. Speed is pretty much irrelevant now. But the general consensus is that native code will always be faster than interpreted code, no matter what you do with it, though with the advent of JIT (just-in-time) compilers we most likely won't have a language that is truly "interpreted" by 2040.
Sixth:
Also could you recommend tutorials for learning c? I looked at something called learn c the hard way, but they said that in the book they make mistakes in the programming so they can show you how to do it the right way after, which seemed counter-productive to me.
This, actually, is probably one of the best ways to learn how to code. If you are shown the wrong way to do things, you are less likely to write code "the wrong way" than if all you'd been shown was "the right way." Granted, you'll still make mistakes -- we all will and do -- but it's better to be shown "wrong code" than to end up writing that very "wrong code" because all you were shown is "right code" and end up shooting yourself because of it. As for tutorials, I'll take it a step further and recommend entire books -- I've always found good books to be much better than tutorials, myself. And since I'll be giving you C++ books (I do not recommend you learn C unless you really, really need to, which I'll explain why in a moment) you'll learn both simultaneously. Anyways, to the books (and read these with the first two always first, then the others -- they are more advanced ones):
Programming: Principles and Practice Using C++, 2nd ed., by Bjarne Stroustrup, ISBN 9780133796742.
The C++ Programming Language, 4th ed., by Bjarne Stroustrup, ISBN 9780133522853
Professional C++, ISBNs 9781118858059, 9781118858066, or 9781118858134
Mastering C++ Programming: Modern C++ 17 at your fingertips, by Jeganathan Swaminathan, ISBN 9781786461629
C++ Templates: The Complete Guide, 2nd ed., by David Vandevoorde, Nicolai M. Josuttis, and Douglas Gregor, ISBN 9780134778747
C++ Multithreading Cookbook, by Miloš Ljumović, ISBN 9781783289790
Mastering C++ Multithreading: A comprehensive guide to developing effective multithreading applications in C++, by Maya Posch, ISBN 9781787121706
Modern C++ Programming Cookbook: Over 100 recipes to help you overcome your difficulties with C++ programming and gain a deeper understanding of the working of modern C++, by Marius Bancila, ISBN 9781786465184
The CERT® C Secure Coding Standard: 98 Rules for Developing Safe, Reliable, and Secure Systems, 1st ed., by Robert C. Seacord, ISBN 9780132702461
The CERT® C Coding Standard: 98 Rules for Developing Safe, Reliable, and Secure Systems, 2nd ed., by Robert C. Seacord, ISBN 9780133805291
You may have noticed that I recommend both the first and second editions of the CERT(R) C secure coding standard. This is because the first edition has all the guidelines that make up secure programs; the second edition is just a supplement to the first edition and does not reiterate the contents of the first edition of the book with the new rules appended to the old ones as most books do. If you do want a quick and fast-paced introduction to C and/or C++, though, try https://learnxinyminutes.com/docs/c and/or https://learnxinyminutes.com/docs/c++. Now, the reason I said you should learn C++ rather than C is for a profusion of reasons, but mainly that C++ actually has a string type, but C uses arrays of chars, a very bad idea; C++ has vectors and maps, while all C has are arrays... I could go on and on and on on why C is a bad language to learn first.
And, finally... seventh:
And finally how does this xamarin work? Do you include it in your script when you're starting out?
I really don't know how xamarin really works -- I don't really ever use it, even though I have it.
"On two occasions I have been asked [by members of Parliament!]: 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out ?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question." — Charles Babbage.
My Github