Website Development Languages: Where should I start?

Christopher EastWeb development is fascinating and starting programming can be the beginning of a rewarding career. Christopher East offers his take on which language to tackle first

It is important when you start out on the adventure that is learning a programming language that you choose a language which will achieve your own core aims around what you would like to get out of it and what you would like to end up with when you are finished programming.

Sometimes this process is very simple, because other people dictate several of the criteria for you, so sometimes you might be told that you need to develop a PHP application, which obviously strips all the languages down to one. You may be told for compatibility, ethical, or other reasons, but if you have questions about why this is the case, and why you have been told to use this specific language, don’t hesitate to ask.

At other times, you might find the choice overwhelming, and this is something I hope to help you with when it comes to choosing and then finding ways and opportunities to progress in one or more than one of the languages you decide to take up.

However, if you decide you want to support as many devices as possible, then it is common to look at a web based language, such as HTML, CSS, JavaScript, PHP, Perl, VB.NET, C#.NET, C++.NET or others.

Once you’ve made that choice, your possible language choices drop dramatically, however, there are a core of 3 and possibly 4 languages, which I would recommend that you look at, at least on a high level overview basis. These are;

  • HTML
  • CSS
  • JavaScript

And possibly, XML.

The reason I include XML is that it is incredibly useful and is being used considerably more over recent times. However, not all the web focussed languages use it extensively, however, as it stands, I believe it is very a good language to know.

If you are looking at getting into web development, and web programming, then these languages should be your first step into the world of web development. However, once you’ve got to grips with those languages, then you’ll have a much more significant choice, and something I believe is your first major choice, other than deciding you want to learn how to do web development!

The first major choice you will have to make is whether you want to use Microsoft based technologies, or open-source technologies. That is a choice which many people make for so many different reasons, that we could never hope to go through them all here.

Once you’ve made your choice about whether or not to use open-source languages, Microsoft based languages, or other closed source languages, although few of those exist to this day.

It is important when choosing your defining language that you understand the difference between frontend and backend languages. In the briefest possible way, this is my explanation the differences between frontend and backend languages.

Frontend languages directly affect what they display, they define the layout, change the colours, define the font sizes, they say where something should be, and what the thing should look like.

Backend languages provide a link between the server and the frontend languages. They allow you to get information to the frontend language, so that it can be displayed. They provide the thing for the frontend to display.

These are very generalised descriptions, but accurate when you use a backend language, which generally are the languages which people spend considerable amounts of time learning.

Some people choose to specialise in the frontend languages, and others choose to specialise in backend languages. However, it is possible to learn both types to some degree, but it is difficult to master both types of languages because their principles and practices are different to one another.

I suggest you try as many different languages as you have the option of, research and learn about them, learn about how they compare to other languages and if they have similarities to any other languages which you may already know, or be familiar with.

Once you have established that this is the right language for you, whatever that language may ultimately end up being. If you believe it is the one for you, then the next step is to practice, learn, and enhance your own knowledge by making sure that you practice the language as often as you can, ideally daily in some way.

This will allow you to pick up the language as quickly and as accurately as possible. Don’t be afraid to ask questions of others who may know more than you, and make sure that you try and create something as often as you are able and practice as much as you can. I may have repeated myself here, but that is because it is very important to do these things!

So, to wrap up, where should you start when you want to learn a web development language, well you should start by working out what language you want to pursue, and then, spending time researching and learning about it.

Then learn the language, the same way as you would learn any other language, practice often, and regularly, and practice with others. You will gain twice as much experience by practicing with others than you will by practicing on your own!

Comments (8)

