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

добавлено: 07 июл 12
понравилось:0
просмотров: 3298
комментов: 0

теги:

Автор: Ramin Hashimzade

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

Кто такой программист? Я бы не сказал, что это человек, который закончил университеты "вычислительной математики и кибернетики" научился писать простые скрипты и узнал, что такое 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"
что можно переводить как:
"Лучше быть хорошим сапожником, чем никудышном программистом" :-)

Всем Удачи!

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

Комментарии




Необходимо войти на сайт, чтобы оставлять комментарии