PDA

View Full Version : My comprehensive programming question.




Aniej
Mar 25, 2007, 10:40 PM
I am brand new to the programming world (literally zero experience) and wanted to try and learn a bit; I'm not looking to become the worlds greatest programmer over night and realize the time involved in becoming proficient. The issues I am having really break into a few interrelated areas:

1. What programing language or tools do you use to build a web based application, for example google calendar, essentially I am interested in what you use to build this type of system and not the type of programming that just makes a basic web page. I have tried to ask this question here (http://forums.macrumors.com/showthread.php?t=290470), and received some nice responses, but have since realized this is really just part of a much broader set of questions, which I am now asking.

2. What programming language would you suggest for making very nice clean, but visually appealing web pages? Your post about HTML comes to mind at this point. I love your point about google, what language is it that they are using that you reference? And, what if I wanted to try and make it a little more aesthetically appealing than google?

3. I hope this question makes sense, but in creating a website that is functional like a web based application rather than just a plain old website with some words and pictures, do you essentially have to combine two different technologies, i.e., one for the nice looking webpage the user sees and one that provides the functionality? I am not sure how to be thinking about this.

4. So now you have a general idea what it is that I am looking to do, but now comes the most important part. What books & tutorials do you think are the premier when it comes to teaching someone like me this kind of technology? I am looking to get started and have a nice amount of access because I am a student at a major research university, but would just as readily buy the books if that is what is needed. Thanks a bunch for fielding this question.



garethlewis2
Mar 26, 2007, 03:37 AM
For Google Calendar, Google Maps, etc, Google like most websites today use AJAX.

And all Ajax consists of is Javascript and XML. It works, but is basically a hack. A very good hack, but a hack nonetheless.

ChrisA
Mar 26, 2007, 02:14 PM
How would you go about designing an airplane?

In all seriousness I'd first start out learning the the very basics of structures and materials and a bit about aerodynamics. But prior to those a decent background in engineering math would be required.

It's kind of the same here. You will need to know some basics first. You need to know the a little about how the web and web servers work. What is a static page and what is a CGI script?

Next learn basic (non web) programming. Start with Java and see if you can write a basic "Hello World" type program or something that deos a simple task like computing how many stamps to put on a letter based on weight and postage class.

Next you combine your skills and write a program that runs on a web server. Part of what these programs do is deleiver other smaller programs that run inside the user's browser. But learn the basics.

The very best way to learn is in school but it takes a while there. Next best is to buy some basic beginner books and run through all the examples and exerciss using your own computer.

The exact programming language is not some important. Learn one modern language and the second will be easy. The hard part is the concets and these are mostly language independent. Java is not a bad frst language because it cvers mst of the concepts you ned to learn.

What do I use to make web based application. Mine are primitive and dn't have a wide user base or users who care about how things look. I use Perl CIG scipts and HTML forms. I use this because it's easy for me. These are 1000 other ways, none best.

tutubibi
Mar 27, 2007, 10:07 AM
1. What programing language or tools do you use to build a web based application, for example google calendar, essentially I am interested in what you use to build this type of system and not the type of programming that just makes a basic web page. I have tried to ask this question here (http://forums.macrumors.com/showthread.php?t=290470), and received some nice responses, but have since realized this is really just part of a much broader set of questions, which I am now asking.


There are 2 parts to web applications. Client (front-end) portion (what you see in the browser and provides basic interactivity) and server portion that generates client portion and interact with other back-end components (database, mail server and so on). In reality, it's usually 3-tier deployment (front-end, application server, back-end). Modern clients are DHTML/CSS and often utilize AJAX to provide some level of desktop interactivity on the front-end. Application server is developed using one of the server-side scripting languages (I won't go to CGI option :) ). Major server-side languages are PHP, JSP, ASP, Python.


2. What programming language would you suggest for making very nice clean, but visually appealing web pages? Your post about HTML comes to mind at this point. I love your point about google, what language is it that they are using that you reference? And, what if I wanted to try and make it a little more aesthetically appealing than google?


Web pages are always HTML/DHTML/CSS based. So, you use any tool and design static web page using those technologies. That you make parts of your page dynamic or server generated so the real question is what do you use on your server to do that. See #1 for options.


3. I hope this question makes sense, but in creating a website that is functional like a web based application rather than just a plain old website with some words and pictures, do you essentially have to combine two different technologies, i.e., one for the nice looking webpage the user sees and one that provides the functionality? I am not sure how to be thinking about this.

Again, there is distinction between form and function. Application has to have both. Form is your web page design (template). Function is responsibility of the application/web server. Now, you can have some function done without any real code on the server, using static pages and some JavaScript for example.


4. So now you have a general idea what it is that I am looking to do, but now comes the most important part. What books & tutorials do you think are the premier when it comes to teaching someone like me this kind of technology? I am looking to get started and have a nice amount of access because I am a student at a major research university, but would just as readily buy the books if that is what is needed. Thanks a bunch for fielding this question.
Look for books with the right keywords (WEB 2.0, AJAX, Web Applications, PHP ...) on amazon and then reviews on amazon and other sites (Ars (http://arstechnica.com/index.ars), slashdot (http://www.slashdot.org)). A lot of information is available on line on sites like codeproject.com (http://www.codeproject.com/), w3schools.com (http://www.w3schools.com/) and others.

Hope this helps.

Aniej
Apr 3, 2007, 02:57 AM
To the two individuals who posted answers to my question, I cannot thank you enough for taking the time to provide well thought out commentary and relevant references for me to draw upon. Thank you very much. I would really enjoy trying to further develop this thread with additional views and, more importantly, more references to tutorials for each language you discuss. I have seen the sticky threads at the top of this forum, and it is useful to an extent, but they are also a bit overwhelming and their usefulness is difficult to discern because they are typically just links without any direct context. Hope to hear from ya.

Mooey
Apr 4, 2007, 03:21 AM
You should go ahead and check out the Web Design And Develop forum located here. (http://forums.macrumors.com/forumdisplay.php?f=58)

As for tutorials, if you're going to start out with basic HTML, I'd go with

www.htmlgoodies.com

They start you off with basic stuff and after you've learned all that you can of HTML, they have more stuff for php/cgi/asp/css if you'd like to further your knowledge.

HTML doesn't take long to learn. If you repeat what you do and keep making an effort, it should take you two-to-four weeks to learn.

cayley
Apr 4, 2007, 04:09 AM
You might want to check out this site: http://webcast.berkeley.edu/course_details.php?seriesid=1906978389

It's the webcast of the introductory programming class at UC Berkeley. The book, SICP, is also available for free online.

Aniej
Apr 4, 2007, 10:45 AM
In the interest of keeping my posting pattern going strong... To the two people posting above, thank you a ton. These are both very helpful resources, especially the webcast, which I will check out today.