Learning new things.

  • (2 Pages)
  • +
  • 1
  • 2

19 Replies - 3931 Views - Last Post: 13 February 2016 - 08:03 AM

#1 Silyputy  Icon User is offline

  • D.I.C Head

Reputation: 2
  • View blog
  • Posts: 54
  • Joined: 01-December 15

Learning new things.

Post icon  Posted 19 January 2016 - 07:28 PM

Alright so i'm not sure this is in the right spot but its intended to be for java so ill put it here. How did you people who know how to code learn things they did't do in school or was not in a book they read? For example if i pick something from this list:

http://www.dreaminco...ect-ideas-list/

How should i go about learning it? Because i can straight up google how to do it but i found i don't really learn anything from that. All i get is the exact answer and i'm left knowing that i copy/paste the code from google to a program. I don't really learn what other things i can do with that bit of java. As well im then left with code i have never used and i like the understand the code vs just use it.

The only thing i can think of is finding a way of doing it off java doc's and then just working with it till you can use it well. Is that what people do/did? Just wondering as i would like to start doing it that was if people think its possible. Currently i google it then break it down bit by bit and try and work out exactly what everything does. But doing this i feel is not great as there seems to always be more than 1 way of doing things. So because of that its hard to find more help on the bit of code you found if you cant work it out fully.


Any thoughts are greatly appreciated! Thanks!

Is This A Good Question/Topic? 2
  • +

Replies To: Learning new things.

#2 astonecipher  Icon User is offline

  • Too busy for this
  • member icon

Reputation: 2343
  • View blog
  • Posts: 9,400
  • Joined: 03-December 12

Re: Learning new things.

Posted 19 January 2016 - 08:14 PM

The biggest issue I see with new vs experienced coders/ developers is being able to break a problem down. Right now you see big picture not the parts that may solve the issue. You are always learning new things, so don't be put off by that. The more you do the more you tune into how you have attempted it previously.

Take a big task and start breaking the big to little, to chunks.

Build a whatsit. Based on what you know about a what's it, model it after that. What pieces does it need? What should it do? From that you get classes, possibly storage mechanisms, and maybe even an idea of what it should look like.
Was This Post Helpful? 2
  • +
  • -

#3 Silyputy  Icon User is offline

  • D.I.C Head

Reputation: 2
  • View blog
  • Posts: 54
  • Joined: 01-December 15

Re: Learning new things.

Posted 19 January 2016 - 08:21 PM

Alright cool. As well i hear every so often oh well you should name your variables like this and you should always do this vs doing that. For example with variables someone said that if you name a variable inputnum you should keep the first work lowercase and the second word and so on uppercase. Therefor making it inputNum. Is there a list of these kinds of things anywhere? Always wondered that as well.
Was This Post Helpful? 0
  • +
  • -

#4 astonecipher  Icon User is offline

  • Too busy for this
  • member icon

Reputation: 2343
  • View blog
  • Posts: 9,400
  • Joined: 03-December 12

Re: Learning new things.

Posted 19 January 2016 - 08:25 PM

Part of it is based off of coding styles, the other is language specific coding conventions. not all languages have the same style or naming conventions.
Was This Post Helpful? 2
  • +
  • -

#5 jon.kiparsky  Icon User is online

  • Chinga la migra
  • member icon


Reputation: 10734
  • View blog
  • Posts: 18,363
  • Joined: 19-March 11

Re: Learning new things.

Posted 19 January 2016 - 08:41 PM

You've already learned the first thing: you won't get there by just copying what someone else did. So that's good. The next thing is this: you learn to write programs by writing programs. You start where you are, and you try to do something a little beyond what you already know how to do, and then you look at what you did and you try to figure out what was hard about it, and find ways to make the hard things easier.

I have to agree with Andrew on the importance of breaking problems up. In addition, you want to think about representation: what is it that you need to represent, and what's the best way to represent it, so that you can work with it easily? For example, if you want to write a tic-tac-toe game, you need to be able to think about the state of the game, and maybe you want to think about moves and players. Depending on what you mean by "move" you might also want to think about the concept of a "turn". (as in, on my Turn, I make a Move). How do these things work together? Well, a Player makes a Move, and Move changes the Game State. Okay, now we've at least got some stuff to talk about. What's a Player? It's a source of Moves. Okay, we can work with that. What's a Move? It's a legal change of the state of the game. Hm. Legal. Okay, so someone needs to decide whether a move is legal. That might be the Move itself, but maybe it's better to let the Game State decide... and so forth. You start by thinking through the parts, maybe drawing pictures on a whiteboard. You want to keep things as simple as possible, but at this stage you're not really going to know what "simple" looks like - so don't be afraid to make mistakes. If you get something wrong and make a lousy Tic-Tac-Toe game, you're going to learn something very useful from that.

The important thing is to start where you are, try to do something a little harder than you've done before, and take the time to retrospect on what you did and what you want to do better the next time. If you're doing that, you'll be learning the whole time.
Was This Post Helpful? 4
  • +
  • -

#6 Silyputy  Icon User is offline

  • D.I.C Head

Reputation: 2
  • View blog
  • Posts: 54
  • Joined: 01-December 15

Re: Learning new things.

Posted 19 January 2016 - 08:45 PM

There was a saying in someones signature that said "code to learn don't learn to code." that has stuck with me. As well as far as picking something slightly harder than i have done, that's easy. Is there a way that's not just googleing the answer right away then working backwards to see how it works?
Was This Post Helpful? 0
  • +
  • -

