Ответы пользователя по тегу Языки программирования
  • Какие есть книги/руководства по разработке "простого языка программирования" для новичка?

    saboteur_kiev
    @saboteur_kiev Куратор тега Книги
    software engineer
    Руководитель дипломной работы предложил разработать "простой язык программирования для целей обучения". Я поняла его так - многие учебные задачи с использованием современных языков теряют смысл. (перевернуть массив? для этого есть готовая функция. написать сортировку - тоже есть. а если задача на динамических списках - студент сложит их в массив и радуется) только вручную проверять, правильно ли написал. А хорошо если есть язык в котором опцией выключаются массивы например или циклы. И конечно минимум готовых функций.


    А кто мешает написать свою структуру данных, и методы для работы с ней, и не "отключать массивы", а просто не пользоваться ими?

    Писать свой язык проблематично с начальными знаниями, потому что нужно хотя бы знать как примитивы работают.
    Опять же какой язык - компилируемый или интерпретируемый? Написать свой компилятор непростая задача, как минимум нужно разобраться с архитектурой ОС, разобрать форматы исполняемых файлов, это куча дополнительной работы.

    Я бы на твоем месте уточнил бы детали у препода, на каком уровне требуется это сделать.
    Ответ написан
    2 комментария
  • Какой посоветуете софт или сервис для разработки своего приложения для работы с планами инженерных сетей?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    "разменить что-то на pdf", это уже редактирование pdf, сама по себе задача непростая. И если вы спрашиваете хотя бы язык программирования на котором это можно попробовать написать, то это сразу гиблый вариант.

    Вам кажется что это простое решение, но по вашему описанию, мне это видится как проект на 10-20 разработчиков сроком минимум полгода-год. Умножаем на зарплаты норм разработчиков, плюс менеджер который будет ими рулить, плюс тестировщик, дизайнер и получаем такую сумму, что можно сразу забить на проект.
    Тем более что вы с одной стороны не хотите западные продукты, с другой стороны ворд документы, эксель документы, автокад документы...

    Если же делать вообще по-тупому, то можно, например, сделать на html, разложить документы по папкам, нарисовать там условными png-шками ваши объекты, сделать их ссылками и захостить на локальном сервере без выхода в инет, чтобы не париться с авторизациями и безопасностью, просто внутренний ресурс.

    Веб-разработчик на html/css может сделать простую схему, но насколько этот вариант подойдет для сложной схемы - неясно, насколько удобно будет скроллится, если у вас много объектов - неясно, надо общаться.
    Насколько это будет вообще юзабельно - зависит от реализации и пользовательского предпочтения.
    Ответ написан
  • Почему отказались от оператора GoTo в высокоуровневых языках?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Никакие комьютеры не отказались от goto.
    Кроме того, это не функция, а оператор.

    Но если писать длинный код активно используя goto, в нем будет крайне сложно разобраться.
    Поэтому в некоторых языках программирования его может и не быть. Но на архитектурном уровне и низкоуровневом ассемблере, он естественно есть.
    Ответ написан
    Комментировать
  • Где можно прочитать про всю суть ЯПов под капотом?

    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).

    Вы сейчас путаете функциональность компилятора, и линкера.
    Ответ написан
    Комментировать