Can Anyone Advise as to What Languages I Would Need to Know to Execute a Project I Have in Mind?

Hi All,

I’m running up some knowledge debt in these forums – much appreciate all the help so far, hopefully I’ll be in a position to help others myself soon.
I have a project I would like to execute, but I am unsure exactly what area / languages I should be focusing on to get to the point where I can execute this project as quickly as possible.
The project would look like this:

  1. A database of objects with 4 primary attributes, a vector path attribute based upon an XY grid (linear, not polygonal, with curves) and then some other text attributes, and maybe a visual icon to tag each icon with to make it all look slick.
  2. The ability to cluster the objects (probably around 300-400 total) into three different groups, so you could view one group at a time and collapse the other two groups.
  3. The ability to sort those groups based upon the 4 primary attributes in the main table area. (Maybe 5 or 6 attributes, I assuming adding a couple of more isn’t a dealbreaker).
  4. The ability to select up to three object and have them display above the table side-by-side, visualizing their vector XY path, showing a title at top, and pulling their attribute info up next to them.

I’ve got a quick mockup of what the visuals might look like attached.

My question is, could I build something like this with just HTML/CSS/JavaScript (maybe SQL?), or would I need something more elaborate or a different language? Also, are there pre-built sections of code that would help with something like this, or this is something likely to be coded from scratch?

I don’t fundamentally understand enough about how the languages fit together, how tables/databases work, and how visualizing vector lines works to understand if a project like this is something reasonably achievable with some concentrated study over a couple of months, or if this is a highly complex thing that would require a more niche/advanced language?

Any perspectives much appreciated!

Like most non-trivial websites, your program will need a frontend and a backend.

Your frontend will always be HTML, CSS, and JavaScript. There are no other options. There are extensions of those that make things easier - React, Angula, SASS, Pug, etc. - but ultimately it comes back to those 3.

You will also need a backend. If you choose to do your own, you’ll need a server and a DB. Your server could be written in any of several languages that will use various languages or libraries. If you like JavaScript, then Node/Express are a good option. For a DB, you mention SQL - that is a good option.

If you don’t want to write a backend, you can look into services like firebase, et al to manage that for you.

The curriculum here teaches the MERN stack which would give you a solid foundation to build something like this.

1 Like

I would say that you could use any language to achieve what is you want to do. The fastest way is to use a popular easy to learn language such as Javascript.

On the frontend I recommend HTML, CSS, and Javascript. You may need a library that can display graphs such as D3.js, Chart.js, or Plotly.js.

On the backend use Node.js since it is Javascript. Then add your database to store data. Sqlite3 is really easy to get up and running fast and great for small applications.

1 Like

Right, brandon makes a point that I forgot to make. The language doesn’t matter that much. There are many good choices. The best language/library to use is probably going to be the one with which you feel most comfortable.

2 Likes

Thanks Brandon, do you have any recommendations?

Kevin referenced picking what I’m most comfortable with, but I’m just learning JavaScript from absolutely 0 knowledge as of a day or two ago.

In these situations I’m hoping to pick the “best” libraries to get familiar with in terms of cross-industry application and future-proofness (ha!)

Thanks Kevin, helpful perspectives!

You can write your backend in JavaScript as well. NodeJS is JavaScript and is part of the freeCodeCamp curriculum. freeCodeCamp also introduces D3, which is a popular library for data visualization.

1 Like

Freecodecamp is the best place to learn in my opinion.

1 Like