Истории с тегом: программизмы

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

4135

Специально отученный

Сегодня в моей аудитории проходила пара информатики у перваков: Паскаль, блок-схемы на доске и тому подобное. Весь ужас заключался в том, что Паскаля не знал препод. Не, какие-то знания были, но их категорически не хватало для того, чтобы писать работающие программы. Всю пару я бегал от преподского компа к студенческим, и преподу, и студентам объясняя, как сделать так, чтобы 2/2 было равно единице, а не «division by zero».

Честно говоря, не помню, какая специальность у этих замечательных ребят, но очень хочется верить, что это не будущие программеры. Если бухгалтеры, тогда всё становится на свои места: их, видать, ещё в универах отучают от компов специально обученные преподы.

4088

Терпи, казак

Почему айтишник опаздывает на работу?

Прямо перед выходом из дома на него нападает жена, зажимает в угол и начинает расчёсывать бороду, приговаривая: «Терпи, программист, тимлидом станешь!»

4085

Из тебя программист, как из кода пуля

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

Дали задание: совместными усилиями написать программу, описывающую поведение пули определённой массы и плотности с определённым ускорением при попадании в мишень из определённого материала. Причём с графикой — хоть и минималистичной, без всяких излишеств. Программа должна была представлять из себя «выполнятор» для трёх формул, две из которых довольно длинные (надо учесть много переменных, например, возможное влияние ветра).

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

Готовая версия № 1: пуля врезается в металлическую мишень, рикошетит на 180 градусов, устремляется в дуло винтовки, которое для простоты сделано цельным, без канала ствола (а зачем, если объект не вылетает из него, а просто возникает из ниоткуда, имея определённые параметры), точно так же отскакивает от дула, врезается в мишень, и так N раз. Интересно, что значения потенциальной и кинетической энергии одновременно равнялись минус одному джоулю.

Готовая версия № 2: пуля врезается в мишень, после чего та, весело вращаясь, вырывается из «земли» и летит куда-то вдаль, толкаемая пулей (которая даже вращалась вокруг своей оси, как и должна в реальности). Все значения, определявшие прочность и твёрдость мишени, были тоже равны минус единицам, а масса самой мишени вообще не прописывалась.

Мне интересно, что бы они написали, если бы работали вдвоём?

4066

Код течёт в наших венах

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

— Я уже сутки не коммитил. Надо уже что-то делать, а не обсуждать.

— Ломка началась!

Суровые программисты не могут без общения с версионным контролем.

4040

Свет в конце строки

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

При первом нажатии кавычки редактор окрашивал весь следующий текст серым как строку, экран становился немного светлее и ярче освещал окрестности. Закрывающая кавычка заканчивала строку, и следующий код опять становился зелёно-синим.

Больше спите, программисты!

4030

Длинный-длинный

Ковыряю проект в Си-Билдере. Понадобилось узнать, какой тип имеют члены TRect. Меня вынесло в windef.h, где тип был заявлен как LONG. А что такое LONG? Правильно, в winnt.h есть замечательные строки:

#define VOID void

typedef char CHAR;

typedef short SHORT;

typedef long LONG;

Обычно typedef используется либо для абстракции от конкретного типа, либо для повышения читаемости. До сих пор сижу в недоумении: неужели Microsoft старался улучшить понимание кода блондинками?

4004

Ни кола, ни бабла

Пропалываю работные сайты родного города. Обнаруживаю достаточно много вакансий с требованием знания языка C. Именно Си, а не «плюсов» и «шарпа». Вокруг требования сплошь и рядом какие-то эникейные задачи стоят, да и цена вопроса копеечная.

Стало мне странно — позвонил в несколько контор. Оказывается, многие считают, что язык C — это тот суржик, на котором пишутся скрипты к 1С.

3958

За версиями — глаз да глаз

Захотелось сделать свою ветку одного популярного фреймворка для разработки мобильных веб-приложений. Но вот ведь незадача: репозиторий весит 41 МБ, а я на даче — подключение не безлимитное. Странно... Так, стоп! Что здесь делает папка /videos? Американские разработчики впихнули в репозиторий несколько «видосов», совершенно не имеющих отношения к делу, для того, чтобы показать работу HTML5 на айфонах. Что же делать?!

VDS спешит на помощь! Подключаюсь по SSH, создаю ключ, скармливаю его Github’у, качаю репозиторий, наслаждаясь скоростью в мегабайт в секунду. Удаляю жирную и ненужную папку, «толкаю» изменения обратно. Ладно, так уже лучше. Выхожу из SSH и ставлю скачиваться к себе.

Так, стоп: уже 5 МБ скачалось. Не дело это. Скачиваю с Github архив — 225 КБ. Захожу на VDS опять. Вспоминаю, что распределённые системы контроля версий — они такие распределённые, что оставляют удалённые файлы. Вообще-то правильно: что-то важное удалил — revert и готово. Не надеясь ни на что, открываю Гугл. Быстро находится решение для удаления файла из всех ревизий. Уже почти получилось...

Смотрю вывод ifconfig — 30 МБ потратил. Мда, лучше бы скачал как есть.

3937

Против мозга

Три дня уже сплю по два часа: горит проект, и после работы я продолжаю трудиться над ним дома. Мозг иногда стал идти на принцип и проверять, сплю я или нет.

Сажусь утром в маршрутку на переднее сиденье. Мимо по улице идёт хорошенькая серьёзная девушка. Никогда в обычном состоянии так не делаю — машу ей рукой и улыбаюсь во все 33 зуба, как будто мы хорошо знакомы и я к ней неравнодушен. Девушка оценила внимание: тоже махнула и лучезарно заулыбалась. Счёт 1:0. Мозг — аутсайдер.

Вечером записал проект на флешку, зачем-то зашёл в Проводник и выбрал пункт «Извлечь» два раза — а вдруг выползет? Всё же пришлось нагибаться и вытаскивать вручную. Счёт 1:1.

Всё, спать, спать, а то понапишу тут ещё сейчас! 2:1.

3931

Пыхнуть со знанием дела

Дело было несколько лет назад, когда я учился в институте. На одной из лекций по ООП преподаватель, прожжённый пользователь С++, по какой-то причине переключился на разговор о вебе. Он очень увлечённо рассказал о том, что после того, как его 12-летний сын за два дня разобрался с PHP и сделал простенькую страничку, он вообще не считает веб-программистов за программистов. Тут поднимает руку мой приятель, который учился плоховато, зато к тому времени уже несколько лет работал программером.

— %professorName%, скажите, пожалуйста, а ваш сын может сделать интернет-магазин?

— Ну, если маленько подучится...

— А онлайн-кинотеатр?

— Нет.

— А систему моделирования «%systemName%» с веб-интерфейсом?

— Нет.

— Тогда, пожалуйста, запомните раз и навсегда: сложность задачи и простота средства реализации — разные вещи.