Помните, мамкины программисты?
Цивилизация 1.
Заставка. Ты случайно находишь, что можно править начальные слова в текстовом файле.
А потом ты меняешь там текст на русский с именами семьи и показываешь родственникам, какой ты программист невероятный. А все действительно охуевают!
Родители ахают! Хацкер.
А ты стоишь скромно и ножкой шаркаешь.
Ну да, а я такой. Умище то куда девать?
В помощь технологу...
Так как я обучаюсь на специальность технолог машиностроения, я решил в помощь себе создать калькулятор. Ранее паскаль я изучал в школе на уроках информатики. В помощь созданию я прибегнул к использованию различных гайдов, благодаря которым получилось создать эту программу. У кода есть недостатки. К примеру, нельзя использовать в некоторых переменных десятичные числа (пишет ошибку). Но данный результат, что программа работает, заставляет меня радоваться, хоть она и примитивна. Код писал в 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.
Программирование из преисподней или как дороже всего продать свою душу
Нет, речь идет не про язык Ада, на котором пишут бортовые системы самолетов и (что иронично) код для спутников. Его назвали в честь Ады Лавлейс, которая первая заценила вычислительную машину Беббиджа и начала писать к ней программы.
Ниже портрет той самой графини Ады Лавлейс. Теоретически, фотоаппараты в ее время уже изобрели, но настоящие аристократы все еще предпочитали картины. В конце-концов, фильтры нельзяграма появились совсем недавно, а у художников уже тогда был самый лучший из фильтров — «я плачу тебе за эту чертову картину».
Язык, о котором пойдет речь, по нынешним меркам кажется древним, но все же не настолько. Он относится к атомной эпохе. В 1954 году была запущена первая атомная станция в мире, Обнинская АЭС. В 1957 году Форд начал пиарить автомобиль с ядерным реактором, Ford Nucleon. В 1958 году запустили первую АЭС в США, Шиппингпорт. Мир приветствует мирный атом, и на той же волне в 1959 году появляется язык COBOL.



Минутка технооптимизма
На самом деле, атомная история тут не при чем. Кобол разрабатывали как удобный язык для обработки данных, и расшифровка его названия «common business-oriented language» (четкий язык для четких бизнес-пацанчиков) тонко намекает на основную сферу его применения. Про атомную эпоху и прочий популюкс я напомнила, чтобы сделать более понятным тот преждевременный оптимизм, который проявляли авторы языка.
В те времена компьютерный мир был сильно меньше и неудобнее. Современные мы привыкли, что компьютеры есть в каждом доме, языков программирования много, а книг и обучающих курсов чуть ли не больше, чем самих программистов. В пятидесятых отдельные детали компьютеров еще снабжались удобными ручками для переноски, а самым хайповым языком на рынке был ассемблер. Но компьютеры уже становились меньше и популярнее, электроэнергии становилось больше, и не за горами было установление и нового поколения языков.
Их появилось сразу много, каждый для своей цели. Фортран предназначался для научных расчетов, Лисп — для искусственного интеллекта, а Кобол — для финансов и финансистов. Как можно догадаться, примерно отсюда берет начало и история с торговлей душами.
Изначально за этот язык топило Минобороны США. Тем более что его писали не с нуля, а на основе языка FLOW-MATIC, который разработала контр-адмирал младшего ранга и любимая бабушка всея флота США Грейс Хоппер.





Первой продающей фишкой языка были расчеты с фиксированной точкой. В конце-концов, только ученым-в-океане-моченым нужно было думать, как приземлить бесконечное количество дробных значений от 0 до 1 на бездушные дискретные регистры центрального процессора. Бухгалтеры резать центы на кусочки желанием не горели.
Второй фишкой, еще более продающей, была читаемость кода. Вот пример на FLOW-MATIC:
Больше похоже на сочинение «как я провел лето и на что тратил карманные деньги», чем на компьютерную программу. Это не случайность, это задумано, и сама Грейс описывала задумку примерно так: «Проблема не в том, что люди не могут научиться математике, проблема в том, что они не хотят. […] Если вы хотите докопаться, что с данными должны работать люди, которые понимают математические символы — флаг вам в руки, попробуйте обучить какого-нибудь вице-президента, полковника или адмирала. Думаете, я не пробовала?» Короче говоря, проще написать язык без арифметики, чем достучаться до тех, кому просто не до того.
Кобол подхватил эту идеологию, что понравилось ребятам из большого бизнеса, и все банки США, а потом и всего мира начали очень оптимистично и повсеместно внедрять именно этот язык во все, вообще все, процессы.



