Jump to content

  • Log In with Google      Sign In   
  • Create Account

Question for programmers


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
10 replies to this topic

#1 blade55555   Members   -  Reputation: 251

Like
2Likes
Like

Posted 02 November 2012 - 12:47 PM

Hey so I am just getting into programming and I just want to ask a question for you programmers out there.

Do you actually know in your memory what most of your coding you are doing is? Whether it be a big project or anything do you ever have to use a book/google to figure out how to do something?

I am more curious because I have the mindset that I should be able to do everything without ever having to look something up and this is more for me to know if I am just setting my need to know way to high or whatever. Thanks in advance to anyone who responds!

Sponsor:

#2 Telastyn   Crossbones+   -  Reputation: 3726

Like
0Likes
Like

Posted 02 November 2012 - 01:20 PM

Do you actually know in your memory what most of your coding you are doing is?


These days I remember the major modules of the code I'm working on and their interactions, but little of the details. Details can be pretty easily extrapolated out from how I would've approached a problem.

Whether it be a big project or anything do you ever have to use a book/google to figure out how to do something?


Sure. I often forget the incantations to format strings beyond simple placement. For languages I'm rusty with, I often will have to refresh a few syntax things and a bit of standard library calls. I'll often have API references open on the second monitor.

I am more curious because I have the mindset that I should be able to do everything without ever having to look something up


'Everything' is an awful lot. It's a matter of efficiency. Nobody is going to know, and/or remember everything involved in a large app. You should remember the stuff you need all the time, and know where to find the things you need to look up occasionally. As we move from project to project, stuff that used to be vital gets rusty in favor of things you need now. And as you age, your memory will get a bunch worse; best to accomodate that workflow now.

Edited by Telastyn, 02 November 2012 - 01:22 PM.


#3 lride   Members   -  Reputation: 633

Like
0Likes
Like

Posted 02 November 2012 - 03:01 PM

You should know how to do basic language stuff such as writing classes, functions and control structures.
But when it gets to using APIs, you should look at documentation for reference.
An invisible text.

#4 jwezorek   Crossbones+   -  Reputation: 1853

Like
1Likes
Like

Posted 02 November 2012 - 04:33 PM

Hey so I am just getting into programming and I just want to ask a question for you programmers out there.

Do you actually know in your memory what most of your coding you are doing is? Whether it be a big project or anything do you ever have to use a book/google to figure out how to do something?


Well, it's a fact of life that you can only hold so much state regarding code in your head at once. However, for a smallish project that you are writing yourself usually you can hold the whole thing in your head while you develop it unless you step away from it for several months or something. For large projects in which you are not the only programmer involved it's impossible for one person to know the details of the whole thing and you might only have instaneous access in your mind to the details of the module you are working on.

This is the whole point of all the good programming practices that everyone talks about regarding the design and architecture of software. This is the reason why modular design, encapsulation, separation of concerns, et. al. are a good idea. Because if you follow these sorts of design principles it makes it easier to pick up and use someone else's code or code that you wrote two years ago.

As far as looking up stuff in books or online, as you program more you will find yourself needing to look up less stuff regarding the syntax and semantics of your primary programming language, but needing to look up stuff in reference materials about APIs and libraries is pretty much something you will always have to do to some degree.

Edited by jwezorek, 02 November 2012 - 04:34 PM.


#5 blade55555   Members   -  Reputation: 251

Like
0Likes
Like

Posted 02 November 2012 - 10:18 PM

Thanks for the respones guys! I have another question.

Since beginning how much should I try to do a day in terms of learning. I don't want to over do it and confuse myself, but I also want to do the most I can in terms of learning the language most effeciently. Any advice on how I should go about learning in terms when doing books and tutorials (I already have both).

#6 kunos   Crossbones+   -  Reputation: 2207

Like
0Likes
Like

Posted 03 November 2012 - 12:59 AM

