Я б в программеры пошел… - Караван
  • $ 479.05
  • 534.57
+23 °C
Алматы
2024 Год
21 Сентября
  • A
  • A
  • A
  • A
  • A
  • A
Я б в программеры пошел…

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

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

  • 26 Апреля 2006
  • 1209
Фото - Caravan.kz

И я решил подготовить этот материал, похожий на как бы развернутый ответ им и многим другим, кто решил связать свое будущее с программированием.
Для начала хочется напомнить, что у программистов, как и у врачей, например, существует множество специализаций. И сферы деятельности двух программистов, могут отличаться так же, как специализации кардиохирурга и ортопеда. Поэтому, прежде чем покупать книжки с названием, типа, «С# за 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