Ответы пользователя по тегу Языки программирования
  • Где можно прочитать про всю суть ЯПов под капотом?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    В каждом языке детали отличаются.
    Операторы не просто функции, это как бы понятно, ибо некоторые операторы это вообще только часть структуры, и функцией быть не может.

    Что вы вообще спрашиваете? Какой смысл?
    у вас надерганы термины из разных источников, и видимо из источников описывающих разные языки программирования, отсюда и каша.
    Выберите конкретный язык и прочитайте про его терминологию. Потом про другой.
    Прошло уже 100+ лет с начала программирования, появились новые сущности, которые не подпадают под старую классификацию.
    Ответ написан
    Комментировать
  • Как создать язык программирования?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Берешь перфокарту и начинаешь программировать.
    Ответ написан
    6 комментариев
  • Разработка ботов & backend. Какой ЯП выбрать?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    бери питон или php, что тебе лично больше зайдет.
    Можешь погуглить готовые библиотеки для работы с дискордом и выбрать язык исходя из библиотек.
    Ответ написан
    Комментировать
  • Какой ЯП выбрать для написания бота?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Отличный вариант - на bash
    Ответ написан
    Комментировать
  • Как игровые движки понимают инородные языки?

    saboteur_kiev
    @saboteur_kiev Куратор тега Разработка игр
    software engineer

    Каким образом движок написанный на C++ понимает другие языки?

    Движок - это набор функций. Он может быть создан в виде стандартных библиотек для Windows/Linux
    Ну а библиотеки может использовать любая другая программа, включая другие языки программирования.
    Тем более, что движки и пишут так, чтобы их было удобно использовать в вызове из другой программы.
    Ответ написан
    Комментировать
  • Что больше подходит для автоматизации встроенных систем и робототехники?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Почему нужно выбирать именно эти языки?
    Вы понимаете, что нет какого-то универсального языка для автоматизации и робототехники?
    Надо смотреть что придумал вендор конкретно вашего "робота".
    Где-то может вообще что-то свое использоваться, где-то синтегрировали LUA, где-то еще грубо говоря ассемблер для удобной разработки не завезли, существует только на бумажке.
    Ответ написан
    3 комментария
  • Есть ли русскоязычная литература по денотационной семантике?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    1) Есть ли русскоязычная литература по денотационной семантике?

    вряд ли. Книги на эту тему нет смысла выпускать, слишком узкая область исследований. А вот статьи в инете можно найти.
    2) И ещё идут ли каких либо институтах работы в этом направлении?

    Нет конечно, зачем это институтам?
    Это вообще область больше относится к математике. Работы в этом направлении могут идти не теоретические а практически - например при написании какого-то языка, могут просто работать над тем, чтобы его семантика соответствовала.

    3) И где данную семантику вообще применяют на практике?

    Как я понимаю, в функциональных языках программирования.

    Вот тебе вырезка полезная:
    Итак, IMHO, как программист, это главное, что нужно понять: денотационная семантика-это то, как придать математическую "teeth" концепции ссылочной прозрачности, чтобы мы могли дать принципиальные ответы на утверждения о правильности подстановки. В контексте функционального программирования, например, одним из ключевых приложений является: когда мы можем сказать, что два выражения с функциональным значением фактически обозначают функцию "the same", и, таким образом, одно из них может безопасно заменить другое? Классический денотационный ответ- равенство экстенсионалов : две функции равны тогда и только тогда, когда они отображают одни и те же входные данные на одни и те же выходные данные, поэтому нам просто нужно доказать, обозначают ли рассматриваемые выражения экстенсионально эквивалентные функции. Так, например, Quicksort и Bubblesort являются заметно разными аргументами, но денотационно они являются одной и той же функцией.

    В контексте реактивного программирования большой вопрос будет заключаться в следующем: когда мы можем сказать, что два разных выражения, тем не менее, обозначают один и тот же поток событий или зависящее от времени значение?
    Ответ написан
    Комментировать
  • Какой язык программирования учить для создания бота?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Какой язык программирования учить?

    Любой.

    за сколько я его выучу так, чтобы можно было осуществить выше сказанное?

    Frostok, А за сколько ты выучил, например, английский с нуля?

    Или думаешь все люди одинаково учат?
    Если бы так было, в школе все бы получали одинаковые оценки, но все получают разные.
    Ответ написан
    Комментировать
  • Какой язык программирования выбрать для бэкенда?

    saboteur_kiev
    @saboteur_kiev Куратор тега Веб-разработка
    software engineer
    > Я начинающий веб-разработчик(если могу себя таковым называть :) ),
    > можно сказать изучил фронт на который я потратил довольно большую часть времени

    Это же взаимоисключающие параграфы. Если вы начинающий, то как вы могли изучить фронт?

    >можно сказать изучил фронт на который я потратил довольно большую часть времени
    >Хотелось бы узнать ваше мнение о ЯП(C#, Java, Go, Python, JS),

    Как можно было изучить фронт, и не составить свое мнение хотя бы о JS, из которого он считай и состоит?

    Судя по твоему вопросу, учиться у тебя получается очень плохо и тяжело, поэтому учи NodeJS - навыки во фронте с JS хотя бы помогут начать не с нуля.
    Ответ написан
  • C++ или Java для первого языка?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Java чтобы войти в ООП
    C++ чтобы войти в архитектуру поглубже.

    Смотря к чему вас тянет.
    Ответ написан
    Комментировать
  • Где можно посмотреть подробные реальные примеры применения концепций и возможностей языков программирования?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    1. Архитектурные паттерны - на подробных и понятных реальных примерах.


    Реальные примеры обычно довольно сложные, чтобы кто-то сидел и делал их подробными и понятными.
    Паттерны используются в сложном софте пачками, для решения различных проблем. И так как паттерн не самое главное в софте, то он там скрыт под тонной основного кода.
    Если у вас нет практических навыков работы, вам будет непонятно и неподробно, ибо основная часть кода будет не разжеванным идеальным примером, а просто кодом который выполняет свою задачу.
    Ответ написан
    Комментировать
  • Что выбрать: C или C++?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    После изучения Питона


    Ты точно уверен, что уже изучил Питон? Или полистал его основы?

    Выбирать между С и С++ нужно тогда, когда уже можешь хоть что-то написать.
    Напиши на С и на С++ простенькие крестики нолики, а потом уже решай что тебе больше нравится.
    Ответ написан
    1 комментарий
  • Возможно ли создание языка, который бы пришёл на замену С по производительности?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Всем привет!

    Правильно ли я считаю, что С-программы работают быстрее программ на других языках после Ассемблера?

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

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

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

    Хорошее владение языком не так критично, как понимание архитектуры процессоров. Чтобы использовать все возможности современных процессоров, нужно их знать, за ними следить, договариваться с производителями процессоров об обмене знаниями и документацией.
    Внезапный новый язык в этом плане в ближайшие годы вряд ли возможен.

    Опять же. "быстрые программы" это что?
    Где-то быстрее Go, где-то С++, где-то чистый асм, где-то даже питон.
    Скорость программ обычно не так критична. А конкретный алгоритм можно вылизать почти на всем.
    Ответ написан
    Комментировать
  • Какой ЯП выбрать с нуля для написания конкретной программы?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Можно взять питон, будет легче и для скриптов пригодится.
    C#, это чтобы серьезно заняться.

    А вообще, можно взять и написать веб-интерфейс причем бэк можно оставить питон.
    Ответ написан
    Комментировать
  • Какой самый низкоуровневый язык програмирования?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Между ассемблером и машинным кодом в современных процессорах есть микрокод.
    https://ru.wikipedia.org/wiki/%D0%9C%D0%B8%D0%BA%D...

    В современных процессорах такое почти везде есть. Но обычно микрокод пишут собственно те, кто проектирует процессор.
    Ответ написан
    Комментировать
  • Как сделать трансляцию кода в exe файл для языковой ВМ?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    exe это контейнер для операционной системы.
    Непонятно что у вас за ВМ - каждая операционная система должна подерживать какой-то формат для исполняемых файлов и запустить его, то есть
    1. создать новый процесс
    2. Загрузить в память исполняемый код из файла, возможно часть кода, возможно код и какие-то данные
    3. Передать управление на точку входа

    Как и что грузить - указано в исполняемом файле (exe, elf), либо файлы делаются шаблонными (.com).

    Вы сейчас путаете функциональность компилятора, и линкера.
    Ответ написан
    Комментировать
  • Какой язык можно быстро освоить за 7 дней - C++ или Java?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    В вашем случае - java.
    Но на самом деле, быстрее было бы уже просто начать писать на чем-либо, а не ждать ответов от рандомных людей в инете.
    Ответ написан
    Комментировать
  • Какие языки программирования преподают в школах программирования для детей?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    Есть утвержденная министерством образования программа обучения.
    Там указаны темы, но языки программирования не перечислены.
    Есть рекомендованные задачники и учебники с Паскалем, Бейсиком Си, даже ассемблером в старших классах.
    Есть также виртуальные логические языки.
    Остальное - на выбор конкретной школы.
    За пределами программы могут быть только кружки, их специализация и качество зависят исключительно от конкретного преподавателя в конкретной школе.

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

    Если вас интересует среднестатистический опросник - https://habr.com/ru/post/207020/ , но он не показателен, поскольку опрос среди взрослых

    P.S. Лучшего языка нет, поскольку у каждого ребенка может быть своя предрасположенность, на которую в бОльшей степени влияет не сам язык, а сфера применения.
    Кому-то интересен php/js чтобы сделать сайт.
    Кому-то java чтобы писать под андроид.
    Кому-то питон, потому что надо хоть что-то попроще, а для чего не всегда понятно.
    Кто-то сходу в С/assembler чтобы взломать игрушку или написать что-то свое.
    Выбор больше не от языка, а от ожидаемого результата
    Ответ написан