[Samsung Galaxy Mini] Reaper's Scythe:
*Before I begin, I must warn everyone that I am a newly registered XDA-Developers user, therefore I am technically a noob.

*English is NOT my first language/mother tongue. If some of the the questions posted below are not understandable, feel free to ask me and I will try my best to rephrase what I said. More information is added below every question for the same one.

*I have read the Forum rules, and did my best to comply with them. Hopefully this does not violate any of the aforementioned rules. If there is such a thing, I will immediately remove any parts/the entire thread.

*As stated above, I did use the search tool, however I did not find any similar thread to this one, hence the reason of opening one.

*Not really experienced with using forum tools, you'll notice the lack of formatting here.

*Summer just started, and with that I have a lot of free time that I wish to devote that time in increasing my knowledge of Android and (hopefully) start being useful with developing something.

1.1. What programming language is required to know when developing an app?

-I've been informed that most apps are developed in Java for Android, however I am curious as to whether or not I can program in C++ as well.

1.2.What programming language(s) is/are required to know when building a ROM from source?

-Many OS's are developed in different programming languages, does this apply to Android as well?

1.3. What IDE is best for developing an app?

-I am referring to the Integrated Development Environment. Which is best for Android?

2.When building from source, is it necessary to have a distribution of Linux running on your computer, or can this be done on Windows/OSX as well?

-Installing Ubuntu on my PC is problematic. For whatever reason, it can not initialize the drivers for my GTX 560 SE, thus rendering my computer unusable. So as stated, can't I work with Windows, or do I have to be forced to buy a new machine?

3.What programs/files are required to install or download to create an environment for building from source?

-IDE's, libraries etc.

4.What system requirements are needed?

-If I do need to buy a new computer, what are the minimum requirements to work freely, as in without much stuttering when compiling?

5.Which custom recovery better suits the needs of our SGM?

TWRP or CWMR? Or a third one I have yet to familiarize myself with?

6.What is the current highest version of kernel working on our device?

7.Does our SGM have a custom ROM flash counter?

-In the Play Store, Chainfire has an app that resets the number of times you have flashed a custom ROM. Does our device have this?

8.What group/team(s) are currently building Android versions from source for our SGM?

-I do know of AndroidARMV6, any other team I should know of?

9.What counts as a "custom ROM"?

-Can I take a build from rohan007, strap some apps in it, change the bootanimation and call it my own? (with permission of course)

10.Does everyone encounter volume problems when flashing custom ROMs?

-On a stock ROM, the volume on the headphones is perfect, however on every custom ROM I have flashed, the sound is too loud. The volume rocker goes too high. Is this on purpose?

11.What does porting mean for ROMs and games?

-Simply put, with permission from the original developer, porting a ROM and a game means making it available for our device. But what are the limitations of this? I certainly can not take NFS Shift, scale down the textures and post it, right?

12.Does every custom ROM drain battery life on a huge scale?

-For every 20 min, 5% of my battery is drained, while on stand-by. I'm not even going to talk about the drain when actually using the device. I can't make it operate more that 2 hours without it dying. This problem is not present when having a stock ROM.

13.How is a custom kernel installed?

-Is it via ODIN or custom recovery? Or does it depend on what the file actually is?

14.What is the output power of our 3.5mm headphone jack?

-If I plug my 2 small desktop speakers, the phone just hangs, while, for example, my cousins IP5 has no issue with having 300W 2 speakers plugged in to it. What is the limit? I take it it is very small.

15.What does GPU rendering mean?

-I've noticed a few custom ROMs being able to use GPU rendering. Does it mean it renders the UI with the GPU instead of the CPU to give a smoother experience? If so, does this impact battery life?

16.What is the limit of an SD card on our phone?

-In terms of storage and speed transfer.

17.What is the highest overclock recommended for the SGM?

-I think it is around 750MHz, but I've seen ROMs pushing our phone up to 864MHz, with no users reporting fried phones. Does it even matter if the voltage is not changed?

18.What is our GPU?

-You read it correctly. I mean this as in is it a standalone chip or is it integrated? Can you also provide information on how fast is exactly our Adreno 200?

18.1. Can we overclock our GPU?

-Like on PCs, can we overclock our GPU to gain more performance? Has this been done before, and how successful is it?

18.2. Do different drivers exist for our GPU?

18.3. If so, does using them make a difference in terms of performance?

19.Do different (if any) drivers exist for other hardware located on our phone?

-Like our GPU, do we have individual drivers for Wi-Fi, Bluetooth etc.? If so, does using them make a difference?

That is all, and thank you to whoever can answer at least some of these.