# Expanding my knowledge with programming



## xancalagonx (Sep 5, 2014)

I have been using Excel Visual Basic (VBA) quite a bit with regards to work related stuff (I am by no means a pro or guru, but I get by). Now I have kind of embarked on a bigger project which may require me to enlist the help of some friends too, which are all interested in learning to code. And this project might just be perfect for it.

I have added an image to easier see what I mean as a sort of overview.









I am aware that asking what programming language to use is often like asking people what is the best football team. You get different answers. But I am sure there are some programming languages which handle certain tasks more smoothly than others.


*So, the question: Which programming language would allow me to do all the necessary tasks required?*


 - Set up a website that allows user input updating back to database.
 - Set up the iOS and android app which also allows updating back to main database - _(I am aware this probably means having to separately get into the iOS programming regardless of what other program I start learning)_ 
 - Transfer and validate the data transferred between project databases and the main database, as well as the main database and the website/apps.
 - Which program to use for the main database (I know MS Access is widely used; what other options are there?)


I have some experience with _*Visual Basic (VBA) coding in Excel*_, mostly for work related stuff. Now that I've started scratching the surface on a larger project it becomes evident that it requires me to learn more and different coding than VBA.


What I am trying to achieve is a program that uses database information from a backend and allows user to change certain information using a website, iOS or android device. As an example, the database contains hard information about birds (sizes, colors, et.c.), but user can update information such as locations where they have been spotted either via website or an iOS/android device.


Also, the backend server will need to communicate with other servers (e.g. project servers) to upload information to a master database and send certain information back to the project databases (basically some of the information that has been updated via the frontend).


Initially I was thinking about *Ruby on Rails or Python*, but unsure how well they handle the tasks outlined. Since I have no experience with either I am completely open for suggestions on which program I should devote my time on.


Thanks so much for reading!


----------



## bertie (Sep 22, 2014)

Hi, I dabbled in building an on-line form a few years ago. For what it is worth here is what I learned.

If you are working from a website you will be using a server side programming language.
You will need a means of testing and debugging your code.
As the server side language only works when you are on-line, you will need to install a "local server" on you computer.

I choose a WAMP server:
W - Windows
A - Apache (local server)
M - MySql (database)
P - PHP (server side language)

The link below takes you to a PHP tutorial site:
Section 1.3 - WAMP download instructions
Section 4 - php forms
Sections 12, 13 - working with MySql databases

Beginners PHP Tutorials

And that's about it. If you work you way through the tutorials you should have enough to get you started.


----------

