Ответы пользователя по тегу Программирование
  • Какой язык лучше всего подойдет для олимпиад?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    На олимпиадах от программирования требуется навыки на уровне джуниора. Там большее значение имеет знания решения различных алгоритмов, а не углубленное изучение языка программирования.
    Поэтому на простом уровне и С++ и питон можно освоить быстро. Учи оба, пиши одно и тоже на обоих языках, получишь представление о разных подходах и возможностях.
    Специализация нужна потом.
    Ответ написан
    Комментировать
  • Как изменять что-любо в программных проектах?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Большинство книг, которые выпущены вчера, базируются на знаниях, которые кто-то получал в 2004, поэтому даже в старых книгах всегда полно полезной информации.

    Что же касается изменений в проекте - так если вы умеете программировать - вы должны знать что менять. Если не умеете - не меняйте.

    Или уточните вопрос.
    Ответ написан
    Комментировать
  • Забыл пароль от контейнера VeraCrypt. Как можно осуществить перебор по словарю?

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    зачем библиотеки?
    Пишите на питоне генератор ваших строк и вызывайте командную строку veracrypt, типа так
    VeraCrypt.exe /v c:\myvirtualdiskfile /a /l x /p СГЕНЕРЕННЫЙПАРОЛЬ /q


    И проверяете смонтировалось или нет.
    Ответ написан
    Комментировать
  • Возможно низкоуровневое программирование без математики?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Низкоуровневое программирование это просто программирование.
    Просто программирование не требует матана, достаточно стандартной арифметики.

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

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

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Нет такого, чтобы работало сразу после написания.
    Программа вообще не пишется с первого раза. Пишешь кусок, запускаешь, смотришь работает ли то, что написал. Пишешь дальше.
    Дописываешь юнит тесты, отлаживаешь.
    Готовый результат отдаешь уже после тестирования и отладки.

    А с первого раза - что значит нет права на ошибку? Именно из-за существования фактора человеческой ошибки были созданы целые институты SDLC, включающие науку тестирования, код ревью и так далее.

    Всегда есть право на ошибку. Вопрос только в цене ошибки.
    Ответ написан
    Комментировать
  • У вас есть какие-то интересные идеи для проектов, на которые нету времени?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    кроссплатформенную читалку, которая хранит открытые книжки и текущую позицию в указанном месте (cloud, ftp, ssh, etc), чтобы можно было почитать на телефоне, потом перейти на ноут, потом дома на десктопе дочитать и все синкалось само.
    Ответ написан
  • Процессор на двоичных кодах везде? то почему нет спец универсального транслятора под тысячи процессоров? Или единого стандарта кода для всех цп?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Джава и питон не охватывают все консоли и смартфоны?

    Ну попробуйте написать свой скриптовый язык, который умеет выполнять хотя бы
    print "hello world";

    чтобы он работал хотя бы на 10 платформах.

    Но ведь двоичный код охватывает 99%?

    Почти 100%

    Значит слишком трудно создать все планетарный стандарт двоичного кода. ?

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

    Исполняемых Инструкций двоичных для всех процессов на планете единый стандарт?
    Или унифицировать все процессоры для совместимости тоже тяжело?

    Инструкции процессора это не просто код, это его внутренняя ФИЗИЧЕСКАЯ архитектура. Создатели пытаются сделать процессор быстрее, меньше, дешевле, с минимальным потреблением. Каждый в меру своего разумения, опыта и технических возможностей.

    Может конвертор добавить?

    Доступные вам языки программирования - это и есть конвертеры.

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

    А как быть с разными физическими устройствами? Я вот написал скрипт, который ждет, пока человек введет мне "yes" или "no", а его взяли и запустили на планшете, где клавиатуры нет?
    Или на холодильнике, где вообще ничего нет

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

    Ну вот железо СЛИШКОМ разное, и когда под ДОС именно программисты писали код для разного железа (разные аудио карточки, разные графические режимы ), а потом внезапно оказалось, что есть единый API типа directX, и операционка с драйверами дальше сама разберется что делать, программисты вздохнули свободно, потому что не нужно помнить о том, что производителей тех же аудиокарточек больше, чем лет жизни у программиста.

    Вообще с совместимостью старого кода на новом скромном железе- чипе.
    или супер мощном ЭВМ.. Это вообще никак ни в одном я.п. не предусмотрено?

    Обратная совместимость это всегда огромный технологический долг. Поддерживать его для отдельных моментов (типа PC Speaker или 5дюймовых дисководов) очень дорого.
    Ответ написан
    Комментировать
  • Почему у приложений нельзя посмотреть исходный код?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Если вы про исполняемые файлы, типа exe, то в них исходного кода просто НЕТ. Почитайте что такое компиляция.

    Если вы у себя запускаете скрипт, то он и есть исходник.

    А вообще, следует хотя бы немного почитать о том, как работает компьютер и программы на нем.
    Ответ написан
    6 комментариев
  • Есть ли в мире технарей направления которые не тускнеют десятки лет?

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

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    По-нормальному, локализация выполняется там, где заранее предусмотрена возможность локализации.

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

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

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

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Я узнал от Стива, что главное в управлении компанией и в личной жизни — это сосредоточенность.


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

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

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    Вам - нельзя.
    Будете постоянно метаться между языком, библиотеками, фреймворками, а в конечном счете еще и браузером, потому что результат скорее всего будет там, и будет тот же самый html/css/js только через питоновский фреймворк.

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

    P.S. Изучив один язык, всегда проще изучать другой. Но для этого нужно его изучить, а не попрыгать по верхам.
    Ответ написан
    Комментировать
  • Как передать информацию на динамический массив программы?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Для этого вам нужна не программа а исходный код программы, который можно поправить.

    Опять же, судя по вашим вопросам и по их формулировке - вы не разбираетесь в программировании и в ИТ, но намереваетесь своими силами выполнить реверс инженеринг программы (что требует знаний выше, среднестатистического новичка в программировании), вдобавок написанной очень давно.

    Не нужно это делать, для этого просто наймите на фрилансе людей, или контору. Либо хотя бы предоставьте примеры файлов, чтобы кто-то мог подсказать куда копать (опять же подсказки только дадут дополнительную информацию, а не решат задачу).
    Ответ написан
    2 комментария
  • Можно ли программировать просто ради кода?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    а тем, что тебе просто интересно придумывать алгоритмы к задачкам, интерфейс которых не выходит за рамки командной строки?

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

    Чтобы писать алгоритмы и при этом не программировать, нужно писать очень крутые алгоритмы.

    Например напишите сортировку, которая будет работать быстрее, чем например quicksort (https://ru.wikipedia.org/wiki/%D0%91%D1%8B%D1%81%D...

    Напишите алгоритм архивации, который сожмет лучше чем хотя бы дефолтный 7zip, да хотя бы лучше чем дефолтный zip.

    Напишите свою реализацию криптования sha2

    А уже потом посмотрим, действительно ли вам нравится работать с алгоритмами, или вы прокрастинируете в тайне от самого себя.
    Ответ написан
    8 комментариев
  • Где может пригодиться физика программисту?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    * Проводку в квартире рассчитать, чтобы знать где можно включить чайник и холодильник в одну розетку, а где у вас пробки выбьет прямо посреди раунда в дотку
    * Wifi расставить так, чтобы минимизировать влияние от соседей и максимально покрытие по квартире для своего wifi обеспечить
    * Понимать разницу между оптикой, ethernet, wifi, спутниковой связью, и благодаря основам в физике понимать где тут пинг а где тут пропускная способность влияет.
    * кроме геймдева и робототехники, физические движки помогают создавать удобный и красивый юзер интерфейс, с нормально двигающимися менюшками, с адекватной цветовой гаммой.
    * 3д графика есть не только в игрушках, есть еще видео - реклама, клипы, мультфильмы, фильмы

    P.S. Школькая физика вообще маст хев для любого, не только в ИТ мире.
    Ответ написан
    Комментировать
  • Какой язык программирования использовать для переноса настольной игры в WEB?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Если вам просто поиграть, можно воспользоваться онлайн-движком типа www.zuntzu.com
    Правда логику там не запрограммируешь, это просто перенос реальной настолки в онлайн-режим для живых игроков.

    Кроссплатформенная на java (вроде как более развитая):
    www.vassalengine.org/about.php
    Ответ написан
    Комментировать
  • Как внести изменения в прошивку наушников?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    1. Прошивка коммерческих устройств не является открытым кодом. То есть заводскую прошивку в нормальном виде достать практически нереально
    2. Прошивка коммерчески продающихся устройств (а не инженерных, на которых тестируют и проверяют свое решение разработчики) отличается от того, что происходит в обычной разработке. Например могут быть не припаяны ножки для подключения программатора, чип может прошиваться отдельно от устройства, и тогда вообще на плате может не быть выхода или даже контроллера целиком (uart или чего-нить подобного).
    3. Даже если на борту платы есть все, прошивка обычно может быть залоченной от перепрошивки.

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

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    "Недавно закончи изучение html и css ."


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


    Вы определитесь, вы уже начали или уже закончили.

    Программирование в вашем случае по идее нужно уже продолжать, с языком программирования.
    Но если вам вышеуказанные противоречивые цитаты кажутся нормальными, то да, видимо надо начинать с основ логики.
    Ответ написан
    Комментировать