LINUX.ORG.RU

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

 , , , ,


2

4

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

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

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

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

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

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

Что выбрать?

★★★★★

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

Пока нет, так как проект развивается, да и не годится для публикации.
Рефакторинг многое чего затронул (что-то убираю, заменяю своим API).
Это пока лишь библиотеки, которые просто интегрирую с своим API (очень удобно).

Взял их лишь для того, чтобы велосипед не изобретать.

Forum0888
()
Последнее исправление: Forum0888 (всего исправлений: 1)
4 июля 2023 г.
Ответ на: комментарий от unDEFER

инициализировать можно только 64 бита [...] А почему по нормальному нельзя инициализировать?

потому что нет стандартизованного типа выше long long? он вполне себе где то может быть больше размером чем 64 бита.

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

с чего вообще взято что максимум 64 бита можно инициализировать? там же сказано, что минимум берется, либо размер битсета, либо количеством бит в репрезентации long long — на некоторых архитектурах может быть не ниже 64 бита — тоесть выше легко может быть где то... но на x86_64 он обычно 64 бита... остальное только по сути составное может быть, поскольку регистры 64 бита... А математика составных чисел думаю очевидно, что сильно меньше по производительности.
«Constructs a bitset, initializing the first (rightmost, least significant) M bit positions to the corresponding bit values of val, where M is the smaller of
N, and
the number of bits in the value representation of
unsigned long (until C++11)unsigned long long (since C++11).»

safocl ★★
()
Последнее исправление: safocl (всего исправлений: 1)
23 июля 2024 г.
Ответ на: комментарий от Vsevolod-linuxoid

LISP

В стиме игра есть от авторов Portacle и ряда, как понимаю, популярных библиотек. Самый топовый комментарий от пользователей - «страшно тормозит».

anonymous
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.