Опубликовано: 1038

Я б в программеры пошел…

Я б в программеры пошел…

Многие мои знакомые, более или менее освоившие компьютер, часто задают мне вопросы, относительно того, как стать программистом. Среди них попадаются и выпускники наших университетов, программисты по специальности.

И я решил подготовить этот материал, похожий на как бы развернутый ответ им и многим другим, кто решил связать свое будущее с программированием. Для начала хочется напомнить, что у программистов, как и у врачей, например, существует множество специализаций. И сферы деятельности двух программистов, могут отличаться так же, как специализации кардиохирурга и ортопеда. Поэтому, прежде чем покупать книжки с названием, типа, "С# за 24 часа", нужно определиться с тем, в какие программисты идти. Иначе все последующие усилия будут пустой тратой времени и денег. К сожалению, эту и некоторые другие простые истины, объясняют не все преподаватели ВУЗов и учебных курсов. Как правило, там царит "уравниловка", и всех подряд учат кодировать, например, на устаревшем Pascal. (Отсюда, кстати, растут корни нашей всепрограммерской любви к Delphi, где применяется Object Pascal.) Правда, мне приходилось слышать о новаторах, преподающих Java. Но до сих пор не понимаю, как можно изучать серверную платформу, при отсутствии сервера. Скорее всего, дело сводится опять к изучению базовых конструкций (IF, FOR, WHILE), которые одинаковы практически во всех языках. Эти знания, как "дважды два" необходимы, но абсолютно недостаточны для программиста. В результате программистам приходится учиться уже в ходе работы, каждый раз заново "открывая Америку", и бессистемно постигая частицы громадного мирового опыта. Многие, разочаровавшись, уходят из этого бизнеса, на годы сохранив неправильное представление о нем. Разнообразие направлений и языков Итак, если вы решили стать программистом, прежде всего, определитесь с наиболее подходящим вам направлением, и после занимайтесь изучением языков и технологий. 1. Расчет, учет и бухгалтерия Если вы только недавно освоили Word и Excel, и хотите просто попрактиковаться в составлении программного кода, тогда можете попытаться автоматизировать свою ежедневную работу в этих приложениях, написав программный модуль на встроенном в них языке VBA (Visual Basic for Applications). Порой такие простенькие приложения бывают очень полезны для небольших фирм, у которых нет необходимости в приобретении серьезных программных продуктов, скажем, для учета товаров. VBA - язык, сочетающий в себе простоту и неплохую функциональность. Уметь на нем программировать не так престижно как на С++, но ведь и об охотнике судят не по тому, какое дорогое у него ружье, а по тому, как метко он стреляет. Год назад я сделал программу по сортировке частных объявлений для местной газеты с использованием VBA и MS Access. Программа сейчас успешно работает, не требуя моего вмешательства, как программиста, с задачами ее расширения и дополнения, после краткосрочной подготовки, успешно справляются верстальщики газеты. Простота - великая сила, а приложения Microsoft Office неплохое "поле битвы" для начинающего программиста. Если после прочтения этих строк, вы решили что подсчет и учет - ваша стезя, но Excel вы уже переросли или перепрыгнули, тогда следующий пункт вашего следования - . Ставший почти стандартом для всех бухгалтеров и товароведов СНГ программный комплекс "1С: Предприятие" использует свой встроенный язык, похожий на Pascal, где все ключевые слова пишутся по-русски. Но здесь вас ждут уже первые "подводные камни". Кроме знаний языка программирования и принципов работы с СУБД (то есть, системой управления базами данных, хорошо, если вы изучили их при работе с Excel и Access), вам будет нужно разобраться и в принципах бухгалтерского или складского учета. Программисты для 1С, а также для других бухгалтерских программ сегодня пользуются хорошим спросом, и впереди их ждут солидные перспективы работы с более сложными банковскими или корпоративными системами. Это первое из направлений, о которых я хотел рассказать. Оно не такое простое, как может показаться на первый взгляд. Но я знал людей, который выбились в профессионалы именно этим путем, и не считаю, что он потерял перспективность за прошедшие годы. 2. Приложения для персональных компьютеров Программисты - тоже люди, и не каждый из них может работать долгое время только с нудными бухгалтерскими задачами. И если вы из тех, кто ищет разнообразия в программерском труде, тогда, возможно, вам больше подойдет создание программ для персоналок. Здесь круг ваших задач ограничивается только вашей фантазией и спросом на рынке. Конечно, на все что вы сможете придумать, уже найдется с десяток готовых программ, но, с другой стороны, у нас хватает клиентов, жаждущих получить созданный персонально для них программный продукт, и готовых платить за это немалые деньги. Самым популярным инструментом разработчика, для таких задач, стала Borland Delphi. Это, так называемая, интегрированная среда разработки (ИСР, или IDE, по-английски), включающая язык программирования, средства построения интерфейсов (т.е., экранных форм ввода и меню), средства связи с базами данных и много других полезных компонентов, позволяющих ее использовать для создания разнообразных, в том числе и сетевых программ. Важно и то, что в Интернете есть бесплатные компоненты для нее, позволяющие облегчить труд программиста. В этой сфере, требования к уровню знаний программиста опять возрастают. К необходимости знания языка и принципов работы различных СУБД, может потребоваться умение работать с языком запросов к СУБД (SQL) и знание принципов создания интерфейсов. 3. Программирование графики Если вы поклонник современных фильмов, трехмерных мультфильмов и компьютерных игр то вам приятно будет узнать, что спецэффекты в них не только рисуются, но и программируются. Считаете, что ваше будущее должно быть связано с компьютерной графикой, но рисуете плохо? Начните программировать. Можно начать с создания сценариев для распространенной флешовой анимации. В популярном продукте Macromedia Flash используется свой язык программирования ActionScript, позволяющий автоматизировать процессы движения и изменения персонажей и объектов мультфильма. В современные красивые и динамические Web-сайты вложено немало программерского труда, не говоря о компьютерных играх. При создании трехмерных игр не обойтись без программной платформы, подобной OpenGL. Да и в каждой программе для создания трехмерной графики, включая 3D Max и Maya, есть свой встроенный язык сценариев, играющий немаловажную роль в анимации. Опять же, требования к программисту в этой сфере еще более сложные, кроме знания больших программных платформ (!), нужно понимать принципы дизайна и анимации. К тому же, и к аппаратному обеспечению требования предъявляются солидные, так что в домашних условиях ничего особо интересного создать не получится. Исключение, такие проекты как "Масяня" и "Антимульт", но тут больше играет роль талант дизайнера и сценариста. 4. Web-программирование На сегодняшний день это самая популярная и самая востребованная область. Ни один стоящий сайт не может обойтись без программ. Ведь даже примитивная гостевая книга - это уже программа. Тут правят балом языки написания серверных программных компонентов PHP или ASP, и клиентских компонентов JavaScript и ActionScript (упоминаемый выше язык сценариев для "флешек", практически вытеснивших с Web-страниц некогда популярные Java-апплеты), и немного устаревший Perl. Серверные компоненты, это те, которые должны работать непосредственно на Web-сервере, а клиентские - которые должны работать на компьютерах пользователей Интернет. Кроме указанных языков, необходимо знать SQL, так как сайты часто используют СУБД (обычно MySQL). И, естественно, язык разметки HTML, и иногда и XML. Некоторые современные Web-сайты, особенно сделанные западными разработчиками, порой полностью программируются. Даже изнутри они выглядят не как привычные HTML-структуры, а как некое подобие объектно-ориентированного программирования на жуткой смеси XML, PHP и JavaScript. И это еще средние по сложности сайты, поскольку сложные сайты строятся на основе больших платформ. 5. Java и .NET программирование На сегодняшний день основные из таких платформ, это J2EE фирмы Sun Microsystems и .NET фирмы Microsoft. Основной язык в первой - Java, не путать с JavaScript, во второй C#, читается как Си-шарп. Основной плюс первой в универсальности языка Java. Программы на нем работают в разных системах, в том числе на сотовых телефонах. Плюс второй - в распространенности Microsoft Windows. Эти платформы огромны, и их компоненты можно использовать для создания сложных корпоративных систем с интегрированными сайтами. И если процесс создания обычных сайтов можно сравнить со строительством дома по кирпичикам, то с их использованием - это масштабное блочно-каркасное строительство. Тут важно не столько знание языка программирования, сколько знание компонентов и структур и умение их применять на практике. 6. C, C++ и Assembler Вот, наконец, мы и подобрались к самым известным языкам. Сфера применения их одна из самых сложных. С и С++, изгнанные Delphi из сферы прикладного программирования, нашли применение в создании сложных компонентов операционных систем и драйверов устройств. Там же обрел покой и Assembler. От программиста тут требуется умение разбираться в принципах функционирования операционных систем и аппаратных устройств. И, соответственно, оплачивается их труд в разы выше, чем у других программистов. Правда, есть еще одна сфера применения этих языков - вирусописательство, но, надеюсь, в нее, как и в другие криминальные сферы программирования, вы не попадете. Ведь мир программирования и без них велик и прекрасен :-). Электронный адрес автора: nur_home@host.kz
Загрузка...