#7 astonecipher  Icon User is offline

  • Too busy for this
  • member icon

Reputation: 2343
  • View blog
  • Posts: 9,400
  • Joined: 03-December 12

Re: Learning new things.

Posted 19 January 2016 - 08:52 PM

There isn't anything wrong with looking at someone else code', what you need to focus on is how they perceived the problem and attempted to solve it.

It's hard to describe as it comes with knowledge. Think of it terms of basics. If I say I need a program that will let me enter my household inventory. For the sake of this we are going GUI-less, but it really doesn't matter. What parts do you perceive an inventory system needing?
Was This Post Helpful? 1
  • +
  • -

#8 Silyputy  Icon User is offline

  • D.I.C Head

Reputation: 2
  • View blog
  • Posts: 54
  • Joined: 01-December 15

Re: Learning new things.

Posted 19 January 2016 - 08:55 PM

If you are asking me to answer:
name, unique id of some sort, # of item, maybe where it is if you want to be fancy.
Was This Post Helpful? 0
  • +
  • -

#9 astonecipher  Icon User is offline

  • Too busy for this
  • member icon

Reputation: 2343
  • View blog
  • Posts: 9,400
  • Joined: 03-December 12

Re: Learning new things.

Posted 19 January 2016 - 09:01 PM

You are thinking to high level and more database side then programmatic.


If we are doing a console base:

Use Case: The user needs to be able to input information.
Use Case: User should be able to retrieve information.

What's needed?
A menu would be helpful so you could chose what you want to do.
A sentinel loop would probably be needed.
A storage device, whether it be a file system or database.


From there, you could design a class for the items. A menu class, to retrieve data or store new.
a data layer that talks to whatever storage medium chosen.
Was This Post Helpful? 1
  • +
  • -

#10 Silyputy  Icon User is offline

  • D.I.C Head

Reputation: 2
  • View blog
  • Posts: 54
  • Joined: 01-December 15

Re: Learning new things.

Posted 19 January 2016 - 09:11 PM

alright so when you say break it down you mean down to everything. So for everything i want to make break it down to as small as i can make it then build each one.

I think i could make that inventory program but one thing i have had problems with is choosing what to do. For example i made a little program that you can give numbers it puts them in a file as a log. Then you can call it back and it will give you a total. Or you can tell it to break it down into lengths of material from 1 to 16 and tell you how many. The problem i had was there is a few ways i can make it break it down into lengths. I started with a bunch of "if" statements but someone said use an array. So i changed to that (WAY BETTER may i add). But i got fleck for setting the size of it. I still have yet to work out why :/. Then i was told to use an arraylist, still have not worked on that yet. I'm sure the people who told me know WAY better than i do but it is still confusing. There is so many different ways to do things that i find it hard to work out what one i should use and why.
Was This Post Helpful? 0
  • +
  • -

#11 astonecipher  Icon User is offline

  • Too busy for this
  • member icon

Reputation: 2343
  • View blog
  • Posts: 9,400
  • Joined: 03-December 12

Re: Learning new things.

Posted 19 January 2016 - 09:24 PM

That comes with experience as well. Programming is as much an art as a science. There are numerous ways to handle the same problems, and each has it's own idiosyncrasies. The farther you go the more you learn. When you start learning benchmarking you can test which is better performance wise and scalable. If you can write code that is maintainable, you are better off then most.

The important part is being able to see the individual parts that make an application. Think in terms of a car. There are several parts that make a car, it is not just fully assembled from the beginning. Break the design of each structure and sub-structure down and make it where it can fit into the puzzle. This is where Object Oriented Programming comes into its glory. I can design and build the engine without it affecting your design of the chassis, or the a/c system, or the transmission.
Was This Post Helpful? 1
  • +
  • -

#12 Silyputy  Icon User is offline

  • D.I.C Head

Reputation: 2
  • View blog
  • Posts: 54
  • Joined: 01-December 15

Re: Learning new things.

Posted 19 January 2016 - 09:28 PM

Alright cool thanks much for the input! Ill look at that list again and pick one to work on. Then get on that tomorrow. Again thank you very much for the input!
Was This Post Helpful? 0
  • +
  • -

#13 macosxnerd101  Icon User is offline

  • Games, Graphs, and Auctions
  • member icon




Reputation: 12189
  • View blog
  • Posts: 45,251
  • Joined: 27-December 08

Re: Learning new things.

Posted 19 January 2016 - 09:42 PM

I'm going to move this to the Java Discussion Lounge and feature it for better visibility. :)
Was This Post Helpful? 0
  • +
  • -

#14 Silyputy  Icon User is offline

  • D.I.C Head

Reputation: 2
  • View blog
  • Posts: 54
  • Joined: 01-December 15

Re: Learning new things.

Posted 19 January 2016 - 09:46 PM

Ill be honest i have no idea what featuring it is. But ill take it as a complement.
Was This Post Helpful? 0
  • +
  • -

#15 astonecipher  Icon User is offline

  • Too busy for this
  • member icon

Reputation: 2343
  • View blog
  • Posts: 9,400
  • Joined: 03-December 12

Re: Learning new things.

Posted 19 January 2016 - 09:48 PM

Congrats, your topic made the front page!
Was This Post Helpful? 0
  • +
  • -

  • (2 Pages)
  • +
  • 1
  • 2