Пожалуйста
Программисты, расскажите свои самые тупые ошибки в коде если не секрет.
Программисты, расскажите свои самые тупые ошибки в коде если не секрет.
В детстве мой старший брат присылал мне не только игры на дискетах, но и письма, написанные на матричном принтере. Со временем бумага желтела, текст обесцвечивался, но это не мешало мне их периодически перечитывать.
Помимо новостей от брата, информации о здоровье родственников и прочих слухах и мифах Древней Греции (всё это больше для родителей), в письме обязательно находились «игровые рубрики». Чаще всего брат или сам описывал игры, или вставлял короткие рецензии из разных игровых журналов. Однажды вместо привычной игровой рубрики в письме была сказка под названием «9600 бод и все-все-все...». Если вкратце, то это пародия одновременно и на советского Винни-Пуха, и на диснеевского (эдакий сплав), в реалиях жизни пк-пользователя начала 90-х годов. Будучи мелким, я совершенно не понимал смысл таких слов, как: «BBS», «модем на 14400 бод», «telix» и многих-многих других, которыми пронизано произведение, хотя что такое Turbo Pascal я уже знал. Однако белые пятна незнания вовсе не мешали мне мгновенно влюбиться в эту сказку, так как она написана очень легко и смешно. Кстати, произведение больше направлено на взрослую аудиторию, ведь там встречаются упоминания алкоголя, сигарет и разных веществ, а животные ведут себя совершенно не по-детски.
Потрясающе, как Андрей Щербаков, автор произведения, смог грамотно совместить повадки и характеры героев из советского мультика, добавив к ним героев из американского мультсериала, который мы смотрели в передачах «Дисней Клуб» на первом канале: Тигру, Кенгу и Ру, а также Кристофера Робина. Характер ослика Иа-Иа был взят из советского произведения – он постоянно испытывал что-то душераздирающее. Да в общем образы Пятачка, Кролика и Совы тоже узнаваемы всем тем, кто смотрел советский мультик. Хотя герои произведения лишены ореола сказочной наивности и более реалистичны, как настоящие люди со своими плюсами и минусами. Пожалуй, самыми ушлыми и ярко негативными вышли характеры Винни-Пуха и Кристофера Робина, потому что один выступает как хитрый и коварный хакер, готовый достичь цели любыми методами, а второй – жадный барыга и мерзкий эксплуататор ослика. Звучит не очень здорово, да, но герои настолько живые, что к ним прикипаешь, особенно к Винни-Пуху, потому что все устали от приторной доброты. Вот где появились настоящие антигерои!
Очень много шуток и забавных ситуаций обыгрывают феномен того времени – Фидонет, она же некоммерческая компьютерная сеть. Я совершенно не мог себе представить этого «зверя», потому что в моих пенатах такой сетки не было. Оно и неудивительно, что у меня такого не было, потому что для начала нужна телефонная линия, подключающаяся к модему. А телефон, как и интернет, представляли собой какую-то непозволительную роскошь. Как я понимаю, сеть позволяла законнектиться на чью-то BBS (bulletin board system, или электронная доска объявлений), для того чтобы пообщаться с адресатом или адресатами, оставить сообщение на местном аналоге форума, скачать хранящиеся файлы и т.д. Ну, соответственно, скорость сильно зависела от мощности модема – вот почему у Винни-Пуха он нагревался так сильно, что на нём даже можно было жарить яичницу.
Однако, хоть Фидо практически исчез, проиграв доступному и высокоскоростному интернету, что-то от Фидо осталось до сих пор (ну или до относительно недавнего времени), а именно – локальные сети, которые были у многих из нас. Я начал зависать в них, как только мне провели дома кабельный интернет. Поскольку скорость была ещё не самой высокой и гигабайты данных приходилось скачивать долго, локальная сеть здорово экономила время. Я пользовался клиентом StrongDC++, прекрасно запомнив его окошко с синим фоном и бегущие строки закачек снизу. Получив доступ практически к «Эльдорадо», я утонул в этом файлообменнике, где скачал кучу игр и фильмов. Многие игры я даже записывал на болванки, чтобы экономить место на жёстком диске. Меня удивляло, как отдельные пользователи раздают просто терабайты данных – это ж надо было заморочиться. Был в StrongDC++ также чат, где люди всем скопом выплёскивали содержание своего внутреннего мира, или собирались для игр по сети, или сходить во двор и попить пива.
Особенно интересно, в качестве момента времени, вспомнить какие игры упоминались в рассказе. Всего я сумел выделить семь штук. Давайте вкратце о них поговорим.
Space Quest VIII (восьмой) кажется наиболее фантастической диковинкой, потому что серия закончилась на шестой части, в 1995 году. Учитывая, что «9600 бод» писалось и издавалось в 1992 году, автор мог знать только о Space Quest IV, а VIII является своего рода шуткой и смелыми мечтами. Хотя в рассказе о нём довольно часто упоминают, а Кристофер Робин сильно желает, чтобы его слили.
Bumpy предлагают Тигре, когда тот спросил о новой игре у Винни-Пуха. Тигре игра не понравилась, так как оказалась сложной, а я о ней вообще ничего не знал. Bumpy – аркада от 1989 года, где в роли колобка нужно было прыгать по платформам. Это всё, что я могу о ней сказать.
Double Tetris. Играл Тигра (причём сам с собой), когда его навестил медвежонок Пух. Ну, эта игрушка была у нас популярной на приставке Денди, где мы с братом иногда в неё рубились вдвоём, на разделённом экране. Но то на Денди, где самому с собой в неё играть проблематично, а вот на компьютере – думаю, запросто, если у вас развита обоерукость (а для этого нужна ловкость минимум 15, как мы знаем из Neverwinter Nights).
Digger. А вот эта игра показалась мне чертовски знакомой после её предварительного изучения. Нет, я в неё ни разу не играл, а Пятачок вообще захныкал от досады, когда Пух предложил её поставить – настолько Digger ему надоел. Однако эта игрушка, где надо рыть землю, собирать алмазы и уворачиваться от падающих камней, безумно напоминает мне Supaplex, о котором я уже писал. Хотя... надо понимать, о каком Диггере речь. Есть версия от 1983 года, которая больше напоминает Lode Runner, а есть версия 1992 года, являющаяся аналогом/клоном Boulder Dash (вот из неё как раз растут корни Supaplex).
Арканоид. Первое, что предложил Пятачок вместо Диггера. Ну, это вечная классика, в аналоги которого многие из нас играли. Я больше гамал в него на Денди, а потом на телефоне.
Prince of Persia. Лучший вариант, который выбрал себе в качестве игры Пятачок. И это тоже суперпопулярный проект, не слышал о котором лишь человек из альтернативной вселенной, где Принца Персии не создали.
Indiana Jones and the Fate of Atlantis. Это Винни-Пух создал себе алиби для пчёл, что якобы пишет документацию по поводу прохождения этой набирающей популярность игрушки. Разумеется, ничего подобного он не делал, однако игра и вправду оказалась очень популярна, возможно даже самы популярный (после недавнего The Great Circle) видеоигровой проект по Индиане Джонсу. Представляла из себя классический квест, приключение, очень похожие на то, что мы видели в Space Quest, Monkey Island и других.
И, отдельно, хочется выделить некоторые смешные моменты из рассказа:
***
"Винни выглянул в окно. Рядом с его шикарным "Мерседесом", обшитым для красоты плюшем снаружи, стоял скромный "Форд" Кристофера Робина, в который был запряжен ослик Иа-иа."
***
- "Рядом с кустом валялся окурок сигареты "Марль-БОР", три обгоревшие спички и журнал "Лесные новости", издаваемые издательством "Пятачковская Правда".
***
- "Пух не стал вылезать из норы Кролика обычным путем - через парадный вход, а вышел, аккуратно, чтобы не поранить лапы, выбив окно. Он помнил, как в прошлый раз сорок минут не мог пошевельнуться из-за съеденного меда."
***
- "-- Когда я вырасту, у меня тоже будут такие! - заявил Ру.
-- Ни за что! - возмутилась Кенга. - А то ты будешь таким же полудурком, как дядя Кролик, а кто тебя за это будет любить?
Крошка Ру вынужден был согласиться, что за это никто любить не будет, и счастливая семья покинула нору Кролика, оставив ее хозяина у развороченного Зухеля, рядом с которым валялось неописуемое количество деталей, в ходе ремонта оказавшихся лишними."
***
- "-- Вирус такой будет противный, - сказал Винни, лениво долбя лапами по клавиатуре. - Отправлю Пчелам - вот смеху-то будет! Ты только не говори никому, а то знаешь как Тигра свиные котлеты любит?
"Надо будет дома копытца спиртом протереть", - подумал Пятачок, страшно боявшийся всякой заразы.
-- Да я что - я ж ничего, - сказал он вслух. От упоминания свиных котлет у него затряслись поджилки и стало холодно где-то в области необъятного желудка."
***
"Винни схватил со стола ключи от "Мерседеса" и бросился на улицу.
Он долго не мог попасть ключом в замочную скважину автомобиля, а потом, перестраиваясь из ряда в ряд, чуть не подвинул самосвал, вывозящий металлический мусор с соседней помойки - водитель самосвала отделался легким инфарктом и намокшими штанами."
***
"При Logoff на экран выползло сообщение, что Кролик открыл новую BBS "Iron Ears". Винни Пух удивился и набрал указанный номер. Тут же произошло соединение.
"Здрасте, все, - гласила надпись на заставке, изображавшей не то бронированные уши, не то вытянутый по вертикали бюстгальтер. - Это новая BBS Кролика, работающая на его же системе Front Morkovka Door V1.0. Версия отладочная, поэтому щас Вы, наверное, повиснете."
***
"-- Привет, Винни! - сказал Кристофер Робин радостно. - Ну как, слил?
-- Слил, - сказал Винни Пух отрешенно. - Щас пойду, еще солью... Ой...
-- Да нет, Винни, я говорю, Space Quest VIII слил?"
***
"-- А не пашет, с*ка, - сказал появившийся в дверях Крошка Ру. - Глухо, как в заднице.
-- Ру, дорогой, - сказала Кенга строго. - Помнишь, что я тебе говорила насчет нехороших слов и гримас? Если ты будешь так ругаться, то когда вырастешь, станешь похожим на Пятачка или на Кролика. Хочешь быть таким дистрофиком? Хочешь, Ру, милый?
-- Да пошла ты, - сказал Ру вполголоса, скрываясь внутри дома.
-- Он у меня такой послушный, - с восхищением сказала Кенга."
***
"-- Какой самый лучший язык на свете? - спросили у него откуда-то сверху жутким громовым басом.
-- НЕ СВИНОЙ! Го-го-го-го-говяжий, - заявил поросенок, от страха у которого намокла вся одежда, особенно пониже пухлого живота.
-- Глупая свинья, - сказали сверху. - Я спрашиваю, какой лучший язык программирования?
-- Ас-ас-ас-ас-ас-ассемблер, - сказал Пятачок, дрожа так, что прогнившие внутренности желудя трепыхались и издавали зловоние."
***
"-- В сетку ловить будете? - поинтересовался Пятачок.
-- Зачем же в сетку... Ракету "Лес-Лес" под хвост - и каюк... Охота, думаешь, нам его в зоопарк обратно переть...
Уезжая, машина подняла кучу пыли и прошлогодних сухих листьев.
Откашлявшись, поросенок посмотрел вслед удаляющейся машине и сказал со слезой в голосе:
-- Какое зверство!"
Так как я обучаюсь на специальность технолог машиностроения, я решил в помощь себе создать калькулятор. Ранее паскаль я изучал в школе на уроках информатики. В помощь созданию я прибегнул к использованию различных гайдов, благодаря которым получилось создать эту программу. У кода есть недостатки. К примеру, нельзя использовать в некоторых переменных десятичные числа (пишет ошибку). Но данный результат, что программа работает, заставляет меня радоваться, хоть она и примитивна. Код писал в PascalABC.net.
Кому интересен код, я прикреплю его ниже.
program КалькуляторДляТехнологаМашиностроения;
uses CRT;
const
pi = 3.1415926535;
var
choice: integer;
procedure CalcSpindle;
var
V, D, n: real;
begin
writeln('РАСЧЕТ ЧАСТОТЫ ВРАЩЕНИЯ ШПИНДЕЛЯ');
write('Введите скорость резания V (м/мин): ');
readln(V);
write('Введите диаметр детали D (мм): ');
readln(D);
n := (1000 * V) / (pi * D);
writeln('Частота вращения шпинделя n = ', n:0:2, ' об/мин');
readln;
end;
procedure CalcFeed;
var
S, n, Sm: real;
begin
writeln('РАСЧЕТ МИНУТНОЙ ПОДАЧИ');
write('Введите подачу на оборот S (мм/об): ');
readln(S);
write('Введите обороты шпинделя n (об/мин): ');
readln(n);
Sm := S * n;
writeln('Минутная подача Sm = ', Sm:0:2, ' мм/мин');
readln;
end;
procedure CalcMachineTime;
var
L, Sm, Tm: real;
begin
writeln('РАСЧЕТ МАШИННОГО ВРЕМЕНИ');
write('Введите длину рабочего хода L (мм): ');
readln(L);
write('Введите минутную подачу Sm (мм/мин): ');
readln(Sm);
Tm := L / Sm;
writeln('Машинное время Tm = ', Tm:0:3, ' мин');
readln;
end;
procedure CalcCuttingMode;
var
D, V, S, L, n, Sm, Tm: real;
begin
writeln('РАСЧЕТ РЕЖИМОВ РЕЗАНИЯ');
write('Введите диаметр детали D (мм): ');
readln(D);
write('Введите скорость резания V (м/мин): ');
readln(V);
write('Введите подачу на оборот S (мм/об): ');
readln(S);
write('Введите длину рабочего хода L (мм): ');
readln(L);
n := (1000 * V) / (pi * D);
Sm := S * n;
Tm := L / Sm;
writeln;
writeln('РЕЗУЛЬТАТЫ:');
writeln('Обороты шпинделя n = ', n:0:2, ' об/мин');
writeln('Минутная подача Sm = ', Sm:0:2, ' мм/мин');
writeln('Машинное время Tm = ', Tm:0:3, ' мин');
readln;
end;
procedure CalcMass;
var
D, L, density, volume, mass: real;
begin
writeln('РАСЧЕТ МАССЫ ЦИЛИНДРИЧЕСКОЙ ДЕТАЛИ');
write('Введите диаметр D (мм): ');
readln(D);
write('Введите длину L (мм): ');
readln(L);
write('Введите плотность материала (кг/м3): ');
readln(density);
D := D / 1000;
L := L / 1000;
volume := pi * sqr(D) / 4 * L;
mass := density * volume;
writeln('Масса детали = ', mass:0:3, ' кг');
readln;
end;
procedure CalcAllowance;
var
D1, D2, allowance: real;
begin
writeln('РАСЧЕТ ПРИПУСКА');
write('Введите диаметр заготовки (мм): ');
readln(D1);
write('Введите диаметр после обработки (мм): ');
readln(D2);
allowance := (D1 - D2) / 2;
writeln('Припуск на сторону = ', allowance:0:3, ' мм');
readln;
end;
begin
repeat
ClrScr;
writeln('=================================');
writeln('ПРОГРАММА ТЕХНОЛОГА МАШИНОСТРОЕНИЯ');
writeln('=================================');
writeln('1 - Режимы резания');
writeln('2 - Частота вращения шпинделя');
writeln('3 - Минутная подача');
writeln('4 - Машинное время');
writeln('5 - Масса детали');
writeln('6 - Припуск на обработку');
writeln('0 - Выход');
writeln;
write('Выберите пункт: ');
readln(choice);
ClrScr;
case choice of
1: CalcCuttingMode;
2: CalcSpindle;
3: CalcFeed;
4: CalcMachineTime;
5: CalcMass;
6: CalcAllowance;
end;
until choice = 0;
end.
Первый пост в продвижении сообщества. Почему скриншот? Потому что тут нет форматирования кода и лучше переписать чем скопировать.
Используя код ниже можно получить все возможные ошибки которые генерирует система:
$ for ErrNum in {1..127}; do ./ЭТА_ПРОГРАММА "$ErrNum"; done
если программа вывела ошибку в одном из трех случаев, то код ошибки можно посмотреть командой
$ echo $?
собственно, использовать программу после компиляции:
$ ./ЭТА_ПРОГРАММА 1
$ ./ЭТА_ПРОГРАММА 2
$ ./ЭТА_ПРОГРАММА 3
$ # и так далее
или вызывать в скрипте и ответ возвращать через переменную окружения.длямимокрокодилов: просто пост просто в сообщество
В этом видео Саша программирует программу, которая рисует Графики функций на PascalABC.net.
Ссылка на телеграмм канал: https://t.me/BratyaPridumkiny
Ссылка Boosty: https://boosty.to/bratya_pridumkeny
Ссылка на GitHub с исходником: https://github.com/BratyaPridumkiny/Ghaph
Ссылка на рутуб: https://rutube.ru/video/376050d260f0fd26d2d205b9af0435d1/
Вышло новое видео, по программированию, в нём Саша пишет Пин-понг в PascalABC.net
Ссылка на рутуб: https://rutube.ru/video/b58af6ab51a99e0b858d379e1927833e/
Ссылка на исходник: https://github.com/BratyaPridumkiny/Pin-Pong
В этом видео Саша программирует игру "Кошки мышки" на PascalABC.net.
Ссылка на телеграмм канал: https://t.me/BratyaPridumkiny
Ссылка Boosty: https://boosty.to/bratya_pridumkeny
Ссылка на GitHub с исходником: https://github.com/BratyaPridumkiny/Cats-Rats
Ссылка на плейлист: https://www.youtube.com/playlist?list=PLfeMWQFb8_7pxuGnZWsh-...
Ссылка на Rutube: https://rutube.ru/video/9fe1b5e11f833f22ae5184f7561f7ff9/
Через пару лет я закончил первую ступень колледжа и поступил в универ. НЕ на программиста - родственники меня отговорили, мотивируя тем, что программирование может быть только хобби - а денег на этом не заработаешь! Я их не виню. Это сейчас звучит очень смешно, а в 95-м ваще было непонятно, чо дальше будет.
В универе нам начали читать Паскаль. Паскаль был охуенен! Никаких тебе дурацких номеров строк. Выглядит почти как текст на инглише. Строгая типизация. Фигурными скобками хоть обставься. Хочешь тебе процедуры, а хочешь функции. Пушка просто! Я был в полном восторге.
При этом нам давали много задач писАть проги на других предметах - план обучения был "синхронизирован" и другие преподы знали, ЧТО мы ужЕ изучили, а что ещё нет. Поэтому отмазки типа "это мы не проходили" не прокатывали). По физике считали чо-то с полураспадом, экспоненты там все дела. По химии считали чо-то с растворами и скоростью реакций. По вышке анализ функций с графиками. Ну и всякое разное ещё по-мелочи. Очень интересно было короче - реальное применение к разным задачам.
Были и забавные моменты. Однажды чувак, у которого дома был ч/б моник, принёс свои настройки ТурбоПаскаля и открыл прогу на цветном. На эту вырвиглазную гамму цветов смотреть без слёз было просто невозможно - ржали всей группой. А другой типус всегда приносил проги, написанные в одну строку - проверять их было невозможно, преподы выли. Но ставили ему пятёрки, потому что всё работало - чувак был талантливый.
Через пару лет, получая повышенную степуху и регулярно разгружая фуры с болгарскими кетчупом, шампунями и зубными пастами я почти насобирал денях на свой первый IBM-совместимый комп. Друг мой, када узнал что мне не хватает всего поллямя, сказал: "Тю, да я те займу!" и в 1997 году я его купил.
AMD K5-133Мгц, 8Mb Ram, 640Mb HDD, S3 Trio-32. Без CD-ROMа. Без звуковой карты. Ебать, как же я был счастлив!!!
Ещё через год, батя одного моего друга "поскрёб по сусекам" и насобирал 10+ компов на игровой клуб. И помещение у него нашлось, да не абы где, а на Большой Садовой, рядом с универмагом "Солнышко"! Охуеть, какие у людей бывают "сусеки"))) Там я познакомился с сетями на коаксиале и встретил человека легенду, по прозвищу Hitover.
Он на моих глазах сломал старкрафт! Причём минут 15 у него ушло чтобы понять, где и что надо сделать. А потом он полдня обзванивал по городскому телефону своих сазанОв (одногруппников) с вопросом "Как будет короткий джамп в шестнадцатеричном коде?" Нужный сазан спал и не брал трубку, а остальные тоже не помнили. Когда он проснулся Хитовер выдал нам файл starcraft.exe, при запуске которого игра работала без ключа. Ваще восторг!
Тут наверное пора заканчивать. Потом я писАл (ну... вернее попИсывал))) на Object Pascal, Delphi, С, С++, Objective C (кайфовая штука!). Сейчас я девятый год ужЕ делаю электронные книги. В основном для издательства МИФ. Форматы ePub и FB2. Тоже можно сказать пишу. На хатээтмэл с цээсэсом, ага))) Хотелось бы конечно ебашить физические, химические и космологические симуляции с забубённой математикой, познавая "глубину наших глубин" и "суть сущего". Но шо есть - то есть...
Так что, если вас вдруг угораздило купить электронную книгу МИФа - знайте, что это скорее всего моя работа!