it's impossible to answer.. we're all different.
One thing for sure I feel I can recommend to you: don't study too much. Programming is a practical activity, nothing good comes for studying alone. It's like trying to learn to play tennis reading a book or watching youtube. You can sure learn something, but if you don't play, that something gets lost.
I'd try to do "stints".. code for 2 hours, study for 30 mins. Of course, when you code at the beginning you will constantly stop because you need to look up stuff... it is perfectly normal and actually it's a required skill to learn... interesting programming comes from coding things that you don't know yet, the ability to locate the information needed to solve a particular problem is one of the most important programming skills I can think about.

So code and problems first.. theory later. Learn to solve the problem with whatever knowledge you have available, study will gradually teach you how to solve problems in a more elegant way.
Stefano Casillo
Lead Programmer
TWITTER: @KunosStefano
AssettoCorsa - netKar PRO - Kunos Simulazioni

#7 blade55555   Members   -  Reputation: 251

Like
0Likes
Like

Posted 03 November 2012 - 01:48 AM

Ok thank you. I always feel like I am cheating when I need to look something up for some reason after I read it a few times to try and memorize it. Thanks!

#8 Olof Hedman   Crossbones+   -  Reputation: 2823

Like
0Likes
Like

Posted 03 November 2012 - 05:40 AM

Having every little fact about every little API you use in your head is a waste of brain capacity :P

Also remembering every little fact about your own code, thats where things like good coding guidelines and writing readable and documented code comes in.
Its not just for showing the code to other people, its equally, if not more, about remembering yourself what your code does the next time you visit it.

Even every little fact about the computer science you have learned... impossible to remember it all in your head. But the next time you look it up, you might just need a few hints, and it will all come back to you.

You kind of keep a cache of what is useful to you right now in your head, and look things up when needed.

That feeling of "cheating" is probably just an artefact from going to school, in real life, there is no such thing as "cheating", just "solving the problem". (unless you start breaking laws or something)

#9 shuma-gorath   Members   -  Reputation: 887

Like
0Likes
Like

Posted 03 November 2012 - 10:28 AM

Just as calculators can offload calculations, the Web can offload memorization. Are calculators considered cheating? Posted Image

EDIT: ...outside of school, of course

#10 Shaquil   Members   -  Reputation: 819

Like
0Likes
Like

Posted 03 November 2012 - 10:46 AM

What you'll find as you learn more is that the important thing is that you understand powerful concepts and philosophies that are language agnostic, and mostly specific to computer science as a whole. That's the knowledge that you really need to always keep in mind, because it's not so easy to just go look up, and it's something that takes practice to wrap your head around. But more important than that: You need to understand yourself. You need to understand how you learn things fastest and most effectively, and basically hack yourself so that when you do need to go back to some language/API you haven't used in a while, or start using a new one, you can pick it up in a non-trivial amount of time and start building applications like someone who's been using the technology for a while. But that's not particularly a programming thing; it's more of a life thing haha.

#11 ATC   Members   -  Reputation: 551

Like
0Likes
Like

Posted 03 November 2012 - 07:55 PM

Hey so I am just getting into programming and I just want to ask a question for you programmers out there.

Do you actually know in your memory what most of your coding you are doing is? Whether it be a big project or anything do you ever have to use a book/google to figure out how to do something?

I am more curious because I have the mindset that I should be able to do everything without ever having to look something up and this is more for me to know if I am just setting my need to know way to high or whatever. Thanks in advance to anyone who responds!


You will ALWAYS be referencing documentation, books, manuals, etc during your programming career. APIs are so big these days no mere mortal can remember everything. It's also completely normal to need to refresh your memory on certain programming techniques as well.

Being a good programmer is NOT about memorization... you can memorize, say, the entire Win32 API and still be a lousy Win32 programmer... a good programmer knows how to design his/her software and turn those designs/ideas/concepts into good, working, maintainable and modular/reusable code. It's more like painting a picture than memorizing the answers to a math test.

Edited by ATC, 03 November 2012 - 07:57 PM.

_______________________________________________________________________________
CEO & Lead Developer at ATCWARE™
"Project X-1"; a 100% managed, platform-agnostic game & simulation engine


Please visit our new forums and help us test them and break the ice!
___________________________________________________________________________________




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS