I recently took AP Computer Science for a year. I understand the programming in Java but then when I hear minecraft is made in java I'm completely lost. I don't understand how to combine the code and graphics into one playable game. Also, I understand Objective - C and can learn Swift, but I don't understand how applications interact with the internet and all. If someone can point me in the right direction to understand this kind of stuff I'd be so grateful! I guess all in all I'm trying to say I understand the text parts of it, but when adding servers, graphics, and user interaction I'm kind of lost.
How does programming in the real world work?
Sounds like you simply need to learn more about those languages; what you know so far seems to be little more than basic console apps; creating graphics or opening sockets isn't that much harder. You just need to find tutorials and learn how to do it.
It's not magic, just different script objects and commands.
Think of a program as describing a procedure that is composed of a few basic elements.
For example, you can have a loop.
For x going from 1 to 3: print "hello".
That would display "hello" 3 times. Hopefully, you fully understand that.
And that can be expanded:
For x going from 1 to 3: print president (x)
This will print "Washington", "Adams", and "Jefferson".
Well, how does it KNOW the names of presidents?
Well, president () is a function that has the necessary logic to look at information up in a database.
But you could also put a different function there, and the function could do anything that is possible for the computer to do. It could play 3 different notes on the speaker *IF* the computer has a speaker.
A computer is *NOT* required to have a speaker. It is also *NOT* required to have a USB port.
However, *IF* it has a USB port then it can send a signal to the USB port to make an external device do something.
The abilities of the external device are entirely dependent on the abilities of the people who designed and built that device.
So, *IF* that external device is capable of flushing a toilet, then your program could make a toilet flush *IF* you know the name of the subroutine and the right signal.
All you'd have to do is look in the manual for the device and it would tell you to call the subroutine as follows:
usbToilet (3)
The people who designed the USB toilet device arbitrarily decided that 3 means flush. If you send the same signal to a different USB device then something else would happen.
But if you are talking about a game, the action that you see on the screen is nothing but colored pixels. Each pixel has an x and y position and 3 color levels (one each for red, green and blue). Yellow is a combination of red and green. That's just how our eyes work. When we see those 2 colors close enough together, our brains interpret it as yellow.
So, pixel (x, y, r, g, b) would set the value of one pixel. The thing that can sometimes be hard to understand is that the computer is fast enough to set all the pixels on the screen in a 60th of a second or faster.
Everything you could want to know…
http://www.infocobuild.com/education/audio-video-courses/computer-science/computer-science.html
You need to dive in and do it, but you would have already done that if you really wanted to. Prepare yourself for a long life of useless existence in a cubicle. Please don't get religion because you feel useless from a bizarre gaff in capatilism that gave you the useless existence. Go mountain climbing and base jumping. I hate the idiots that find religion because of a huge flaw in society and the economy.