Что нужно знать при создании веб сервиса на компилируемом языке?
Добрый день уважаемые, ситуация следующая, хочу написать веб-сервис на компилируемом Go.
Ранее работал только с интерпретируемыми языками, и тут у меня возник вопрос, что нужно учитывать при разработке на компилируемом языке.
Чего не стоит делать, а что стоит учесть?
Например, боюсь что при большой нагрузке на приложение оно может упасть из за того что я что-то не учел, например переполнится память или еще что нибудь(честно мало представляю как работает программа на компилируемом языке).
С интерпретируемым проще, я понимаю что скрипт отработал и все, а тут получается программа всегда в работе.
Надеюсь более менее понятно описал, за ранее всем спасибо за советы.
А как вы собрались менеджерить память в го?
И четко ли вы понимаете, что за ЯП го вообще?
И понимаете ли, что питон оом киллер может прибить также как и го, при перерасходе памяти, и разницы межде ними в етом аспекте нет?
Я пояснил в вопросе
(честно мало представляю как работает программа на компилируемом языке).Тут же все сказано, просто хочу попробовать этот язык, выбрал задачу, и собственно приступаю к ее решению на выбранном языке.
Дмитрий Кузьменко, дорогой пользователь, настоятельно рекомендуем еще раз обратить самое пристальное внимание на п. 3.1 регламента работы сервиса (и, в особенности, на его последний абзац).
В противном случае, ваши вопросы будут удаляться по причине тег-спама, а систематические нарушения приведут к блокировке учетной записи.
Например, боюсь что при большой нагрузке на приложение оно может упасть из за того что я что-то не учел, например переполнится память или еще что нибудь
никто не мешает гонять написанное на интерпретируемых языках вечно, не запускать на каждый отдельный запрос
никто не мешает перезапускать написанное на компилируемом языке на каждый запрос. более того, это даже будет шустрее чем с интерпретируемым языком.
обратить внимание нужно на проектирование.
если применять те же подходы что и для языков с динамической типизацией - Go покажется очень неудобным.
как только вы обнаружите что вам там и сям нужно приведение типов или рефлексия - значит вы спроектировали неправильно, спроектировали так, как привыкли на языках с динамической типизацией делать.
вылететь может что угодно. и интерпретируемый и компилируемый.
если вам нужна повышенная надежность - запускающая среда должна тут же перезапустить процесс. или вообще иметь несколько процессов запущенных одновременно - запасной и основной и балансировать между ними запросы. это все относится и компилируемым и к интерпретируемым языкам.
Судя по вашему уровню (исключительно на основании вопроса), для вас никакой принципиальной разницы в разработке не будет.
честно мало представляю как работает программа на компилируемом языке
По большому счету одинаково с интерпретируемым: скомпилированная программа уже сразу машинные инструкции, а интерпретатор тратит время на превращение вашего кода в машинные инструкции при запуске и первом чтении кода. Для любителей точных формулировок оговорюсь сразу - объяснение "на пальцах".