Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie
Hi all,
Vanilla are planning an update to the site on April 24th (next Wednesday). It is a major PHP8 update which is expected to boost performance across the site. The site will be down from 7pm and it is expected to take about an hour to complete. We appreciate your patience during the update.
Thanks all.

Help with Web Development 'Language'

Options
  • 20-04-2014 12:35am
    #1
    Registered Users Posts: 109 ✭✭


    Hi,

    I work in Marketing and am doing my best to get up to speed with all things digital. With the benefit of hindsight, i'm completely pathetically clueless about web development, design, mobile applications etc.....

    When I worked with agencies, and IT colleagues i'm completely overwhelmed with jargon and technology terminology. I'm talking what seem to me to be basics like HTML, CSS, Javascript, FTP, Servers etc etc etc. Ive tried looking on the net for tutorials on the basics, but its a merrygo round of terms which i just simply dont understand.

    Its creating a number of problems in that; some situations im asking for web functionality thats impossible or too expensive and i have a feeling that in some situations thats been taken advantage of. If i could compare it to going to a mechanic with an engine problem and not knowing how a car runs, thats the feeling i get when working with colleagues or agencies.

    I know its probably too to pick up the skills of becoming a web developer, but id just like to understand the industry and the construction of websites so i can work with people who are in the industry

    Any advice?? I looked into sites like Alison to do online courses, but again i wouldn't even know where to start!


