Необразованная молодёжь

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

Так получилось, что после окончания 9 класса, я поступил в колледж по профессии «Прикладная информатика по отраслям». Колледж — филиал хорошего института в северной столице нашей страны. Выбор был осознанный и я с детства интересовался информатикой. После зачисления, радости не было предела. Воображал себя сидя за компьютером в каком-нибудь крутом офисе создавая программу. Но как бывает в жизни, она бьёт, откуда не ждёшь.

image

Первый курс


Обучение в таком заведении стандартное. Есть учебный план, есть преподаватели, которые обязаны следовать ему, сессия, курсовая, следующий курс. Первый курс нашего колледжа заключается в 10-11 классе с усиленной математикой и информатикой. Но уже на первом курсе я начал удивляться. На парах информатики нас заставляли писать, конспекты о клавиатуре. Заставляли делать лабораторные работы на тему «Регистрация почты в сервисе yandex». Подумал это первый курс, нормальное явление, не все такие умные, всем нужно получить азы пользования компьютера. И со спокойной душой перешёл на следующий курс.

Второй курс


Вот оно! Новые предметы, преподаватели, высшая математика и менеджмент. Первые недели все было не плохо, а дальше всё превратилось в полную ахинею. Математику нам преподавали в виде: «Вот формулы производных, сюда, туда, ответ». Хорошо, решать я их научился, а зачем они мне нужны, не объяснили. Каждая новая страница учебника именно так и преподносилась. Как можно заинтересовать студентов новой темой, просто преподнося новые формулы для новых примеров? Иногда путаешься, чем они отличаются от предыдущих, если бы учитель показал применение производных в жизни и показал их важность, было бы намного интересней изучать материал, да и отложилось бы на долгое время.

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

Третий курс


Кончилась математика, добавились другие профильные предметы. Теория осталась прежней, лабораторные работы по html и basic весь ГОД. Конспектировали о периферийных устройствах или про текстовый процессор блокнот. Согласитесь, наверное, не ожидаешь на предпоследнем курсе, что тебя будут учить печатать в блокноте.

Появился интересный предмет «Сопровождение программного обеспечения». На нём, мы проходили 1С. Ура! Что-то нужное. Как я ошибался, ведь нам просто скинули на компьютеры инструкцию с примерами и сказали выполнить за целый год. Мало того, что инструкция не подходит по версии программы, так преподаватели сами не понимали программу. В итоге целый год вводили данные в 1С.

image

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

В конце года нас отправили на практику. Этой теме, можно посвятить целую статью. Если говорить вкратце, то нас посылали на все икс игрики. Ставили в конце оценки и печать. А потом я фантазировал на защите, как усердно я проходил практику.

Что я хочу этим сказать?


Сейчас я нахожусь на последнем курсе моего учебного заведения. Все осталось прежним, разве что добавился Lazarus и написание дипломной работы. Я хочу сказать, что меня ничему не научили. Всё чему я научился — последствие психов, от того что меня ничему не учат. От такого и правда появляется мотивация к самообразованию. Хоть спасибо есть за что сказать.

Не хочу ругать преподавателей, хотя из моих восьми преподавателей по информатике, нашлось только двое хороших. Я горю желанием обругать устаревшую систему образования и процесс прохождение аккредитации учебных заведений. Ведь в июле этого года я получу диплом, где гордо будет написано «Программист». Круто! Как вам программист 2018 года? Я умею регистрировать почту и печатать в блокноте!

image

Про аккредитацию отдельная история. К нам приезжают «серьёзные» люди из университета, дают тесты и проверяют документы. Документы заранее все приведены в порядок, а ответы на тесты мы получили за час до приезда этих самых «серьёзных» людей.

Люди предлагают поступить в ВУЗ, а то, мол, учишься в захолустье. Я давно интересуюсь поступлением в университет, но с каждой новой прочитанной статьёй, комментарием и отзывом своих друзей, желание отпадает.

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

Не стоит искать образование в колледжах. Тут Вы найдёте основы основ. Женщин лет 50, которые преподают предмет «Архитектура ЭВМ» и с ней Вы будете составлять кроссворд в excel. А на другом предмете, вы будете писать электронную тетрадь в word, где нужно вставить из интернета определение информатики. Если откажитесь писать определение информатики на компьютере — заставят писать в тетрадке.

Что мне делать дальше?


Сейчас после окончания, меня отправят служить Родине. После службы наступает момент выбора дальнейшего пути ниндзя. Пойти работать верстальщиком, уйти в фриланс? А может поступить в ВУЗ?

Ради корочки идти в университет не особо хочу. Надеюсь, если меня всё-таки занесёт попутным ветром в высшее учебное заведение, я смогу найти там новые знакомства, хороших преподавателей и получить хорошие знания. Уже пора смириться, что даже после окончания университета, без самостоятельного обучения не стать IT-специалистом.

Вы скажете мне, что вот, мол, ты в ПТУ деревенский поступил и жалуешься. Я отвечу, что Вы абсолютно правы, но только в том случае, если бы в университетах не происходило примерно то же самое.

