OSDev.org

The Place to Start for Operating System Developers
It is currently Thu Mar 28, 2024 11:04 am

All times are UTC - 6 hours




Post new topic Reply to topic  [ 8 posts ] 
Author Message
 Post subject: Problems with learning to program
PostPosted: Wed Oct 05, 2016 7:55 pm 
Offline
Member
Member

Joined: Tue Sep 23, 2014 6:12 pm
Posts: 144
Hey, I took a little break from trying to program but I want to try to get back in. I guess that no matter if it's Python or more complex like C, I can't learn the skills to be a good programmer. Only walking around in circles. I'm told that I need something to sustain my interest. The problem is that my entire life, I developed all sorts of "special interests", but they never had the opportunity to grow into an awesome skill.

I wish I could have a more "normal" brain like most people do, that's able to think critically and have a mind of its own. I'm going nowhere in my life in general outside of computers. I just walk in the same space forever with no improvement. I don't know what is the problem with my mindset.


As for learning to program itself, I'll give you an idea of what's going on. Imagine opening "The C Book" (my uncle recommended this book for learning C) and always having to look at the back answers to the exercises in the first chapter.

I never "got great" at doing anything in my life. :(


Top
 Profile  
 
 Post subject: Re: Problems with learning to program
PostPosted: Thu Oct 06, 2016 1:07 am 
Offline
Member
Member
User avatar

Joined: Thu Mar 10, 2016 7:35 am
Posts: 167
Location: Lancaster, England, Disunited Kingdom
Why not join a class or workshop group?

You might find the opportunity to talk about ideas with others quite helpful. Maybe, like me, you are a bit of a loner - but one of the advantages of a class is that the common interest makes socialising much easier and you may find people who can explain things in far better than a book can manage. The regular meetings would also provide you with a bit of an external discipline.

Good luck.


Top
 Profile  
 
 Post subject: Re: Problems with learning to program
PostPosted: Thu Oct 06, 2016 2:24 am 
Offline

Joined: Mon Aug 29, 2016 12:33 pm
Posts: 8
If you really have so many interests and are not just unmotivated then the thing that helps me is combining interests. For me, almost all typical programming tasks, e.g. websites etc are boring. So whenever i got my mind to "i want to learn language X better " or sth similar i find ways to satisfy other of my interests in the same time. So once i wrote a spellchecker that would specifically point out some orthographic and grammatical ( and even stylistic) errors that i caught myself doing over and over again in Perl ( which i didnt know before xD) just because i wanted to focus on a Paper. Or i do mathematical tasks ( i love math) specifically in a language ( take a look at project euler for example^^).
I found that for most people its more about finding the right fun task. If its fun you stay motivated^^


Top
 Profile  
 
 Post subject: Re: Problems with learning to program
PostPosted: Thu Oct 06, 2016 12:20 pm 
Offline
Member
Member

Joined: Tue Sep 23, 2014 6:12 pm
Posts: 144
Indeed, I was considering taking an actual class.


Top
 Profile  
 
 Post subject: Re: Problems with learning to program
PostPosted: Thu Oct 06, 2016 1:29 pm 
Offline
Member
Member
User avatar

Joined: Mon Apr 18, 2016 9:50 am
Posts: 138
Location: New York New York
+1 on the idea of combining interests. Personally, my two biggest interests are computers (natch) and music. So I have a lot of side projects that involve the composition of the two.

One of the first ones I wrote was a really simple command line tool to help me memorize the conversion of note names to fret+string on a guitar neck better. Then I spent some time writing a bunch of silly little sketches that did some really basic digital synthesis things and dumped them to wav files. Right now I'm working on a kind of modular music synthesis package for noodling around with bleep-bloops.

That said, I feel like I've been a lot like you in a lot of ways. Personally, the biggest thing that I've had to realize in my life is that there's no substitute for doing. Whether it's trying to learn programming or working on fitness or cleaning the kitchen, regardless of what your emotions tell you you just have to try your best to remind yourself that nothing happens unless you do it. It's an emotional hurdle that's hard to overcome, and every one of us struggles with it every day, but the true challenge lies in, every day, making it an inch further along the road of mastering yourself. Of learning to realize that any of these negative emotions that may sway you, in the moment, from picking up K&R book every day and making it through ten problems, or putting on the workout tape, or getting your butt over to that dirty sink, are only ethereal and are the only thing standing between you and your goal.

I understand it. I'm working on it every day. When I got my first big boy corporate programming job six years back, I didn't realize that I would find a major motivational problem in being unmotivated to work on what I might feel are completely uninteresting projects and being surrounded by many similarly unmotivated people. But I'm working every day to remind myself of how good it feels to actually accomplish something in a workday and how being employed is a very, very nice privilege that I would like very much to keep. And it's a slow, arduous process, but every day I get a little better and a little better at actually making myself get some of that work done. And every time (though of course we all fall back at times, and that's okay), I can feel that positive feeling reinforcing itself.

A little better every day. Both of us. We're going to be proud of what we've accomplished.

_________________
The OS is P5. Don't expect it to build.


Top
 Profile  
 
 Post subject: Re: Problems with learning to program
PostPosted: Sat Oct 08, 2016 10:04 am 
Offline
Member
Member

Joined: Wed Nov 18, 2015 3:04 pm
Posts: 396
Location: San Jose San Francisco Bay Area
C is a lower level language therefore tend to be closely to an architecture. I'd recommend either studying and/or become familiar with the either or both of two dominant architecture: ARM or x86. Also if you learn assembler (albeit not commonly used today), it gives you much more insight into system internals and studying C will be a walk-in-the-park.

_________________
key takeaway after spending yrs on sw industry: big issue small because everyone jumps on it and fixes it. small issue is big since everyone ignores and it causes catastrophy later. #devilisinthedetails


Top
 Profile  
 
 Post subject: Re: Problems with learning to program
PostPosted: Sun Oct 09, 2016 7:08 pm 
Offline
Member
Member

Joined: Tue Sep 23, 2014 6:12 pm
Posts: 144
ggodw000 wrote:
C is a lower level language therefore tend to be closely to an architecture. I'd recommend either studying and/or become familiar with the either or both of two dominant architecture: ARM or x86. Also if you learn assembler (albeit not commonly used today), it gives you much more insight into system internals and studying C will be a walk-in-the-park.

Do you actually recommend such a bottom-up approach? Does it even matter at all if I do?


Top
 Profile  
 
 Post subject: Re: Problems with learning to program
PostPosted: Mon Oct 10, 2016 2:24 am 
Offline
Member
Member

Joined: Wed Nov 18, 2015 3:04 pm
Posts: 396
Location: San Jose San Francisco Bay Area
C is a bit higher level language than assembly. Therefore it might not give a good insight on the system internals although it is damn close to.
As far as the architectures are concerned (either ARM or x86), you might not see much difference while programming in C albeit there could be some difference. If you do in assembly, the difference is drastic across architectures. What I mean by that is doing assembly in arm is very different than x86.

You can completely ignore the assembly and just do it in C, there is absolutely nothing wrong with. When I was in school I always wanted to go "deeper" into the internals of the system, at some point I ended up doing the analog and digital circuit work. But that was too much and my interest in hardware design quickly waned and main focus of interest was right at the twilight area where hardware meets software, thus assembler.

For you, your preference could be different, if you need to develop fast and see the result as soon as possible obviously learning assembly is not an ideal choice, however there could be a knowledge gap remains.

So moral of the story is really personal choice: i.e.
- do you explore the internals of the system and wants to inside and out. then yes, do an assembly.
- do you want fast result and quick development time, then go for C. For that matter even C is slower, may be python is choice.

_________________
key takeaway after spending yrs on sw industry: big issue small because everyone jumps on it and fixes it. small issue is big since everyone ignores and it causes catastrophy later. #devilisinthedetails


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 8 posts ] 

All times are UTC - 6 hours


Who is online

Users browsing this forum: No registered users and 31 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group