topbanner_forum
  *

avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • Sunday October 6, 2024, 5:38 pm
  • Proudly celebrating 15+ years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Author Topic: my problem with programming  (Read 6925 times)

kalos

  • Member
  • Joined in 2006
  • **
  • default avatar
  • Posts: 1,824
    • View Profile
    • Donate to Member
my problem with programming
« on: March 11, 2015, 06:58 AM »
hello!

I have been trying to learn programming years now but I always postpone it because I encounter some obstacles:

1) there is no dictionary. there are many terms involved, like functions, actions, commands, events, attributes, properties, etc that make it difficult to follow. is there a complete dictionary for programming?
2) there is no list of all commands. I cant find a list of all the commands that can be used. why there isn't really any?
3) there is no outline guide. apart from knowing which commands to use and how, there should be a guide of the whole overview structure of a program/script. like pseudocode. I cannot find instructions of this at all! how am I supposed to start a program? what am I supposed to include and in which order? I am not talking about the particular code exactly, but the overview, if you know what I mean

any help with these?

thanks!

wraith808

  • Supporting Member
  • Joined in 2006
  • **
  • default avatar
  • Posts: 11,188
    • View Profile
    • Donate to Member
Re: my problem with programming
« Reply #1 on: March 11, 2015, 08:04 AM »
what language are you trying to learn?  There are these things for many languages- I suppose you haven't found them.

MilesAhead

  • Supporting Member
  • Joined in 2009
  • **
  • Posts: 7,736
    • View Profile
    • Donate to Member
Re: my problem with programming
« Reply #2 on: March 11, 2015, 08:23 AM »
Unfortunately it seems like the Programming Magazine is extinct.  That's where I got most of my insights.  Articles often cited programming text books and sometimes the author would suggest good beginner texts.

The ones I read are considered dated now I'm sure. They used the word "algorithm" rather than "pattern."  Perhaps you could find them in a large library or online.

Algorithms + Data Structures = Programs

Algorithms by Robert Sedgewick

I suggest starting with a variant of Pascal as it was designed as the teaching language.  The source code is usually easier to comprehend than C variants for the beginner.

For programming magazines the Dr Dobbs archive may be the best remaining source:
http://www.drdobbs.com/

Edvard

  • Coding Snacks Author
  • Charter Honorary Member
  • Joined in 2005
  • ***
  • Posts: 3,021
    • View Profile
    • Donate to Member
Re: my problem with programming
« Reply #3 on: March 17, 2015, 01:36 AM »
1) there is no dictionary. there are many terms involved, like functions, actions, commands, events, attributes, properties, etc that make it difficult to follow. is there a complete dictionary for programming?

Well, yes and no.  Programming in general has a certain lexicon which you touch on in your question.  Almost all languages, for example, implement some method of storing information which can be referred to by a simple name; this is called a Variable.  Many languages also implement a method of putting together statements in an easily-referenced sub-routine that can return a result; that is a Function.  There isn't really a lingua franca as such, but maybe this will help some:
http://www.computerh...m/jargon/program.htm
http://en.wiktionary...computer_programming
http://en.wikipedia....ed_programming_terms


Just knowing the terms in the dictionary may not get you very far into actually learning a programming language, but I agree knowing the terms will help to at least know what the heck someone is talking about.  So next time you happen upon a bit of programmorrhea, grab a pen (or notepad.exe), jot down the terms and references you don't understand, then look them up.  If after that you still don't understand, move on or dig deeper.

2) there is no list of all commands. I cant find a list of all the commands that can be used. why there isn't really any?

That depends on what language you are interested in.  EVERY language has its own list of commands somewhere.  A language reference guide in paper or pdf form, official wiki page, help files, all kinds of stuff.  The most basic specific terms and commands are often referred to as Reserved Words; these are the Rosetta Stone of every programming language from which the basic building blocks may be constructed and extended.  When you use these words, you are doing things in the language.  Just be aware that every language has its own list of words which may contain words common with other languages, but mean slightly different things and have different purposes and must be used according to each language's Syntax.  Syntax is each language's own rules for putting these words together in Statements in order to do things.  

3) there is no outline guide. Apart from knowing which commands to use and how, there should be a guide of the whole overview structure of a program/script. like pseudocode. I cannot find instructions of this at all! how am I supposed to start a program? what am I supposed to include and in which order? I am not talking about the particular code exactly, but the overview, if you know what I mean

I get what you are saying, but in practice it seems most people just have a general idea for what they want to do, and are familiar enough with the language to just start hacking.  For the closest thing to a universal method of describing program logic, I would recommend a flowchart.  Learn the logic of flowcharting (each box shape has a definite meaning), and you have much of the same logic a program must go through to accomplish a task.  Apply the specific language's Syntax to the corresponding flowchart nodes and you just may have a working program at the end.  As far as "what am I supposed to include and in which order?" goes, many languages require a statement or two or five that set up a basic environment in which to initiate action.  Pascal has "Begin" and a corresponding "End.", C has "int main()", Python has "def main()", BASH scrips have "#!/bin/bash", that sort of thing.  Some languages require you to define and initialize variables and functions before they are used, some don't.  It is up to you to learn what your chosen language requires, if any.  

