Ramin Hashimzade

Фильтр по тегу: программист


Афоризмы про программистов

--
Есть два способа разработки проекта приложения: сделать его настолько простым, чтобы 6ыло очевидно, что в нем нет
недостатков, или сделать его таким сложным, чтобы в нем не было очевидных недостатков.
(с) Ч. Э. Р.Хоар (C. A. P. Hoare)

--
Работая над проблемой, я никогда не думаю о красоте. Я думаю только о решение проблемы. но если полученное решение не красиво, я знаю что оно неверно.
(с) Р. Бакминстер Фуллер (R. Buckminster Fuller)

--
Больше беспокоит то, что программист вполне может выполнить ту же задачу двумя или тремя способами: иногда неосознанно, но довольно часто просто ради изменения или же создание элегантной вариации.
(с) А. Р. Браун и У. А. Сэмпсон

--
Есть лишь два вида языков программирования: те, на которые вечно жалуются, и те, которые никогда не используются.
(с) Бьёрн Страуструп

--
Нет, и не будет такого языка программирования, на котором было бы хоть немного труднее написать плохую программу.
(с) Лауренс Флон

--
Программирование — это гонка между компьютерщиками, которые создают программы, все лучше защищенные от дурака, и природой, которая создает все лучших дураков. Пока что природа выигрывает.
(с) Рич Кук


--
Каждый дурак может написать программу, которую может понять компьютер. Хороший программист пишет программу, которую может понять человек.
(с) Мартин Фаулер

--
Если отладка программы — это устранение ошибок, то программирование следует определить как продуцирование ошибок.
(с) Эдсгер Дийкстра

--
Обучение программированию не может научить быть экспертом, также как и изучение кистей и красок не может превратить кого-либо в художника.
(c) Eric S. Raymond


--
Болтовня ничего не стоит. Покажите мне код.
(с) Linus Torvalds

--
«Пользователь» — слово, используемое компьютерщиками-профессионалами вместо слова «идиот».
(с) Дейв Барри

--
Написание первых 90% программы занимает 90% времени. Оставшиеся 10% также требуют 90% времени, а окончательная шлифовка — еще 90% времени.
(c) Нейл Рубенкинг

--
В теории, теория и практика неразделимы. На практике это не так.
(c) Yoggi Berra

--
Отладка кода вдвое сложнее, чем его написание. Так что если вы пишете код настолько умно, насколько можете, то вы по определению недостаточно сообразительны, чтобы его отлаживать.
(c) Brian W. Kernighan.

--
Сначала учите науку программирования и всю теорию. Далее выработаете свой программистский стиль. Затем забудьте все и просто программируйте.
(c) George Carrette

--
Многие из вас знакомы с достоинствами программиста. Их всего три, и разумеется это: лень, нетерпеливость и гордыня.
(c) Larry Wall

--
Трудность работы с программистом заключается в том, что вы не можете понять что он делает до тех пор пока не стало слишком поздно.
(c) Seymour Cray

--
Меня два раза спрашивали [члены Парламента]: "Скажите на милость, мистер Бэббидж, что случится, если вы введете в машину неверные цифры? Cможем ли мы получить правильный ответ?" Я не могу себе даже представить какая путаница в голове может привести к подобному вопросу.
(c) Charles Babbage
Если голова сталкивается с книгой и раздается пустой гулкий звук, - всегда ли он принадлежит книге? Ф. Ницше.


--
Большинство хороших программистов делают свою работу не потому, что ожидают оплаты или признания, а потому что получают удовольствие от программирования.
(c) Linus Torvalds


---
Лучше, чтобы в 100 функциях использовалась одна структура данных, чем в 10 функциях - 10 структур.




To Be Continued...


Работа Программиста

Программирование…, Хочу рассказать вам о своей профессии, она очень интересная, хотя кто-то может считать программирование своим хобби. Именно, потому что человек, который программирует(программист) создает то чего не было, то, что будет полезно всем, кто будут использовать плоды труда программиста. Порой даже не зная, кому они обязаны сэкономленными часами жизни... Цель статьи, помочь определиться, тем кто сомневается стоил ли становиться программистом.

Кто такой программист? Я бы не сказал, что это человек, который закончил университеты "вычислительной математики и кибернетики" научился писать простые скрипты и узнал, что такое if/then/else. По моему скромному мнению, это человек, который может четко мыслить, и может четко расставить шаги для достижения той или иной цели, умеет логически рассуждать и аналитически мыслить. Программист должен уметь читать книги. Обратите внимание в предложении я не сказал "для написание исходного кода" а именно цели. Потому что правильно задавать себе цель, это самый важный элемент достижения успеха. Кстати, созидание проекта тоже очень похоже на цель. Программист знает какие ресурсы у него есть, знает с чего начать, что нужно делать и видит конечный итог, а написание исходного кода - это часть всего этого большого проекта.

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

Короткий шаги для написание приложении, я б составил таким:
1) ЧТО НУЖНО ДЕЛАТЬ? (Техническое Задание)
2) ВЫБОР ПЛАТФОРМЫ (под критериями: быстро, четко, эффективно и ПРАВИЛЬНО)
3) TRY (Начать)
4) CATCH/EXCEPT (Отладка)
5) FINALLY (Сдача)

