Google Answers Logo
View Question
 
Q: Building websites using programming languages ( No Answer,   5 Comments )
Question  
Subject: Building websites using programming languages
Category: Computers > Programming
Asked by: mikeszynk-ga
List Price: $30.00
Posted: 18 Sep 2004 21:55 PDT
Expires: 18 Oct 2004 21:55 PDT
Question ID: 403128
I am beginning my studies of computer science and with the plethora of
programming languages available could use some direction.

How are websites such as amazon.com or ebay built, as much detail as
can be provided would be extremely helpful?

Sincerely, 

Michael Szynkowski
Answer  
There is no answer at this time.

Comments  
Subject: Re: Building websites using programming languages
From: showi-ga on 30 Sep 2004 14:27 PDT
 
I think principal languages used today to write web application is ASP
(microsoft) ,PHP, and Perl. You should also learn basic HTML and
Javascript.For storing data and manipulate it you need to learn SQL.
Mysql, postgresql, oracle, Access use SQL language, but functions or
syntax can be different, but logic remain the same.

THe more easy to start is certainly PHP+MySQL.
 
I don't like ASP and Access cause i don't like proprietary solution
but it's very powerful (You can edit sql query with your mouse =))
 
For complex e-commerce site there's CMS (Content Management System),
some are free . You should try to search google for "open CMS", and
see what languages they used.

maybe it can help you :)
Subject: Re: Building websites using programming languages
From: travelinsurance-ga on 07 Oct 2004 11:51 PDT
 
