WebDev Starter Pack - What are Programming Languages?! Overview about: Java, Python and Node.JS!

WebDev Starter Pack - What are Programming Languages?! Overview about: Java, Python and Node.JS!

By andrercules | devnewbies | 9 Jun 2020


Hello guys i'm here again to overview about some of most famous back-end languages nowadays,

I already explained about back-end developer works here, and about HTTP here(the mainly work for a back end developer is creating a web server).

I'm gonna explain now the choices that you can do in programming language, if you want to be a Back end developer or even being an Data scientist, but aiming to be a back-end with the following languages: Java, Python and NodeJS!


Programming Language and Algorithm

The main way to a developer create your system is learning about algorithm.

 Algorithm in simply talk it's the logic steps/process that evolves some operation, for an example a calculator has numbers(input) and it has its functions as you can do: sum, minor, multiply all the numbers, and its answer from this function it's the final result from the calculate, so we have here, a number, that is the input and function then the output from its function.

98f810b757ebfc1e25cd571a3e1f132429a713ffd14255bf65d6a420680ed444.jpeg

Of course there is some more algorithm concepts to understand a language. Each language has a different syntax and each of them has different architectures, work concepts, whatever, there is a lot of things, but you can start easily if you learn the basis: algorithm.

This is because all the high level programming language is based by the steps that you do in the system and understandable by everyone, algorithm is a pattern that I said before, you can do each thing you do in life following a pattern, and no matter what language you'll choose, learning algorithm is the main way to start being a web developer!


Programming Language concepts

There is two main kind of Programming languages in the world: High Level program and Low level program

  • High-Level language: is a programmer language that can be understand by an human, you basically can read its syntax and understand what its do, examples: C, Python, Java, JavaScript, Ruby...
  • Low-level language: most used when you need to develop things that a computer or machine can understand most easily than human, examples: assembly, machine code.

 

3dc9a843615064e892d52c8ba92b7e8f3993c28c2983842aee72163a681a1ed6.png

The mainstream programming kind is high level language, surely because is understandable by humans, and each language has your own syntax but somehow the language will be understandable by your computer, and its programming language has your own way to work, for example: Python is a interpreted language, so in some moment he goes to your CPU and do your commands in a binary and Java has a virtual machine to convert your code that you developed to byte code and works on its virtual machine your language, so don't matter if you work in java in mac or windows, there always be its virtual machine to work inside!

So here i will talk about back-end languages, commonly high-level programming languages!

Even tough the programming languages has different concepts of development, almost all the kind of high-level language has some concepts in common:

  • Variables - All the languages has variables, it is the way to save some value(in your CPU depending of the language) that you'll need to use after in your program, there is strongly typed variables and weak typed variables, strong you must define its own type for example: "int value = 10" this variable is typed because is a number so it's integer number and the the weak typed variables you wont need to define this typed, "value = 10"
  • Arrays/Vectors - Is the same as the math vectors, you have a group of values inside an array "[1,2,3,4,5,6]", its really powerful kind of structure data
  • Loops - this is a algorithm way to perform above arrays and vectors, sometimes you'll need to get the values inside array then you'll need loops for it.
  • Conditional - this is another algorithm way to perform the decision that you do in the algorithm/programming language, 'if you do something dont do the another thing", so it's a logical way to do decisions inside your application/software/website!

So that's the most concepts that you'll use in the beginning being a back-end development, of course there is a lot of another things to talk but this is a in short overview just to make you more curious on this area! :)

 


Programming Language introduction

Now that you know something about programming language, let's talk about the some high-level back-end languages! ;)

Java

3db481a1bc38d9c39827af6cc811e37e28966dc45eaec82605e06bbc4723f35b.jpeg

Java is one of the oldest languages and a mature high-level language, static and strong typed(you need to define what is the type of variable) and Object Oriented!

Java works thanks to the JRE(Java runtime enviroment) with  JVM(Java Virtual Machine), that convert your Java code into machine code and works inside the JVM, so no matter the OS you work, JVM it's the real man that runs your code inside! 

The language has some IDEs(where you can code and compile your programming language to the code machine) to work with, the most famous is: Eclipse

It has some different versions, and each version means some development purpose with the language:

  • Java SE: Java Standard Edition, has all the Java Environment with JVM and JRE.
  • Java EE: Java Enterprises Edition, that has all the same as Java SE, but Oracle addict some more functionalities to work with Enterprises/Companies! this is the most famous version of the Java, used around the world.
  • Java ME: Java Micro Edition, its most used in embedded system and mainly for mobile devices! (Smartphone games!)

