HTML -- a markup language designed to create web pages.
CSS -- a styling language designed to style web pages.
Python -- a general purpose dynamic programming language. Very fast, modern, flexible, and powerful.
Ruby -- a general purpose object oriented programming language. Dynamic, highly usable, and powerful.
PHP -- a server-side and general purpose scripting language. Designed for web development, highly supported, and highly documented.
API -- Application Programming Interface, which is a specification for interacting with software (or allowing others to interact with your software). This is not a language in and of itself, but a model to define specific routines to manage data between applications.
Put to example:
In contrast, languages like Python, Ruby, and PHP are more general purpose and are often used on the server. This is where actual application or web development happens, as opposed to simply web design (HTML/CSS/JS). Using one of these languages, you handle everything from login systems and storing information in databases, to mathematical functions and methods that are used to display dynamic results on the front end.
For some reference:
Facebook and Wikipedia were built using PHP.
Twitter was built using Ruby.
Youtube and Google are built in Python.
PHP+SQL has the greatest marketability and job availability. Python presents the greatest opportunity, represented through position shifts over time. Ruby experts are more rare to come by in comparison to PHP and Python experts, but are nonetheless important for web development, mobile development, and general application development.
Python is the most readable and is the easiest of the three to learn for new programmers. With that said, Python is also the most strict in terms of indentation enforcement.
Ruby has an elegant feel to it and supports principles to minimize confusion.
PHP is most tailored for web development and will be a breeze for those who know some C.
When you share a post to Twitter directly from LakerNation, or login to YouTube using your Facebook account, you are using something called an API. LakerNation is using Twitter's API, whereas YouTube is using Facebook's API.
I would encourage you to study some of the principles and philosophies of programming before diving in. Here are some guiding questions I recommend you find answers to:
- What is the difference between an interpreter and a compiler?
- What is a high-level programming language?
- What is a low-level programming language?
- What is machine code?
- What are number systems? What is binary? What is hexadecimal?
- What is a data-oriented language?
- What is assembly language?
- What is the difference between server side and client side?
- What is a functional language?
- What is a procedural language?
- What is object-oriented programming?
- What is a GUI?
- What is a CLI?
Once you have some of those questions answered, can distinguish between client side / server side, and understand the general differences between HTML/CSS/JS vs. PHP/SQL, then I would recommend you pick a language and begin studying it.
Depending on the language you choose, I could recommend to you a number of resources. CodeAcademy is a great start for learning Python. Here are some other great resources:
For your HTML5/CSS3/JS needs, check out:
W3schools and Tizag are alright, but they don't offer all of the best practices.
For a beginning general purpose language, I always recommend Python to people (because of the readability of its syntax). This is personal preference, but you may take it into consideration. If Python intimidates you, revert to a markup language like HTML. Although HTML/CSS is designated for making websites, it can instill confidence in those who become intimidated by other languages. There is no greater feeling than printing your first "Hello World," launching your first web page, and calling your first function().
For web development, some might even propose that you begin with PHP over Python. While Python can do everything PHP can (and then some), most shared web hosting is more supportive of PHP. You are going to need hands on access to a server, or a virtual private server, if you want to start rolling out web applications developed in Python or Ruby.
However, the benefits of learning Python or Ruby sometimes outweigh PHP. You can use Python for just about anything, whether it be physical computing and open source hardware, to mobile applications or desktop applications. I must mention, however, that PHP can be used for other purposes as well. It is just mostly intended for web application development.
I never tried code academy but I have heard good things. Though nothing beats just coding projects. Some times they make that stuff too obvious and you don't really learn what you should be learning.
This is good advice. I would recommend that you learn Git:
It will produce better coding habits, will allow for collaboration, and allows for extensive documentation and revision history. Once you have the basics of Git down (which can be accomplished in less than 5 days with some effort), find a project on Github that interests you, fork it, and begin tinkering with the project! If you end up making the project better, commit your changes and feel good about improving a project! Welcome to the beautiful beautiful world of open source.
Edited by -Wade-, July 10, 2014 - 11:23 PM.
Get on board with Git