Thursday, December 3, 2009

Can someone without much logic/problem solving be a good programmer?

Can someone without much logic/problem solving be a good programmer?
weirdish question
phidentity


#:1300414 9:24 am on Aug. 24, 2004 (utc 0)

Hi,

I'm pretty useless with anything logical, anything to do with problem solving, heck, I hardly have any common sense. I'm more creative than logical...

I have learnt a few programming languages over the years, at their very basic level, but, it get's to a certain point and it's too much for me. I just don't understand parts of it, and have never been able to.

When it comes to solving problems, a friend of mine can do it in 5 minutes, whilst i'm stuck there for hours, and then give up.

Is it impossible to make my brain more logical? I really want to be a good programmer, but it just doesn't seem like I can.

I have so many good idea's, and I want to develop them myself, but it seems I wont be able to.

Jon
dreamcatcher


#:1300415 9:33 am on Aug. 24, 2004 (utc 0)

Maybe you just havent found the right programming language for you? I did a Java course 2 years ago, and I found it really hard to get in to. Then I gave PHP a try and I`m doing ok.

I think you need to find the right area to focus your attention on. Once you see things beginning to happen, then it gets more interesting and so you focus more. I think once you get over the inital hurdle of grasping whatever language it is you are learning, then it becomes a lot of fun.

Patience is a virtue. :)
davidpbrown


#:1300416 9:47 am on Aug. 24, 2004 (utc 0)

Most problems can be broken down into simpler more managable bits that most anyone can understand and solve. Over time methods of solving particular problems become more familar.

Start with the small stuff and over time you'll build up an impressive skills set. Being curious helps as does having a motivation, something that gives purpose to your learning and presents you specific problems. Build yourself a website maybe..

Programming, languages are becoming more intuitive, especially web based ones like HTML. PHP is one that I've found is easy to copy by example. Find yourself a script, tweak a couple of lines, and see what happens.

HTML would probably be a good test of your prospects of understanding programming. If you can get a webpage to display as you want it and then to a point of throughly understanding HTML and being able to validate a document then you can have some confidence you will be able to learn other more apparently complex languages.

HTH
ppg


#:1300417 9:53 am on Aug. 24, 2004 (utc 0)

> I'm more creative than logical...

I wouldn't worry about that. I come from an arts background I had similar worries when I started learning programming. I also came to it a bit later in life and felt totally unprepared. I'm still not a very tidy programmer but I can build stuff that works, which is good enough for me.

Personally, I think programming *is* a creative thing, it would bore the underpants off me if it was all just logic.

When I did Java at college, we started off for the first year with straight procedural stuff, then moved onto object oriented programming in the second year. A few of the people who did really well with the more logic based procedural programming had real trouble with OO, I think because they couldn't conceptualise it as easily. Others really came good when we got into OO.

The point I'm trying to make is that creativity and the ability to visualise things is just as important as having strong logic skills in programming imo. We all have different strengths, you just need to work on the areas where you're weaker. Don't be put off, don't push yourself too hard, and most of all - enjoy it.

> I just don't understand parts of it, and have never been able to.
Maybe it just hasn't been presented to you in a way which makes sense to you, that doesn't make you a crap programmer.
j4mes


#:1300418 10:28 am on Aug. 24, 2004 (utc 0)

Personally, I think programming *is* a creative thing

Totally agree. When I'm coding something I always like the code itself to be sort of aesthetically pleasing and minimal, sort of attractive in a geeky way as well as the object itself (e.g. website) being attractive to look at.

It always makes me a little sad (pun? :P) when I see source code from a nice site (force of habit to hit view source) and it's just more lame WYSIWYG code bloated out of all proportion.

And yes, you need to find the language that suits you personally, and just keep working at it :)
Lord Majestic


#:1300419 10:35 am on Aug. 24, 2004 (utc 0)

Small programs do not require that many problem solving (and thus logical) skils, however any big project with hundreds thousands lines of code will need someone who can solve problems because there will be loads of all kinds!

My advice is to start small - pick more manageable ideas for your current level and keep pushing it forward - people don't get born with it, they learn it.
lazydog


#:1300420 11:44 am on Aug. 24, 2004 (utc 0)

NO, you cannot be a good programmer without logic/problem solving abilities. Simply because that is what a programmer does.

However you are not born with these abilities; they can be developed. What you need is good old hard work and patience.

If you want to develop these skills, I suggest you spend some $$ and buy a good book. Solve the exercises given in them.

Initially it may take you time to solve simple tasks, but be persistent and just keep at it and eventually you WILL get better.
After all we all started out like this ;-)

Saurabh.
phpdude


#:1300421 1:39 pm on Aug. 24, 2004 (utc 0)

I to had this problem with other languages.

I would get so far and then hit a wall.

After giving PHP a try, buying all the books, and doing all the exercises in them, something clicked.

I now can hold my own with PHP and prefer to use it over any other language.

You can make some really neet applications in PHP and after writing a few from scratch for a client who just loved them to death and thought they were the new coming, it really stroked my ego to go ever further!

As lazydog said, being logical is something you can learn. It just takes time and a lot of practice and patience.
phidentity


#:1300422 9:02 am on Aug. 25, 2004 (utc 0)

Thank you all :)

It's nice to know I can build the logic/problem solving skills. I did think some people were just naturally good at problem solving/logic!

I'm pretty good at HTML and CSS (I can build pretty good accessible pages), I think I'm going to go for PHP/MYSQL again, and see if I can impress myself!

Cheers all,

Jon
bird


#:1300423 9:24 am on Aug. 25, 2004 (utc 0)

I'm more creative than logical...

I think the gravest error is to think of those two as mutually exclusive.

When it comes to solving problems, a friend of mine can do it in 5 minutes, whilst i'm stuck there for hours, and then give up.

Are we strictly talking about programming here, or do you observe the same difference in "real life" problem solving situations? Different people just have different capabilities, so either one might be the case.

Maybe you just havent found the right programming language for you?

If I understand phidentity correctly, then he has trouble to "think like a programmer". If that is indeed the case, then the choice of language is not the primary obstacle. Of course, some languages will serve to obscure your thoughts even more, while others may just do what you tell them to do. Many people (myself included) strongly recommend Python, if you want a language that "doesn't get into the way".

Don't use something like PHP, just because "everybody uses PHP". Check out different alternatives for yourself, and make up your own mind. In the context of this forum, the primary advantage of PHP is that it was designed for web development. You can have the same advantage with other languages by adding some suitable toolkit, eg. Spyce for Python.

People have told you to read books. This is good advice in general, but you shouldn't make the mistake of focusing on books that teach a specific language. You need books that teach you how to solve problems. There is actually a book with the title "How to Think like a Computer Programmer", available in versions for several languages.

It's nice to know I can build the logic/problem solving skills. I did think some people were just naturally good at problem solving/logic!

Both is correct. The learning process is easier and more natural for some. If this isn't the case for you, and you still manage to get there, you'll value the result much more than they do!
ergophobe


#:1300424 3:18 pm on Aug. 25, 2004 (utc 0)

Many people believe that the best book for learning to think like a programmer is The Structure and Interpretation of Computer Programs by Abelson (sp?) and Sussman. If you work through it, it will definitely change the way you think, but it could take you quite a while.

Tom
Lord Majestic


#:1300425 3:26 pm on Aug. 25, 2004 (utc 0)

Many people believe that the best book for learning to think like a programmer

I'd say Knuth (http://www-cs-faculty.stanford.edu/~knuth/) is God, but I will accept that majority will disagree with me...

Bill Gates once said words to the effect of that whoever manages to read and understand Knuth should send him CV...
Timotheos


#:1300426 3:58 pm on Aug. 25, 2004 (utc 0)

I did think some people were just naturally good at problem solving/logic!

I think people are naturally good at some things and not disposed for others. It's what makes life interesting right?

I once thought that anybody could learn how to play music or sing. After talking about this with a good friend of mine who was a professional musician he convinced me that some people are born tone deaf. Sure some practice and hard work makes them better but they still generally suck at it.

Same is true for sports. Some of us are just not built for it. I believe that there's also a physiological aspect to our brains that affects our ability to learn. I'm not trying to be discouraging but sometimes it helps just to realize "we are who we are" and we all have certain gifts that are valuable.

That said, I found it very interesting what phidentity said:
After giving PHP a try, buying all the books, and doing all the exercises in them, something clicked.

Other times our learning is about paradigm shifts (made popular by Stephen Covey). That shift can happen suddenly or gradually and others see it instantly. It's quite magical when it happens. It's like those illusions where once you see the other picture in the picture you can't help but notice it. I'm hoping your attempts at learning php just require a little paradigm shift.

Tim
Hey! I just went over 500 posts ;-)

[edited by: ergophobe at 4:57 pm (utc) on Aug. 25, 2004]
[edit reason] urls deleted [/edit]
Rong


#:1300427 8:55 pm on Aug. 25, 2004 (utc 0)

phidentity - I'm a poster child for career change. I got into Lotus Notes/Domino development 6 years ago at the age of 37. I only have a HS degree and had been a tractor trailer driver previously. It was a long hard process to understand Lotus's formula language and IDE. Scripting took even longer, but with enough tenacity anything is possible. You just have to keep working at it, and don't be afraid to ask questions. In this game learning is a constantly evolving experience.

Best of Luck to you!
jatar_k


#:1300428 8:58 pm on Aug. 25, 2004 (utc 0)

Welcome to WebmasterWorld Rong
Webwork


#:1300429 9:11 pm on Aug. 25, 2004 (utc 0)

Code Complete by Steve McConnell.

No comments: