A A A A Автор Тема: Какой язык программирования учить  (Прочитано 11779 раз)

0 Пользователей и 4 Гостей просматривают эту тему.

Оффлайн Eddy_Em

  • *****
  • Сообщений: 1 709
  • Благодарностей: 55
  • САО РАН. Буково forever!
    • Сообщения от Eddy_Em
    • Я на гитхабе
Re: Какой язык программирования учить
« Ответ #440 : Вчера в 19:36:29 »
ООПщина в простой форме и в С вполне доступна. Объект "камера", объект "фокусер" и т.д.
И, действительно, есть задачи, где она удобна. Но в итоге — да, никакой разницы нет, на каком ЯП писать изначально, после компилятора все одинаково.
И даже перегрузку на С можно делать при помощи макросов и генериков. Может, кому-то даже понравится, но мне проще явно указывать нужную функцию.
Вот шаблонов в С нет. Хотя, этот, вроде бы недостаток с одной стороны, является достоинством с другой. Время компиляции! Лично мне, пересобирающему во время разработки чуть ли не каждые 5-10 минут, это важно. А коллеге приходится каждый раз по полминуты ждать, пока его шаблоны развернутся. Да и чтение: "топорный" сишный код куда как проще читать, чем это нагромождение шаблонов. А чем сложней - тем больше шансов где-то ошибиться.
Вот против констэкпров я бы ничего не сказал, а с удовольствием бы их использовал. Вот, засранцы, которые всякий бред вроде дженериков и булов вводят в новый стандарт С, лучше бы с констэкспров начали!
А еще - абы не запретили, как в шланге, вложенные функции. Уж слишком много всяких вещей без вложенных функций сильно пострадает в производительности.
Windows must die!

Онлайн yacc

  • *****
  • Сообщений: 648
  • Благодарностей: 13
  • Мне нравится этот форум!
    • Сообщения от yacc
Re: Какой язык программирования учить
« Ответ #441 : Вчера в 19:45:56 »
Послушайте, полиглот всех языков, не надо пургу нести про то, что "алгоритмы не могут быть лучше реализованы"
Если у кого-то было плохо с математикой - я не виноват.

в том числе многопоточными
Вы сам-то читали те, книги что предложили по алгоритмам ?
Там ВСЕ алгоритмы однопоточные, потому что книги объясняют суть их работы и математический фундамент, что за ними стоит.


Онлайн yacc

  • *****
  • Сообщений: 648
  • Благодарностей: 13
  • Мне нравится этот форум!
    • Сообщения от yacc
Re: Какой язык программирования учить
« Ответ #442 : Вчера в 19:55:43 »
ООПщина в простой форме и в С вполне доступна. Объект "камера", объект "фокусер" и т.д.
И, действительно, есть задачи, где она удобна. Но в итоге — да, никакой разницы нет, на каком ЯП писать изначально, после компилятора все одинаково.
И даже перегрузку на С можно делать при помощи макросов и генериков.
Да, все так.

Оффлайн Павел Васильев

  • *****
  • Сообщений: 1 303
  • Благодарностей: 37
    • Сообщения от Павел Васильев
Re: Какой язык программирования учить
« Ответ #443 : Вчера в 22:46:22 »
Вы сам-то читали те, книги что предложили по алгоритмам ?
И вам советую, например, одну из них. Хотя вы вряд ли что там поймёте, судя по вашим сверхглубоким познаниям в математике и реализации алгоритмов без ООП.
Астромодель нооэволюции Млечного Пути https://gitverse.ru/astrogeoscenter/astrobloq

Онлайн yacc

  • *****
  • Сообщений: 648
  • Благодарностей: 13
  • Мне нравится этот форум!
    • Сообщения от yacc
Re: Какой язык программирования учить
« Ответ #444 : Вчера в 22:57:05 »
судя по вашим сверхглубоким познаниям
Найдите там многопоточные алгоритмы :)

Оффлайн Eddy_Em

  • *****
  • Сообщений: 1 709
  • Благодарностей: 55
  • САО РАН. Буково forever!
    • Сообщения от Eddy_Em
    • Я на гитхабе
Re: Какой язык программирования учить
« Ответ #445 : Вчера в 23:23:55 »
Купил себе не так давно классную книжку. Очень советую почитать.
Правда, тяжелая, зараза. Уж подумываю, не сделать ли в сортире откидной столик, а то неудобно читать: руки затекают быстро.
Windows must die!

Оффлайн Ph_user

  • *****
  • Сообщений: 3 478
  • Благодарностей: 93
    • Сообщения от Ph_user
Re: Какой язык программирования учить
« Ответ #446 : Вчера в 23:46:43 »
Иногда уже простой брутфорс на симде выходит быстрее старых упоротых оптимизаций алгоритмов времён радиоламп. Надо проверять все варианты вместо чтений старых умных книжек со старыми быстрыми алгоритмами.

Оффлайн Eddy_Em

  • *****
  • Сообщений: 1 709
  • Благодарностей: 55
  • САО РАН. Буково forever!
    • Сообщения от Eddy_Em
    • Я на гитхабе
Re: Какой язык программирования учить
« Ответ #447 : Вчера в 23:58:20 »
Лет почти 20 назад, когда мне понадобилось использовать быстрые алгоритмы поиска звезд на изображении камеры подсмотра, я попытался было использовать openCV. Это было адски медленно: в кусочке 300х300 пикселей он находил (бинаризация, морфологическая фильтрация, поиск 4-связных областей) три "звезды" за какое-то дикое время (чуть ли не 300мс). Пришлось писать свое, чтобы уложиться в 50мс. Уложился в 30. И дальше продолжал тянуть этот свой велосипед в течение многих лет.
А вот недавно, когда добавлял в "астровидеогид" (deprecated, но новый некогда писать) очередную камеру, подумал: а почему бы не сравнить мой алгоритм с OpenCV? Вдруг там уже все ОК, и он так сильно не тормозит? Не вышло: сишный интерфейс полностью изничтожили, а с крестами связываться я не собираюсь.
Ну, меня производительность моих алгоритмов устраивает, а если захочется еще шустрей, можно распараллелить поиск связных областей (всего-то нужно добавить функцию "связи" кусков и перенумерации). На современных процессорах, где десятки ядер, параллелизация очень хорошо может зайти.
Ну и упомянутые SIMD-инструкции тоже. Вот у меня дома процессор за 10тыр с алиэкспресса, поддерживает avx512. Т.е. теоретически можно за один присест по 512 пикселей изображения обрабатывать (те же морфологические операции сводятся к логическим: "и", "или" + сдвигам).
Windows must die!