53

Understand Web Development Programming Languages in2018

 5 years ago
source link: https://www.tuicool.com/articles/hit/J7ZBFbV
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Understand Web Development Programming Languages in 2018

An overview of the top coding languages to learn as a web developer

This article is part 2 of an 9 part series of articles .

Languages are the bedrock of any application, website, or software in general. This section will provide you with a brief overview of currently popular languages, how useful they are in the web development landscape, and whether they are used outside of web development.

uU3YZrn.jpg!web
Photo by Kobu Agency on  Unsplash

JavaScript

In recent years, JavaScript has become the de-facto language of choice when building websites, and one of the most popular ones to build web applications. There are many reasons behind this, including it’s treatment of objects and the ability to build applications quickly. There are some people who feel that it’s unjustly popular, due to a lot of JavaScript’s perceived shortcomings when compared with more traditional programming languages. JavaScript has some strange quirks and behavior that bothers some engineers. One thing everyone can agree on is that JavaScript is one of the most used languages today, and for all intents and purposes it seems to be staying that way. Knowing JavaScript is essential for any web developer

To remedy JavaScript’s shortcomings, developers have created a vast amount of libraries, each trying to solve their own problem, or plenty trying to solve the same problem in marginally different ways. Being familiar these libraries has become essential, even if it is merely to be aware that you can use them to ease your development process. Some of the most widely used libraries are as follows: Lodash (utilities, calculations), Ramda (introduces functional programming to JavaScript), and TypeScript (introduces explicitly defining your variable types in JavaScript).

The maintainers of JavaScript language are of course aware of these needs and are adding these sought after features into the core JavaScript standard as time passes. There is one distinction that needs to be addressed, however: the differences between ECMAScript and JavaScript.

ZnURBrA.png!web
Great timeline copyrighted by Adrian Mejia

ECMAScript/ES6/ES8

ECMAScript is a standard that defines what a scripting language should do, and JavaScript is an implementation of ECMAScript. ActionScript is another example that has seen little use in recent years (for an explanation why, please refer to this Quora comment section ), but it follows the same ECMA standard as JavaScript. Web browsers have various engines that compile, “understand,” and run the JavaScript code, but these are usually running the ECMAScript standards.

Since ECMAScript releases a new version every year, it is sometimes difficult for these engines to keep up with the changes to the language. That is why we a created the distinction now between ES6/ES2015, and any of the newer versions such as ES9/ES2018. To use the newer features of ES9, tools like Babel have been created, which transpile your code back into an older version of JavaScript (typically either ES5 or ES6) to ensure that it runs on all browsers. This article dives deep into the distinctions for further reading.

Node.js

Node.js is a JavaScript runtime built on Chrome’s V8 JavaScript engine and is used to execute JavaScript outside the browser. This has allowed JavaScript to also be used as a server (backend) language as well as a frontend language. In fact, Node.js has become the most utilized choice for backend developers due to its ease of use and intuitive behavior. Since you use the same language on the client and the server, it is also allows far smaller and cleaner technology stack.

Node.js is built on an event-driven, non-blocking IO paradigm. This model allows the possibility to run several different processes simultaneously which makes it lightweight and efficient. Node has also become a great tool to communicate with devices such as an Arduino or Raspberry Pi .

Libraries

While Vanilla JavaScript is excellent (i.e., without any libraries or dependencies), utilizing the many open source libraries written in JavaScript can make your work significantly more manageable. Libraries can serve multiple roles, such as utilities (Lodash, jQuery) or tools for making your life as a developer easier ( Webpack , i18n).

A few notable open source libraries are:

  • i18n — pronounced “internationalization” which simplifies localizing and making your app multilingual
  • jQuery — arguably the most famous JavaScript library, but most of its features are integrated into the core of JavaScript now
  • Moment — which simplifies working with date and time
  • ThreeJS — allows you to create, display and animate 3D graphics in the browser
ea2aqaF.jpg!web
Python Code : Photo by Chris Ried on  Unsplash

PHP

