Содержание
В программировании одинокое число
Является ли разработка программного обеспечения занятием, которое предпочитают антисоциальные, человеконенавистнические личности, предпочитающие иметь дело с компьютерами, а не с другими людьми? Если да, следует ли из этого, что все программные проекты лучше всего выполняются одним человеком, работающим в одиночку?
Ответ на первый вопрос может быть неохотным «да», но ответ на второй вопрос — решительный и окончательный нет . Меня поразила эта прекрасно написанная статья, объясняющая опасности программирования в одиночку :
Некоторые утверждают, что [работа в одиночку] дает прекрасную возможность установить свой собственный процесс. По моему опыту нет процесса в команде из одного . Нет ничего, что могло бы сдержать потоки работы, которые обрушиваются на вас. Никто не поправит вас, когда возникнет желание позолотить код. Нет никого, кто мог бы проверить ваш код. Никто не позаботится о том, чтобы ваш код был проверен вовремя, правильно помечен и регулярно тестировался. Никто не гарантирует, что вы следуете стандарту кодирования. Некому следить за своевременностью устранения дефектов. Никто не может проверить, что вы не просто помечаете дефекты как «невоспроизводимые», хотя на самом деле они таковыми и являются. Нет никого, кто бы перепроверил ваши оценки и назвал бы их, когда вы просто вытаскиваете что-то из своей задницы.
Когда вы больны или уезжаете в командировку, вам никто не поможет. Нет никого, кто мог бы помочь, когда вы перегружены работой, отвлекаетесь на телефонные звонки, бессмысленные встречи и второстепенные задачи, которые кто-то навязывает вам в последнюю минуту и которые абсолютно необходимо выполнить прямо сейчас. Не от кого отталкиваться от идей, не с кем помочь найти выход из затруднительного положения, не с кем сотрудничать в проектах, архитектурах или технологиях. Вы работаете в вакууме. А в вакууме никто не услышит твой крик.
Если кто-то это читает, пусть это будет для вас уроком. Хорошо подумайте, прежде чем согласиться на работу в качестве единственного разработчика в компании. Это совершенно новый вид ада. Если у вас есть возможность, устройтесь на работу с другими разработчиками, где вы можете по крайней мере работать с другими людьми, которые могут наставлять вас и помогать вам развивать ваш набор навыков, а также держать вас в курсе современных технологий.
Работа в одиночку является искушением для многих отчаянных разработчиков программного обеспечения, которые чувствуют себя в ловушке, окруженные некомпетентностью и бесхозяйственностью в пустыне реального. Работа в одиночку означает полный контроль над программным проектом, обладая полной властью над каждым решением. Но работа над программным проектом в одиночку вместо того, чтобы расширять возможности, парадоксальным образом изнурительный . Это изменчивый мираж, который предлагает соблазнительное обещание облегчения, в то же время оставляя вас еще более жаждущими и более слабыми, чем вы были в начале.
Как и многих программистов, в детстве меня тянуло к компьютерам, потому что я был интровертом. Мир компьютеров — этот спокойный, рациональный оазис единиц и нулей — казался гораздо более привлекательным, чем иррациональный, необъяснимый мир людей и социальных взаимодействий, где нет четкого понимания того, что правильно, а что нет. Компьютеры были не лучше , чем люди, но они были уверены, что их намного легче понять.
Вычисления в раннюю, доинтернетную эру были определением одиночной деятельности. Дэни Берри, автор M.U.L.E., резюмирует это знаменитой цитатой: «Никто никогда не говорил на смертном одре: «Ну и дела, я бы хотел проводить больше времени наедине со своим компьютером». Но мы уже давно расстались. дни одиночного 8-битного программирования позади. Интернет, а также растущий объем и сложность программного обеспечения убедились в этом. Я едва могу программировать в эти дни без активного подключения к Интернету; Я чувствую себя калекой, когда не подключен к огромному улью знаний по программированию в Интернете.
Какой прок в хитроумных кодерских трюках, если вы не можете их никому показать? Как вы можете научиться ремеслу, не знакомясь с другими программистами с другими идеями, подходами и набором навыков? Кто проверит ваш код и скажет вам, есть ли более простой подход, которого вы не видели? Если вы серьезно относитесь к программированию, вам следует потребовать для работы с вашими коллегами .
В этой области вы можете далеко зайти в одиночку. Ищите других умных программистов. Работайте с ними. Стремитесь быть самым тупым парнем в комнате, и вы быстро обнаружите, что разработка программного обеспечения — это гораздо более социальная деятельность, чем думает большинство людей. Вы можете многому научиться у своих собратьев-интровертов.
Далее
Эпидемия безопасности Windows: не запускайте от имени администратора
Предыдущий
Побег с острова Гиллигана
01 – ЯЗЫКИ ПРОГРАММИРОВАНИЯ – Информационные технологии HS
Языки программирования
языки первых двух поколений являются языками низкого уровня или машинно-зависимыми, в то время как
два других являются языками высокого уровня или машинно-независимыми.
Зависимость от машины означает, что программа может работать только на том типе компьютера, для которого она была разработана, а независимость от машины означает, что программа может работать в любой компьютерной системе.
1.
Машинный язык — это язык первого поколения, написанный с использованием 1s.
и 0с. Людям было трудно его использовать, и они легко допускали ошибки.
Это язык низкого уровня, который зависит от машины. Это означает, что это
может работать только на том компьютере, для которого он был разработан. это единственный
язык, понятный компьютеру, поэтому все остальные языки имеют
для преобразования в машинный язык.
Преимущество
- Он работает быстрее всех Трудно написать
- Программист легко может ошибиться
- Только опытные программисты могут использовать его
Пример
- 10010011 10001110
2.
Язык ассемблера (язык второго поколения (2GL), низкий уровень)
язык)
Сборка
язык написан с использованием коротких кодов, которые предполагают их значение и
поэтому их легче запомнить, чем машинный язык. это машина
зависимый. Ассемблер используется для преобразования языка ассемблера в
машинный язык.
Преимущества
- Легче написать, чем машинный язык
- Легче запомнить, чем машинный язык
Недостатки
- 900 78 Пришлось преобразовать в машинный язык
- Может работать только на компьютере, для которого он предназначен
Пример
Ан
пример кода программы для добавления и сохранения двух чисел:
ЛДА
A, 20
LDA B, 30
ADD A, B
STO C
3.
Третье поколение (3GL) – язык высокого уровня.
Это
Генерация языков была разработана таким образом, чтобы она была еще проще для
людям понять. Он использует английские слова и символы и
поэтому даже проще написать. Он независим от машины, что означает
он может работать на любом компьютере. Прежде чем компьютер сможет понять
выполнить его, программа должна быть преобразована в машинный язык.
Advantage
- Простота написания программ
- Использование английских слов и символов, которые легко понять
- Программный код можно использовать повторно преимущество
- Коды программирования легко украсть
- Придется преобразовать в машинный язык
Пример
- Чтение A,B
- Сумма = A + B
- Запись суммы
4.
Четвертое поколение (4GL) – язык высокого уровняЭти
предназначены для разработки коммерческого программного обеспечения для бизнеса.