Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re: Web Programming: For Beginners

by blue_cowdawg (Monsignor)
on Aug 26, 2011 at 14:57 UTC ( #922666=note: print w/replies, xml ) Need Help??


in reply to Web Programming: For Beginners

First off:

      Do I have to have a web server (excuse my knowledge, but I'm afraid I don't even know what a web server is)?

There's something in terms of "the basics®" you need to learn. By definition you need access to a web server to serve your pages from. Secondly,

      Also, what would I use to web program in Perl?
You are probably getting way ahead of yourself. Try renting shared space on a web server somewhere. Hosting plans are as little as US$1 a month these days. Start off by learning HTML and serving up static pages. If you try to learn Perl web programming and just the task of creating HTML pages you are going to get lost.

Having said all that and once you are comfortable with concepts of HTML start checking out the Tutorials here at the Monastery. There is a whole section on web programming that if you try to learn it all at once your head will a'splode.

My advise to you is to start off very simple, follow some of the examples in the CGI man pages and don't move on until you understand them thoroughly.

Make sure that whatever hosting plan you get yourself into, or whatever server you end up posting your work to is configured to allow CGI programs to run on them. Some don't for security reasons. Some don't at the "economical" hosting plan levels because they want to charge you more for the privilege. So choose wisely.


Peter L. Berghold -- Unix Professional
Peter -at- Berghold -dot- Net; AOL IM redcowdawg Yahoo IM: blue_cowdawg

Replies are listed 'Best First'.
Re^2: Web Programming: For Beginners
by runrig (Abbot) on Aug 26, 2011 at 15:21 UTC
    While understanding the basics like what a web server is is important to web programming, one doesn't need to rent hosting on a web server to dip their toes into it. You can run a web server on your local system, and test apps from it. A framework like Dancer makes this easy (or Ruby/Rails or Catalyst or ... for that matter), you can launch any app you develop on the "built in" server, and when you decide you want to deploy your app to the world, then you can rent hosting and run your app on a more capable server.
          one doesn't need to rent hosting on a web server to dip their toes into it. You can run a web server on your local system, and test apps from it

      In principle I agree with what you said. In point of fact when I do web programming I do all my testing on a localized web server until I'm sure the code is ready for Prime Time®.

      I confess to being leery of telling a beginner to set up a local web server. Using a web server and setting one up are two different things. Having seen a lot of questions on the Monastery surrounding web server configuration I think learning to use a web server and learning to set up of your own should be kept as two separate learning paths.

      Indeed I have worked with a great number of application folks who write wonderful web applications but don't know spit about setting up or maintaining the web servers they target their code to.


      Peter L. Berghold -- Unix Professional
      Peter -at- Berghold -dot- Net; AOL IM redcowdawg Yahoo IM: blue_cowdawg
        I confess to being leery of telling a beginner to set up a local web server.

        What's hard about telling a beginner to type plackup?

        Howdy!

        That does depend, in part, on the computing environment locally available. On Mac OSX, it's pretty straightforward to activate and use the web server for local stuff.

        yours,
        Michael
        There doesn't really need to be any 'setting up' of a web server. While I sort of lean towards 'doing it the hard way first' and learning to use CGI and setting up a web server, there are frameworks (e.g. previously mentioned Dancer) where you can skip the whole 'setting up a web server' step and just get to the 'writing the app' step. When you start your 'app' the web server also just 'starts'.
Re^2: Web Programming: For Beginners
by perl.j (Pilgrim) on Aug 26, 2011 at 15:09 UTC
    There's something in terms of "the basicsŪ" you need to learn.

    What do you mean?

    --perl.j
          What do you mean?

      By basics you need to learn what the moving parts of web "programming" is all about. Understand the relationship between your application (or static pages) and the server they are being hosted on and what is involved in the user experience of accessing those.

      The fact that you stated you don't even know what a web server is tells me you are at the parking garage level of understanding and you want to get to the penthouse.

      Just like learning how to play a game you need to understand the rules and in the case of a sport such as football or soccer you sometimes even need to understand the rationale behind the rules.

      Knowing what a web server is and what it does for you and how it does it is a good place to start on your journey towards learning how to do web programming. There is pain in the learning (pain is weakness leaving your mind) but the rewards for going through that pain are paid off when you get to the point you are doing actual programming and understand what is happening to your code in that environment.

      Steps:

      1. gain an understanding of the web programming environment. Such as what web servers are out there, what they do and how they do it. How does DNS affect your web programming environment? What is browser independent coding all about?
      2. gain an understanding of basic HTML. What are the rules of good markup?
      3. (optional) learn some javascript. This will come in handy later on.
      4. Read the Tutorials on web programming here at the Monastery
      5. Look at the documentation for CGI and understand the examples. Thoroughly.
      6. Come up with a simple (and I stress, simple) web application and avoid the temptation to jump right in and try to write that "killer app" for all your friends to ooh and ahh at. You're not ready at this point and you are setting yourself up for Epic Fail®.

      That will keep you busy for a while, keep you off the streets but hopefully not interfere with your studies. :-)


      Peter L. Berghold -- Unix Professional
      Peter -at- Berghold -dot- Net; AOL IM redcowdawg Yahoo IM: blue_cowdawg
        Thanks so much! Any idea where I can learn step 1? I actually already know HTML and CSS.
        --perl.j

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://922666]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (4)
As of 2022-05-21 10:17 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Do you prefer to work remotely?



    Results (76 votes). Check out past polls.

    Notices?