PHP , the Hypertext Preprocessor, is a server-side scripting language that often gets paired with JavaScript instead of Node.js. PHP is still in extensive use today for its ease of use, availability, and compatibility (it still powers the majority of servers). PHP has grown to the point of being used now as a general-purpose programming language on the web instead of just a scripting language. It’s still receiving frequent updates and has a variety of tutorials for anyone willing to get started with it. PHP has also seen tremendous leaps recently with the official release of PHP version 7, adding significant improvements such as an updated engine, twice the speed, better error handling, and more .

Ruby

Ruby is a dynamic, object-oriented general-purpose programming language. Ruby is a well-liked and popular choice due to its wide variety of uses and stable releases. On the web, Ruby has been popular since the advent of Ruby on Rails, which we will discuss into in the frameworks section of this article series.

Python

Python is an interpreted, general-purpose programming language. Just like Ruby, Python is famous for its variety of use cases and simple programming typing style. Python is also used a lot in university Computer Science classes, making the language very well known throughout the workforce as students enter the field. Python also has a popular web framework (Django) which we will discuss when frameworks are covered, but it’s important to know that that you will need this if you’re interested in going into any of the fields of Artificial Intelligence, Machine Learning, or Big Data. Python is irreplaceable due to its frequent use in tutorials and examples, mainly if when processing vast amounts of data.

Golang

Golang (or Go) is one of the newer languages in web development but it has exploded in popularity. It is a typed and compiled language known for its minimalistic approach and focus on developer experience. The language was created by Google and has quickly grown in popularity with top tech companies as their favorite language to build micro-services.

QNRvArf.png!web
The Layers of a Website : Copyrighted by Stidolph Media

HTML/CSS

These two languages are both their own, separate languages but given their dependency together, also paired together as one. HTML describes the structure of the page while CSS describes how that has to look. HTML (short for Hypertext Markup Language) is a markdown language used to describe the kind of content a document needs and brings all the interactions and data to one place. CSS (short for Cascading Style Sheets) is a style sheet language used to describe the style of a document concerning colors, typography, placement and more. These are crucial for any web developer to understand.

HTML5/CSS3

HTML5 and CSS3 are the latest releases for HTML and CSS respectively, and both have introduced groundbreaking features to the scene. New updates and releases are still on their way under these names, but adoption of these features by browsers can be slow. Therefore it’s always useful to consult a resource like caniuse to find out if you can use certain features inside certain browsers, or not.

Preprocessors and Templating Engines

The difference between Preprocessors and Templating Engines is mostly semantics. Many languages have preprocessors that allow you to write code in their syntax, which the preprocessor then transpiles into HTML or CSS (in the case of web development). This is referred to as “templating.” JSX used in React is an example of this as well as Pug for writing HTML inside JavaScript. There are also preprocessor for CSS, which facilitate automating browser compatibility (for example, autoprefixer ), add CSS features not yet implemented in browsers ( cssnext ), and assist in writing cleaner, more maintainable CSS code ( Sass , Less , PostCSS , Stylus ).

mmqyyeJ.jpg!web
By Alex Kotliarskyi on  Unsplash

Others

The following languages are not primarily web development languages and not as widely used, but they do have enough adoption to be discuss (especially in specific corporate fields).

ASP.NET

ASP.NET is a server-side programming language designed by Microsoft in order to create dynamic pages back in 2002. .NET has evolved since then and is still used, for example on Sitecore .

C#

C# (pronounced C-sharp) is a C-language derivative general purpose programming language designed by Microsoft that takes the object-oriented nature of C++ further. This language can be used online for the server-side but gets commonly used for Windows-based programming, especially for games. One of the best-known uses of C# is in the game engine Unity 3D .

Java

Java is a popular object-oriented general purpose programming language that is relatively infamous in the web development community. The reason for this is twofold: primarily Java is overkill for most web applications and the time required to implement a change takes a lot longer in comparison to a lot of the previously mentioned languages. Java is still definitely used in the web development community, one famous example being Twitter , which was initially running Ruby on Rails, then switched over to Java to meet their scaling needs.

Next Article: Data →


Recommend

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK