Scala, TypeScript: github.com/ornicar/lila
Also see lichess.org/source.
Thank you, I was wondering which one I should learn.
If lichess uses it, it has to be good enough to learn
Scala is certainly good enough but is not very hot on job market. If you search monster.com for java you get onver 50k hots and with scala less than 4k. If want to do something as a hobby it is good choice for learning
@UltraBulletIsVeryFun said (#5):
> If lichess uses it, it has to be good enough to learn
I am sorry to say but this is perhaps the wrong motivation: for every conceivable task there are better- and less good-suited tools to accomplish it. Therefore, if something is "good" (i.e. well-suited to the task at hand) depends on the task.
There is an old proverb that if you only know how to use a hammer everything starts looking like a nail. Looking around you will notice that almost anything is done with any programming language (or other tool) regardless of its suitability. If i.e. Java would have only been used for programs which can be better written in it there would probably be no Java programs at all. You see, C++ is the language for people who never mastered C well enough to understand that the "++" is about as useful as a fifth wheel mounted on the roof of a car. Java programmers are those C++ programmers who fail to cope with a language for adults altogether.
Learning to program is not so much about learning a certain programming language but rather to adopt a set of healthy habits: clean writing style, usage of reliable conventions, etc.. For part of what i mean here see:
(ITT 2016 - Kevlin Henney - Seven Ineffective Coding Habits of Many Programmers)
So, if you have no background i programming at all (and this is the way you come across) my suggestion is to learn good old PASCAL. You will never use it to write commercial applications (it was never intended for that) but it teaches you the good habits you should exhibit in all languages, regardless of them enforcing them or not.
@UltraBulletIsVeryFun ,the best coding place for starters is scratch.