Техническое Задание. Техническое задача, обычно дается от пользователя, то есть, кто будет в дальнейшем использовать эту систему. В многих случаях оно бывает не полноценным, даже не в многих а в 99%. 1% это наверно люди тоже программисты который точно знают что хотят :-).

Какую платформу выбирать? Очень часто новички задают вопросы, на чем лучше начать изучать программирование. Я всегда говорю что надо начинать с ПАСКАЛЯ. Паскаль это такой язык программирования, в котором есть почти все, что может понадобиться. Даже может быть, что Паскаль сначала так же будет казаться сложным языком, главное поставить себя цель , как уже говорил раньше, и попытаться узнать о нем все в основном вникать в суть и понять как он устроен и почему. Многие говорят: учи “JAVA” или “C# курче”, ни в коем случаи не надо слушать таких. Хороший программист должен понять одно, для написание той или иной приложение нужно выбирать правильную платформу! Понятие о старости или вымирание платформы или это круто давай на нем писать, очень не правильно, так как конечному пользователю совсем не интересно и не нужно знать какая платформа какая СУБД, как там написано синтаксис IF/THEN, FOR/DO и т.д.! Хороший программист должен правильно и четко без лишних действии писать программу и конечный результат тест кейсов должен совпадать с бизнес требованием. Вот что требуется от программиста. А выбирать платформу за программистам, если нету никаких требовании! Понять нужно одно: Где я это буду делать быстро, четко, эффективно и ПРАВИЛЬНО!

Различные языки программирования поддерживают различные стили. Отчасти искусство программирования состоит в том, чтобы выбрать язык программирования, наиболее полно подходящий для решения поставленной задачи. Единственный язык, напрямую выполняемый это машинный язык (также называемый машинным кодом и языком машинных команд). Когда то все писали именно в машинном коде, но сейчас практически уже не делается. Вместо этого программисты пишут исходный код на том или ином языке, затем, используя компилятор, транслируют его в один или несколько этапов в машинный код, готовый к исполнению на целевом процессоре, или в промежуточное представление, которое может быть исполнено специальным интерпретатором.

Самая лучшая теория это практика. Нужно иметь хорошую практику во всех направлениях своей работы что б стать лучшим. Поэтому не ленитесь, из себя придумывать задачи и попытаться самому самостоятельно решить эти задачи, на основе которых будете решать другие задачи. Именно разных набор решенных разных задач и будет являться опытом. Даже иногда вам понадобится буквально несколько минут, что б найти тот исходный код, который вы уже решили одной из уже выполненных задач и простым copy/paste решить его в новой.

TRY(Начать разработку). Скажу что самая развлекательная часть, работы. Когда начинаете новый проект, бывает такое ощущение что вы сейчас станете основателем того чего пока нету. С охотой создаете папку для этого проекта, даете имя проекта, создаете Базу, Таблицы, объекты, формы, и т.д. Но не забывайте, что б ДОМ стоял, нужно иметь хороший фундамент. Именно фундамент, строите тогда когда вы начинаете новый проект. Поверти например давать имена на объекты, формы, таблицы , поля и т.д. может казаться очень простым и не важным, но скажу вам что оно не маловажный фактор. В больших проектах не правильное заданное имя к объекту может привлечь за собой много проблем при отладке проекта. По этому всегда постарайтесь построить сильный фундамент.

Хочу отметить не менее важную проблему в разработке клиент-серверных приложении: очень часто новички допускают ошибки при написании приложение которое используют один из широко масштабных СУБД , например как ORACLE, MSSQL Server, SYBASE… и пишут основную бизнес логику на стороне клиентского языка, когда все это можно делать на языке SQL на стороне сервера. Помните, постарайтесь максимально отказаться от клиентской части кода и многое писать на стороне Сервера. Потому что завтра очень легче будет поддерживать и развивать такие системы. И всегда используйте связываемые переменные (Bind Variables). Как сказал один из гуру ORACLE, TOM КАЙТ:

TOM КАЙТ
Если бы мне пришлось писать книгу о том, как создавать не масштабируемые приложения Oracle, первая и единственная ее глава называлась бы "Не используйте связываемые переменные". Это — основная причина проблем, связанных с производительностью, и основная помеха масштабируемости
.

CATCH/EXCEPT (Тестирование и Отладка). Самая нудная часть работы. Потому что будет выходить ошибки и даже может быть много ошибок, если вы новичок. Но не надо расстраиваться, постарайтесь поискать сперва свои проблемы в Интернете, не нашли задайте вопросы в форумах , не стесняйтесь спрашивать у опытных и добейте проблему, поверьте вы просто будете получать удовольствие после решение каждой проблеме. Еще скажу вам по секрету, что может помочь вам в дальнейшем после сдачи проекта, никогда не берите на себя тесты бизнес логике, пусть это делает тот кто вам техническое задание давал. Потому что завтра когда будут проблемы именно с бизнес логикой, тогда вы сможете спокойно сказать что не правильно тестировали. :-)

FINALLY (Сдача). Сдача проекта всегда радует. Особенно когда будете получать деньги :-)

В конце хотел б отметить слова , нашего покойного великого поэта Низами Ганджави:
"Kamil bir palanci olsada insan, yaxsidir yarimciq papaqciliqdan"
что можно переводить как:
"Лучше быть хорошим сапожником, чем никудышном программистом" :-)

Всем Удачи!

С Уважением, Рамин Гашимзаде!