What is hopscotch coded with?



Hey @admins what is hopscotch coded with? I would love to know because then i could learn the coding language and descover cool stuff like HSB colors!


Hopscotch is coded with Objective-C and Swift, however the web player (and I assume web servers) are coded using Javascript, TypeScript, Ruby on Rails, and SQL.

Source: https://angel.co/hopscotch/jobs/40100-senior-software-engineer


Objective C or C+ I can't remember.


How is it coded with both?


This is not as simple as a question as it seems.
In the case of Swift and Objective-C, Swift was made to be compatible with Objective-C, so you can define functions in Objective-C, and call them in Swift.

However, for anyone interested...

In the case of languages that aren't made to be compatible, in the most simplest case, they are just compiled to the same language. What this means is, let's take C and C++. When you run C code, it translates (or 'compiles') to machine assembly language. And it's the same with C++! So, if you take the code C compiles to, and just stick it on top of the code C++ compiles to, it will work fine!

But, it get's more complicated when languages have different 'types'. A type is simply a generalization of a variable. For example, if x="test", then x's type is a string. But if x=10, then x's type is an integer. So, when you want to use languages with different types for the same project, you do something called marshalling. This is when you carefully map some types to another. So, say, in language A, you represent letters as strings. But in language b, you call them 'sentences'. Then, you have to define a map that says

Language A: strings = Language B: sentences

This can be very tedious with a lot of different types, and can get even more complicated, so usually when you do a project with different languages, you first make sure the languages are compatible or there is already a library that did all the dirty work of connecting the languages for you.