RECENT TOPICS » View all
Hello ![]()
I need a little advice.
I just became interested in programming and am not sure where to start. I want to ultimately be able to write apps for iPhones and iPads and program websites.
I looked some stuff up online and most people agree that XCODE is like Objective C. I don't have a mac right now and I don't want to start coding apps right away. I wanted to learn how to built a website first.
So basically I want to learn how to program complex websites start to finish
And program apps.
I realize those two things don't overlap
So my questions are
How long to be good at and feel confortable with php and javascript and anything else that I might need to know with regards to website building? What is MySQL and will I need it?
How long to learn C, C++, Objective C and how long will it take me to transfer those skills to XCODE.
I am currently learning javascript online at codeacademy.com but I have a bunch of other resources to learning like khan academy were they have a section on programming and this CS50 class that is taught at opencourseware that looked good. I have access to the lynda.com library of courses on programming. And I can also attend programming classes at my university, not for credit because they are outside of my major but just attend the lessons to learn without actually signing up for the class.
I know I am all over the place and the advice on most boards on the internet to similar questions is all over the place. I just need a little clarification with regards to the time frames for gaining working proficiency with these languages and if anyone has any advice on the learning resources I am using or has used them before or can recommend some other course of action or can offer really any sort of help at all I would greatly appreciate it.
BTW
I start of my day by doing 2 hours of Japanese where I add around 50 new words and I'll have another 25 min review session in the afternoon where I make sure everything is sticking.
I can on top of that give another 2 hours a day, some days maybe more, to programming ![]()
Again thanks for any advice and even for bothering to read that wall of text I posted ![]()
Xcode is the app (Integrated Development Environment, or IDE) that can be used to make OS X/iOS apps. Objective-C is one of the languages you can use to write those apps.
Edit: Also, I'd pick a particular kind of app you want to develop, because (for example) you wouldn't want to spend a lot of time becoming proficient in C++ if your ultimate goal is iPhone/Mac apps; most of those apps are written in Objective-C, and the frameworks one uses to write those apps (collectively referred to as "Cocoa," among others) require Objective-C.
Likewise, stick with C# if you're going to be writing Windows 8 apps, and so on and so forth.
Last edited by Khakionion (2013 March 10, 7:48 pm)
The basic ideas in programming languages like C and all its variants (C++, C#, Objective-C, Java) and all imperative languages tend to be very similar. The details of working with the programming environment (Mac vs PC vs iPad vs iPhone) can be more work, and a lot less interesting. If you choose to learn one, the switchover time should be a couple of months or so to get going reasonably well, if you actually understand one environment well from the start. That said, if you have a favorite, I'd start there, because switching is tedious and boring.
So it would be ok if I just jump into objective C and skip the other languages for now?
I mean you can just learn the languages separately without any problems right?
One more thing, for building a complete website from start to finish, or up and running successfully, I would need Javascript HTML and CSS right? I keep reading that this is all I need but then I hear all these acronyms like AJAX and client side/server side and a bunch of stuff like this. Do I need PHP to build websites or is javascript enough for now. I will learn PHP later on but I just want to focus on Javascript for now, or do I NEED PHP????
EasyJapanezy wrote:
One more thing, for building a complete website from start to finish, or up and running successfully, I would need Javascript HTML and CSS right? I keep reading that this is all I need but then I hear all these acronyms like AJAX and client side/server side and a bunch of stuff like this. Do I need PHP to build websites or is javascript enough for now. I will learn PHP later on but I just want to focus on Javascript for now, or do I NEED PHP????
It really depends on what kind of website you want to make. Can you give an example? Something like kanji.koohii.com maybe? Because technically, you can upload a text file on a server and call it a website, but obviously you're looking for something more than that.
HTML is where to begin. You can write a whole webpage in nothing but HTML, but it wouldn't be very interesting, as the page's content wouldn't change unless you edited the HTML file. Think something like an "About Me" page that just has a paragraph of text and a picture.
CSS is for styling purposes. This is where you make the website look pretty by picking colors, font sizes, and so on. Technically most of the things you can do with CSS can also be done in HTML, but that method has its disadvantages so no one does it that way anymore. The idea is that HTML is for content and CSS is for style. Separation of content and style is important for ease of maintenance.
Server-side programming (PHP, ASP.NET, JSP, or others) is useful for dynamic content. There are a lot of things you can do with a server-side programming language, but a very common purpose is to interact with a backend database. Server-side refers to the fact that the code is executed on the server computer, and not the end-user's computer.
Database systems (MySQL, Oracle, SQL Server, etc) are used for storing persistent data. Like this forum, for example. There are a lot of topics and posts in this forum. The information for who posted a message and what text it contained is stored in the tables of a database. So there are not thousands of HTML pages for each topic you see. Instead, there is one PHP page called viewtopic.php (you can see it in the URL) and some URL parameters. Those URL parameters are used to pull the correct information from the database. PHP is used to query the database and use the results to produce a webpage with valid HTML code.
JavaScript is a client-side programming language. That means JavaScript code runs on the end-user's computer (the user's browser interprets the code). Personally, I think it's less important than server-side programming, especially at the beginning, but again, it depends on your needs. Think Gmail, which includes JavaScript by default, but allows a non-JavaScript version to be used. The JavaScript version is just nicer to use, as long as you have a fast internet connection, since it uses a lot of AJAX. If you have Gmail, I recommend taking a look at how the two versions differ.
AJAX is just a way to use JavaScript to interact with information stored on a server (such as in a database), in order to update a webpage without reloading it. A lot of major websites use it, like Google (the search-suggest feature), Amazon, Facebook, and more. For most websites though, the AJAX is non-critical, as it should be, because it's possible for a user to disable JavaScript. A good website still works with JS disabled (Google still works, but it just won't auto suggest searches for you), while a bad one breaks (Facebook just shows a blank page and no error message, last I checked). Of course this doesn't matter much for a beginner, but it's good to know for when you're experienced enough to really polish your websites.
Last thing to note, there is plenty of free and commercial software for web purposes. I mentioned that this forum runs through a PHP and a database, but it's not like Fabrice coded the forum's PHP and designed and built the DB tables from scratch. This particular forum runs on PunBB it looks like. Still, I'm assuming he did code some or all of the kanji.koohii portion, so all the above knowledge was still needed. There's also things like WordPress for blogs.
@headphone_child thank you for that extensive response it cleared up a lot, I just had a few more question:
What is the difference between a website like amazon that sells stuff and a website like Facebook or twitter? In terms of how they are programmed using what languages, how complicated and time consuming is it to build either of those examples?
BTW why does it take teams of programmers to work on Facebook and other major websites, why can't one person do the whole thing by themselves?
Also is there a time frame for how long it takes to become proficient at building complex, interactive websites?
Meaning how long to get that good with javascript? PHP? how long to learn all those other concepts like how to work with AJAX etc.?
What is the best/fastest way to study javascript and PHP, I downloaded Javascript the definitive guide 6th edition and there are some websites like codeacademy.org that have a few tutorials to get the main concepts down and I can get the courses from the lynda.com website. Would going through all these resources get me to a pretty good level in terms of being able to apply what I learned?
Put it this way if learning how to build websites was a language how long to achieve fluency?
Also it is possible to do it yourself without a teacher right? I mean I have a few professors I can ask but I am not enrolled in any classes, if that makes a difference at all.
As of now I can dedicate a good 1-2 hours a day to learning how to program.
Also could you suggest a plan in terms of what to learn when, like HTML and CSS first, then move on to javascript then PHP or any sort of road map that would help me organize my studying methods.
Thanks ![]()
EasyJapanezy wrote:
I need a little advice.
I just became interested in programming and am not sure where to start. I want to ultimately be able to write apps for iPhones and iPads and program websites.
I would definitely get a Mac as soon as possible. Obviously they are required for iOS programming, but there is a high rate of Mac usage in web development as well.
I'm not sure if you wanted a Japan slant to your answers, but if you want to be insanely marketable in Japan I would suggest you learn Ruby on Rails. You can get started very easily with the free Ruby on Rails Tutorial.
I would recommend getting the basics of javascript, HTML, and CSS down first, then add in jQuery.
For a small project, try making a basic website with a form submission with some javascript, HTML, CSS, and perhaps PHP on the backend of the server.
You don't even need to necessarily put anything into a database yet. You could just have the php analyze the form and echo back a statement. Do baby steps to make sure you understand what is going on (and to debug easily).
High level - HTML Page with Form:
1) User fills out form, hits submit button
2) Javascript does some initial analyzing of the form data to make sure everything was filled out correctly
3) The form data is then sent to the PHP code
4) The PHP code analyzes the data, makes sure there is nothing malicious (double checking to make sure no one is hacking your page, javascript is easy to hack)
5) If everything is OK, the appropriate data is sent to you in an email message (or you could echo the data back onto a page).
Note: If you choose to use PHP, you'll need to rename all your files with ".php" instead of ".html"
Once you are able to get this down, then I would redo the same project, but with jQuery.
This small project will let you get the basics down. You will enjoy figuring out how to get your website to look "just right" :-).
Basic books and websites on HTML/javascript will be helpful, but often a specific google search is what you really need if you run into a problem (CSS is not the most intuitive thing ever, unfortunately).
Take a look at simple websites that have a form submission, or google "php html form submission" or something similar. You should get some good examples to get you going. Good luck and have lots of fun!
EasyJapanezy wrote:
So it would be ok if I just jump into objective C and skip the other languages for now?
I mean you can just learn the languages separately without any problems right?
Yes, that's my experience. I spent a few weeks learning Java by using it after programming in C for a long time. It took a bit of work to write Java-style, but it's not hard.
That's different from memorizing all the different parts of the development kit, though. If you want to switch to the MicroSoft platform later, you'll have a lot of new tools to memorize.
(This might be the "General" language board, but I think Programming is a slight bit off topic, the lounge probably would of been better.)
I generally recommend a console language like Python or vanilla command line C to new coders. Of course those aren't entirely necessary. You can just grab a book in your target language and follow it through chapter by chapter and learn all the basics for that language.
That all said, learning to program in a specific language is completely different from being able to take an idea and break it up into the logical steps needed to make everything you need happen.
As far as websites go, you can get a lot of mileage by taking a system like Wordpress and re-skinning the entire thing to look and be how you want. And you get the added security that comes with such a robust system.