Now, down to the real question:  
What is it you want to DO with your soon-to-be-learned programming skill?
Based on what your needs and proclivities are, I can more properly suggest a language to learn and point you to some solid resources to learn it.  Like I said, ALL the information you seek is available, I suspect you may be overwhelmed by the choices and not able to find a general reference.  Nothing wrong with that, it's actually pretty common.  For a while, I flitted from language to language, looking for "the One" to scratch all my itches, but I never ended up learning much either, until I settled on Pascal; It was the only language that I was able to get comfortable with very quickly, even object-oriented stuff, and it's just as powerful as any other.  I'm also taking the CS50 class on EdX, which is slowly but surely teaching me the rudiments of C. Highly recommended.
« Last Edit: March 17, 2015, 01:51 AM by Edvard »

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,913
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: my problem with programming
« Reply #4 on: March 17, 2015, 01:45 AM »
Get yourself a good book for beginners and let it hold your hand a bit and walk you through some manageable assignments without overwhelming you.

Edvard

  • Coding Snacks Author
  • Charter Honorary Member
  • Joined in 2005
  • ***
  • Posts: 3,021
    • View Profile
    • Donate to Member
Re: my problem with programming
« Reply #5 on: March 17, 2015, 02:00 AM »
Mouser's advice stands true; when you finally pick a language to learn based on your needs and preferences, just start with the basics and learn as you go, step by step, and don't try and code something over your ability lest you suffer premature frustration.  Write down your grandiose schemas to try later, definitely, but don't try to climb a mountain when you're still in slippers.  Don't worry though, if you're truly willing to learn, it'll come faster than you think.  :Thmbsup:

MilesAhead

  • Supporting Member
  • Joined in 2009
  • **
  • Posts: 7,736
    • View Profile
    • Donate to Member
Re: my problem with programming
« Reply #6 on: March 17, 2015, 06:00 AM »
Get yourself a good book for beginners and let it hold your hand a bit and walk you through some manageable assignments without overwhelming you.

Along that line it may be a good idea to start with a language designed for children.  Usually the basic idea is brought home explicitly.  Elementary Basic I found in a bargain bin.  It made it clear why one would write a program, explained the solution to each problem in pseudo-code, then provided the source.  Unfortunately I guess it was never ported to anything other than GW Basic.  That came with most every Dos PC in those days.

But I would think a teaching language for children would be the way to go.  I have no idea which one though:
https://en.wikipedia...g_languages#Children

TaoPhoenix

  • Supporting Member
  • Joined in 2011
  • **
  • Posts: 4,642
    • View Profile
    • Donate to Member
Re: my problem with programming
« Reply #7 on: March 17, 2015, 06:59 AM »
Get yourself a good book for beginners and let it hold your hand a bit and walk you through some manageable assignments without overwhelming you.

Along that line it may be a good idea to start with a language designed for children.  Usually the basic idea is brought home explicitly.  Elementary Basic I found in a bargain bin.  It made it clear why one would write a program, explained the solution to each problem in pseudo-code, then provided the source.  Unfortunately I guess it was never ported to anything other than GW Basic.  That came with most every Dos PC in those days.

But I would think a teaching language for children would be the way to go.  I have no idea which one though:
https://en.wikipedia...g_languages#Children


I'm gonna chime in here with a couple of caveats of Basic.

What you want to do matters tremendously vs your desire to program. Layman me considers Basic to be something like a third cousin to the legendary Fortran scientific language. Crunching basic arithmetic equations/inequalities and simple logic is "easy". It's just when you expand your sights that it gets hard!

The knowledge base required in your mind to program effectively really is pretty hard. So you could do well to see if you can narrow down the types of things you want to tend to do and maybe "specialize". So after you have the ten lines etc mentioned above to get a program going, you may discover you really want to deal with processing incoming data sets, maybe from files, and so you're not so concerned about gorgeous User Interfaces. So maybe your UI evolves into something like French taught by an Australian (I had a teacher like that once!), but if it works for *you*, that's "good enough for now".

Then later if you want to make it useful for the world, you can enlist help saying, "hey, some/most of my features are here, but can you help me clean it up?"


Shades

  • Member
  • Joined in 2006
  • **
  • Posts: 2,930
    • View Profile
    • Donate to Member
Re: my problem with programming
« Reply #8 on: March 17, 2015, 11:02 PM »
Perhaps UML could be considered a solution here in this case.

Renegade

  • Charter Member
  • Joined in 2005
  • ***
  • Posts: 13,291
  • Tell me something you don't know...
    • View Profile
    • Renegade Minds
    • Donate to Member
Re: my problem with programming
« Reply #9 on: March 18, 2015, 01:16 AM »
Try getting an O'Reilley "Pocket" book. I find that's about the best way to get up to speed on something quickly and easily. They cut out all the BS fluff and distil everything down nicely.
Slow Down Music - Where I commit thought crimes...

Freedom is the right to be wrong, not the right to do wrong. - John Diefenbaker

MilesAhead

  • Supporting Member
  • Joined in 2009
  • **
  • Posts: 7,736
    • View Profile
    • Donate to Member
Re: my problem with programming
« Reply #10 on: March 18, 2015, 05:30 AM »
I'm gonna chime in here with a couple of caveats of Basic.
-TaoPhoenix


Plus the fact I don't think QWBasic is to be had anywhere.  As far as I know the only Basic that may support the syntax is FreeBasic.


wetsmellydog

  • Participant
  • Joined in 2007
  • *
  • Posts: 120
    • View Profile
    • Donate to Member
Re: my problem with programming
« Reply #11 on: March 24, 2015, 04:08 PM »
You can always try some of the online courses that are actually free and some have great forums for help.

MIT has one http://ocw.mit.edu/c...s/intro-programming/

www.codecademy.com

This one is for younger people which might help out with understanding the basics  http://code.org/learn


As for basic, there is a program called Liberty Basic while not free is a good learning program http://www.libertybasic.com/
« Last Edit: March 24, 2015, 04:16 PM by wetsmellydog »