Login Register


C as a first language? filter_list
Author
Message
RE: C as a first language? #21
I myself learned C after I learned python. It is probably the best decision I have ever made. I think the most frustrating part of it was working with multiple tasks and multithreading.
“Lord, protect me from my friends; I can take care of my enemies.”  - Volitaire

Reply

RE: C as a first language? #22
100% one of the best first languages. Why? Because it doesn't abstract all of the hardware away from you. You get to play with pointers and inline assembly. Other languages like Java do not allow this and so some people never get the experience. C also helps you learn how to better optimize your code, as you will usually be more aware of what your code is doing under the hood and this also helps when you code in languages like Java.
this forum is dead

Reply

RE: C as a first language? #23
C was my first language. With me learning this first, i am now able to learn many languages a lot easier.

Example:
Java, C#, C++, PHP(Kinda), Javascript.

Very good pick for a first language and hope you stick with it! Keep coding, Keep learning!

Reply

RE: C as a first language? #24
(02-07-2017, 07:58 PM)Hoss Wrote: 100% one of the best first languages. Why? Because it doesn't abstract all of the hardware away from you. You get to play with pointers and inline assembly. Other languages like Java do not allow this and so some people never get the experience. C also helps you learn how to better optimize your code, as you will usually be more aware of what your code is doing under the hood and this also helps when you code in languages like Java.

I second this, even though I don't know C. I would say it's good as a 2nd language, first should get you in the right mindset, like py or js.
Looking back, I should've learned C as my second language.
Now, I need to go learn C.


(11-02-2018, 02:51 AM)Skullmeat Wrote: Ok, there no real practical reason for doing this, but that's never stopped me.

Reply

RE: C as a first language? #25
(02-26-2017, 07:38 AM)Ender Wrote:
(02-07-2017, 07:58 PM)Hoss Wrote: 100% one of the best first languages. Why? Because it doesn't abstract all of the hardware away from you. You get to play with pointers and inline assembly. Other languages like Java do not allow this and so some people never get the experience. C also helps you learn how to better optimize your code, as you will usually be more aware of what your code is doing under the hood and this also helps when you code in languages like Java.

I second this, even though I don't know C. I would say it's good as a 2nd language, first should get you in the right mindset, like py or js.
Looking back, I should've learned C as my second language.
Now, I need to go learn C.

The thing with C is, it's such a fundamental language in computer science. Even with modern programming languages (Java, C#, Python, et al), there are massive amounts of software still written in it, from OS kernels to userland software to microcontroller (like your graphics card) firmware. Knowing it will never hurt you, software will still be getting written in it for ages to come, and once you know it you're good; it won't up and change on you (like swift..ugh)

[+] 1 user Likes phyrrus9's post
Reply

RE: C as a first language? #26
(01-06-2017, 08:01 PM)Dr. Keter Wrote: Well, not really first language. Perhaps first official language. I have experience in Python, but I haven't done more than really dabble. I have officially started learning C, and I plan to keep at it until I git gud. I picked C because I want to do a lot of low-level work, and eventually move onto and learn Assembly.

Considering that I don't have to learn the basics of programming in general, such as what a variable is, is there any reason why C wouldn't be a good language to master first?

C was my first language, but I suppose times have changed since then.
C is definitely a solid pick for a first language, but keep in mind that it is very minimal compared to modern languages.
It does not have the facilities of more recent languages, forcing you to (or letting you, depending on perspective) implement most things on your own.
For example, C does not have strings. Instead, you use character arrays and some simple functions provided in string.h.
Another thing is its lack of garbage collection or automatic memory management.
All memory management in C is done manually, meaning you will have to pay attention to how your program handles system resources.
Lastly, all memory safety is up to you to implement. At worst, a C program can be extremely vulnerable to exploitation because of incompetence.
However, if you implement checks for undefined behavior and take proper memory safety precautions, a C program can be quite secure, yet faster than any modern language.

If you choose C, it will not be the easiest pick. You will probably spend more time experimenting with practice programs, memory management, and data manipulation than if you chose a language like Python.
However, if you succeed you will find that you have gained an intimate knowledge of many lower level things that modern languages usually cover up.

So in the end it's a question of whether you want to focus more on lower level hardware/systems programming or application development.

Reply







Users browsing this thread: 1 Guest(s)