Concept of programming

Discussion in 'Programmer's Corner' started by Ryan$, Jan 4, 2019.

  1. Ryan$

    Thread Starter Member

    Dec 14, 2018
    178
    2
    Hello!
    first of all; would apologize if this is not the right position to post my thread over; also if it's a silly question I apologize in advance and hopefully that the admins wouldn't think that I'm trolling because I really want to boost/improve what I'm asking about.

    Well; I'm facing a problem in programming and dont know if I'm facing it alone or what but I need to boost it; how can I think as supurb programmer? What I mean ..how can I actually convert my nothions to the PC? To clear more; lets assume I want to let the pc to do an operation like opening a door in real life; so I define variable called openningDoor and once it's 0 so it visualize that the door is closed; otherwise the door is opened ! That's a simple example/visualization of how to interact ur nothion with ur programming language; another example maybe the "=" in the programming language converts to something like reading data/storing data/gets data/looking at data ..etc visualized syntaxed in programming langaue as "=" ; how can I boost my ability to convert my notion/concept of problem to my programming language? Is there any recommended book I can read to boost that ability of visualizing ur concept in terms of programming language?

    Thanks!
     
  2. WBahn

    Moderator

    Mar 31, 2012
    23,971
    7,423
    I've recommended to you before the NAND-to-Tetris project. That will give you a good grounding on a lot of what happens in a computer at all levels and how they interact.
     
    Ryan$ likes this.
  3. Ryan$

    Thread Starter Member

    Dec 14, 2018
    178
    2
    Just to clear out if u understand my post or not; here is another example ..
    Lets say I have a blueprint in real life which includes a design of wheels; so if i want to do the same thing in terms of programming .. I could do a class and inside it must do a function of "wheels" ..

    Hope it's understandable
     
  4. WBahn

    Moderator

    Mar 31, 2012
    23,971
    7,423
    I have virtually no idea what this means.

    But, like most things in life, you become superb at programming by writing lots and lots and lots of programs. The first ones will NOT be superb, neither will the hundredth one, but it will hopefully be far better than the first.

    I have written literally thousands of programs (lots and lots of really small ones and a relatively small number of pretty big ones (for solo efforts)) and I continue to constantly learn better -- or at least alternative -- ways of doing things.
     
    Ryan$ likes this.
  5. nsaspook

    AAC Fanatic!

    Aug 27, 2009
    5,612
    6,251
    There is no spoon.;)

    Start from the beginning like the superb programmer did. If you have the programming knack it will come naturally but will still require hard work. If you don't have the knack then study harder.
     
    Ryan$ likes this.
  6. Ryan$

    Thread Starter Member

    Dec 14, 2018
    178
    2
    I got you!
    Just to clear my idea; I meant lets I want to send message to you (User) it's repsented like having a method/function call to you(user) passing by it what I want to send you .. "Thats" analogy is what I l'm talking about.. Sometimes I'm not succeding to find the analogy between my notion and pc to visualize my concept over pc's programming language.
     
  7. WBahn

    Moderator

    Mar 31, 2012
    23,971
    7,423
    So forget the analogy and learn what actually happens by doing the NAND-to-Tetris project. You'll how arrays work because you'll write the code to handle arrays. You'll learn how dynamic memory allocation works because you will write the code to dynamically allocate memory. You'll understand how a function like printf() works because you'll write a function like printf(). You'll understand how screen graphics work because you'll write a screen graphics library.
     
    Ryan$ likes this.
  8. MrChips

    Moderator

    Oct 2, 2009
    18,339
    5,797
    There is huge chasm between having a light being lit when you flick a switch and sending a spacecraft to mars on command.

    You cannot deploy a spacecraft without learning all the steps in between.
    Start by learning how to turn on a light from a computer and then take the next step from there.
    You advance by learning and doing every baby step along the way.
     
    Ryan$ and nsaspook like this.
  9. nsaspook

    AAC Fanatic!

    Aug 27, 2009
    5,612
    6,251
    The problem is you're not really thinking about the deeper details of how that happens even if you understand the pc's programming language perfectly. Analogies are usually built on at least two things already well known to explain/explore another. The 'superb' programmer already knows the basic general computer concepts of digital I/O operations, operating systems, message passing, computer networks, software engineering so they can easily build a mental picture of what's needed in detail and use language X to implement those details.

    While doing the NAND-to-Tetris project,;) you really need to sit down with a stack of books and start reading.
    [​IMG]
     
    Ryan$ likes this.
  10. bertus

    Administrator

    Apr 5, 2008
    19,408
    3,925
Loading...