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

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

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Вопрос, наскольким может быть эффективным, для снижения стоимости разработки пробной версии, такой подход, не писать с нуля, а соединять куски программ или целеком в зависимости от ТЗ?


    Ну глупый вопрос же.
    Если ты считаешь себя предпринимателем со стажем, то давай упростим твой вопрос до такого:
    Хочу выпускать автомобиль, но хочу все упростить. Есть же куча готовых автомобилей, я же могу взять сфотографировать свой мерседес, потом разробрать Москвич и приделать детали? Там же много похожих кусков?

    Но ты же понимаешь что это бред. При этом считаешь что программирование это другое, и там соединить куски легко?
    Так вот.

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

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    40000: ADD A,1
           cmp A,10
           jZ 40100
           cmp A,50
           jZ 40200
           cmp A,100
           JZ 40300
           cmp A,150
           JZ 40400
           cmp A,200
           JZ 40500
           JMP 40000
    
    40100: ADD B,1
           JZ 50000
    40200: ADD B,2
           JZ 50000
    40300: ADD B,3
           JZ 50000
    40400: ADD B,4
           JZ 50000
    40500: ADD B,5
           JZ 50000


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

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

    А изучение комплексного анализа идет, чтобы понимать как и откуда эти функции появились и как и почему они работают.

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

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

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    ИТ области сложные. Вот реально сложные. Нужно сидеть не минуты или часы а днями над простейшими задачами поначалу. Потом неделями, потом месяцами.
    Если вам это неинтересно, то изнасиловав свой мозг поломав себя и доучившись до джуниора, на реальной работе столкнешься что там еще больше того же самого. И что называется "перегоришь" за пару лет и будешь искать что делать и куда сбежать.
    Отсюда и появляются статейки о том, как люди выгорели в 20 лет.

    Если человеку интересно, он не страдает а наслаждается этим.
    Ему интересно, что в линуксе в масках файлов можно использовать квадратные скобки
    Ему интересно почему в винде *.* а в линукс *
    Ему интересно, чем отличается SIGTERM от SIGKILL
    и не потому, что это нужно знать по работае, а потому что интересно.

    Если вам нет - зачем строить свою жизнь из страданий.

    Вместо геймдева, в компьютерные игрушки можно просто играть после основной работы

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

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

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


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

    А так, программа на компилируемом языке - это текст, который при помощи нескольких утилит (транслятор,компилятор, линкер, и др), преобразовывает в конечном счете текст в исполняемый файл.

    Но это все довольно условно, так как сейчас виртуализация достигла платформ, и если 30 лет назад под платформой подразумевался процессор, то сейчас платформой может быть даже браузер (для webassembly, css и js) и так далее.

    P.S. И да, ассемблер - это текст. А конечный результат, например для С++ это исполняемый файл с машинным кодом и структурой исполняемого файла, в котором заложено как и что загрузить в память и куда передать управление.
    Ответ написан
    Комментировать
  • Как начать понимать UML-схемы?

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

    Именно так.
    Если часто будешь использовать, научишься понимать.
    Если редко - будешь разбираться, а потом забывать.

    Но UML это всего лишь один из вариантов, как фиксировать контракты. Может быть и достаточно удобный и стандартизированный, но не все им пользуются, ибо нарисовать UML это тоже время и задача.
    Ответ написан
    Комментировать
  • Множественный if then else, как заменить, упростить и простить?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    паттерн executor что-то типа:

    array { id, name, function}
    [ 0, 'объект1', 'function1' ],
    [ 1, 'объект2', 'function2'],
    [3, 'объект3', 'function1;function3']

    while ID in array(id) {
    eval array(function)
    }

    или switch/case
    Ответ написан
    Комментировать
  • Как перестать комментировать всё подряд?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    // Переменная для хранения информации о возможности клика по кнопке «Зарегистрироваться»
    // true — клик разрешён, false — клик запрещён
    var can_click_su = true;


    Меняешь на
    var can_click_register_button = true;
    Ответ написан
    Комментировать
  • Должны ли разработчики понимать абсолютно весь проект?

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

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    нет, нельзя.
    Вы не понимаете смысла что такое "набор 0 и 1" и что такое разбить код на текст и скомилировать назад в код.
    То есть ваш вопрос задан неправильно, и надо сперва разобраться что это такое и чем отличается картинка от файла.
    Потом сможете задать вопрос, ответ на который вы сможете понять.
    Ответ написан
    Комментировать
  • Crystal (подобный Ruby) – стоит ли изучать этот язык программирования?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Тут не оракулы.
    Ни про один узкоспецифический язык вам никто не скажет.
    Можете попробовать выяснить у авторов языка, что они собираются с ним сделать. А "бывалые" программисты вам тут не помощь.

    Язык не простой. Он просто в сравнении с c++/java.
    Он будет интересен тем, кто профессионально писал на ruby/java и посмотреть что он предложит.

    А новичку он совершенно бесполезен по разным причинам:
    * на нем нет готовых публичных проектов в большом количестве
    * у самого языка очень небольшое сообщество (пара сотен человек против миллионов на с++/java/c#/js/bash/basic/etc)
    * вакансий на него раз-два и обчелся в мире

    С подобными вопросами, не заморачивайтесь, учите python
    Ответ написан
    9 комментариев
  • Обнаружение dos атаки на языке С\С++?

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

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Многозадачностью занимается операционная система. С точки зрения самой программы, она об этом ничего не знает, и сама программа может пользоваться только средствами языка (создавать треды), но будут эти треды обработаны одним ядром, одним процессором или разными - программа ничего не знает.

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

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Используйте time series Базы данных.
    Или проще говоря, базу данных в которых есть timestamp -> значение
    И стройте себе потом графики.
    Ответ написан
    2 комментария
  • Можно ли количественно измерить опыт программиста?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    В общем я бы сказал так:

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

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

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    1. Мало практики.

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

    3. Иметь нужные знания это не почитать про них. Это означает уметь ими пользоваться. Ты в задачах перечислил настолько примитивные вещи, что аналогом может быть алфавит. Алфавит это не знания, это просто навык чтобы вообще читать и писать, знания - это умение пользоваться всеми этими массивами, функциями, условиями и циклами.

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

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Естественно такого нет и быть не может.
    Все языки программирования работают примерно одинаково, за исключением узкоспецифических.

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

    Для более-менее релевантной оценки, которая будет отличаться от пальцем в небо, надо вычистить мозг от ВСЕХ других знаний, оставив только язык программирования, а это невозможно. Поэтому чтобы вы не искали - это будет чушь.
    Ответ написан
    2 комментария
  • Нормально ли то, что весь мой код в бесконечном цикле for?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Да вполне нормально.
    Но for предполагает что вы собираетесь итерировать некий объект, поэтому в таких случаях лучше использовать while true или until false циклы.

    P.S. А вообще для конкретики, лучше указывать язык программирования
    Ответ написан
    Комментировать