Areas of Programming


Posted on August 31, 2019 by Aisah in Coding journey

I recently was asked by a friend. “Aisah, what is the difference between a programmer and a coder?” I totally forgot that, I who regularly codes, don’t even know what the difference is sometimes (nervous chuckle).  So, for this post I wanted to touch on the Areas of programming. Yes only a few. This list, by no means, covers all areas of programming. However, it will give you a base to at least to get know what is out there. Crafting your path in programming/coding often feels vague and not very comprehensive and sometimes it is hard to ask the right questions. Still, don’t be afraid to ask them or look stuff up. But please use your common sense to make logic out of the chaos

So here I go with this one “Areas of programming”. What I will try to do in each item is to explain what is done in each area and which languages are prevalent in those fields.

  1. Web development (Web Programming)

To design and create the websites that you visit web programming is needed.  Any programming involved with the making of a website or web application is associated with web programming.  In web development you have the following kind of specializations: Front End Development, Back End Development, Full Stack Development

Frontend Developers:  These people are involved with making what you see in your web browser, the interface (colors of the buttons, placing of the texts and pictures). The Languages needed are HTML, CSS, JavaScript and jQuery. Some frameworks that are worth looking into after you learned the basics of these are Bootstrap, Angular.js, React.js.

(* Let me be quick to note that although I listed HTML here as a language, most programmers do not see HTML as a programming language because it does not carry out any programming logic like loops and holding variables. But still knowledge of HTML is very much needed to carry out (front end) development and programming stuff)

 

Backend Developer: As back end developer you work on making the website or web application more functional. Anything you can’t really see easily with the eye such as databases and servers is the work of a backend developer. An example is a dynamic website like Facebook. The content is always changing and updating. This is result of the work of backend developers. Examples of languages for backend developers are: php, python, Java, Ruby on Rails,

 

Full Stack Development: As you may derive. A full stack developer is someone who is a front and back end developer combined and as such knows about the technologies and languages included with both front end and backend.

 

  1. Software Development (Software Programming)

Software development is the term used for creating software (applications) that address a business or personal objective. The distinctions frontend, backend and full-stack are also made in this field which is one of the reasons web development and software development have a lot of overlapping definitions and similarities.  However, when doing research about these two fields you will find that web development will include more graphic design (design of front end) and web content than software development.

Popular Languages to look into with software development: Java, Python, C + +, Ruby, JavaScript.

My personal take on the difference in the fields of software and web development is that with software development you need to understand the technical abilities and work dynamics of the end user in the company who will be using the software. But with web development you look more at the clients of the business that you are providing the website or application for which means your focus lies more on the business principles of the company.  (makes sense, somehow right? Let me know in a comment or something)

 

  1. Mobile Application Development

Mobile applications are by definition software applications that run on mobile devices like smartphones and tablets.  There are two types of mobile applications.

  • Native Apps: These are apps that are built specifically for a device and its Operating System (OS). These apps are accessed trough the icons on your home screen, come pre-installed or are installed via an application store. Native apps have the ability to use device specific hardware and features like the camera, GPS, contacts, compass and so on. The two main OS platforms are Apples iOS and Googles Android.

 

Language for Apple mobile native app development: Swift

Language for Android mobile native app development: Java

 

  • Mobile Web apps: Mobile web apps are not accessed via the icons but via the webbrowser of your mobile device. So, they are actually websites but they look and feel like applications. Mobile Web apps tend to be built with HTML5 and JavaScript

 

  1. Data Science

Data: facts, information and statistics gathered for future reference. Data Science is the area where processes, concepts, tools and technologies are used to analyze this information and extract valuable knowledge. This knowledge is used to help individuals, organizations and businesses to make decisions in for example product design, trend analysis and fore casting.

Some programming languages used in data science: Python, R, Java, SQL, Matlab

 

  1. Machine Learning

Machine Learning has been defined by a computer scientist at Stanford as follows: Getting computers to act without being explicitly programmed. Humans learn from past experiences. Machines and computer systems follow explicit instructions given by humans. Machine learning focuses on the development of computer programs that can access data and can use it to learn. Machine learning is actually an application of artificial intelligence.

Programming languages used in Machine Learning: Python, R, C + +, Java

 

  1. Artificial Intelligence (AI)

The field of artificial intelligence is where computer systems are developed to mimic human behavior. Examples: visual perception, speech recognition, decision-making, and translation between language. You need data for machine learning and you need machine learning for artificial Intelligence

Programming languages used in Artificial Intelligence:   Python, C + +, Java, LISP, Prolog

 

  1. FinTech (Financial Technology)

FinTech is the area where technology is used to improve on, or replace traditional financial methods. When we think of FinTech we think of technologies like Payment apps, Cryptocurrency, Bitcoin, Blockchain, InsurTech, Robo-advisors and so on.

Programming languages used in FinTech: Python, Java, C++, C#, C, and Ruby.

 

  1. Cybersecurity

Cybersecurity are the processes and technology set in place to protect systems, networks, computers, devices, anything with data really, from unauthorized access.

Programming languages used in FinTech: Python, Java, C++, C#, C, and Ruby.

Of course, there a lot of other fields where programming is used. But at this point in my life I find the above mentioned the most interesting. Examples of other fields are: Game development, Networking, Internet of Things, Cloud computing, Multimedia software, Communication systems and so on.

With a twinkle and smile,

Aisah

 

PS: A grateful thanks to Fabian Jacott who helped me sort through some of the areas and helped kickstart this blogpost

 

 

 

 

 

 

Author

Eve

A fellow-traveler of life figuring out the way. I like to share little nuggets of wisdom i found on this journey. blogger coder baker mom of 2


Comments


  • Write a Reply or Comment

    Your email address will not be published. Required fields are marked *


    *