CodeNewbie Community 🌱

Discussion on: Where Does Everybody Begin Programming?

Collapse
 
anitabe404 profile image
Anita Beauchamp

This is a really great question, and I'm struggling to give a simple answer. Personally, I don't like the "everyone should start with {x} programming language" advice because you can literally start with any language and be successful. Your success is more so a function of your current education level and your interests. When working with children, things like HTML and CSS are appealing because basic things like changing colors and fonts or adding simple animation really hooks kids.

When it comes to adults who have a high school education, you can almost start with any language. My first language was C and my second language was Java. I didn't try HTML/CSS until after I had already graduated from college. At the time, learning C was difficult, but I'm so grateful for it because it gave me a solid foundation in things that higher level languages tend to gloss over.

Ultimately, I guess my recommendation would be to expose people to different kinds of programming and let them get a sense of what they naturally gravitate towards. Some people really struggle with the command line. I, on the other hand, love it. You really don't know until you try.

Everyone is different and so there really isn't one way to begin. Rather, I'd ask "what do you want to build" or "what are you curious about" and from that choose a language that helps you do that. If a person doesn't have a preference, I'd start with Web Dev because there are so many free and low cost resources.

Collapse
 
mccurcio profile image
Matt C Author

Hi A,
Wow, A lot of good points here!

A. Your point on success being contingent on one's educational level is an excellent point. Funny, it makes perfect sense now that you say it, but it occurred to me only subconsciously before. I took a psych class once, and the jerk of prof. kept saying shite like "Past Success Is the Best Predictor of Future Success" and that pissed me off bc it seemed too rigid but had the ring of truth.

I don't know how many Meet-up web dev sessions I've been to and wondered how different things might be if some inner-city kid had better access to teachers and resources.

Since I have never taken C or Java, I can't say which is better over HTML/CSS. Not being a computer science student, I wonder what basic concepts I am missing. But I do believe that hitting kids (or adults? I don't know so much...) at the right time can make their little brains bend easily around all sorts of tricky topics.

But you are so right to say let kids or people gravitate to what they like.

Is this more of an aside or a discussion on education theory, don't know. ;)

Collapse
 
anitabe404 profile image
Anita Beauchamp

I get what your professor was trying to say, but I disagree with them. Mainly, past success is only a good predictor of future success if nothing changes (or only insignificant things change). Our world changes quite fast, and companies that were household names 20 years ago are forgotten today.

There's a lot that we can do to change outcomes for people. Your education level and interests guide how we can introduce you to programming. It only becomes a filter when we don't strengthen and increase the person's understanding. Although, it is difficult to compete with people who have a lot of/more experience with concepts you're unfamiliar with.

For me, there isn't a best programming language. Each language is a tool, and which tool you use depends on what you are trying to build. If you want to make a static web page, knowing C won't help you. HTML & CSS are the language of websites. If you want to program a microprocessor to perform a specific task, then knowing HTML & CSS won't get you far. There are some things that are common between languages, variables, arrays, dictionaries, looping, conditionals. Having a good understanding of these topics helps you pick up new languages faster.

HTML/CSS is often a gateway into software development and engineering because it's easier to make it fun. However, I think you could grab people's attention with other types of languages as well. C and Java hooked me just fine. 😂