LINUX.ORG.RU

Муки выбора языка программирования

 , , , ,


2

4

Пытаюсь выбрать язык программирования для личного проекта.

Хочется, чтобы у языка были:

  • библиотека для загрузки/выгрузки изображений с поддержкой широкого круга форматов
  • биндинги для sdl2
  • работа с битовыми массивами размером больше чем 64 элемента (с поиском единиц)
  • перегрузка оператора индекса в том числе при присвоении
  • ассоциативные массивы с лаконичным доступом к элементам
  • документацией с поддержкой мобильного просмотра в 2023 году-то
  • поддержкой компиляции для мобильных архитектур
  • нормальный полиморфизм, а не как в Rust
  • востребованность на рынке труда

Всем хорош D. Он мне очень симпатичен и я все языки сравниваю с ним. Но у него настолько низкий уровень популярности, что нет нормальной библиотеки для изображений.

C++ и Rust имеют очень странные конструкторы для битовых массивов. Может это проблема документации, но я с ходу не нашёл как мне создать битовый массив из готового байтового массива, чтобы каждый байт превратился в 8 бит.

Haskell имеет поддержку даже многомерных битовых массивов, но вот документацию на мобильном листать не удобно. В принципе не критично, но я не уверен что haskell вообще подходящий инструмент для моей задачи. А задачу мою можно найти по тегу «гексагональный пиксель» здесь.

Что выбрать?

★★★★★
Ответ на: комментарий от monk

Скорее перерасход памяти, пока данные или не вычислишь или не выкинешь.

это все изза ленивости небось. читать на хаселе не умею, потому просто беру за рабочую версию.

alysnix ★★★
()
Ответ на: комментарий от monk

Там не совсем утечки. Скорее перерасход памяти, пока данные или не вычислишь или не выкинешь.

Суть проблемы это не меняет. По мере работы программы она ест все больше и больше памяти. И иногда локализовать место, где это происходит - очень сложно.

aiive
()
Ответ на: комментарий от alysnix

Да. Ленивость заставляет хранить вычисления, а не вычисленные значения. Если вычисленное значение занимает значительно меньше места, то получается «утечка».

monk ★★★★★
()