Comments

  • Registered Users Posts: 6,000 ✭✭✭Talisman


    If you're looking to get a handle on elements of web design then I would suggest picking up a book like Head First Web Design. It's an easy read and will give you a good understanding on how an accessible website is put together.


  • Registered Users Posts: 2,815 ✭✭✭SimonTemplar


    There is no one "language" that is used to create websites. A web site is the product of a number of different language and technologies working together. These technologies are typically divided into two categories - client side and server side. To understand the distinction between these two categories, you need to understand how a webpage is loaded into a browser.

    Basically, web pages are stored on web servers. They are called servers because they literally "serve" web pages, like a waiter serving food. In a restaurant, you order food and the waiter serves your order. The same principle can be applied to web site architecture. To use technical terminology, you'd say the client requests a webpage and the server returns a response. The whole mechanism that handles these requests and responses is called HTTP (but I don't think you'll need to worry about that for now). This is a basic diagram of a HTTP response and request ... http://i.stack.imgur.com/eY5i4.jpg. So, your browser sends a request saying "get me www.mysite.com/home" and the server sends back a response saying "here is www.mysite.com/home".

    So, client side languages are run by your own browser on your computer, and server side languages are run by the server that has received your request.

    Client side languages
    Client side languages are run by your browser and are responsible for everything to do with how the page is displayed, it's contents, and it's behavior. There are three main languages in this category:

    HTML - this is a mark up language that defines the structure of the page and adds semantic meaning to it's contents. This is achieved by containing the actual contents in elements such as paragraphs, lists, sections, etc... HTML doesn't care about the visual formatting of the content.

    CSS - this is where the developer specified the visual formatting and layout of the content contained in HTML. Everything to do with the visual appearance of the webpage involves CSS such as the positioning, colour scheme etc.

    Javascript - this is a programming language that is used to add behavior and interactivity to a webpage. Javascript can be used to change the webpage's HTML/CSS, perform calculations, etc. For example, if you fill out an online form and you forget to complete a required field, that field will probably be highlighted somehow with a message on the page telling you it must be completed. That was done using Javascript because it involved changing the content of the page without going to the server. You might have heard of jQuery. This is still Javascript, but it basically provides developers a shorter, easier way of achieving many of the common Javascript tasks.


    When the browser receives the response from the server, the HTML/CSS/Javascript for that page will all be contained within that response.

    To complicate things a little, modern versions of HTML and CSS are known as HTML5 and CSS3. These have come with behavior functionality that was traditionally previously done by Javascript but Javascript is still vital.


    Server side languages
    These are run on the server that contains the website. There are many different languages but some of the more common ones are Java, ASP.NET, PHP, Ruby. Boards is developed using PHP. If you look at the URL of this page, you'll see showthread.php. (Just to be pedantic, ASP.NET is a framework not a language because it can be written in two different languages from Microsoft, C# or Visual Basic, although C# is far more common).

    So what do server side languages do. Basically, they make the webpage dynamic. Before server side languages, a webpage was static - the content never changed. If you had 50 products, you needed 50 different pages, one for each product even if the only difference between each product page was the product details itself.

    A server side language typically generates a dynamic webpage by passing certain information into a template, generating the required HTML, and then serving back that page to the browser. For example, look at the URL for this page. Boards have thousands of threads. So instead of creating a different page per thread, they have a single page called "showthead.php". When you open this thread, the browser requests from the server that page but also sends another piece of data "t=2057193375". This is known as a URL parameter and is a way of communicating data from the client to the server. In this case, we are sending to the server the ID of the tread, which is called "t" by the developers. So, the server knows that it needs to get all the information related to thread 2057193375, and "plug" that into the showthread.php template and then send that back to the client.

    If you've ever done a mail merge in MS Word, the concept of adding data to a template to generate dynamic documents is basically how a dynamic HTML page is generated by the server (although implemented in a vastly different approach, of course).


    So, where does the server get this information? Data is usually stored in a database. The most common type of database is relational. The database (or db for short) contains tables with records and fields. A db is relational because tables can relate to each other. For example, if you have a sales database, one table could store all the orders and another table could store all the items of that order. Every record in the two tables has a unique identifier called a primary key (PK). If the PK for the every order is also in the items table, you can relate each item to its corresponding order.

    The server uses another language called SQL to interact with the db. This interaction is usually a CRUD operation, this means a record is either Created, Retreived, Updated or Deleted


    So, if you go to Boards and open this thread, the following happens:
    - The client (browser) sends a request to the sever for the showthread.php page. It also sends a parameter called "t" with its value of "2057193375"
    - The server receives this request and (through code written by the developer) understands that "t" refers to the unique identifier of the thread, in this case thread number 2057193375.
    - The server connects to the database to retrieves all the data related to thread 2057193375. This retrieval is done using SQL.
    - The server then passes this data into the showthead.php page. At this point, that page is only a template and doesn't contain any data related to a specific thread. Then however, the PHP language uses the data that was retrieved from the db to dynamically generate the HTML that structures the contents of the thread and its posts.
    - The server sends this newly generate webpage back to the client along with any CSS or Javascript related to it.
    - The browser then uses the HTML/CSS to render the page as you see it on screen.



    That is the basic web application architecture in a nutshell. It doesn't matter what server side language you use, that is the basic methodology.

    In terms of finding out more, there are loads of Youtube tutorials on specific languages. http://www.w3schools.com/ is well known also.

    I completely understand how someone can become overwhelmed by IT jargon. Perhaps make a list of the terminology you come across on a daily basis and either Google it or post a question here.

    Let me know if you need clarification on anything I've written here.


  • Registered Users Posts: 68 ✭✭Busyness1


    Been there myself albeit not from a marketing background. I found sites such as udacity very helpful, mitx also have a couple of courses in languages such as python. FTP is pretty basic tbh I wouldn't advise going to too much length in learning it, essentially ftp allows you to upload files remotely into the desired directory i.e. without having to go through hosts control panel. Personally I have found some books and practice the best way to go about html and css.

    Books I have found helpful:
    CSS & HTML:
    http://www.amazon.co.uk/HTML-CSS-Design-Build-Sites/dp/1118008189/ref=pd_sim_sbs_b_1?ie=UTF8&refRID=0NAXMJKHDWG4HY92F0TE

    HTML & CSS:
    http://www.amazon.co.uk/HTML-XHTML-CSS-For-Dummies/dp/0470916591/ref=pd_sim_sbs_b_3?ie=UTF8&refRID=0NAXMJKHDWG4HY92F0TE

    You can then start practicing writing the code in notepad yourself so you can have a fair idea into how to translate your ideas to the developers

    I found javascript too much to handle so have left that to those experienced in it.


  • Closed Accounts Posts: 19,777 ✭✭✭✭The Corinthian


    rosenallis wrote: »
    Any advice?? I looked into sites like Alison to do online courses, but again i wouldn't even know where to start!
    The first and most important thing you need to understand is the client–server model. After that, unless you want to pursue a technical career, it's arguable how much you really need to understand in any depth.

    You don't even really need to understand the details too much, just what it is and how it works because it is the underlying architecture of the entire Internet and ultimately every Web site or application is based on it. So understand that on a conceptual level and the rest (client-languages, server-languages, proxies, n-tier applications, the 'cloud', etc) pretty much falls into place.

    I've tried finding a simple and friendly tutorial to do this, but haven't been able to find one, so I'll make a stab at it here:

    The Internet is simply a vast network of machines that pass information to each other, much of the time (certainly in the case of the Web) via something called TCP/IP, which is based upon a request followed by a response (which is all you really need to know about TCP/IP).

    So, machine A jams some data (typically ASCII text in an agreed format, we call a protocol) requests data from machine B, which reads the request (as they've both agreed to use the same format or protocol) and then responds accordingly with more data jammed down the network back to the user.

    How everything knows how to get to everywhere isn't important for you to know. A lot of developers don't appear to have a clue how, TBH.

    The one doing the requesting is typically known as the client. Like when you write a URL in the address bar of your browser and click the go button. The one doing the listening for requests and responding to them is the server. Servers have specialized software to listen and process requests, just as your browser is specialized software for making the requests.

    Finally the same machine can be both a client and a server, typically referred to as a proxy. It can get a request and then pass on that request to another server, receive that reply and passing it back to the original client. All with or without additional processing.

    And that's the basics. How everything else slots into it is a bit like this:

    So when you go to a Web site, you request a page. The server sends back the page in the form of HTML that your browser can interpret. Then, as your browser can see that images are referenced in these instructions it automatically (you don't even see this happening) makes a number of other requests, asking for each image individually. Other files may also be listed in the HTML, such as CSS, Flash videos, external scripts and so on. In the end, it puts it all together for you to see.

    Server side languages are basically programming languages that are executed on the server and output the finished HTML (without the program) in a response. Client side languages are executed on the client, so the whole program is in the response and will only be executed by your browser after it arrives. Why? Because some things are more practical to do on the server (e.g. querying a 20TB database) than trying to download it onto your PC, and some are more practical to do on the client (such as browser effects or animations).

    All of which leads to Web sites that are built on various layers of often completely different technology working together; client-side languages, server-side languages, and even a database behind that - an n-tier system (with 'n' referring to a variable number and tier referring to those layers).

    I don't know if that all makes sense, it's something that diagrams might help someone to grasp and I've simplified it a good deal, but in a nutshell that's all you really need to know; the rest is really just details that slot into that overall model.


  • Closed Accounts Posts: 22,651 ✭✭✭✭beauf


    You might be better doing a development course. Not to become a developer but a lot if this stuff wont stick in your head unless you actually do it.


  • Advertisement
  • Closed Accounts Posts: 19,777 ✭✭✭✭The Corinthian


    beauf wrote: »
    You might be better doing a development course. Not to become a developer but a lot if this stuff wont stick in your head unless you actually do it.
    Disagree. A lot of this stuff may take longer to stick in your head unless you actually do a development course, but suggesting that it won't is like suggesting that first aid won't stick in your head unless you study medicine.

    All the OP needs is to get a general understanding of how the Web works for the purposes of her work in marketing. We're talking about really basic stuff for us that would make a difference to her ability to commission functionality within budget because she would know how it roughly fits into place (and thus affect cost) - not how to actually build it herself.

    If a very basic and short HTML course helps her come to grips with such concepts, sure. Otherwise it's overkill.


  • Registered Users Posts: 35,523 ✭✭✭✭Gordon


    You can always use web forums to ask questions, for example: boards.ie!

    I'm not sure if it's in this forum's remit, but if it is, it might be an idea to use this thread to ask newbie style questions: The Corinthian has already given you some great info, I'm sure others would be happy to answer more questions, no matter how daft you think they may be.


  • Closed Accounts Posts: 22,651 ✭✭✭✭beauf


    Disagree. A lot of this stuff may take longer to stick in your head unless you actually do a development course, but suggesting that it won't is like suggesting that first aid won't stick in your head unless you study medicine....

    First Aiders practise the hands on. Not simply to know how to do things but why to do things, but why not to do other things. That's why they have practice dummies and practise defib machines etc. Comparing it with doing 7yrs of medicine is like comparing it with doing quantum cryptology in machine code.

    Most things in life are much easier to remember if you practise them, rather than try to remember the theory alone. You can get a 5 day worktop that brings you through the basics of a few technologies and how they fit together. A lot of companies get their staff to attend these kinda things and the training companies can put together a custom course for none-developers. Simply as means to get them up to speed in the concepts and how things fit together. That said they tend to be expensive, so unless your company pays for it, its unlikely to be an option.

    Personally I find using diagrams and flow charts very useful for this kind of stuff. Using jargon to explain jargon to people who don't get jargon seems counter intuitive.

    http://www.timlin.net/csm/cis363/nTierArch.jpg

    But not everyone learns the same way.


  • Registered Users Posts: 109 ✭✭rosenallis


    Thanks so much for the effort in the replies, its really really helpful.

    I'm going to look through all of it and get back to you with any queries that i may have. It just a hard area to understand withouth getting 'hands on' or seeing the workings of sites.

    Ive done a small bit of Wordpress work and CMS systems but the rest of its just so confusing! I spent yesterday trying to figure out what the difference is between wordpress.com and wordpress.org

    I'll look at ordering them books to get an understanding also.

    A lot of the question i would have i can imagine are very very very very basic so thank you for the time to take to reply.


  • Registered Users Posts: 109 ✭✭rosenallis


    Gordon wrote: »
    You can always use web forums to ask questions, for example: boards.ie!

    I'm not sure if it's in this forum's remit, but if it is, it might be an idea to use this thread to ask newbie style questions: The Corinthian has already given you some great info, I'm sure others would be happy to answer more questions, no matter how daft you think they may be.

    This would be helpful, but im conscious this could open the gates to numerous questions which could take away from the forum.

    Its just difficult to find a central depository of basic information. If i Wiki CSS its a mental amount of information that that impossible to understand


  • Advertisement
  • Closed Accounts Posts: 19,777 ✭✭✭✭The Corinthian


    beauf wrote: »
    Most things in life are much easier to remember if you practise them, rather than try to remember the theory alone.
    I know this and even said so. My disagreement was based upon pointing the OP in the direction of courses and large texts, many of which are a complete overkill on her needs.

    Unless I've misread these needs, having a solid understanding of the basic client-server model and then being able to Google the details as they arise, is all she realistically needs.

    Oddly enough, this particular example is probably not a bad way of getting to grips with the basics for the uninitiated (although the Wiki article is not written for this purpose).


  • Registered Users Posts: 2,815 ✭✭✭SimonTemplar


    rosenallis wrote: »
    Thanks so much for the effort in the replies, its really really helpful.

    I'm going to look through all of it and get back to you with any queries that i may have. It just a hard area to understand withouth getting 'hands on' or seeing the workings of sites.

    Ive done a small bit of Wordpress work and CMS systems but the rest of its just so confusing! I spent yesterday trying to figure out what the difference is between wordpress.com and wordpress.org

    I'll look at ordering them books to get an understanding also.

    A lot of the question i would have i can imagine are very very very very basic so thank you for the time to take to reply.

    Do you know what your own system at work is build on? You mentioned wordpress? Is that it?


  • Registered Users Posts: 109 ✭✭rosenallis


    Do you know what your own system at work is build on? You mentioned wordpress? Is that it?

    No, its Terminal Four CMS. To be honest, its fairly easy to use and understand. That's not what i really have issue with, its just when i deal with suppliers.

    I'd like to ultimately set up my own site, so im trying to learn the basics before i approach people with ideas.


  • Registered Users Posts: 9,555 ✭✭✭DublinWriter


    rosenallis wrote: »
    Any advice?? I looked into sites like Alison to do online courses, but again i wouldn't even know where to start!

    You need to understand the basic principals of what the IT industry actually is.

    US management guru Tom Peters once described the software industry as having more in common with the fashion industry that the technology industry.

    Huh? What does that mean?

    Well basically, twenty years ago, what we now call 'cloud' computing' we were calling 'distributed computing'.

    Again, twenty years ago 'client-server' became all the rage, then with the advent of the web it became 'n-tier' and now currently it's all about MVC.

    At the end of all these processes was a business user who just wanted a computer system to do a carry out a certain process.

    The IT industry has always revelled in jargonology. The important thing to do is disguard all this and concentrate on what you want your eventual solution to look like and how you want it to perform.

    Technological trends will always come and go.


  • Registered Users Posts: 2,021 ✭✭✭ChRoMe


    .

    Again, twenty years ago 'client-server' became all the rage, then with the advent of the web it became 'n-tier' and now currently it's all about MVC.

    That sentence makes my brain hurt. I can appreciate that you are trying to labour a point, but it makes no sense.


  • Subscribers Posts: 4,075 ✭✭✭IRLConor


    rosenallis wrote: »
    If i Wiki CSS its a mental amount of information that that impossible to understand

    The "Simple English" Wikipedia is often more useful if you don't have any domain knowledge.

    HTML
    CSS
    JavaScript
    HTTP

    It's not always the best at explaining things, nor is it always simple but it may help you figure out what questions you need to ask.


  • Closed Accounts Posts: 19,777 ✭✭✭✭The Corinthian


    ChRoMe wrote: »
    That sentence makes my brain hurt. I can appreciate that you are trying to labour a point, but it makes no sense.
    Actually his post makes perfect sense.

    The foundation of all these Web architectures is basically the client-server model. Understand that and you quickly realize that n-tier is just something built on that basic model and in turn MVC is basically a specific implementation of n-tier with a snazzy name.

    Same with 'The Cloud'; it's just distributed computing with a snazzy management system making the system look all seamless and hiding the fact that the cloud is still just a whole load of sever machines in one or more data centres. I remember Rackspace beginning down this route around 2000 - they'd automated the whole set-up and configuration of server units so that you could do so on-line when renting them out - abstracting it all one step further into a 'Cloud' was inevitable (the overselling opportunities alone make it worthwhile).

    But these are all simply based upon re-workings of older stuff; more efficient, cleverer and more marketable - but ultimately still just re-workings of stuff that's already been around for a long time and in turn you can trace it all back to that basic concept that defines the Internet, which is the client-server model.

    This is why once someone understands this, the rest falls (or will more easily fall) into place, thus making it a good place to start for a beginner like the OP, instead of going onto some programming course, that teach languages that nowadays are so high level they do their best to hide this basic model - can anyone remember the days when you still had to send out a text/html content type in a script?


  • Registered Users Posts: 40,055 ✭✭✭✭Sparks


    can anyone remember the days when you still had to send out a text/html content type in a script?
    Some of us can still remember people wondering if archie would beat out gopher. :)


  • Closed Accounts Posts: 22,651 ✭✭✭✭beauf


    ... instead of going onto some programming course, that teach languages that nowadays are so high level they do their best to hide this basic model - can anyone remember the days when you still had to send out a text/html content type in a script?

    You can do courses that aren't pure programming. They teach the fundamentals to non programmers. The explain the concepts on a white/electronic board then set up a simple server and get people to write very basic pages, maybe a bit HTML, of CSS, validation, bit of PHP. Not to teach them how to code, but the concepts and fundamentals. Quite common in big companies or public sector when you want to bring non technical staff up to speed if they will be working with web projects.

    Maybe somewhere in the business forum might give a lighter less technical answer.


  • Registered Users Posts: 109 ✭✭rosenallis


    beauf wrote: »
    You can do courses that aren't pure programming. They teach the fundamentals to non programmers. The explain the concepts on a white/electronic board then set up a simple server and get people to write very basic pages, maybe a bit HTML, of CSS, validation, bit of PHP. Not to teach them how to code, but the concepts and fundamentals. Quite common in big companies or public sector when you want to bring non technical staff up to speed if they will be working with web projects.

    Maybe somewhere in the business forum might give a lighter less technical answer.

    Would you know where to look for courses like this?

    Many thanks for all the replies


  • Advertisement
  • Closed Accounts Posts: 22,651 ✭✭✭✭beauf


    Where Ive seen it we've asked a trainer or company to put a custom course together and deliver it in house or on site depending on facilities etc. We often set the material to be covered. Im not near a computer today but when i am i'll dig out some of the places we used.

    Sometimes you have to wait till they have the numbers to make it viable.


  • Registered Users Posts: 109 ✭✭rosenallis


    beauf wrote: »
    Where Ive seen it we've asked a trainer or company to put a custom course together and deliver it in house or on site depending on facilities etc. We often set the material to be covered. Im not near a computer today but when i am i'll dig out some of the places we used.

    Sometimes you have to wait till they have the numbers to make it viable.

    Many thanks, any info is helpful


  • Registered Users Posts: 68 ✭✭Busyness1


    Give codeacademy.com for starters


  • Closed Accounts Posts: 22,651 ✭✭✭✭beauf


    rosenallis wrote: »
    Many thanks, any info is helpful

    PM sent.


Advertisement