How to write programs in java?

Hello!

Recently started to delve into java for the Android system.

There was one very stupid (from the position of the expert) question: How are the apps/programs in a programming language?

I understand that there are books and tutorials. But that is the main part of the question - where can I read about writing full-fledged programs in java? All books usually describe simple actions from the Hello world. I would like to understand how for example the same java written game? What do you can Google about it? For these requests is issued by a sea of textbooks is almost standard. And agree that knowing the actions with arrays, I hardly understand the logic of the graphical editor :)

Ie between the real use of language and the typical tutorial a giant chasm. How to overcome this gap?

Thank you for your attention to the issue.
March 19th 20 at 09:04
4 answers
March 19th 20 at 09:06
And agree that knowing the actions with arrays, I hardly understand the logic of the graphical editor

Decomposition - all will be reduced to the same action with arrays (suspended). Just in very large numbers.
Great comment! I will quote on this matter of Steven Skien:

Learning to think recursively, you will learn to identify large entity consisting of smaller entities of exactly the same type as the large. For example, if we consider the building as a set of rooms, then adding or removing rooms house the remains of the house.
- reece_Spink commented on March 19th 20 at 09:09
@reece_Spink, Thank you, quote great. But it is simple logic. And the curtain reveals it's not :) - Forest commented on March 19th 20 at 09:12
@Forest, the curtain reveals a critical mass of experience and knowledge. No sacred textbook leading to enlightenment, there are a couple dozen of the usual books and three years of work leading to enlightenment. - reece_Spink commented on March 19th 20 at 09:15
March 19th 20 at 09:08
You need basic knowledge of the language, principles and programming paradigms. With them you will be able to write programs without even reading anything on the practical aspects of development. Without them you will not be able to understand the tutorial or article from the practical field.

How to overcome this gap?

The best way to get a job in the office.
Thank you, very useful. The basics I know where to gather, and where such paradigms are hiding :)? Where this part is described? As this kind of literature usually nazyvaetsja?

Office...Oh, I'm in the office unfortunately. Not to say that professional growth in this environment much possible. Usually, there is a problem and it must somehow solve. Little happened to advance in web programming, but only because of the sea of examples, and not understanding the basics of language use for the solution :) - Forest commented on March 19th 20 at 09:11
@Forest, Joshua Bloch, Robert Martin, Martin Fowler, etc., etc. - reece_Spink commented on March 19th 20 at 09:14
March 19th 20 at 09:10
And agree that knowing the actions with arrays, I hardly understand the logic of the graphical editor :)


Why not assume that the graphical editor works with two-dimensional array whose horizontal 1024, vertical 768, each element can take values from 0 to 65535?
Here you have the logic of the graphics editor is to fill an array with different numbers.

Another hint - the standard library.
March 19th 20 at 09:12
Foundations and concrete has everything you need to know, everything relies on it.
As an example of what you led arrays and a graphics editor.
If you take the basis of the 3D editor will be released next. Exaggerated everything works on these arrays. The model consists of a pixel array, another array describes the connection points of the first array to polygon, then another array describes the coordinates of a texture scan for these polygons. All operations in one form or another going on these arrays, and usually they are very simple but mathematical.
In General, teaching the basics, and then take the books with a bias that you like, if the graphics for the most part, these will be the books not the language and calculus,geometry, etc .If you want the network to begin a book about how it works, specifications and standards, then you can take a book that is for java and networking and it will go very easily.
Any program, even the huge ultimately consists of many elementary parts of the source code bases.
Thank you very much for your detailed response! I approximately so represent. Remains a question for You :) it makes sense to check for the appearance of skill solutions to all kinds of problems? As such books to look for? Somehow in the search for the textbooks didn't suck. Just the basics, resembling the course of the school of computer science :) - Forest commented on March 19th 20 at 09:15
@Forest, to begin any book on the fundamentals and basics of java. Almost any book will do. Ie be sure to explore the collections, primitive types in Java and their features, classes,interfaces,abstract classes. Object how it works and its basic methods. Be sure to lines, how they work,are stored. The mathematical algorithms you should already know or can learn from the school\University days and they are universal. Then the most interesting and essential fact that many miss immediately buy and read "design Patterns" authorship "Elisabeth Freeman, Eric Freeman, Kathy Sierra, Bert Bates ". After reading no longer a huge bunch of questions and come to a full understanding and destination interfaces\classes\abstract classes, event-driven system. In addition comes the understanding of the work already any huge programs.
Regarding Android, it is better to first get to the plain java se and write\try all on win\linux. In Android there are a lot of nuances and there's not really java java. - ciara_Abshire commented on March 19th 20 at 09:18
@ciara_Abshire, thank you very much! The book will examine.

About the OS...Yes, Sashka something not especially it turned out to master. Just noticed that for some reason there is no clear match. It is there like a java development environment, and like or not :) Even tried to Kotlin to climb, to scratch, but there is quite a dark forest. Because, in fact, articulated a question that You answer. - Forest commented on March 19th 20 at 09:21

Find more questions by tags Java