UPD:
Поделиться публикацией
AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Подробнее
Реклама
Комментарии 839
  • +7
    Колледж то огласите, чего уж таить.

    Не удивительно, что вас ничему не научили, ведь учат «программированию» люди, которые и IDE то в глаза не видели. Ну правда, за всю свою учебу я встречал… трех преподов (один в школе), которым реально интересно то, чем они занимаются и они «умеют в ИТ».

    ИТ — это либо самообразование, либо специализированные курсы от ИТ-гигантов, например.
    • +1
      Есть одни распиареные курсы, находящиеся под крылом у крупного российского гиганта, сколько кандидатов после этих курсов приходило на собеседование, в лучшем случае полный ноль
      • 0
        Название озвучите? Чисто интереса ради.

        Мне не так давно приходило приглашение, кажется от Mail.ru, вести некие курсы по веб-программированию. Как я понял, они подбирают кандидатов просто «по гуглу» (т.к. особых достижений на гитхабе, например, у меня нет). Т.е. они приглашают хоть сколько-то реальных «практиков». Если на следующем этапе их как-то отсеивают (я отказался, поэтому не знаю что там), то вполне себе неплохие преподаватели.

        Друой вопрос, а будут ли они чему-то учить своих студентов. Ведь оно им самим во вред.
        • 0
          По скайпу вести курсы?
          • +1
            Другой вопрос, а будут ли они чему-то учить своих студентов. Ведь оно им самим во вред.
            не соглашусь с вами категорически, что значит во вред? не стоит плохо думать о преподавателях… курсы обычно дают вектор для саморазвития.
            • 0
              Название озвучите? Чисто интереса ради

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

              Но мне допустим ситуация стала ясна к концу 2 курса и я вовремя пошел по пути курсов/самообучения. Сейчас работаю Andoid разработчиком, к слову теме мобильных платформ была посвящена 1 лекция на 3 курсе кажется.

              Из плюсов СПО в России я могу отметить только обилие свободного времени для самообучения, а навыки самообучения на мой взгляд очень и очень полезны для любого IT специалиста. А вот курсы хороши только для старта и в отсутствие самообучения бесполезны имхо.
          • 0
            Не знаю что у парня, но в колледже при КФУ было так.
            • 0
              Хочу предостеречь от поступления в «Технический колледж имени С.И. Мосина»(Тула) если ищите образования программиста. Ситуация 1 в 1, только есть еще 5 курс на котором гоняют по ЧПУ(к слову так себе на тройку).
              Стоит отметить что проф преподаватели из ТулГУ, но пользы от этого никакой.
            • +6
              Спасение утопающих — дело рук самих утопающих.

              Но вообще да, эта «проблема» есть, была и похоже будет. Но это глобальное, касается массового обучения везде.
              • +16
                Тут не только в образовании дело, но и в человеке. У меня 90% одногруппников сидели и весь институт ждали пока их чему-нибудь научат (правда в их ожиданиях это было так: им показывают — они повторяют). Показали им как на Си объявить структуру данных, которая описывает спортсменов, например, и записать спортсменов в массив. Затем их просят сделать то же самое, но с актерами, и тут начинается: «Да как же так?! Нам же только про спортсменов объясняли, а про актеров нет». И вот всё им было сложно по институту, и линуксы, и СУБД, отличные от MS SQL (потому что препод только её показывал). И кстати стоит ли говорить, что в большинстве своем одногруппники мои были дотерами, каэсерами и прочими геймерами.
                Конечно, мне попадались и пятидесятилетние тетки, которые могли только в Word и Excel. Но если тебе действительно интересно, многие преподы готовы уделить тебе время, дать доп.задания и скинуть материал для их выполнения.
                Естественно, я не говорю что в универе вас научат самым модным фишкам в ИТ-индустрии, но основы для самостоятельного изучения дадут, если сами того захотите.
                • +9
                  У меня 90% одногруппников сидели и весь институт ждали пока их чему-нибудь научат (правда в их ожиданиях это было так: им показывают — они повторяют). Показали им как на Си объявить структуру данных, которая описывает спортсменов, например, и записать спортсменов в массив. Затем их просят сделать то же самое, но с актерами, и тут начинается: «Да как же так?! Нам же только про спортсменов объясняли, а про актеров нет».

                  В моём колледже, такие ученики получают оценки отлично. Учитель показывает выполнение задания, они конспектируют в тетрадь, а на практике без своей тетради ничего не могут. Мы, с моим другом, поступаем противоположно. Мы не записываем «Как объявить переменные в Visual Basic» в тетрадь. А сразу переходим к практике и выполняем ее, но из-за того что у нас нет конспектов, нам ставят оценку 2. Справедливо?

                  И кстати стоит ли говорить, что в большинстве своем одногруппники мои были дотерами, каэсерами и прочими геймерами.

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

                  Естественно, я не говорю что в универе вас научат самым модным фишкам в ИТ-индустрии, но основы для самостоятельного изучения дадут, если сами того захотите.

                  Согласен, возможно в университете будут дополнительные факультативы и прочее, у меня совсем другая ситуация, если преподаватель видит, что студент способный, он максимум пригласит его поучаствовать в конкурсе.
                  • 0
                    В моём колледже, такие ученики получают оценки отлично. Учитель показывает выполнение задания, они конспектируют в тетрадь, а на практике без своей тетради ничего не могут. Мы, с моим другом, поступаем противоположно. Мы не записываем «Как объявить переменные в Visual Basic» в тетрадь. А сразу переходим к практике и выполняем ее, но из-за того что у нас нет конспектов, нам ставят оценку 2. Справедливо?

                    Меня примерно по тому же отчисляли :). Но институт я в итоге закончил.
                    Это тут совсем не причём. Хоть я и не игрок уже давненько, но могу смело сказать, что этот ярлык вешать не стоит. У меня одногруппник переиграл за нас всех, но он лучше всех разбирается в программировании и спокойно может сделать простенькую игру на мобильном приложение.

                    Я не про то, что геймерство — зло. Я про то, что со мной учились люди, которые в свободное время играли, приходили в институт и только и дело что говорили об играх, и ждали когда же кончатся пары, чтобы поиграть. Обычная школота, которая, была бы возможность, пошла бы в 12 и 13 класс…
                    • +2
                      Вам важны оценки или знания?
                      • –1
                        Знания важны для самого себя. Но оценки тоже важны… для хорошего аттестата / диплома. Увы, но многие HR смотрят на «корочки».
                        • +3
                          Если честно, у меня ни разу при устройстве на работу не спросили вкладыш к диплому с оценками. Только сам диплом и факт того, что он есть.
                          • +2
                            У меня диплом с вкладышем много раз спрашивали. Но всегда уже после того, как со мной был подписан трудовой договор…
                            • +3
                              Спрашивали кадровики, чтобы отсканировать и похоронить в папке личного дела?
                              • 0
                                В компаниях, где я работал, при подаче заявок на участие в тендере часто прикрепляли сертификаты компании, сертификаты и дипломы сотрудников. Большей частью это делается, чтобы напустить пыли в глаза, но тем не менее, какая-то польза от дипломов есть.
                                • 0
                                  Я обычно сразу копию приносил (потому что оригинал лежит где-то далеко и искать его лень).
                                • 0
                                  Ни разу в жизни не помню, чтобы у меня или у кого-илбо из знакомых на какой-либо работе спрашивали именно вкладыш с оценками.

                                  Школьный аттестат могли спросить при поступлении в институт, но вкладыш самого института? Разве что цвет самого диплома, и все.
                                  • 0
                                    В основном IT-работодателей интересует опыт и практические навыки, знание определенных платформ, паттернов и пр.
                                    У меня 2 красных диплома)) даже не смотрят :)
                                    (кроме кадровиков гос.учреждений)
                                • 0
                                  Вкладыш-то ладно, а вот диплом, бывает, пригождается. Например, для получения рабочей визы во многие страны.
                            • 0
                              Валите уже оттуда. Сколько лет своей жизни вы потратили на то, чтобы выяснить, что учитесь в, кхм, помойке? А сколько часов на анализ альтернативных вариантов?
                            • +2
                              стоит ли говорить, что в большинстве своем одногруппники мои были дотерами, каэсерами и прочими геймерами

                              Но но!
                              За такое тут могут и по айпи вычислить

                              • 0
                                Уточнил выше, что я имел в виду.
                              • +1
                                Хотя бы MS SQL :)

                                Нам показывали FoxPro ооочень стародревней версии. Мало того, что я его в реальной жизни никогда не встречал (я веб-программист), так и 99% того, что рассказывали — лютый фарш несовместимых слов.
                                • +1
                                  Нам показывали FoxPro ооочень стародревней версии.

                                  Тут все от вас зависит. У меня в универе курс по БД тоже на foxpro был, но мы с товарищем сказали преподу, что foxpro это *вно старого мамонта и мы будем вам по mysql лабы сдавать (теория на экзамене то все равно была по реляционной алгебре). И норм, мы с другом весь семестр пилили движок интернет магазина на php+mysql (год шел 2001 или 2002), и все ок, и преподаватель доволен, что студенты интересуются и мы довольны что изучаем «современные» технологии.
                                  • +1
                                    Вам повезло с преподом.

                                    Препод который вел у нас базы, вела же и C++.

                                    Так вот была лаба типа «ввод нескольких числе через консоль и поиск максимального с какой-то там обработкой». В общем, обычная лаба начального уровня.

                                    Сидим за компами, но сдаем на бумаге А4 (внезапно).
                                    Я сделал «по своему» — работает и ладно, какая разница какая реализация. К тому же моя была явно «круче». Но нет, препод решила, что все неверно, а идти к компу и запускать прогу отказалась. Оценку снизила.

                                    Больше я решил не заморачивать с учебой. Только на степендию оценки выводил и все.
                                    • +2
                                      Я сделал «по своему» — работает и ладно, какая разница какая реализация. К тому же моя была явно «круче». Но нет, препод решила, что все неверно, а идти к компу и запускать прогу отказалась. Оценку снизила.

                                      А что можно сделать «круче» в простом алгоритме? Может всё-таки ваше решение работало неправильно?) Хотя конечно «программирование» на листиках в любом случае показывает уровень учебного заведения.
                                      • –6
                                        Ну скажем так, можно искать максимальное число в цикле, а можно использовать Math.max(); (JavaScript, не работаю сейчас с С++). Я выбрал второе.

                                        Все работало :) Там есть тестовые входные/выходные данные. Кхм. Тоже на листочке.

                                        Понимаете, мы в той аудитории ддосили компы однокурсников с помощью само-размножающегося bat с пингом по IP до состояния полной нерабочести :) Забивался с одно компа почти всегда. А если несколько человек…
                                        В ИТ-колледже, напомню.
                                        • +6
                                          Ну скажем так, можно искать максимальное число в цикле, а можно использовать Math.max();

                                          Да меня бы за такое с позором изгнали))) В этом же и суть обучения, чтобы понимать как этот Math.Max() реализован.
                                          • –6
                                            Я прекрасно понимаю как оно реализовано. И она прекрасно понимала, что я понимаю :)

                                            Просто не по канону лаба и все — гуляй. А мне нет смысла тащиться за планом обучения, у меня свои планы ))
                                            • +1
                                              ИМХО, зависит от того на что лабораторка, условно (потому как получаются какие-то ну очень мелкие куски для лабы) «ввод нескольких числе через консоль и поиск максимального с какой-то там обработкой» может быть и на работу с потоками ввода-вывода, и на реализацию алгоритма поиска наибольшего числа. Если первое — то почему бы не задействовать библиотечную функцию?

                                              А вообще по институтским воспоминаниям чем больше препод жалуется на то какие все студенты бездари, тем хуже он сам как специалист и препод. Попадались индивидуумы которые на рассказы какие мы идиоты тратили больше времени чем собственно на свой предмет, правда, по неправильным предметам типа экономики на инженерной специальности
                                              • +1
                                                Вот такое было описание лабораторной:
                                                Так вот была лаба типа «ввод нескольких числе через консоль и поиск максимального с какой-то там обработкой». В общем, обычная лаба начального уровня.


                                                Из этого описания я сделал вывод, что одним из заданий было как раз поиск максимального значения.

                                                Попадались индивидуумы которые на рассказы какие мы идиоты тратили больше времени чем собственно на свой предмет, правда, по неправильным предметам типа экономики на инженерной специальности

                                                А зачем вы это все слушали? У нас был такой преподаватель по матану, так мы его очень быстро поменяли. Просто всей группой собрались, сходили на кафедру и попросили нового преподавателя (ну конечно это все через всякие комиссии и т.д.)
                                                • 0
                                                  В такой формулировке любые наши предположения это только предположения, может там как раз в дальнейшей обработке суть была
                                                  А зачем вы это все слушали?

                                                  А мы и не слушали, тупо прогуливали эту пару, благо препод настолько был уверен что мы идиоты что на зачете все успевали написать работу и за себя, и за отсутствующего товарища. А по поводу пойти в деканат/на кафедру — был у нас такой случай с параллельной группой, они сходили. По итогам препод остался тем же и сильно обиделся, ребята только проблем от этого огребли
                                                  • 0
                                                    А по поводу пойти в деканат/на кафедру — был у нас такой случай с параллельной группой, они сходили. По итогам препод остался тем же и сильно обиделся, ребята только проблем от этого огребли

                                                    Ну нам тоже пришлось в два раза усерднее учиться чтобы получить нужные оценки. Но разве это проблема? Плюс всегда можно экзамен на комиссии сдать если вы считаете что вас валят, и так некоторые ребята делали.
                                                    Тут все просто, если в универ пришли просто за корочкой, то да, нужно сидеть тихонько, не высовываться и помогать отсутствующим товарищам получать корочки.
                                                    Ну а если за знаниями, то никто ничего вам не сделает.
                                                    • 0
                                                      Я как бы не зря написал что такие индивидуумы были в основном по непрофильным предметам (правда, автокомплит поменял это слово на неправильные), оно того стоит тратить нервы и время речь идет про односеместровый курс какой-нибудь социологии-правоведения, при том что учился я на инженера, а большинство преподов на таких кафедрах все равно так себе ибо ВУЗ-то технический, а часть преподов работали в нем еще со времен кафедры марскизма-ленинизма (не преувеличение, были случаи аппеляции к собранию сочинений Ленина по совершенно сторонним вопросам)?
                                                      По профильным дисциплинам все было гораздо лучше и, как я потом понял увидев билеты к госам, даже лучше чем должно было быть по программе ибо в ней в 2008 году все еще отсутствовала цифровая техника как класс (реально, конечно, про нее рассказывали). Не могу сказать что все было вообще супер, но я это понял только постфактум, а студенту сравнивать особо не с чем было. В любом случае то что тогда давали иногда таки пригождается, а я ведь даже не на программиста учился коим сейчас работаю
                                            • +4
                                              Ну скажем так, можно искать максимальное число в цикле, а можно использовать Math.max(); (JavaScript, не работаю сейчас с С++). Я выбрал второе.

                                              Так если задание было реализовать без использования готовых функций, то вы его не решили)
                                              • 0
                                                Нет. Задание было именно «сделать вот из этого вот это». Про реализацию ни слова.

                                                Я его точно не помню, поэтому такая неразбериха :)
                                            • –5
                                              «На листиках» — это отлично. Чтобы написать на бумаге с первого раза — надо хорошо продумать весь алгоритм в голове. И это умение потом пригодится в жизни. В IDE не так важно, знаешь ли ты язык досконально. Компилятор ошибки подскажет. Чуть больше времени — и все, программа на 60 строк отлажена.

                                              Чтобы отличить на короткой программе 3 от 5 при использовании IDE -надо смотреть время. А большое время бывает не только тогда, когда человек слабо знает язык. А ещё и тогда, когда у него низкий темп нервной деятельности.

                                              При оценке «на листочке» можно напрямую ловить ошибки в синтаксисе и семантике. И оценки ставятся не за скорость, а за качественное знание языка.

                                              P.S. Если хоть раз поработаете с набивкой программы на перфоленте — оцените, почему нужно учить писать на бумаге. Явно удобнее представить весь код в голове, чем переклеивать перфоленту после прогона. Хотя больше 60 строк — приходилось и читать перфоленту и клеить.
                                              • +3
                                                Вот тут я не соглашусь, ИМХО автокомплиты и всякие подсказки в IDE ускоряют набор рабочего с точки зрения компилятора кода, алгоритм, интерфейсы все равно рождаются в голове, проектируются схемы (не важно где), уже не говорю тут об удобочитаемости кода на листике и в компе…
                                                • 0
                                                  При работе с IDE часто пишут нелинейно. Сначала алгоритм — потом описание используемых в нем переменных. Умение представить целиком алгоритм в голове до его написания IDE не порождает.

                                                  P.S. Последняя неудобочитаемая фраза — как раз результат нелинейного написания.
                                                • 0
                                                  Простите, заказчику программу тоже на листиках сдавать нужно?
                                                  Нет конечно знать «на зубок» свой язык, прям до каждой буковки — круто, но зачем?
                                                  • 0
                                                    Военному заказчику — да, распечаткой.Слышал лишь про один случай, когда заказчик услышав, что для перевозки распечатки нужны два грузовика, согласился на CD. Но у CD срок хранения — лет 20, не больше. Многие системы живут дольше.

                                                    Язык нужно знать, и чтобы делать меньше ошибок, и чтобы увидеть уже допущенные ошибки. Известная история, как точка вместо запятой в программе привела к сбою миссии на Марс. Увы, компилятор видит не все ошибки.
                                                    • 0
                                                      А тут идет разговор не о работе, а об учебе.
                                                      И на листке лучше учится, чем на компе.
                                                      Факт!
                                                      Так ты лучше будешь запоминать и знать предмет.
                                                    • 0
                                                      С одной стороны я с вами соглашусь: знать язык без подсказок надо и полезно. Помню, пришлось без интернета и нормальной IDE что-то набирать — это был ад перебора названий функций и методов по буквам :)

                                                      И в то же время, сейчас у меня есть интернет и IDE 99.9% времени. Зачем мне держать в голове весь этот набор информации? Я лучше буду держать в голове структуру проекта, а остальное за меня сделает автоматика.
                                                      • 0
                                                        Помню, пришлось без интернета и нормальной IDE что-то набирать — это был ад перебора названий функций и методов по буквам :)

                                                        Скачай документацию, крайне полезная штука :)
                                                        • 0
                                                          Знал бы где упасть — соломку бы постелил. Знал бы, что придется доделывать на испытаниях — сделал бы на рабочем месте.
                                                        • 0
                                                          Вот ради 0.1% и надо. Потому что этот 0.1% — в чистом поле на испытаниях. Где или система заработала — или нет. Или ты испытания сдал и фирма получила прибыль — или не сдал, а дальше все, что угодно: от отсутствия новых договоров до выплаты неустойки за проваленные сроки.
                                                          • 0

                                                            А что толку в чистом поле на испытаниях с умения писать код на листочке? Или вы сразу в машинных кодах пишите? :-)


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


                                                            Этот 0.1% когда ты работаешь но IDE недоступна — это скорее какие-нибудь совещания-митинги.

                                                            • 0
                                                              Знал бы где упадешь — соломку бы постелил. Бывают вводные прямо на месте, бывают баги.

                                                              Ну давайте на привычном вам примере поясню? Ибо реально специфика. Вы как на андроиде проблемы решать будете? С ноута новую прошивку заливать или XTERM прямо на нем запустите? Какой способ быстрее? gcc на и на самом андроиде есть.

                                                              Полный путь с IDE на windows и кросс-компиляцией на linux — нормален в гостинице. В чистом поле для скорости удобней иначе.

                                                              В чистом поле на испытаниях у тебя либо есть с собой ноутбук — тогда на нем есть и IDE

                                                              Будете удивлены. Наш embedчик — linux old-school. Он вообще IDE не использует. Зачем оно? Компилируется у него и так с первого раза, работает — в 80% тоже с первого раза. Зато модульность и читаемость на высоте.
                                                              • 0
                                                                Ну давайте на привычном вам примере поясню? Ибо реально специфика. Вы как на андроиде проблемы решать будете? С ноута новую прошивку заливать или XTERM прямо на нем запустите? Какой способ быстрее? gcc на и на самом андроиде есть.

                                                                По умолчанию на андроиде никакого XTERM нету, его надо отдельно ставить. То есть это в той же мере подстеленная соломка что и ноут с IDE


                                                                Будете удивлены. Наш embedчик — linux old-school. Он вообще IDE не использует.

                                                                Его право, но зачем отбирать удобные инструменты у других?

                                                                • 0
                                                                  Отбирать — чтобы язык выучили настолько, чтобы компилятор находил только ошибки набивки (опечатки). И только на начальном этапе обучения.

                                                                  Вторая цель — оценка знаний языка. Написать без ошибок с использованием IDE слишком просто. Так что оценку приходится вести по времени. А оценка по времени — это больше оценка по темпу нервной деятельности, чем по знаниям. Написание же на бумажке позволяет оценить знание синтаксиса.

                                                                  Надеюсь вы согласитесь, что автопилот — отличное подспорье на дальней дороге. Но учить летать (или водить) надо без него. Чтобы летчик смог посадить самолет при отказе автопилота. А водитель — припарковаться при сломаннном парктронике.

                                                                  А от 100-200 строк — конечно, удобнее c IDE. Речь-то ша о примерах в 20-50 строк.
                                                                  • +1

                                                                    То есть вы все-таки ищите кодера, а не разработчика? Иначе я не могу объяснить приоритет знаний языка перед всеми остальными качествами.

                                                                    • 0
                                                                      я писал на HTML, JS,PHP. Более того, исправлял чужие баги. В итоге проект — работает. Но на листочке — не напишу, ибо синтаксис — не помню. Нужен ли кому-нибудь такой веб-разработчик? Или такой веб-кодер?

                                                                      Знания языка, как и умение написать корова без буквы а, как и умение считать до 100 — это базовые навыки.

                                                                      Разработчик на С++, не помнящий нужно ли писать точку с запятой перед else, не нужен не только нам — он никому не нужен.

                                                                      P.S. Оценка знаний имелась ввиду во время обучения. Как-то не было у нас кандидатов в сотрудники, которые надо было тестировать на таком детском уровне.

                                                                      А ваши сотрудники не знают синтаксис языка на котором пишут????
                                                                      • +2
                                                                        я писал на HTML, JS,PHP. Более того, исправлял чужие баги. В итоге проект — работает. Но на листочке — не напишу, ибо синтаксис — не помню. Нужен ли кому-нибудь такой веб-разработчик? Или такой веб-кодер?

                                                                        Нужен.


                                                                        А ваши сотрудники не знают синтаксис языка на котором пишут????

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


                                                                        А еще я с универа не держал в руках авторучку, руки от нее отвыкли.

                                                                        • 0
                                                                          Кому?? К себе возьмете? Тут одно чудо работу ищет (и навыки у него в веб на несколько порядков больше моих).

                                                                          Остальное — вещи, которые действительно удобнее делать в IDE. Но писать программы в 20-50 строчек можно и без них.

                                                                          P.S. Письменный почерк тоже атрофировался, обычно соглашаются, что я заполняю печатными буквами.
                                                                        • +3
                                                                          Знания языка, как и умение написать корова без буквы а, как и умение считать до 100 — это базовые навыки. Разработчик на С++, не помнящий нужно ли писать точку с запятой перед else, не нужен не только нам — он никому не нужен. [...] А ваши сотрудники не знают синтаксис языка на котором пишут????

                                                                          Вас же не смущает, что вы не обладаете одним из упомянутых вами же базовых навыков?

                                                                          • 0
                                                                            Так я не явлюсь веб-разработчиком. Просто в некоторый момент было проще исправить самому, чем теребить нанятого фрилансера.

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

                                                                            А вы что, не помните, где ставится точка с запятой?
                                                                            • +3
                                                                              Так я не явлюсь веб-разработчиком

                                                                              Вы даже не поняли, о каком навыке идет речь.


                                                                              А вы что, не помните, где ставится точка с запятой?

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


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

                                                                              • –5
                                                                                Ну плохой вы программист, если даже синтаксис не помните. С семантикой, как я понимаю, совсем швах?

                                                                                Невнимательность — это совсем иное. Сигнатуры лучше смотреть в справочнике, одна ошибка в сигнатуре перевесит все ускорение за счет отказа от контроля по справочнику.
                                                                                • +2

                                                                                  Как легко, оказывается, определить плохого программиста. Даже в код смотреть не надо.

                                                                                  • –2
                                                                                    Плохой программист может быть приличным архитектором систем.

                                                                                    Я даже знаю архитектора, который последние лет 30 пишет алгоритмы на псевдокоде. И ничего, все его идеи — работают.
                                                                      • 0
                                                                        Надеюсь вы согласитесь, что автопилот — отличное подспорье на дальней дороге. Но учить летать (или водить) надо без него.

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

                                                                        • 0
                                                                          Как минимум — нужно учиться парковаться без парктроника. И тем более — без автопарковки.
                                                                          • 0
                                                                            Так я о том и говорю, что ваша аналогия неправильная. Автопарковка выполняет парковку вместо водителя, а IDE не составляет программу вместо программиста. Парктроник оценивает расстояние вместо водителя, а IDE не оценивает производительность или соответствие требованиям.
                                                                            • 0
                                                                              IDE как раз оценивает соответствие кода синтаксису языка программирования. И автоматически делает выравнивание, а иногда — и вообще ведет свое форматирование (функция автоформата). Не говорю уж про автогенерацию кода по шаблона.
                                                                              • 0
                                                                                Все запускающиеся программы соответствуют синтаксису языка, но не все из них соответствуют требованиям. Если программа не соответствует синтаксису, вы в принципе не сможете ее скомпилировать. Так зачем проверять синтаксис, если он у всех программ и так будет правильный?

                                                                                А выравнивать вручную зачем, какой в этом смысл? Может вы и таб запрещаете нажимать? А что, он же 4 пробела сразу вставляет.
                                                                                Я вам больше скажу. Пока я не начал писать в IDE с автоформатированием, меня не напрягало писать вообще без отступов и пробелов. В BorlandC буквы широкие, 80 символов на весь экран, и так все понятно. А после Visual Studio понял, что с ними удобнее.

                                                                                Чтобы выбрать шаблон для автогенерации, надо понимать, что они делают. Это для программиста гораздо важнее. Если у вас там курсы скоростной печати, тогда да, автогенерация ни к чему, только не надо называть это программированием.
                                                                                • 0
                                                                                  if (a <5);
                                                                                     a = 5;
                                                                                  

                                                                                  Скомпилируется? Синтаксис верный?
                                                                                  • +1
                                                                                    Да. Именно про это я и говорил.
                                                                                    но не все из них соответствуют требованиям

                                                                                    Помогло здесь автору кода знание синтаксиса? Нет, это синтаксически правильная программа. Помешала или помогла ему здесь IDE? Ни то ни другое.
                                                                                    • –1
                                                                                      Нет, это как раз незнание синтаксиса. Автор решил, что точка с запятой заканчивает любой оператор ( как в алголе), а не разделяет операторы (как в Си).

                                                                                      Случайно эта ошибка синтаксиса привела к синтаксически правильной программе. Вот только не той, которую задумал автор.
                                                                                      • +1

                                                                                        Нет, он решил что точка с запятой ставится в конце строки :-)


                                                                                        Для справки: if (a <5) a = 5; — это один оператор.

                                                                                        • –1
                                                                                          Это составной оператор. Для чайника — оператор If + любой другой оператор. Вместе — составной. А вот вариант, когда эта точка с запятой нужна.

                                                                                          if [[ -f '/etc/passwd' ]]; then
                                                                                          echo "Файл с определением пользователей существует"
                                                                                          fi
                                                                                          • +1

                                                                                            Нет, составной оператор это {...} в Си-подобных, begin...end в Паскале и т.п.

                                                                                            • 0
                                                                                              Терминология в разных языках разная. Увы, я часто путаю термины из разных языков. Правильнее, конечно, говорить «сложный» или «составленный».

                                                                                              Мне кажется, что смысл и без буквоедства понятен.
                                                                                              • 0
                                                                                                Составным называется именно то, что описал mayorovp выше, сто лет как в самых разных языках.
                                                                                                • 0
                                                                                                  Да не, намного меньше ста. До сих пор встречается "Составной условный оператор". А 35 лет назад был ещё больший разброс в терминах. И то, что вы называете составным оператором, чаще называли блок.
                                                                                                  • 0
                                                                                                    По вашей же ссылке
                                                                                                    Если по условию требуется выполнить несколько операторов, их необходимо заключить в операторные скобки begin...end;, образуя единый составной оператор:

                                                                                                    и
                                                                                                    Иногда блок называют составным оператором.
                                                                                                    • 0
                                                                                                      Именно что «единый», то есть вместе с if.

                                                                                                      Не виду смысла дальше спорить о терминах. Вам привычней новая терминология, мне — весьма древняя.

                                                                                                      По ГОСТ 28397-89 (ИСО 2382-15-85) вообще нету «составных операторов», а есть лишь «составные предложения». Зато «составные предложения» отличаются от «программных блоков».

                                                                                                      Так что самое корректное — ориентироваться на ГОСТ. То есть в паскале — только составное предложение, а в С++ — «составное предложение» и «программный блок».
                                                                                                      • +2
                                                                                                        Именно что «единый», то есть вместе с if.

                                                                                                        Нет. Единый составной — это блок кода от первой скобки до последней. Он трактуется как ОДИН оператор, поэтому и «единый».
                                                                                                        • 0
                                                                                                          Все-таки давайте не спорить о терминах, а использовать ГОСТ.
                                                                                                          • 0
                                                                                                            в ГОСТе нет вашей трактовки о едином составном с if.
                                                                                                            В остальном — согласен, так лучше.
                                                                                                        • –1

                                                                                                          «Cоставные предложения» отличаются от «составных операторов» исключительно переводом, на английском эти термины звучат одинаково :-)

                                                                                                          • 0
                                                                                                            Там должно быть compound statements
                                                                                                            • 0
                                                                                                              statement звучит как operator????? Серьёзно???

                                                                                                              В ГОСТ вообще-то приведены английские аналоги.
                                                                                                              • 0
                                                                                                                Добро пожаловать в чудесный мир русской терминологии, где statement часто переводится как «оператор», а operator — как «операция».
                                                                                                                • 0
                                                                                                                  Почти так. Только оператор — это construct.

                                                                                                                  8. Составное предложение
                                                                                                                  Compound statement

                                                                                                                  51. Условный оператор
                                                                                                                  Conditional construct

                                                                                                                  52. Оператор цикла
                                                                                                                  Loop Construct
                                                                                                                  • 0

                                                                                                                    Там описано очень общее понятие. Вот вам более конкретное:


                                                                                                                    StructStmt -> CompoundStmt
                                                                                                                           -> ConditionalStmt
                                                                                                                           -> LoopStmt
                                                                                                                           -> WithStmt
                                                                                                                           -> TryExceptStmt
                                                                                                                           -> TryFinallyStmt
                                                                                                                           -> RaiseStmt
                                                                                                                           -> AssemblerStmt
                                                                                                                    CompoundStmt -> BEGIN StmtList END
                                                                                                                    ConditionalStmt -> IfStmt
                                                                                                                    -> CaseStmt
                                                                                                                    • +1
                                                                                                                      Давайте закончим спор о терминах, он непродуктивен. Что такое БНФ я уже 35 лет знаю. Но речь шла не о БНФ.
                                                                                                • –1
                                                                                                  А вот вариант, когда эта точка с запятой нужна.

                                                                                                  А вот вариант который не использует точку с запятой, так как в BASh она представляется как конец команды как и EOL.


                                                                                                  if [ -f '/etc/passwd' ]
                                                                                                      then
                                                                                                          echo "Файл с определением пользователей существует"
                                                                                                  fi

                                                                                                  Этот вариант на мой взгляд более читаем чем ваш.
                                                                                                  И нет нужды использовать [[ что-то ]], вместо [ что-то ].

                                                                                                  • +1
                                                                                                    [ — алиас для команды test
                                                                                                    [[ — внутренний синтаксис bash
                                                                                                    • 0

                                                                                                      Для конкретно этого примера, нет нужды использовать внутреннюю команду BASh


                                                                                                      Да и ещё. [ и test не являются алиасами или симлинками друг друга это две разные программы.


                                                                                                      Различия в размерах.
                                                                                                      [anton@ANTONBOCH1244 ~]$ ls -l /usr/bin/\[
                                                                                                      -rwxr-xr-x 1 root root 51280 сен  3 20:21 '/usr/bin/['
                                                                                                      [anton@ANTONBOCH1244 ~]$ ls -l /usr/bin/test
                                                                                                      -rwxr-xr-x 1 root root 47184 сен  3 20:21 /usr/bin/test

                                                                                                      Различия адресов секций.
                                                                                                      [anton@ANTONBOCH1244 ~]$ elfls /usr/bin/\[
                                                                                                      /usr/bin/[& (Intel x86-64)
                                                                                                      Program header table entries: 9 (40 - 238)
                                                                                                       0 P r-x    40   1F8 00000040       5 N "GNU"
                                                                                                       1 I "/lib64/ld-linux-x86-64.so.2"  6 U r--  A12C   2EC 0000A12C
                                                                                                       2 B r-s     0  B334 00000000       7 . rw-     0     0 00000000
                                                                                                       3 B rw-  BBD0   4B0 0020BBD0 +1A0  8 R r--  BBD0   430 0020BBD0
                                                                                                       4 D rw-  BC38   1C0 0020BC38
                                                                                                      Section header table entries: 27 (C190 - C850)
                                                                                                       0 (null)                               14 B r-x  861C     9 .fini
                                                                                                       1 I "/lib64/ld-linux-x86-64.so.2"      15 B r--  8640  1AEC .rodata
                                                                                                       2 N "GNU"                              16 U r--  A12C   2EC .eh_frame_hdr
                                                                                                       3 N "GNU"                              17 U r--  A418   F1C .eh_frame
                                                                                                       4 H r--   298    60 .gnu.hash [5]      18 ? rw-  BBD0     8 .init_array
                                                                                                       5 S r--   2F8   660 .dynsym [6]        19 ? rw-  BBD8     8 .fini_array
                                                                                                       6 $ r--   958   2ED .dynstr            20 B rw-  BBE0    58 .data.rel.ro
                                                                                                       7 V r--   C46    88 .gnu.version [5]   21 D rw-  BC38   1C0 .dynamic [6]
                                                                                                       8 V r--   CD0    60 .gnu.version_r [6] 22 O rw-  BDF8   200 .got
                                                                                                       9 R r--   D30   798 .rela.dyn:0 [5]    23 B rw-  C000    80 .data
                                                                                                      10 B r-x  14C8    17 .init              24 0 rw-  C080   1A0 .bss
                                                                                                      11 P r-x  14E0    10 .plt               25 C "GCC: (GNU) 7.1.1 20170630"
                                                                                                      12 B r-x  14F0     8 .plt.got           26 $ ---  C09A    F6 .shstrtab [S]
                                                                                                      13 B r-x  1500  7119 .text
                                                                                                      [anton@ANTONBOCH1244 ~]$ elfls /usr/bin/test
                                                                                                      /usr/bin/test& (Intel x86-64)
                                                                                                      Program header table entries: 9 (40 - 238)
                                                                                                       0 P r-x    40   1F8 00000040       5 N "GNU"
                                                                                                       1 I "/lib64/ld-linux-x86-64.so.2"  6 U r--  981C   2C4 0000981C
                                                                                                       2 B r-s     0  A854 00000000       7 . rw-     0     0 00000000
                                                                                                       3 B rw-  ABD0   4B0 0020ABD0 +1A0  8 R r--  ABD0   430 0020ABD0
                                                                                                       4 D rw-  AC38   1C0 0020AC38
                                                                                                      Section header table entries: 27 (B190 - B850)
                                                                                                       0 (null)                               14 B r-x  806C     9 .fini
                                                                                                       1 I "/lib64/ld-linux-x86-64.so.2"      15 B r--  8080  179C .rodata
                                                                                                       2 N "GNU"                              16 U r--  981C   2C4 .eh_frame_hdr
                                                                                                       3 N "GNU"                              17 U r--  9AE0   D74 .eh_frame
                                                                                                       4 H r--   298    60 .gnu.hash [5]      18 ? rw-  ABD0     8 .init_array
                                                                                                       5 S r--   2F8   660 .dynsym [6]        19 ? rw-  ABD8     8 .fini_array
                                                                                                       6 $ r--   958   2ED .dynstr            20 B rw-  ABE0    58 .data.rel.ro
                                                                                                       7 V r--   C46    88 .gnu.version [5]   21 D rw-  AC38   1C0 .dynamic [6]
                                                                                                       8 V r--   CD0    60 .gnu.version_r [6] 22 O rw-  ADF8   200 .got
                                                                                                       9 R r--   D30   780 .rela.dyn:0 [5]    23 B rw-  B000    80 .data
                                                                                                      10 B r-x  14B0    17 .init              24 0 rw-  B080   1A0 .bss
                                                                                                      11 P r-x  14D0    10 .plt               25 C "GCC: (GNU) 7.1.1 20170630"
                                                                                                      12 B r-x  14E0     8 .plt.got           26 $ ---  B09A    F6 .shstrtab [S]
                                                                                                      13 B r-x  14F0  6B79 .text

                                                                                                      Вывод diff
                                                                                                      [anton@ANTONBOCH1244 ~]$ diff /usr/bin/\[ /usr/bin/test
                                                                                                      Двоичные файлы /usr/bin/[ и /usr/bin/test различаются
                                                                                                      • 0
                                                                                                        А теперь взглянем на man test. Аналогично в документации разработчика: test has an alternate form that uses opening and closing square brackets instead a leading ‘test’. Если у вас есть время — посмотрите по сорцам. Похоже, что это два исполняемых файла, сделанные из одних сорцов.

                                                                                                        Кстати, сделайте /usr/bin/[ --help. В первой же строчки вам скажут, что это test и запускается как «test ВЫРАЖЕНИЕ».
                                                                                                        • 0
                                                                                                          А теперь взглянем на man test. Аналогично в документации разработчика: test has an alternate form that uses opening and closing square brackets instead a leading ‘test’.

                                                                                                          Не спорю.


                                                                                                          Если у вас есть время — посмотрите по сорцам. Похоже, что это два исполняемых файла, сделанные из одних сорцов.

                                                                                                          Через r2 посмотрел, да, частичное совпадение.
                                                                                                          Есть отсутствие секции обработки help в /usr/bin/test, но как такового заимствования сорсов я не вижу, кроме совпадения основных процедур исполнения.


                                                                                                          Кстати, сделайте /usr/bin/[ --help. В первой же строчки вам скажут, что это test и запускается как «test ВЫРАЖЕНИЕ».

                                                                                                          Это мне ни о чем не говорит.

                                                                                                          • 0
                                                                                                            Ну значит вы правы. Раз сорцы разные — значит программы разные, но аналогичные. Не знал, спасибо.
                                                                                                            • 0

                                                                                                              Если бы не ваш пример, то и я бы не посмотрел различия.
                                                                                                              Так что и вам спасибо.

                                                                                                • 0
                                                                                                  Как же один, когда два — сравнение и присвоение.
                                                                                                • 0
                                                                                                  То есть программа будет работать не так как нужно, и это будет заметно по результатам ее работы. Вы преувеличиваете проблему. Даже если человек вдруг не знал, ему скажут один раз и он будет знать.

                                                                                                  Более того. Я знаю синтаксис для таких конструкций, но все равно иногда ставлю точку с запятой в конце. Почему? Да просто на автомате. Потому что ставится она гораздо чаще чем не ставится. То есть знание синтаксиса ни при чем. В некоторых стилях кода вообще запрещены такие конструкции, как раз из-за того, что ошибиться может любой.
                                                                                                  • 0
                                                                                                    все равно иногда ставлю точку с запятой в конце.

                                                                                                    Точка в конце if??? На Си? O____O
                                                                                                    • 0
                                                                                                      Прочитайте пожалуйста следующие 2 предложения. А лучше весь коммент. Слово «чаще» относится ко всем операторам, а не только к if. И нет, не на Си, но в языке с Си-подобным синтаксисом.

                                                                                                      • 0
                                                                                                        Если вы про точку с запятой после закрывающей фигурной скобки, то я её тоже ставлю — по привычке к паскалю/дельфи. Хотя на Си пишу уже больше 30 лет, а на дельфи — не пишу уже лет 7.

                                                                                                        Почему-то все время кажется, что так читаемей.
                                                                                                        • 0

                                                                                                          Я про точку с запятой после if (...), поставленную по ошибке на автомате.

                                                                                                          • 0
                                                                                                            Ну на Си это очень чревато. Про другие языки — не знаю.
                                                                                                            • 0
                                                                                                              И именно поэтому лучше использовать IDE с автоформатированием по принятому стиля кода, так как меньше вероятность случайной ошибки.
                                                                                                              • –2
                                                                                                                Лучше — автоконтроль форматирования. Человек форматирует немного лучше программы. Зато хуже замечает отличия формата от кода.
                                                                                                                • 0
                                                                                                                  Не стоит забивать гвозди микроскопом возлагать надежды на инструменты, которые служат другой цели. Чтобы отлавливать ошибки есть разнообразные тесты и ститческий анализ.
                                                                                                • +2

                                                                                                  Существенно более смешной пример — это


                                                                                                  if (condition)
                                                                                                    doSomething();
                                                                                                  else
                                                                                                    doSomethingElse();
                                                                                                    doSomethingMore();
                                                                                                  • –1
                                                                                                    Это показывает, что контроль форматирования — лучше автоформатирования.
                                                                                                    • +3

                                                                                                      Автоформатирование такого кода допустить не может, вот в чем смех-то. Так что мне не очень понятно, как "лучше".

                                                                                                      • –1

                                                                                                        Автоформатирование допустить не может?
                                                                                                        У нас на работе как то раз запустили автоформатирование, которое


                                                                                                        select...
                                                                                                        UNION
                                                                                                        select...

                                                                                                        переделало в


                                                                                                        select...
                                                                                                           UNION
                                                                                                              select...
                                                                                                        • +1

                                                                                                          Нормальное — не может.

                                                                                                    • 0

                                                                                                      От этого спасает правило — всегда ставить фигурные скобки в условиях и циклах. Даже если там одна строка.

                                                                                                      • +2

                                                                                                        Это правило приносит слишком много мусора в guard conditions и early returns.

                                                                                                        • 0

                                                                                                          Зато избавляет от глупых ошибок. У нас это зафиксировано в codestyle.

                                                                                                          • +1

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

                                                                            • +2
                                                                              Так мы не во времена перфолент живём. Это всё равно что учить современных инженеров не пользоваться CAD системами, справочниками и другими благами цивилизации. Может оно и полезно знать идеально язык, но в реальном мире нафиг не нужно, а навык написания рабочих программ с первого раза приходит с опытом.
                                                                              • –1
                                                                                Кто как живет. Перфоленты хотя бы можно было клеить. А вот когда на SoC нету даже vi, то программы на bash приходится набирать при помощи команды echo. Причем все это под дождем и в чистом поле. Или на борту погранкатера во время качки.

                                                                                С опытом, к сожалению, знания не приходят. Приходит только навык. Как самый яркий пример — 5-6 человек в режиме разработки на 63К памяти без защиты (M6000). Каждый новый человек приводил к нестабильности системы в течение двух недель. За две недели приходил навык — и опять работаем без перезагрузок. А вот знания, что приводит к сбоям, так и не пришли.

                                                                                Могу и по С++ аналогичный пример привести.

                                                                                И да, я считаю, что инженер должен очень приблизительно, с ошибкой в 2-3 раза понимать результаты расчетов без программ и справочников. То самое, туполевское «сломается здесь» — это идеал.

                                                                                Вы не забывайте, что CAD, IDE и так далее придуманы для ускорения работы на больших проектах. Они не отменяют ручные навыки. Более того, на небольших проектах иногда быстрее вручную.

                                                                                А вам нравится продавщица, которая считая 2 кг по 80 за килограмм на калькуляторе получила 140? Как-то в уме, по таблице умножения, оно у меня вышло и быстрее и правильней.
                                                                                • 0
                                                                                  Кто как живет. Перфоленты хотя бы можно было клеить. А вот когда на SoC нету даже vi, то программы на bash приходится набирать при помощи команды echo. Причем все это под дождем и в чистом поле. Или на борту погранкатера во время качки.

                                                                                  Не надо утрировать)
                                                                                  И да, я считаю, что инженер должен очень приблизительно, с ошибкой в 2-3 раза понимать результаты расчетов без программ и справочников. То самое, туполевское «сломается здесь» — это идеал.

                                                                                  И тем не менее он не должен для этого отказываться от благ цивилизации при обучении.
                                                                                  Я тоже могу оценить, как будет работать тот или иной алгоритм в голове без его запуска, но это пришло с опытом программирования в IDE, а не на бумажке. Бумажку я, кстати, тоже использую, но не для того, чтобы писать код, а чтобы рисовать схемы или писать формулы, когда алгоритм не помещается в рабочую память.
                                                                                  А вам нравится продавщица, которая считая 2 кг по 80 за килограмм на калькуляторе получила 140? Как-то в уме, по таблице умножения, оно у меня вышло и быстрее и правильней.

                                                                                  Вероятно она не умеет пользоваться калькулятором, а может так и было задумано :) Но вот этой претензии вообще не понимаю. Вы против того, чтобы продавцы использовали калькуляторы даже на простых операциях? Почему? Это же наоборот хорошо, что уставшая продавщица не ошибётся в простейшем расчёте, зачем считать вручную с вероятностью ошибки, когда есть возможность доверить машине, которая ошибку не сделает.
                                                                                  • 0
                                                                                    К сожалению, я не утрирую, а просто описываю, что бывает. Апофигеем был ввод начального загрузчика в атмеловский ARM926 прямо на оползнеопасном склоне над жд Туапсе-Сочи. Апофигеем — потому, что вводить пришлось гендиректору, который хоть и отличный математик, но никак не ембедчик. И даже не программист.

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

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

                                                                                    Сделайте эксперимент на себе. Изучите один язык, с самого начала работая с IDE и проверяя синтаксис компилятором. И другой язык — с написанием на бумажке. Когда решите, что изучите — сравните, синтаксис какого языка вы запомнили лучше.

                                                                                    Мой опыт показывает, что в IDE я могу писать даже на тех языках, которых просто не знаю. Более того, у меня даже нету желания их изучить — зачем, если в IDE я на них и так пишу. Более того — и баги других исправляю. Разумеется, это не основные для меня языки. Но начинал бы с изучения на бумажке — выучил бы.

                                                                                    Вы против того, чтобы продавцы использовали калькуляторы даже на простых операциях? Почему?

                                                                                    Помните Настоящие программисты не используют паскаль?

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

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

                                                                                    Это же наоборот хорошо, что уставшая продавщица не ошибётся в простейшем расчёте

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

                                                                                    Тот самый анекдот про женскую логику
                                                                                    Женщина в зоопарке говорит сыну:
                                                                                    — Смотри, вон плывет кит.
                                                                                    — Простите, мадам, это крокодил, — поправляет её служитель.
                                                                                    — Нет, это кит, — упорствует женщина.
                                                                                    В это время животное вышло на берег.
                                                                                    — Ну что скажете? — победоносно воскликнул служитель. — Ведь киты никогда не выходят на берег.
                                                                                    — Чепуха! — вы же сами видите, что иногда выходят!

                                                                                    • 0
                                                                                      Ладно, я не люблю спорить, просто имхо, программирование без IDE, а уж тем более на листике бесполезно, может я не прав конечно, но проверять нет желания :)
                                                                                      У вас женская логика. Вы же видите, что как раз с калькулятором и ошибаются.

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

                                                                                        При подсчетах на калькуляторе мы имеем этапы:

                                                                                        1. Прочесть стоимость товара
                                                                                        2. Услышать количество
                                                                                        3. Ввести стоимость
                                                                                        4. Ввести количество
                                                                                        5. Выполнить умножение
                                                                                        6. Прочесть результат
                                                                                        7. Выдать его покупателю

                                                                                        При расчетах в уме вместо этапов 3-6 будет один этап — «умножить в уме». Отсюда — и меньшее число ошибок.

                                                                                        Более того, ошибки калькулятора могут быть в десятки раз, например — пропущенный ноль при вводе или чтении результата. А вот ошибки умножения в уме, как правило, выдают правдоподобный результат.

                                                                                        Боле того, ошибки калькулятора идут как в пользу продавца, так и покупателя. А вот ошибки подсчета в уме — почему-то все в пользу продавца, что намекает на их искусственность. :=)

                                                                                        Ну а верный вариант — сканер штрихкодов.
                                                                                        • 0
                                                                                          При расчетах в уме вместо этапов 3-6 будет один этап — «умножить в уме».
                                                                                          В большинстве случаев в магазине все же приходится умножать друг на друга двух- и трехзначные числа (ну плюс перенос запятой). И что-то мне подсказывает, что для подавляющего большинства людей «умножить 48 на 54 в уме» — это ну вообще ни разу не один этап.
                                                                                          Более того, ошибки калькулятора могут быть в десятки раз, например — пропущенный ноль при вводе или чтении результата. А вот ошибки умножения в уме, как правило, выдают правдоподобный результат.
                                                                                          И поэтому калькулятор лучше — большинство ошибок будет сразу заметно.
                                                                                          • 0
                                                                                            Откройте большой секрет — что такое вы покупаете по 54 штуки?????

                                                                                            Ириски поштучно?
                                                                                            • 0
                                                                                              Упаковки салфеток по 24 штуки, вычисление цены за единицу в уме (что выгоднее: шоколадки по 48 г или шоколадки по 115 г) и т.д.
                                                                                              • 0
                                                                                                ОК, вот вам более жизненный пример: кусок мяса в 2.3 кг по цене в 445 руб/кг. Вот и считайте в уме в одно действие.
                                                                                                • 0
                                                                                                  А теперь сравним с исходным "2 кг по 80 за килограмм". Видите отличия?

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

                                                                                                  А в уме — видим, что тысяча с хвостиком. И этим проверяем расчет.
                                                                                                  • 0
                                                                                                    Так я о том и говорю, что 2 кг по 80 за кг — это не реальная ситуация. Или, по крайней мере, очень редкая. Разумеется, в предположении, что мы с вами в одном мире живем.
                                                                                                    Потому что в моем мире таких круглых цен очень мало. А вес до целого килограмма не округляет вообще никто — максимум до 50 граммов.

                                                                                                    Весы, разумеется, будут лучше калькулятора.
                                                                                                    • 0
                                                                                                      Да вот, увы, реальная. Два десятка яиц там было. Это при том, что продавщица торговала только яйцами.

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

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

                                                                                                      Увы, не все ошибки в синтаксисе видны IDE.

                                                                                                      Повторюсь, самая известная из них — это DO I = 1.3 вместо DO I = 1,3 в фортране. Стоило потерянного на подлете к Марсу аппарата.

                                                                                                      На Си — ещё веселее.
                                                                                                      if (a >5);
                                                                                                         a=5;
                                                                                                      

                                                                                                      Видите лишнюю точку с запятой? А IDE о ней вам скажет?

                                                                                                      А теперь подумайте, сколько дней уйдет на поиск этого бага?

                                                                                                      Так что калькулятор — хорош для сложных рассчетов. IDE — упрощает написание сложных программ. НО! Таблицу умножения учить надо. И синтаксис языка знать надо. А для этого — начинаем обучение без калькулятора и без IDE.
                                                                                                      • +2
                                                                                                        Мораль-то в том, что человек, решивший, что раз есть калькулятор — можно не учить таблицу умножения — регулярно попадает впросак.

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

                                                                                                        Я не говорил, что не нужно учить синтаксис языка программирования.
                                                                                                        На Си — ещё веселее.
                                                                                                        if (a >5);
                                                                                                        a=5;
                                                                                                        Видите лишнюю точку с запятой? А IDE о ней вам скажет?

                                                                                                        Да, вижу, хоть и не программировал в блокноте и на листике. И да, в моей IDE она будет заметна, т.к. я нажму ctrl + S и код превратится в
                                                                                                        if (a > 5)
                                                                                                            ;
                                                                                                        a = 5;
                                                                                                        

                                                                                                        Даже более того, если я напишу
                                                                                                        if (a > 5);
                                                                                                        

                                                                                                        и нажму enter, IDE не сделает дополнительный отступ и не будет его делать при нажатии TAB, что даст понять, что что-то тут не так.
                                                                                                        А теперь подумайте, сколько дней уйдет на поиск этого бага?

                                                                                                        У меня 0, у того, кто программирует на листике или в блокноте, возможно больше.
                                                                                                        • –1
                                                                                                          Раз мы сошлись, что синтаксис учить надо, то тогда вопрос — как его легче выучить? Когда в любой момент IDE укажет на ошибку и методом тыка легко найти верный вариант? Или когда понимаешь, что любая ошибка снижает оценку?

                                                                                                          Как легче выучить таблицу умножения? Все время проверяя себя по калькулятору или без него?

                                                                                                          P.S. У меня IDE без автоформатирования. Способ обнаружения забавный, но ручное форматирование чуть лучше указывает на семантику.
                                                                                                        • 0
                                                                                                          Видите лишнюю точку с запятой? А IDE о ней вам скажет?

                                                                                                          Да, моя IDE скажет.


                                                                                              • 0
                                                                                                При расчетах в уме вместо этапов 3-6 будет один этап — «умножить в уме».

                                                                                                При умножении на калькуляторе вместо этапов 3-6 будет один этап — «умножить на калькуляторе». Демагогия она такая.


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


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

                                                                                                • 0
                                                                                                  А вы проверьте. Посмотрите, сколько вы получаете ошибок компилятора из-за нетвердого знания синтаксиса. И подсчитайте, сколько времени вы на этом теряете.

                                                                                                  Wat? Вы, вроде, топили за то, что IDE не нужны. IDE они как раз это время и экономят. А так же экономят время набивания рутинного текста.

                                                                                                  • 0
                                                                                                    Время экономит твердые знания языка программирования. Поэтому на начальном этапе, для программ до 100-200 строчек, IDE вредны. Если вы не знаете синтаксис языка, вы с IDE потеряете времени больше, чем если бы сначала выучили язык, а потом сели бы за IDE.

                                                                                                    А что IDE время экономит — это верно. Вопрос в том, экономит ли оно его настолько много, чтобы программист без твердого знания языка сравнялся с тем, кто язык знает?
                                                                                              • –1

                                                                                                Если у вас действительно такие проблемы — значит неправильно поставлены процессы. Начиная от ТЗ и бизнес-требований и до тестирования и ввода в эксплуатацию. В критических местах командой эхо строчки понабивали — а потом удивляемся "а чего это у нас аварии".

                                                                                                • 0
                                                                                                  Налицо ваше полное непонимание, чем экспериментальный прототип отличается от серийного устройства, а так же, чем испытания отличаются от эксплуатации.
                                                                                                  • 0
                                                                                                    Знаете, если вы такой крутой специалист по процессам, то расскажите, как вы решаете две типовых ситуации:

                                                                                                    1. Демонстрация. У нас 3 блока: база, ровер и ноут. Между базой и ровером — радиоканал или GSM-модемы, от ровера к ноуту — провода. В принципе демонстрация — это 2-3 часа. Приехали, развернули оборудование. продемонстрировали, и улетели домой. Но тут приходит вводная: заказчик хочет нестандартно, с использованием его оборудования, например — сети WiFi. Или радиомодемов. Или стационарный комп рядом с базой вместо ноута рядом с ровером. Что надо делать с точки зрения «правильных» бизнес-процессов? Отказываться? Через голову менеджеров заказчика выходить на админов заказчика для уточнения подробностей? Мы делаем просто — затачиваем напильником на месте.
                                                                                                    2. Стыковка. Есть оборудование, которое слишком тяжелое, чтобы его тащит к нам в офис. Ну скажем датчик раскрытия ворот нижнего бьефа шлюза. Стоит оно на шлюзе. не на том шлюзе, что сетевой, а на том шлюзе, что на Волго-Балте. Описание протокола есть, но как всегда — не очень точное. Как дополнительная прелесть — сеть там примерно 100 килобит на 6 шлюзов (двухкратный запас от нужд телематики шлюза). Что там по феншую в такой ситуации надо делать? Как выстроить бизнес-процесс?

                                                                                                    Я без издевок — реально интересно, как там по феншую положено это все решать.
                                                                                                    • 0

                                                                                                      По феншую надо не забывать брать с собой на такие объекты настроенный ноут с нужными идями и периферией.

                                                                                                      • 0
                                                                                                        Это само собой. Но проще и быстрее написать скрипт через консоль прямо на устройстве, чем в поле собирать образ системы и перезаливать его.

                                                                                                        P.S. Претензии товарища были в том, что процессы неверные. :-)
                                                                                                        • 0

                                                                                                          Зависит от сложности задачи, есть некоторый порог после которого надо переставать заниматься патчами наживую и открывать IDE.


                                                                                                          Кроме того, надо не забывать, что любой скрипт, написанный через консоль, в итоге надо будет все равно включить в проект и задокументировать.

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

                                                                                                            Критерий такой — если может ещё потребоваться, то лучше сохранить. Если заведомо не может, то зачем?
                                                                                                            • 0

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

                                                                                                              • 0
                                                                                                                На пусконаладке — само собой. Если оборудование сгорит (физически), нам же потом восстанавливать.

                                                                                                                я про первую ситуацию. И сети и пожелания меняются быстро, через 2 года — будут нужны совсем другие настройки.
                                                                                      • 0
                                                                                        Ха, на первом курсе я вообще лабы от руки писал. Печатать где-то было слишком дорого.
                                                                                        Я сделал «по своему» — работает и ладно, какая разница какая реализация. К тому же моя была явно «круче». Но нет, препод решила, что все неверно, а идти к компу и запускать прогу отказалась.

                                                                                        У нас тоже препод не за компом лабы принимал и нужно было по шагам ему алгоритм объяснить и на листочке все подсчитать. Так и доказывали что работает, иногда спорили и другие студенты подключались.
                                                                                        Т.е. я не понимаю как она могла сказать вам что «все неверно», там же за 2 минуты можно все на листочке расписать?