Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
public class Sample : IDisposable
{
private object _unmanagedResource;
private bool _disposed;
#region IDisposable
private void Dispose(bool disposing)
{
if (!_disposed)
{
if (disposing)
{
// Dispose managed resources
if (_unmanagedResource != null)
{
((IDisposable) _unmanagedResource).Dispose();
}
}
// Dispose unmanaged resources
_disposed = true;
}
}
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
~ContentReader()
{
Dispose(false);
}
#endregion IDisposable
}
ограничение по использованию памятиLimbo расходует память крайне экономно. Память, требуемая абсолютному большинству приложений — это десятки килобайт. Оконный менеджер кушает сотни. Килобайт. Вообще, Inferno проектировалась в том числе для работы на устройствах с 1 (одним) мегабайтом памяти. Так что ограничения 32-бит появятся не раньше, чем Вам будет необходимо держать в памяти несколько гигабайт своих собственных данных. Но в этом случае, скорее всего, Вам понадобится не только держать их в памяти, но и обрабатывать параллельно на всех процах/ядрах, так что Вы всё-равно запустите несколько процессов Inferno, и у Вас будет доступ к 2-4 гигам памяти на каждый процесс. Так что задействовать 8-64 гига памяти при необходимости вполне возможно.
большей производительности x64-операцийЭто миф. В реальной жизни до сих пор 64-битные приложения обычно медленнее. Иногда в несколько раз (конкретно сейчас в Gentoo почему-то emerge на 64-битной системе примерно в 3.5 раза медленее чем на 32-битной).
все равно придется иметь дело с внешней средой и кривизной POSIXНе придётся — из инферно всё это недоступно в принципе.
костыльно-велосипедные биндинги для всяких монгодб, редисов и прочих обвязокЕсли они будут нужны — да, свои обвязки надо будет написать. Один раз, точно так же, как они были написаны для всех других языков. Но чаще оказывается, что они не нужны — в инферно используется иной подход к написанию приложений и архитектуры, и необходимость использовать многие привычные инструменты просто отпадает т.к. в инферно не возникают те проблемы, которые решались этими инструментами.
бесчисленного множества уже существующих *nix-тулзА что мешает продолжать ими пользоваться? Если рассматривать инферно просто как runtime для запуска своих приложений (как Java), то ничего не мешает продолжать пользоваться существующими тулзами для, например, анализа логов — никакого смысла переписывать их на Limbo нет, если только Вы не собираетесь использовать инферно как основную ОС на телефоне, например.
Нет ли риска, что в ближайшем будущем ее развитие полностью остановится, особенно учитывая столь небольшое коммьюнити вокруг этой системы и то, что ее авторы, фактически, ушли в гугл и переключились на Go?Это не совсем так. Во-первых, скорость разработки инферно практически не меняется последние лет 15. Во-вторых, изначальные авторы инферно примерно столько же лет ей не занимаются, а занимается ей Чарльз Форсайт, который никуда не ушёл.
у Inferno OS есть будущее?Если мы говорим про светлое будущее, то я не уверен есть ли оно у Go (в рейтинге популярности языков он всё ещё очень далеко, и не факт что значительно поднимется), и уж тем более его точно нет у инферно. Если мы говорим просто про возможность использовать его в продакшне — она есть уже лет 10, и ждать какого-то будущего необходимости нет. Я уже молчу про то, что простое изучение инферно и его исходников очень многое дают для саморазвития как программиста, даже если не использовать его в реальных проектах — и эта возможность тоже есть уже сейчас.
Воображение, как у Эсмеральды