Истории с тегом: мысли о вечном

Всего историй: 830

6521

Приятная пятница под капотом

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

6515

Шит с даташитом

Многие люди берут в туалет газету или сборник анекдотов. Я же (интересно, это лечится?) последние полгода беру полумёртвые девайсы, книги по программированию и даташиты.

За эти полгода я отремонтировал несколько сотен полумёртвых девайсов, изучил десятки технологий, тысячи особенностей и трюков нескольких языков. А как, %username%, ты проводишь свободное время?

6506

Morpheus over MMS

Те люди, чьё детство пришлось на век CD-ROM с этикетками «50 лучших игр», возможно, меня поймут.

Я уже давно не покупал игры на твёрдых носителях, ибо пиринговые сети — наше пиратское всё, но мой организм, памятуя о славном прошлом, решил явить мне этот сценарий во сне. Итак, захожу я в лавочку с разнообразной пиратской продукцией, и мой взгляд упирается в коробку со сборником старых добрых ролевых игрушек. Но вот незадача: подсознание тычет в меня мыслью, что игры, приобретённые во сне, на компьютер-то будет не установить. Я пытаюсь вспомнить и осознать протоколы взаимодействия царства снов и нашего бренного мира. Перебрав все варианты, не нахожу ничего лучше, чем сфотографировать обложку на камеру мобильника и отправить снимок себе же по MMS.

Пока сообщение не дошло. Сотовым операторам ещё есть куда развиваться.

6497

Пули нет

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

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

Как стать программистом? Сперва научитесь работать в команде. Программист-одиночка — это утопия.

Учите технической английский. Без него всё равно никуда. Переведите ман, описание пакета, любую другую документацию. Заодно научитесь сперва читать, а потом кодить.

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

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

Сидите на форумах в разделах типа «ищу программу» или «помощь новичкам». Это расширит ваш кругозор и прокачает скилл поиска готовых решений.

Только теперь имеет смысл выучить какой-либо язык программирования. Классическая тройка: С, Perl, Lisp. Впрочем, сейчас можно два последних заменить на Python и Haskell соотвественно. Каждый язык хорош только для своей области, поэтому знать надо всю тройку. Заодно прочувствуете на своей шкуре истину про серебряные пули.

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

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

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

6496

А канал не слипнется?

Теперь у нас есть мощные компьютеры, быстрые и объёмные накопители. Стало ли нам от этого легче? Стали ли современные машины работать быстрее тех, что были несколько лет назад?

Вот захотели вы раньше фильм посмотреть, скачали семисотметровую авишку на скорости полмегабита в секунду, записали на болванку и пошли смотреть на плеере, подключённом к большому телевизору. А что сейчас? Ждёшь, пока фильм в 30 гигов скачается, потом ещё минут 15 на флешку записываешь. Сейчас ведь и телики поинтереснее пошли, и фильм в хорошем качестве посмотреть хочется…

Нет, всё-таки не угонятся современные технологии за нашими хотелками.

6475

Самое время думать

«Не думайте, вам рано»? Чёрта с два. По такому руководству вы можете стать только кодером. Не обязательно с приставкой быдло- — возможно, очень хорошим кодером. Но претендовать на высокое звание программиста вы не сможете никогда.

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

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

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

Говорите, математический аппарат вам не пригодился? Тут два варианта: либо предметная область и впрямь настолько примитивна, что программист тут просто не нужен, либо, нагородив стандартных решений, вы создали очередной шедевр быдлокодинга. Видал я такие программы, тормозящие на простейших операциях на топовом железе.

Создавайте, творите, думайте! Только так вы станете программистом. Бездумно собирать кубики типовых решений — удел кодеров.

6469

Седьмая группа, виндоус-фактор положительный

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

Сегодня один компьютер спасал жизнь другого. Я делал им переливание… файлов. На одной машине слетели boot.ini, ntldr и ntdetect.com. Две одинаковые машины, как два близких родственника, спасали друг другу жизнь.

Компьютеры — они же как люди.

6461

Спаси и забэкапь

Господь — админ

Большого сервака.

Консоль над миром —

Белая строка.

Забытых логов

Истины страшат.

В камней тепло

Закуталась душа.

От гаснущей зари

Людей огни —

В архиве собери

И сохрани.

6444

Не думайте, вам рано

Основа для любого хорошего программиста — знание типовых решений. Если вы новичок — не думайте. Вообще не думайте. У вас ещё не может быть своего мнения и своих мыслей. Просто разбейте задачу на мелкие подзадачи и решайте их типовыми методами, даже если это будет пресловутое «выливаем воду, выключаем газ, и задача сводится к предыдущей». Плевать. Пусть к предыдущей.

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

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

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

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

6411

Не ходите, девки, в программисты

После института не сильно много у меня было знаний: в дипломе две пятёрки всего, и те гуманитарные, а средний балл — 3,5. Но работу я всё-таки стала искать программистом: гордость не позволила в менеджеры податься.

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

Опять долго и мучительно искала работу. Таки взяли меня в какое-то сомнительное учреждение. На собеседовании задали только один вопрос: знаю ли я, что такое рекурсия? Да, знаю. Посадили за Дельфи писать простенький интерфейс для добавления фотографий в базу. Сказали, что нужно дерево. Я же умная после книжек и интернета, и про рекурсию спрашивали… Написала я им рекурсивное дерево. Никто не заметил и не похвалил. Потом посадили программировать железо, зарплату и не подумали прибавить. Написала рекурсивный разбор буфера COM-порта — опять никто не заметил. Уволилась, обиженная.

Взяли на другую работу. Сказали читать документацию к языку проще Бейсика. За две недели, пока читала, вспомнила английский язык. Разродились дать задание: переписать адресную книгу с Бейсика на Бейсик. В ней опять какая-то рекурсия. Сделала я всё — и уехала на такси безвозвратно.

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