Разработка проектов на opensource
Поскольку многие программисты достаточно узко специализированы на каком-либо языке, или средствах разработки, то я хотел бы привести примерное сравнение эффективности различных языков программирования и средств разработки, а также востребованности в мире OpenSource программистов, знающих таковые технологии, дабы облегчить процесс поиска вакансий для заинтересованных, а также немного проинформировать тех, кто только собрался направить свои усилия в данном русле.
Языки программирования:
FORTRAN
Фактически первый из языков программирования высокого уровня. Изначально представлял из себя макропроцессор для ассемблера. Прекрасно подходит для высокоточных математических расчётов (для чего собственно и разрабатывался).
К сожалению, я не могу привести примеры сколько-нибудь престижно оплачиваемых вакансий для программистов на этом языке. Насколько мне известно, работу для знающих этот язык можно получить в институтах геофизики, в военной промышленности (крайне маловероятно) и в зарубежных специализированных проектах (тоже маловероятно). Остальные вакансии — небывалая удача, так как массового спроса на программистов на этом языке не существует.
LISP
Язык высокого уровня, развившийся из макропроцессора FORTRAN. Представляет интерес для разработчиков AI, владельцев LISP-машин, извращенцев, строителей и учёных. Наиболее широкое применение нашёл в вычислительных центрах, занимающихся предсказанием погоды, расчётом протекания различных процессов при ядерном взрыве, а также в строительных компаниях. Наиболее полную информацию можно получить на сайте ассоциации пользователей LISP (http://lisp.org/)
Русский http://lisp.ru/ (в России)
Архивы ПО можно найти на CLiki (http://www.cliki.net/)
Для среднестатистического российского программиста возможность оказаться в большом научном центре можно отмести практически сразу. Значит. остаются строительные компании. Но и тут не всё так просто! Фактически, необходимо знание такого грандиозно программного продукта как AutoCAD, и, соответственно, знание диалекта языка LISP именно для AutoCAD. В противном случае устройство
Haskell
В качестве продолжения описаний экзотических (на данный момент) языков программирования нельзя упомянуть язык Haskell. Нас самом деле об этом языке нельзя рассказать очень много. Язык довольно сложен в изучении из-за своих непростых (или скорее необычных) конструкций.
В Интернет есть множество сайтов и статей посвящённых этому языку (http://haskell.org/)
Существуют многочисленные интересные открытые проекты, размещённые на Sourceforge (http://sourceforge.net/)
Если Вы собираетесь зарабатывать программированием на языке Haskell, то это пустая затея. К сожалению, из всех востребованных на рынке программистов Вы будете одним из самых бесполезных.
Smalltalk
Довольно интересный язык, явившийся родоначальником концепции объектно-ориентированного программирования. Лично я никогда не видел практического эффективного использования этого языка в открытых проектах и последующего применения этих проектов в чём-либо стоящем (в российских реалиях). Однако он довольно часто используется при написании программ для внутренних нужд компаний, занимающихся OpenSource и не только.
Больше информации можно найти на сайте http://smalltalk.org/
Русский http://smalltalk.ru/ (в России).
Спрос достаточно узок, но велика вероятность, что вы очень-очень неплохо устроитесь, если всё-таки найдёте работодателя, нуждающегося в Ваших способностях.
Schema
Один из многих диалектов языка LISP. Schema представляется намного более простым диалектом, чем Common LISP (который обычно и подразумевают, говоря о LISP'е). Проектов написанных на языке Schema существует относительно мало.
Ваш практически единственный шанс устроиться — пойти разработчиком плагинов для графического редактора GIMP.
FORTH
Довольно специфичный язык программирования. По скорости исполнения близок к ассемблеру, в связи с простотой реализации. Используется в большинстве случаев при программировании микроконтроллеров. Знание этого языка полезна владельцам компьютеров семейства SPARC, так как BIOS там представлен как раз интерпретатором языка FORTH.
Больше информации на http://forth.org/
О SPARC, FCode и не только на сайте компании Sun Microsystems http://www.sun.com/
C/C++
Язык программирования, являющийся лидером по популярности в мире OpenSource. Оно и понятно: 90% эффективного кода написано именно на нём. Посему искать извращенцев, которые сделают ту же работу, также эффективно, но на других языках в большинстве случаев представляется нецелесообразным. Писать информационные ссылки бесполезно. В Интернет размещено такое множество информационных ресурсов на эту тему, что проще предоставить каждому выбрать самому.
Знание этого языка обеспечит Вам 90%-ю гарантию устройства на хорошо оплачиваемую работу в любой OpenSource конторе/компании.
Pascal
Один из самых невостребованных языков программирования на рынке. Если для Windows есть Delphi, то тут этим пользоваться никого не заставишь. Причина, на мой взгляд проста: язык разрабатывался для учебных целей, посему прост в изучении, но неэффективен. Не предназначен для каких-либо серьёзных проектов, не представляет значимых возможностей по сравнению с другими языками и интерпретаторами.
Знание этого языка даёт примерно 1%-ый шанс устройства на работу.
Brainfuck и подобные
Интересный язык для тех, кому нечем заняться. Большинство проектов в Интернет ограничено примерами простеньких программ на этом языке и многочисленными его интерпретаторами.
Если Вы с гордо поднятой головой можете назвать себя настоящим программистом на языке Brainfuck, то считайте, что получили самую простую работу в мире. Вам будет абсолютно не нужно прикладывать усилий, потому что Вас просто никуда не возьмут работать.
Java
Ещё один язык, знание которого является хорошим гарантом устройства на хорошую должность. Реализация виртуальной машины создаёт благоприятные условия для запуска одной и той же программы на различных как по своей программной, так и по «железной» составляющих. Язык прекрасно документирован, постоянно развивается и поддерживается своим создателем — компанией Sun Microsystems.
Больше узнать об этом языке можно на сайте http://java.sun.com/
Программисты на Java очень востребованы, тем более, что зная этот язык Вы получаете огромнейшее пространство для деятельности.
Python
Относительно молодой язык программирования, который быстро завоевал популярность. Обладая возможностями, аналогичными возможностям языков c/C++/Java код на нём может быть выполнен как в скомпилированном, так и в скриптовом виде. Наибольшей популярностью пользуется среди веб-разработчиков из-за предоставляемого функционала и эффективности. Официальный веб сайт: http://python.org/
Русский http://python.ru/ (в России).
Также, на http://python.ru/ периодически проскальзывает информация о приёме на работу талантливых разработчиков.
Этот язык даст Вам возможность стать хорошо оплачиваемым веб-программистом, что никогда не считалось особо сложной работой.
Ruby
Простой скриптовый язык (код на котором также можно скомпилировать), который иногда применяется для создания сайтов. Очень популярной в связи с этим стала среда RAD под названием «Ruby on rails», которая позволяет просто и быстро генерировать код по шаблонам.
К сожалению, в моей практике никогда не попадалось вакансий программиста на Ruby. Посему могу предположить, что Вы скорее всего останетесь невостребованным.
Tcl
Язык программирования, чем-то похожий на Python. Прост в освоении. Позволяет быстро создавать функциональное ПО. Самым известным примером, пожалуй, является IM-клиент под названием Tkabber.
Популярен среди системных администраторов при написании графических утилит для работы с сетью «для себя».
Технологии:
Библиотека NCurses
Создание программ, которыми хочется пользоваться, после первого взгляда на них всегда было трудной задачей. И даже в консоли должен быть графический интерфейс! Точнее, псевдографический. Для решения этой задачи, была создана библиотека Curses, которая позже превратилась в NCurses, и справляется со своими задачами вот уже много лет, без достойной альтернативы.
Плюсы:
- Есть фактически везде.
- Код программ совместим с разными версиями.
- Стабильна.
- Популярна.
- Функциональна.
- Куда ещё больше?
Библиотека XLib
Универсальная библиотека, для тех кто пишет программы для работы в графической подсистеме X Window. Непопулярна из-за сложности в использовании и наличии более функциональных альтернатив. Единственный плюс — Ваши программы будут работать везде (в пределах графической подсистемы X).
Библиотека Qt
На мой взгляд, лучшее, что можно предложить для использования при проектировании графических интерфейсов. Библиотека создана компанией , постоянно развивается и обновляется, обладает поразительными возможностями и главное — Ваш программный код станет мультиплатформенным!
Библиотека GTK2
Библиотека, аналогичная Qt, но больше популярна среди любителей чистоты лицензионных соглашений. Я считаю, что она обладает большей трудозатратностью, при проектировке графического интерфейса. При использовании Qt то же самое реализуется намного проще.
Не смотря на всё это, с помощью библиотеки GTK2 создано множество популярных графических приложений, она почти так же переносима как Qt, и в отличие от Qt установлена на гораздо большем количестве систем.
Вот и всё. Теперь выбор за Вами!