DEV Community

Cover image for Why is Programming so Difficult? 

Why is Programming so Difficult? 

Scofield Idehen on September 24, 2023

Programming is notoriously known as one of the most mentally demanding fields and skills to master. But why does learning to code and becoming a pr...
Collapse
 
tracygjg profile image
Tracy Gilmore

I can answer that one: If something seems difficult, it is usually an indication you are learning. After 30 years in the industry I am still learning (and long may it continue) and I still have difficult days. The pleasure comes when all your hard work bears fruit.

Collapse
 
scofieldidehen profile image
Scofield Idehen

True, I like how you put it. (and long may it continue), learning is difficult, but it should not be too difficult wouldn't you agree?

Collapse
 
tracygjg profile image
Tracy Gilmore

Scofield,
I hate to say this, at risk of sounding elitist: I think the software engineering industry can (and benefits greatly from) gainfully employ people from all walks of life and all educational disciplines but it is not be for everyone. If you are truly finding the pursuit too difficult, maybe the profession is not for you. That said, I sincerely hope you continue the struggle and find the pleasure that comes from solving puzzles and gaining knowledge. Life is too short to spend it working in something you do not enjoy. It is easy for me to say but, don't fall for chasing the money (it is a false nirvana).
Best regards, Tracy

Thread Thread
 
alogan5201 profile image
alogan5201

I agree. It is definitely not for everyone. However, that doesn’t mean you need to have a dying passion for it to have an enjoyable career. It’s one of those things where you need to still have a minimal amount of interest and motivation to continue debugging when your 7 days deep into fixing a bug with no end in sight. You meed mental stamina but you also need to have a reasonable desire to make the thing do the thing.

Thread Thread
 
scofieldidehen profile image
Scofield Idehen

True, you need deep mental stamina to keep going as there is no light at the end of the tunnel on this path!!

Collapse
 
rivercory profile image
hyeonho

Programming seems easy only when you enjoy it.

Collapse
 
scofieldidehen profile image
Scofield Idehen

Why it seem like hobby to some, to others its a pathway to get good jobs.

Collapse
 
jonrandy profile image
Jon Randy 🎖️ • Edited

Why not both? 👍

I think it's as difficult as you make it. I started aged 7 and never once found it difficult... it's always been interesting and enjoyable.

Code is like Lego - a toy to convert your thoughts into functional realities. It's always been one of my favourite toys, and it still is. A nice side benefit is that is the good jobs that you mention.

I honestly think that following a prescribed path is the wrong way to go about learning to program. A far better way is just to follow your curiosity - building whatever you like. You'll naturally develop an understanding of all the concepts as you go, and have fun doing it!

Thread Thread
 
rivercory profile image
hyeonho

That's a good thing to say. I started programming when I was 11 years old, but I have fun programming with you. When I first started, I started programming with a book. I felt like I was in the frame. I left the book on the bookshelf for a while to get rid of the frame and programmed only in my own way. I wouldn't have had fun programming if I had just looked at books. Thank you for the nice words 😀

Thread Thread
 
scofieldidehen profile image
Scofield Idehen

While I strongly believe you are right, I speak from a different perspective.

I am an art student, love literature and history.

I learned programming to solve a unique problem I could not pay for because I could not afford it at the time.

My point when you start early, it is easy to conform your mind to the logic and path.

But when you start as a necessity it is a whole lot different.

Finally, I believe there can be two truths to this.

Wouldn't you agree?

Thread Thread
 
scofieldidehen profile image
Scofield Idehen

I agree.

According to what I said to @jon randy starting early as some advantage and that is not for everyone.

Some started as a necessity and that is different.

Thread Thread
 
jonrandy profile image
Jon Randy 🎖️

I think you can (and should) treat learning as play at any age, but it's probably easier with the pliable mind of a child.

Thread Thread
 
scofieldidehen profile image
Scofield Idehen

That's the point.

I run a STEM center for kids ans I can tell you with confidence that kids learn faster.

What would take days for me would be hours for this young mind

Thread Thread
 
tracygjg profile image
Tracy Gilmore

Learning is easier when you are having fun but that does not preclude it being difficult - quite the opposite in fact. That is why cultures all over the planet have puzzles in a wide variety of forms.

@jon "... one of my favourite toys..." I absolutely concur with that. As a child I liked construction sets (Lego, Meccano etc.) but found two things frustrating. 1) One often ran out of a critical part or had to modify (bend) a part, which was never the same again. 2) Before building a new model one had to deconstruct complete models. I have yet to experience either of these frustrations when writing software.

Thread Thread
 
miketalbot profile image
Mike Talbot ⭐ • Edited

I am sure learning is different for everyone, and this is the challenge of choosing "a way" to learn, perhaps try different ways of learning until something clicks.

