Я думаю, что это повелось ещё с тех пор, когда языки программирования только начали придумывать. Возникло несколько основных алгоритмов интерпретации написанного кода, то есть понимания введённых инструкций языком программирования. Введённые инструкции хранились в определённой форме. Я смотрел в некоторых системах как они хранились. Вообщем там машинные слова хранились в таком виде, что хранилось слово не целиком, а без первой буквы. Вместо неё хранился какой-то код, не являющийся буквой. Например слово PRINT хранилось в таком виде .RINT. И один и тот же алгоритм применялся во многих разных местах, как собственно и микросхемы от intel. Возможно цифры и не использовались в начале имени переменной всвязи с неудобностью этого при использовании данных алгоритмов. Потом это вошло в правило и привычку, поэтому так и повелось. А может быть потому, что если бы можно было начинать с цифры, то кто-нибудь мог бы составить переменную из одних только цифр и возник бы небольшой казус при чтении программы.
Например была бы операция присваивания:
34=56
или
89=89
Возможно математики, участвовавшие в создании языка программирования, когда увидели такие операции, объявили о непримиримом несогласии с такой возможностью, заявив, что это оскорбляет математику.
Ведь можно было бы записать переменную с именем "5" как:
5=2*2
И выглядело бы это как будто дважды два пять, а не четыре.
Имя програмы может быть любое, какое Вы захотите.
Единственное, чему меня учили относительно имени программы, это то, что название должно быть на английском языке, и желательно без пробелов. Не уверен, что без выполнения этих условий программа не скомпилируется, но я всегда пишу именно так.
Ps Если Вам нужно название, состоящее из нескольких слов, то поставьте нижнее подчеркивание между словами. Название будет легко читаемо, а программа точно ругаться не будет.
На данный момент JS является очень развитым и универсальным ЯП, поэтому он относится и к тому и к другому.
NodeJS - бекэнд на JavaScript.
Слону - море по-колено :)
Конечно стоит. Преимуществ масса:
- развивается, постоянно выходят новые версии
- на нем написано огромное кол-во сайтов, которые нужно кому то обслуживать
- низкий порог вхождения, легко учится
- много литературы, книг, форумов, большое русскоязычное сообщество
Из минусов - т.к. язык старый, тянет за собой разного рода архитектурные недостатки для обратной совместимости. И много сайтов, особенно старых, созданы в стиле ужасного хард кода.
Но зато вакансий по нему - большой выбор.
С++ старый, мощный, эффективный в плане производительности, но не модный :)
Вакансий по нему не так что бы прям много.
Так что если у вас склад ума как у заядлого математика - то это то что вам нужно, он будет для вас как родной.
Но все таки в плане перспективности наверно лучше уделить внимание чему то другому, например Golang, Java, Rust.