Java has your package manager called as Maven. Maven has packages that can extends its functionalities that makes him more powerful that it was in the beginning at 90's!

Hello World in Java

public class Main {
    public static void main(String[] args) {
        System.out.println("Hello World");
    }
}

 

To be a Java Developer you'll need to study:

  • Spring - Framework to create APIs and Web servers easily
  • Maven - Package manager of Java
  • Javax Packages - The java functionalities(search in the google mainly)!
  • MVC - most known Architecture  not just in Java but about all languages!

The last version is Java 11 and you can download it here.

 

Python

16b207d5e6a6874f213a26e0c338520556389cb2a6246277504a5329424c9c87.png

One of my favorite languages, easy to study and to understand, Python has dynamic and strong variable(remember when i said about variable concepts?)! That means you don't need to worry about the type of an variable inside your system, one time your variable can be string and you can change it to number!

Python was created almost 30 years ago but in the last 15 years has been one of the most used back-end languages used to create awesome things, with the explosion of the data science, you can achieve real great things and just with one language.

Python works thankfully because has an interpreter to convert your code into a bytecode at runtime, so it seems Java but it's interpreted by Cpython or Pypy, just depends your implementation, but normally is Cpython!

If java has Maven, so Python has its own package manager to download epic things and frameworks, its called as Pip, and it has a kind of divide your environment between different projects which you can install your packages on and not in your computer as normally a beginner do.

Hello world in Python

print("hello world")

Yes, just that, you can use python terminal to study or playing online here!

Or you can use the powerful IDE for python: Pycharm

 

To be a python back-end developer you'll need to study

  • Flask web framework
  • Django web framework
  • Python built-in packages
  • MVT - to understand Django architecture.
  • asyncio - to create web servers async

If you want data science with Python...

  • Jupyter Notebook
  • Panda from python
  • Plotlib from Python
  • acknowledgement about datasets and excel plains.
  • a lot of libs that you can use in python to work with data science.

The last stable version of Python is 3.8 and you can download it here!

 

NodeJS

8d0250705ad8fd2947db05832b5e698b68786ef0ad0e5ae43d3c071c40e9e622.jpeg

Node.JS is a platform to work JavaScript, but in the runtime's computer.

JavaScript is one of the most known web languages created by Brendan Eich, if you heard this name before is because he also created the Brave Browser and created the BAT basic attention token, that you can earn BATs just surfing in the browser, you can tip your favorite content creators, you can tip me in my twitter.

 

Let's come back to JavaScript, so JS is a web script language, all the behavior in a website is created using scripts

JS being an script is not typed, look likes Python, strongly and dynamic typed! but you can use a famous framework created by Microsoft called Typescript that convert a typed language to JavaScript language, so if you like to type your variables you can test typescript!

In short, Node.JS is a way to create a back-end language using front-end language!

So now you can be front-end and understand back-end! 

me when i started web development and knew Node.js:

7e5de42f7d47c1400d0858fd575a516c43eae338f06230492dae22fe4fb8bdc8.jpeg

 

Node.JS works good because it has the V8 engine, the same that you run in the Google Chrome and Chromium browsers, and V8 runs behind from the Node and gives a complex architecture on this platform to works JS in web servers around the world.

Nowadays is some of the most famous platforms to work in the back-end!

NodeJS package manager in NPM, but it has Yarn too created by Facebook! This package manager is the main way to front-enders download their frameworks such as Angular, React and Vue.JS!

Hello world in Javascript/Node

console.log("Hello world")

To be a NodeJS back-end you'll need:

  • Express framework - for web servers
  • JavaScript!
  • Non-relational databases - you can use with another languages too but Node is some of most easily language to work with it!

Yes, of course you'll need the configuration like all the other languages to work, but is not so much difficult, just download the latest version 12 of node.js here!


So guys that's an overview about programming languages!

I hope you enjoy and follow me on twitter and tip me in BAT if you already have brave browser if you don't download it here! and if you like this article, tip! ;)

Oh and dont forget, if you work on some language, comment here! 

Thank you!


andrercules
andrercules

front end developer, and follow me on twt: https://twitter.com/andrecrjr


devnewbies
devnewbies

Web development, Front-end, Telegram Bot, Javascript in a newbie way, follow me to good development things!

Send a $0.01 microtip in crypto to the author, and earn yourself as you read!

20% to author / 80% to me.
We pay the tips from our rewards pool.