Я не уверен, что вы подразумеваете под встроенным или определенным пользователем. Практически ни один язык не дает вашей пользовательской функции привилегию быть истинной точкой входа в программу. C ++, любой язык .NET и Java имеют скрытые (встроенные) методы точки входа, которые, в свою очередь, вызывают пользовательский метод Main (или любой другой метод, который вызывается для этого языка - в .NET его можно назвать что угодно, хотя C # и VB.NET заставляют его называться Main).
Так что да, практически каждый язык имеет концепцию метода, который вызывается автоматически, и этот метод является определяемым пользователем методом и обычно является обязательным. Но практически в каждом языке также есть встроенный метод точки входа, который фактически настраивает структуру и / или управление памятью для процесса перед вызовом пользовательской функции «точки входа».