Another programming language that is very popular is Java. Java is
used in technologies like Java Server Pages
(http://java.sun.com/products/jsp/) and Java Servlets
(http://java.sun.com/products/servlet/) to present and manipulate
dynamic content on webpage. Also these technologies can interact with
databases like MySQL.

With Java you can also make Java Applets, which are interactive
programs that are placed directly on a webpage (see
http://www.innolyse.com/translate.jsp) for an example. Although I
agree with showi-ga that the Java Technologies are probably not the
most popular for making dynamic webpages, I believe that Java is a
very good general purpose programming language.
Subject: Re: Building websites using programming languages
From: olijenks-ga on 15 Oct 2004 18:09 PDT
 
How are web sites such as amazon.com or ebay built? 

By a huge team of programmers (usually offshore), dedicated
copy-righters, monkeys to manage page content, divisional infighting
and managerial self-interest!

I don't know what technology drives amazon but ebay looks like its
still written with isapi and I wouldn't go near it with a barge pole
if I were you.

That doesn't help you so come close young padawan and I will illuminate.  

(Apologies for patronising but hopefully this will pick up a few
others and we can all run along.)

Back in the dawn of time web sites were simple pages (text files) with
certain codes to determine how to layout the information contained
within, this is HTML.  (http://en.wikipedia.org/wiki/Html).  Web sites
are just a load of pages all linked together, and the 'Web is just a
load of sites linked together.  Now web sites containing just a load
of HTML files linked to each other are fine, but when they grow beyond
about 10 pages their a pain to keep updated and organised.

If you want to add another menu item for example then you have to go
through all 10 pages and update them all with the new page name.  If
this site then grew to 100 pages you'd have to go through all 100
pages and change them.  So what the brethren decided to do was keep
the common elements together in certain files and do a quick copy and
paste before showing them to the visitor to the site.

So you'd have 10 files and a separate file containing the links within
the menu.  Every time a page would be called from a browser, the
Server would get the contents from the menu file and insert it into
the page and the visitor would be none the wiser.  Add another page,
then simply add another entry in the Menu file and all would be fine. 
When your site grew to 500 pages then changing this one file would be
all you need.  This little trick is called the "Server-side include".

A Server is simply a program which takes your click and does something
with it.  Now clicking on a link to "contactus.html" will just tell
the Server to give the visitor the contents of the file called
"contactus.html".  Your web browser (and I hope your using Firefox -
www.mozilla.org) will read the file and show you the text, pictures et
al.  When you see contactus.php or contactus.asp (or a host of other
file extensions) your actually telling the Server to process the file
and perform all manner of witchcraft upon it.

ASP (Active Server Pages), and PHP (Pretty Good Home-Page) are
examples of witchcraft, or as those in the know call them Server Side
Technologies.  These are Scripting (or Programming if you will) that
perform a series of logical operations (Science/Magic) on the Server. 
These happen between the point you click a link and the point that the
Server returns the Page to your Browser.  What happens to the
information (passed over in the URL, or from a form) is determined by
the programming that happens in these files.

Consider Google for a minute.  Its role is to take your search request
and find pages that match it.  When you type your search in the little
box (eg sparrow) and press "Google Search" is that it will give you a
list of pages matching "Sparrow".  You could also type the address
://www.google.com/search?q=sparrow this will also give the same
results.  In both cases the Science/Magic takes your search term
(Sparrow) and has a look through its huge library and spits outs links
which it finds appropriate (see page rank
http://en.wikipedia.org/wiki/Page_rank for more Science).  Its the job
of the Server to process the inputs (?q=sparrow) and return the
information.

All these search results are held within a Database, and the
Database's role is to hold a load of information so that it can be
referenced by a certain Key words.  Think of a load of linked
SpreadSheets but much, much more powerful.  The first column might
contain the word "Sparrow", and the second column would contain a site
to which it is appropriate eg.  www.ihelpsparrows.com
You might also want a description of the web site, about how I have
helped sparrows.  The trick with Database's is that you can have a
load of rows in the spreadsheet all associated with the word sparrow. 
Also a database is not just limited to just a description I could have
more columns listing Colour, Age, Number of wings, African or
European.

The job of the server is not just limited to a search terms, this
depends on the programming contained within the code of each page.  It
can be used to show details of different products or articles.  A
database contains may spreadsheets and in a Database these
spreadsheets are called tables.  So you could have one table called
'Products', another may be 'Customers' (which will hold your
login/delivery details), another may represent your shopping basket

Now since Amazon uses a more complex method I'll demonstrate with
OsCommerce.  If you look at
http://www.oscommerce.com/osCommerce22ms2/product_info.php?products_id=5
you'll see a certain film, now change that 5 to a 9 and you'll get a
different film.  Instead of listing the items in our spread sheet as
'sparrow' or 'robbins' this one uses numbers (most do).  Running along
the columns we have items such as Regional Codes,Languages,Audio,
Picture etc.  The programming takes the information from the Database
(Regional Codes,Languages,Audio, Picture), and pushes the information
into a standard layout (called a "Template" so that you see a
different film for sale in the same page.  If I want to add a
different film to the web site, all I need to do is add another row to
the database/spreadsheet and advertise a link
...product_info.php?products_id=10.  You could have hidden pages
(called back office) to allow the adding of these films by a
non-programmer.

This way of doing things is called a "Database-driven web site". 
Amazon, Google, eBay, Hotmail, Forums, and virtually every other
-decent site uses it.

So where do you fit in to this?

At this moment in time it really doesn't matter what programming
language you choose to learn.  If your staring college I would
concentrate on meeting people and getting laid.  Their is far much
more you need to know as a programmer than will be taught in a CS
course. For instance about six months ago I had to process distance
accurately between two points on the Earths surface, and I remembered
a conversation with a Geographer about the Haverstein formula which
helped no end.  As a programmer you have to hoover up all information
you can, and store it away for future use.

However here are a few tips.

You need to just pick up something and get started.  I always think at
being able to program is like understanding Latin and moving to
another language as learning the syntax as nouns/verbs.  The main goal
at your stage is just to get experience with programming.  Maybe find
out what will happen with your course?  I'll not give you any URLs as
learning the find information on the Internet is the most important
skill to learn as a programmer.

Don't bother learning PERL, its been superceded.  Cold Fusion is just
too propriety, and nobody will respect you for knowing it.

Java: Applets (run in browser, or client side), JSP (Server side) are
a pain to just to install and understand how to start programming, try
a load of acronyms you don't understand and a development environment
that takes enough sweat to sink the ark.

PHP/ASP, its really just a toss of a coin between them.  I started
with ASP (VBScript and JScript), but now prefer PHP.  In fact I would
recommend PHP.  Its FREE (as in Free Beer), and the help files are
full of helpful hints from fellow coders.  Just download a copy of
Apache (its the premier Server), IIS (the Microsoft) which comes with
XP Pro and runs ASP without anything else.  PHP can be found to run
with both.

I would say that PHP (since it has a C style syntax) teachers you to
be a bit more disciplined (I'm ducking) with your code.  You can
switch to Java a bit more easily than with ASP (using VBScript).  Even
if you move to ASP and ASP.NET (with C# - which pays the bucks) later
the skills can be used.

SQL is the language used to talk within databases.  For PHP find MySQL
which is a free Database where you can cut your teeth learning the
basics.   Make sure you download phpmyadmin to help you manage the
database.

For an introduction to database try MsAccess.  Its not to be used for
web sites (concurrent user issues), but just getting to grips with it
and as a training tool its unsurpassed.

Once you get SQL down its a variation on a theme, and you can move to
SyBase, MS SQL Server, PostGreSQL.  It doesn't matter as you will
usually get on the job/or pay for additional training.

Just chill out, pick something, party, get laid, and write code
instead of watching TV (in that order) and you'll be fine.

Oli
Subject: Re: Building websites using programming languages
From: olijenks-ga on 15 Oct 2004 18:42 PDT
 
Ok just read my post, and here is a general to do list to get you going:

1. Download and Install Apache and get PHP running with it.
2. Get a "Hello World" to print the the browser when you call a page.
3. Send over and display some information through your local server
4. Get used to POST, GET, REQUEST, and SESSION 
5. Handle files and File uploads on the server
6. Create/Connect to, and Query and Databases (learn more SQL goodness)
7. Get a hosting account and domain name (Linux based) and run on the net.
8. Send mail via PHP from your hosting account.
9. Build a photo album web-application using skills learnt above.
10.Start to set yourself your own goals.

Only do it if you care about learning and don't worry, then the cash
will come (PROFIT http://en.wikipedia.org/wiki/Slashdot_subculture#Business_plans)
Subject: Re: Building websites using programming languages
From: trap17_com-ga on 16 Oct 2004 07:51 PDT
 
Computer Science is a very vast topic and I rather suggest that you
narrow your approach. When considering the topic, Computer
Programming, there are many branches that come into picture.
As far I know, there is assembly level programming, General
programming for day to day applications, System programming, Web
Programming etc. This was just a small list which I could think off. I
also believe that your "interest" is the most important thing that you
should consider. If you more interested in web programming, you should
think about programming languages related to web applications,
scripting, Database management etc. But as you see, even the web
programming topic itself gives rise to so many other narrow topics. IF
you want to be a professional, then it is not possible for one person
to be a professional in all of these topics. Programming is a more of
an art or a skill rather than plain knowledge.
So, it is better that you narrow your approach and decide what you are
most interested in. When it comes to huge companies like Amazon or
Google, I don't think they use Perl or any other language for database
or information handling. In fact, they would be using their own
programs which are highly optimized for the systems, they are using so
that they get the 100% potential of their setup. So, it is rather hard
to predict what companies use.
As for the suggestion of a programming language, I suggest you start
off with C programming which will give you a nice introduction to
structured programming. After you are experienced with C, you should
think for C++ for learning object oriented programming. Almost all the
programming languages which exist today are quite similar to these two
languages. For E.g. If you know C/C++, then it will hardly take any
time to learn PHP and Perl.
In short, if you list out the web programming languages, here are the
few that come to my mind. PHP, Perl, ASP, JSP, Cold-fusion, Java,
Python ... Hmm.. So If you think you will learn all these, then thing
again, these languages are only related to the web programming part.
Which is rather incomplete without database systems.. So now, the list
goes on and here are a few more, MySQL, MsSQL, oracle, postgresql,
access etc. All these are database systems which are used for storing
data. So, now you will have to learn codes which are specific to
these. Even though the codes will be similar, but still, it can be
quite confusing if you try to remember all of them.
Final Suggestion: Catch up with C and C++ and learn it thoroughly..
Get the basics first and then you can jump on to any programming
language which is the running one in the market (when you finally
decide to start coding). Also, knowing a language and learning a
language.. Both make a huge difference. It takes a lot of time to
learn and develop skills in programming. I have been programming since
I was 12 yrs old. Started of with FoxPro :-) And now I have sticked to
only PHP and MySQL. When it comes to knowing of languages, I know
about 15-20 programming languages, but out of which I can code in 6-7
languages only.. I.e. I am confident only about 6-7 languages. And of
all those, I am sticking to PHP because my job demands it and besides
that, I love PHP. But still, I cannot say that I am a master in this
language, because, there are situations where even I get stuck up.
Mastering a particular language takes years. Just like English
Grammar.
So, it is advisable, while you are completing your computer science
studies, you can blindly concentrate on C/C++ and then switch the
languages which suit your work the best. Because, Internet is changing
every day! No one knows, that today where most of the people are using
PHP, tomorrow, some other language might take over it.

Important Disclaimer: Answers and comments provided on Google Answers are general information, and are not intended to substitute for informed professional medical, psychiatric, psychological, tax, legal, investment, accounting, or other professional advice. Google does not endorse, and expressly disclaims liability for any product, manufacturer, distributor, service or service provider mentioned or any opinion expressed in answers or comments. Please read carefully the Google Answers Terms of Service.

If you feel that you have found inappropriate content, please let us know by emailing us at answers-support@google.com with the question ID listed above. Thank you.
Search Google Answers for
Google Answers  


Google Home - Answers FAQ - Terms of Service - Privacy Policy