Оп оп и тут код на Коболе, это как раз та эпоха
Казалось бы, что могло пойти не так? Отличный язык, глазами читается, бери и используй. А проблема, как обычно, оказалась в людях, которые брали и использовали средства языка не по назначению. Или не могли уместить в своих коротких извилинах весь объем большого и сложного проекта, из-за чего возникала проблема объяснить что-либо новым работникам.
Вся история развития языков программирования — это история, начатая Грейс Хоппер: проще приспособить компьютер к человеку, чем человека к компьютеру. Разрабатывались новые языки и новые парадигмы типа объектно-ориентированного программирования, программировать становилось все проще, программистов становилось все больше. Старые языки вымирали под давлением конкуренции или сильно менялись, новые языки появлялись, учитывая ошибки прошлого, и тоже вымирали, поколение за поколением.
Кобол — это динозавр атомной эпохи, крокодил от мира компьютеров, который жил своей жизнью без существенных идеологических изменений. Где-то начиная с 70х в среде программистов его стали ругать и ненавидеть. Наиболее известна цитата Эдсгера Дейкстры: "The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offense." («Использование Кобола калечит ум. Его преподавание, следовательно, должно рассматриваться как уголовное преступление.») Да, это тот же Дейкстра, который алгоритм. Он был математиком, а не программистом, но в преподавании шарил, и к нему прислушивались.
Спрашивается, зачем этот мазохизм, и почему просто не взять другой язык. Не нравится, так не пиши. Свой напиши, если чешется.
Ну, в-нулевых, программисты — массово довольно токсичные и придирчивые люди, и поэтому почему бы и не поругаться. Во-первых, язык был достаточно массовым, и его много обсуждали просто по рабочей необходимости. Во-вторых, обсуждение — это непременная часть научного и технического прогресса, начало работы над ошибками.
Но основной причиной держаться за ненавистный язык всеми лапками (и тут мы добрались до торговли душой) было и остается легаси. Огромные объемы уже написанного кода, которые требовали поддержки, переноса на новое железо, дополнения новыми фишками и прочей повседневной рутины. Причем основной объем этого кода сосредоточился именно у тех людей, кто не просто умел считать деньги, а только этим и занимался — в банках и остальной финансовой сфере по всему миру.
Переписывать старый код, да так, чтобы ничего не сломалось, всегда дорого. А тут еще и область очень ответственная, от рядовых банкоматов до мировых финансовых потоков. Финансисты посчитали разные варианты и решили, что проще ставить зарплату для коболоведов повыше, чем подстаиваться под изменчивый и неприхотливый мир новых модных языков-однодневок. Надо сказать, в сравнении с Коболом так выглядит почти любой.
И вот, мы здесь. 2026 год, Европа сворачивает атомную энергетику, а Кобол все еще живее всех живых. Поезд прогресса едет вперед, этому древнему языку уже не учат в университетах, почти любой программист при его упоминании достает чеснок и святую воду, но при этом вся мировая финансовая система держится на Коболе и требует непрерывного человеческого внимания. Программистов на Коболе все меньше, а зарплаты, говорят, все выше. В основном, по слухам — вакансий не так много, и конкретных цифр на сайтах типа хедхантера не пишут. Типа «по результатам собеседования».
Я не знаю, за что именно этот язык так ненавидят. Отдельные куски выглядят непривычно, но не вызывают ужаса. Тот же Лисп с его бесконечными скобками и префиксной нотацией выглядит куда страшнее. Да и современный C++ может любого ежа напугать, честное слово, вот на него бы Дейкстра посмотрел. Скорее всего, чтобы по-настоящему понять всю степень адовости языка, нужно погрузиться внутрь и хотя бы несколько лет поработать с хорошим таким, нажористым легаси. Но страшно, очень страшно.
Говорят, Кобол — самый высокооплачиваемый язык в мире. Готовы ли вы рискнуть душой, чтобы это проверить?..
Автор - Катерина Беклемышева
Подписывайтесь, чтобы не пропустить новые посты!
Перспективы C++ в будущем, стоит ли тратить время на изучение плюсов, или же стоит присмотреться к вариантам типа RUST?
Завел спор с товарищами по поводу плюсов и перспектив их изучения. Моя позиция такова: на плюсах сейчас написано слишком много, что бы в моменте они перестали быть актуальными, поэтому кресты сейчас - достойное решение для вложения сил и времени. Со стороны оппонентов прилетели тейки, что плюсы неоправданно сложные, что сейчас все от них откажутся, особенно на фоне шизо-заявления Галена Ханта об искоренении плюсов с помощью Rust и нейросетей. Для любого здравомыслящего человека это звучит как анекдот.
Соответственно, хотелось бы услышать мнение более сведущих людей: что за плюсы, что за Rust, каковы перспективы и во что вкладывать время.
Медленный текст в Python
Обычный код с надписью "Привет, Мир!" выводится сразу:
print("Привет, Мир!")
Это не так хорошо будет выглядеть в консольной игре.
Так что добавляем функцию print_slow():
import time
def print_slow(text):
for i in range(len(text)):
print(text[i], end="")
time.sleep(0.5)
print_slow(input("Введите текст: ")) # Если пробелы не расставлены, то это вина Пикабу
Теперь, любой введённый нами текст будет выводиться в скорости 1 символ в 0.5 секунд.
Чтобы настроить время, надо изменить 6-ую строку кода:
time.sleep(Введите время в секундах)
Пожалуйста.
UPD: Вот готовый код:
import time
def print_slow(text, speed):
for i in range(len(text)):
print(text[i], end="")
time.sleep(speed)
def main():
while True:
s = input("Введите текст (exit - выход): ")
if s == "exit":
break
else:
speed = float(input("Введите скорость текста в секундах: "))
print_slow(s, speed)
print()
if __name__ == '__main__':
main() # Если пробелы не расставлены, ЭТО НЕ МОЯ ВИНА!!!
Успешный успех развития it отрасли
Всем привет!
Вот потихоньку наша "успешно развивающаяся" в условиях кризиса экономика добралась и до моей работы. Видимо в следующем году придется искать новую работу, т.к. it компания, которая успешно держалась на плаву более 15 лет, потихоньку умирает. Прилетел "подарок" некоторым сотрудникам под новый год. Сокращение штата.
Решил вот пост сюда запилить. Маловероятно конечно, но вдруг прочитает кто-нибудь, кому как раз нужны услуги it компании)
У компании был один большой заказчик в виде регулирующего гос. органа, за счет которого, можно сказать она и существовала. Но, т.к. как сейчас все гос. учреждения централизовано, в порядке импортозамещения, переводят на так называемый гос. тех (ПГС), который находится под Ростелекомом, то от наших услуг постепенно отказываются. Было, кончено, предложение и нам заняться этим переходом, но погрузившись в эту тему и поняв какое это сырое "говно", которое нужно внедрять, но при этом не имея доступа к возможности хоть как-то исправлять и дорабатывать этот так называемый продукт жизнедеятельности, т.к. его авторы никого к нему не допускают, было принято вполне разумное решение за это не браться. Учитывая бюджет, который на это выделяется, нереальные сроки и огромные штрафные санкции, все это в итоге привело бы к печальным последствиям.
Кроме этого гос. органа у компании был ряд крупных других, всем известных гос. заказчиков. Но все они уже находятся на мизерной тех. поддержке и не требуют развития проектов.
Разработчики компании специализируются на java разработке в связке с реляционными БД. Есть свой многопользовательский кросплатформенный программный продукт который содержит в себе полноценный СЭД, но так же может использоваться в довольно многих направлениях. Так же есть свой отдел веб разработки.
Понимаю, что не то это место куда писать нужно, да и не моя эта ответственность заниматься поиском решения финансовых проблем компании, но жалко коллектив. С некоторыми много лет вместе, вырос тут со специалиста тех. поддержки до руководителя отдела разработки. В общем печально за всем этим наблюдать.