Leave Comment
  • 1
    Radha wrote on 15th Feb 2017

    Understanding SQL can be very useful too

    Report Comment

  • 2
    Rob wrote on 15th Feb 2017

    Totally agree.

    Report Comment

  • 3
    Annette wrote on 15th Feb 2017

    So many websites now are developed on top of some CMS-type system that a beginner might be advised to look at the language(s) required for their particular case.
    e.g. for the most ubiquitous (Wordpress), a basic understanding of HTML, CSS and PHP will get you a long way, with the addition of JavaScript for more fancy user interface stuff.
    MySQL is of course vital underneath that, but the programmer doesn't in these cases need to know it, though you'd expect a professional to have some curiosity as to how the system all works.

    Report Comment

  • 4
    Stephen wrote on 15th Feb 2017

    Thanks for this article. Interesting for those of us not familiar with this particular area.

    Report Comment

  • 5
    Lloyd wrote on 24th Feb 2017

    I found one of the useful free sites to train is:
    https://www.freecodecamp.com
    which covers html, css, boostrap, JQuery and Javascript. It's worth checking out. I'm currently working through the Javascript examples

    Report Comment

  • 6
    Dominic Myers wrote on 27th Feb 2017

    Interesting article though the distinction between open source and Microsoft based technologies seem to be blurring to some extent. I've served PHP on IIS for instance.

    Perhaps more emphasis might be placed on Javascript though as it works both in the browser (and is effectively free to learn with the plethora of online resources, not to mention having a perfectly valid semi-IDE in terms of the browsers developer tools) and the server in the shape of Node.js.

    Further, I'd suggest that XML is being replaced by JSON, and an understanding of Javascript can't help but help an understanding of JSON.

    For those who perhaps prefer a more structured approach to Javascript, Microsofts Typescript compiles down Javascript.

    I've just reread my comments and I'm sorry if I sound like a Javascript evangelist ;-)

    Report Comment

  • 7
    James wrote on 27th Feb 2017

    As an experienced web developer, I find this article to be of poor quality, and potentially confusing and misleading as a result in many respects. Rather than pick holes, here is my advice/attempt:

    If you want to learn and web development, then as a bare minimum you need to understand what HTML and CSS are and where the true standards for them are defined, since they are the bare bones of any web page. HTML marks up different parts of the content you wish to display in a browser so that machines and people know what it is. CSS styles that content and governs how it is presented and rendered in the browser. Most web applications require the transfer of some data between a remote server and the user's web browser. Therefore, you'll need a basic understanding of what the HTTP protocol is and how it works, since this governs that communication.

    The choices with web development ultimately boil down to the various possibilities for storing the content and generating the HTML from the content, and whatever decision you take will depend on what kind of a web application high wish to develop and where it will run.

    The content will be stored in some kind of database. That database could reside locally in the browser, in which case there are a limited set of possibilities that work reliably across all browsers (e.g. localStorage) Alternatively, it could reside on a remote server or servers. In that case, the choice is between whether to store it in a relational database (which is typically accessed and manipulated using a vendor specific flavour of SQL; MySQL, Oracle, MSSQL, MariaDB) or a non-relational (no-SQL) database (CouchDB, MongoDB, Hadoop, ...), or even a version controlled environment like Git (e.g. Github) or just some organised files on a hard disk. The decision will depend on how much and what kind of data there is and whether it needs to be distributed across multiple servers etc.

    Having chosen a database, the next thing to do is to decide how to generate the HTML from the data.

    If the database is going to be stored in the browser itself, then there is effectively only one choice at present: The HTML will be generated using JavaScript, since that is the only language that all web browsers support for manipulating the DOM - a hierarchical representation of the HTML being displayed. You could write a web application that could be deployed and run anywhere just using JavaScript and localStorage. There are libraries and frameworks for helping you develop this kind of an application (JQuery, Backbone, Angular, Ember...)

    If the database is going to be stored on a remote server, then there are various possibilities. You could generate the HTML to be rendered by the browser remotely whenever the user requests it. You can use pretty much ANY language to do that - script based or compiled, provided it can talk to the database and construct the required HTTP response: C, C++, C#, Java, JavaScript, Perl, PHP, you name it... Libraries and frameworks exist to assist with generating the response for all of these languages. This is good when the web pages are more or less static. On the other hand, rather than sending back HTML, you could send back filtered data from the database (e.g. in an appropriate data exchange language such as JSON or XML) and use that to construct HTML using JavaScript in the browser. This is better when you want to alter parts of the page dynamically as the user interacts with it.

    So now all you need to do is decide what kind of a web application you'd like to write. Where is the content going to come from and how is it going to be stored? From there, how are you going to generate the HTML? Invent a very simple project, do some research and get started. Choose whatever languages are most appropriate for the task at hand.

    As you do so, you'll need to keep in mind: user friendliness, search engine friendliness, speed, accessibility, browser compatibility, device compatibility, security, old and new standards and approaches and a whole host of other things. Good luck!

    Report Comment

  • 8
    William Arslett wrote on 27th Feb 2017

    "XML is that it is incredibly useful and is being used considerably more over recent times" had to double take at that bit. We haven't used XML for years. We use JSON for APIs and YAML for configuration. Most web developers I've met avoid XML like the plague!

    Although it's far from my favourite language, I do think one of the most useful languages to learn nowadays is javascript. You can use it for client side programming, serverside programming with Node, mobile applications with Cordova, dekstop applications with Node Webkit etc.

    Report Comment

Post a comment

About this blog

This blog is brought to you by the members of the BCS Internet Specialist Group and allows you to harness their skills, expertise and knowledge. The internet is ubiquitous and has a major impact on our daily lives, at work, at home on the move. The associated risks and security concerns are real, but the magic and advantages of the internet are significant.

See all posts by Internet Specialist Group

Search this blog

October 2017
M
T
W
T
F
S
S
1
2
3
4
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31