For me, I echo Jon and Tracy in that I wanted to make something. I was never much good with Lego and my Mecano stuff looked like a scrap heap. I guess my code did too for the longest time... but I wanted to create and I did create, not the most beautiful or elegant things to start with - but things nonetheless. I see coding as a creative act, both in the structure and the output - not everyone does for sure, but I found the path that worked for me.

Collapse
 
jimajs profile image
Jima Victor

Computers speak binary; humans speak English, Spanish, German, Chinese etc (depending on your location).

Programming languages were created to bridge the gap between human languages and binary. Languages that allow you speak closely with a computer system are harder to learn and are regarded as low-level languages while languages that don't allow you speak closely with a computer system are easier to learn and are regarded as high-level languages.

Some people will say programming is easy and everyone should learn how to program a computer. I'll say that's false. Programming is not easy, and you're only going to see significant progress in learning when you focus.

Collapse
 
scofieldidehen profile image
Scofield Idehen

When you focus, I enjoyed your submission.

Collapse
 
overflow profile image
overFlow

this making of new frameworks every 5 minutes and making of new languages must end. its annoying....

Collapse
 
scofieldidehen profile image
Scofield Idehen

I share the same strong belief!!

Collapse
 
overflow profile image
overFlow

to be honest Frameworks are also new languages. We have to honest with that !!! but some people like to make it like if you already know JS then React is easy.
Im like: " dude thats more stuff for me to memorize and it is not any near to
JS."

Thread Thread
 
scofieldidehen profile image
Scofield Idehen

There are branches from the real language, like using React from the Javascript language or Django from Python.

I find Javascript more straightforward than React.

I am really sorry you are finding it difficult; I am, too.

Thread Thread
 
overflow profile image
overFlow

thanx dont worry we hold on !!! hopefully artificial intelligence does not overtake us lol while we are mentally darting about.

Collapse
 
alogan5201 profile image
alogan5201

This article is great and I think it is a fair summarization of the overall challenges. To expand on some positive notes already mentioned.. Being a programmer means you are standing on the shoulders of giants. While the job is difficult you have an incredible amount of information, resources and tools to your disposal that not only makes it possible to do a good job but to innovate and improve. Yes, it is difficult but it’s so rewarding. Learning will be an ongoing challenge that will never end but it can often be surprisingly satisfying and enjoyable. I also would like to note one thing. It’s not as difficult as it may seem at times. Most people CAN (not necessarily should) learn to code. Its a skill that requires dedication, patience and some level of interest but I don’t think anyone should feel like they’re not “smart” enough to do it. I suck at math. But guess what I know how to write programs to do math for me. It literally DOES it for me. You don't always need to know whats behind the hood. But you gotta know how to drive it and holy hell it’s quite the ride.

Collapse
 
scofieldidehen profile image
Scofield Idehen

This is deeply insightful

Collapse
 
flowzai profile image
Flowzai

Whenever you learn programming in a truly passionate way, there is a lot of fun waiting, and this is why programming is the heart of digital earth.

Collapse
 
scofieldidehen profile image
Scofield Idehen

True. However, how can you find it interesting when it's either that or penury?

Collapse
 
scofieldidehen profile image
Scofield Idehen

Thanks.

Collapse
 
artxe2 profile image
Yeom suyun

98% of respondents said that programming is "very difficult."

I don't really agree with the survey results.
What are the difficult-level tasks that are just one step below?

Collapse
 
scofieldidehen profile image
Scofield Idehen

Can you rephrase?

Collapse
 
artxe2 profile image
Yeom suyun

I think some parts of programming are suitable for "very difficult", but not at a general level.
I am curious about what tasks people who think programming is "very difficult" find "difficult."

Thread Thread
 
overflow profile image
overFlow

i find it hard getting to gauge my skill level particularly in javaScript. I am annoyed about the number of languages and this mentality that you must learn all the languages when I'm struggling with JS already. I think I spent the last three weeks trying to figure out Promises and then I found myself diving into a rabbit hole; from Promises to APIs through callback hells, fetch and requests etc etc . That is very annoying and it sometime happens very regularly and I think the bigger issue is sometimes some of the tutorials online are not good enough. I think some "nerds" out there enjoy the idea that they might be making things difficult for other fellow would be future "geeks" but yet still at the then moment still noobs.

Thread Thread
 
scofieldidehen profile image
Scofield Idehen

I think one of the most difficult aspects for me was understanding the data structure and syntax distribution for different codes, why cant all of them be the same syntax style?

Thread Thread
 
scofieldidehen profile image
Scofield Idehen

Wow, this is deep.

Thread Thread
 
overflow profile image
overFlow

very deep.....i mean its the basis for the warped existence of this culture of new release....could we be focused on making things better? instead of mentally darting from here to there just looking to learn the newest fad. at the end of the day we become jacks of all trades instead of masters because we are spreading our mental resources thin!!!
that is my one cent.

Collapse
 
system profile image
System

hi



Collapse
 
scofieldidehen profile image
Scofield Idehen

Hello!!!