Need some advice in learning path/language choice etc

Hi there, my name is Coen. I’m not a programmer. I am a graphic designer. I want to know if someone can give me some advice on the following;

Problem: I want to know how many different characters there are in a certain text. Including punctuations, numbers, spaces etc. I need some sort of input field and output field. The output field has to be in alphabetical order. Also characters need to be separated in upper and lowercase. At first I want to be able to set this up so that it’s available online. If all goes well I want to be able to make this available as a program for Mac/PC/Android and iOs. (but that’s probably for later concern).

What I also want to achieve is to make the user able of certain restrictions; for instance, I have a box full of letter stamps. I know how many pieces of each character I have in the box. When I use the tool to count my characters in a certain piece of text, I want see directly if I’m short of certain characters and how many characters of a certain glyph I have left in my box.

Advice: Can someone give me a hint in what direction I need to go in choosing a programming language to get this done? I’m totally new to programming and don’t know anything about code, making programs, apps, queries, data bases etc etc. What I can do is set up a simple website where I can test things out.

Thank you in advance and if there are any questions, just ask.

Cheers, Coen.

For anything web related, you absolutely must learn JavaScript, and it is the perfect language for accomplishing what you are describing: setting up a neat site, with an input area for typing the text, and an output area, which in real time gives you the desired output, along with a few check-boxes you can turn on/off to tweak with the desired settings.

JavaScript is the perfect language for this task, and you can easily push this app online, completely free of charge, after getting it working. And the task you are trying to accomplish is also a really easy one after learning a bit of JavaScript, so you can achieve a lot by learning just a little.

As for turning this into a computer software, you can achieve this later on by learning Electron, a framework for JavaScript, allowing you to use JavaScript on the desktop (Skype, Discord, Slack, and the text editor you most likely will be using, Visual Studio Code, are all built with Electron). But honestly, I can’t see what benefit that would provide over an online website. You can just download the webpage to your computer and use it offline by opening it with your browser if that’s the functionality you are aiming for.

3 Likes

Welcome, Coen.

Ditto to everything onurbal said. Also, you could create what you are wanting in many languages; I will go out on a limb and say most.

Regarding this:

What I also want to achieve is to make the user able of certain restrictions; for instance, I have a box full of letter stamps. I know how many pieces of each character I have in the box. When I use the tool to count my characters in a certain piece of text, I want see directly if I’m short of certain characters and how many characters of a certain glyph I have left in my box.

Could you clarify what you meant? Do you have a literal cardboard box with stamps you want to program-matically determine the number of characters of each type? As in, something requiring OCR with machine learning?

1 Like

Hi Onurbal, Thank you for your very quick and complete advice. Very much appreciated. I will definitely look into this, for further explanation in ‘why’ see my comment below on the next reply.:+1:t2:

Hi Sky, also thank you for your answer. Long story short, I’m a letterpress printer and have lots of metal type in cases. What I’m trying to achieve is to store some database of these cases with it’s content. E.g. Bodoni typeface 10pt, 12pt, 16pt etc. If I can input a text and quickly see the frequency af each character I want it to automatically check e.g. Bodoni 10pt typeface. If I’m short of letters I want to select the 12pt case to see if I can set the whole text in that type size. Maybe that isn’t possible either and I might have to split up the text to combine 10pt and 12pt. Maybe not my best explanation but I hope you understand what I mean.

Right. What I was wanting to know is: Do you have a list/database of:

Metal Type # num
Bodoni 10pt 50

If all you are wanting to do is parse some text input, then you can ignore my above comment.

To parse the text, I can imagine you would want to consider:

  • Letter count
  • If the text is coming from some source where the font/font-size matters, then determining this. (How does the text get input to the software?)
  • If you do not have enough of one metal type, how are you going to split up between different types? (50:50, or by page)
  • A display giving the expected output would be useful.

I suggest you develop a rough-draft (MVP), and, if you get stuck, return here, and we could help more. Without seeing code, it is difficult to help, because we do not have your experience, nor vision of what the app should look like.

1 Like

Hi Sky020,

Thank you for your answer;

I can make a list of available letters in a case. Any letterpress artist can do that. Often available letters vary in number. ‘e’ And ‘n’ for instance are quit common and have large numbers. ‘q’ and ‘x’ are not so common and are lesser available.

My thought would be that I could copy/paste text into an input-filed and flick a button which starts the character count. (sorted by letter and such).

The thought of splitting up the text in different type sizes wasn’t properly thought through. I’ll have to pass on that one.

Your thought on an MVP is good. I will have a look into this aswell.

To make it clearer I’ve attached a picture showing one of the cases I’m talking about to give you an idea.

Setting up a page with metal type costs time. If I run out of type before the text is done it’ll be a waste of time. Hence this ‘calculator’.

If the way to go is Javascript like Onurbal said then I will dive into that. If you think of any other language(s) I might be better off with then please give me a heads up.

Thanks in advance. Cheers, Coen.!

1 Like

You also can make a ‘paper prototype’:


When I saw that picture I thought: candy dispenser :smile:

Cheers and happy coding :slightly_smiling_face: