In search of clarification (please!)

I have been researching what is programming and came to the understanding that there are many other languages besides Python. I realize these various languages, such as C++, Java, HTML, etc have varying and specific purposes. However, do these programming languages all branch off from Python, or were they developed as their own language.

And of these which programming language is most general and widely applicable?

I appreciate your guidance in advance!

Programming languages go back to the 1950’s. The oldest still in common use, C, was invented in 1970.

Python, Java, PHP, and HTML are all products of the 1990’s dot com boom. Everyone was innovating and separate companies were coming up with their own means of solving problems. Java was one solution. Python was another. Perl and PHP were others.

In general, there are scripting languages, web languages, and true programming languages.

Languages like Ruby, Node, and PHP are web languages. They are used almost exclusively for creating websites, web based applications, and APIs.

Scripting languages like Python and Bash are easy to use general purpose languages. They are useful for learning the concepts of programming without having to dig into bracketing scope, memory usage, or heavy object-oriented coding practices.

C, C++, Java and the like are true programming languages. They are used to create operating systems, program small devices, and to write native software on platforms like Mac and Windows.

This site teaches Python because it is easy to learn and yet allows you to learn all the core concepts of programming. Choosing a language for your career path should depend on what languages are popular in that career path. I use job sites to figure that out.

1 Like

Thank you for your reply, Brian, it was very informative and helpful. You mentioned that choosing a language to learn for a career should depend on which language is popular for that specific field. But let’ say if I am choosing to switch over from the field of Data Science to Machine Learning then I just need to further my understanding of Python.

However, If I am looking to switch over from Data Sci to web developing then I’ll need to learn C++ and such. Am I correct to assume that?

Web development comes in three flavors: Front end, back end, and dev ops.

  1. Front end developers create the pages we all use. These pages are written in HTML, CSS and Javascript.

In practical terms, this means learning HTML5 tags and formatting, CSS3 styling principles, and modern javascript. In addition, rather than write everything from scratch, pre-written CSS libraries, like TailwindCSS, are often used to speed up development time; Why reinvent the wheel? In terms of Javascript, most pages use prewritten libraries for things like carousels or chat boxes. And so-called “web apps” use Javascript frameworks like React or VueJS to create interactive page experiences which feel like apps.

Summary: HTML5, CSS3, JavaScript, a CSS style library, and a JavaScript framework.

  1. Back end developers create the interface between the data and the front end. The front end fetches the data via APIs - the code hits a URL which gives it data it can then use.

Languages for the back end greatly depend on location of the job. The big, corporate jobs will usually be in C# or Java. Start-ups usually prefer using microservices written in Go or Rust. Small to medium start-ups or companies tend to use cheaper technologies like Ruby, PHP or Node; They’re cheaper because they are easy to learn and therefore alot of developers.

Of course, no matter what language you choose, you’ll need to learn how to interact with both relational databases like MySQL and document style databases like Mongo. Modeling and presenting data after performing business logic is a very common task. Most advanced developers who work with big data will often employ databases designed for big data (DynamoDB) or big data searches (Elastic). Those aren’t a requirement up front, though.

Summary: C# / Java, Go / Rust, Ruby / PHP / Node + MySQL / MongoDB

  1. Dev Ops are the guys who set up the servers, deployment pipelines, database servers, handles error notifications, and ensures everything scales smoothly.

These are the guys with the Amazon AWS certs. Of course, the same skills apply to other cloud service providers like Azure, LiquidWeb or Linode, but AWS is the big boy on the block. That said, the Dev Ops guy creates the servers the team needs for their development (e.g. dev server, staging server, production server). He also handles setting up the databases, ensuring scalability, and making sure any code errors are passed to the proper team member; They handle cleanup after hacking attempts themselves.

Summary: Cloud hosting, database hosting, server security, error handling.

Each of these areas are full of opportunities. Whichever you choose, make sure you look at job sites to see which is in demand and what they get paid at junior, mid, and senior levels. Don’t be afraid to get on boards with other devs and learn from them. How long does it take to get hired? What does the market look like? What do you really need to know to get hired? Their previous mistakes can save you a lot of time.

There’s my feedback. Hope it helps.

1 Like

Thank you this was very helpful!