DEV Community

Discussion on: What is the worst advice for the newbie?

Collapse
 
simonhaisz profile image
simonhaisz

Everyone's first language should be C

This particular gatekeeper felt that it was super important that every developer start their journey with a strong foundation understanding of memory management, and that the only way to do that was to start with malloc.

Collapse
 
ganonbit profile image
Andrew Reese

god i heard that so much when I was starting out

Collapse
 
yaroster profile image
Yaroster

I still hear that today, though i'm learning Webdev lol.
I can't even try to imagine the chaos of pointers, memory managment, the complex C syntax and just any sort of understanding of this level of "low-levelness". I think i'll stick to HTML/CSS/JS and Python

Collapse
 
axelledrouge profile image
AxelleDRouge

I don't believe that this advice is bad.
I heard it, practiced it and I'm quiet happy about it.
Most of the time as webdev, I don't care much about memory.
But when I'm starting to work on bigger applications or with bigger API, experience taught me to be careful about it. Especially if my end user cannot up his hardware easily, when my 3D GIS app start to use more than 3GO of RAM.

Collapse
 
simonhaisz profile image
simonhaisz

The issue is not that "learning about how memory works" is bad advice. The issue is the manner in which you are supposed to learn.

Does learning about pointers, malloc, and free teach you about memory management?
Sure.

Is what you learned immediately transferable to a GC type language?
No, the rules are different and you have to learn some new things.

If you had no desire to learn C at the moment, could you just learn how memory works within what you are using?
Yes.

Will that be easier and quicker than having (and this is the key bad thing about the advice, that you have to learn C first or you won't know what you are doing and will be a bad programmer) to learn C first?
Yes.

Thread Thread
 
axelledrouge profile image
AxelleDRouge

ok yes I understand your point.
A good advice would be to have a good understanding about the basics, including memory.
But does that mean that you must learn C ? No, indeed.
I guess when you start programming (in general) without knowing which language to use first, C could be considered a good one. But well I started with Java and many started with Python... so the point is more about the concepts and basics than the language itself

Collapse
 
ludamillion profile image
Luke Inglis

I really like the way I learned in school. We had a C class but it was one semester first year. It was more broad than deep. It was helpful in a number of ways but we didn't spend too much time on either the language itself of the whole degree program or any particular part of C in the class itself.

That said I would never advise anything more than that for most people and it certainly isn't necessary for most people.

Collapse
 
simonhaisz profile image
simonhaisz

As I said in the other reply, the main bad part of the advice is that it is the way to learn about fundamental programming skills. Can you start out with C? Sure it works and plenty of people have gone down that path. But there are other paths that people can go down that are perfectly valid.

Collapse
 
raphael_jambalos profile image
Raphael Jambalos

I agree with this! In my college, the first programming language you have to learn is C. A lot of people fail the course.

They say its a way to filter out those who are really “ aren’t built” for computer science. At such an early stage, I think the college should cultivate interest in the subject rather than test a student’s aptitude right away.

Collapse
 
thaothanhluu profile image
Thao Thanh Luu

This was my complaint while I was studying CS in college. It seems so elitist to introduce C as a way to weave out people from pursuing CS. I suggested that the lower level class for freshmen should be in python to build interest from those who have never heard of programming or didn't know where to start.

My initial suggestion came from the fact that students from rural America are usually left behind in the race for technology in academia..but then again, academia is mainly about elitism.