Знаете, почему Perl называется Перл? Потому что на нем легко писать перлы.
Причин выбора того или иного инструмента или технологии для разработки может быть много.
Лирическое отступление про Excel и Джоуела
Лирическое отступление о лирических отступлениях
Для решения разных задач необходимы различные инструменты. Логично, что телескоп лучше использовать для наблюдения за звездами или соблазнения женщин, чем для забивания гвоздей.
В программирование все так же. Написать лабу проще на Pascalе. Написать 3Д игру на чем-нибудь, что позволяет хорошо писать 3Д игры. Веб сайт html, java, php и прочей мути.
Кто-то считает, что парсеры и анализ текста лучше писать на регулярных выражениях и заявляет, что «основное достоинство RegExp это читаемость». Я всё понимаю, я стараюсь уважать мнение других, ну или мне так кажется. Но если такой код читаем:
Шаблон = "e;.+@.+\..+"e;;
То я дятел.
Читаем – это значит читаем.
Шаблон = "e;Найди мне все строки, содержащие сначала буквы, потом «@», потом буквы, потом «.», потом снова буквы"e;;
Вот это более-менее понятно написано.
К чему все это?
У разных инструментов, языков есть какая-то специализация. Это хорошо. Это даже правильно. Неправильно в большинстве случаев как эти инструменты созданы. Зачем делать сложные синтаксисы, не понятные для непосвященных, сокращения и т.д.
Понятно для чего – что бы поддерживать миф, делать вид, что программирование для избранных. Конечно, если человек не может удержать в памяти все эти сокращения, технологии, иностранные слова – он не сможет программировать, или не сможет программировать эффективно.
Можно разделить все инструменты создания программ на 2 класса:Мусор. Профессиональные инструменты создания приложений.
Про мусор разговаривать смысла не имеет.
Классификация приложений:Пользовательские приложения – предназначенные для людей.Встроенные системы, серверные программы, ядра операционных систем и прочие программы, с которыми человек не общается.
Я и моя компания пока занимаемся только пользовательскими приложениями. Если еще больше сузить область деятельности – разработка софта для автоматизации бизнеса, работы с базами данных.
Какие есть критерии оценки программ?
ФункциональностьЦенаСтоимость владенияДистрибьюция, доступностьБыстродействие, используемые ресурсыКачество, наличие ошибокУдобство для пользователяВозможности кастомизацииПоддержкаСкорость выхода первой версииСкорость выхода новых версийИнтеграция с другими программамиБезопасностьРодственные программы
Кстати логично, что своя рубашка ближе к телу, и каждый будет говорить, что именно тот язык программирования, с которым он работает самый крутой, лучший, быстрый, функциональный и т.д.
Но надо учитывать еще некоторые факторы.
Какое время необходимо для того что бы подготовить нового специалиста, способного использовать тот или иной инструмент.Какой уровень специалиста необходим, что бы он смог эффективно решать задачи, используя этот инструмент.Какими базовыми знаниями он должен обладать. Люди и их способности сильно различаются.
В следующих постах мы попытаемся проанализировать существующие системы разработки прикладных программ их преимущества и недостатки. В разрезе выше перечисленных критериев. Список критериев постараемся развить и дополнить.
Лирическое отступление про критерии выбора инструмента
Вывод.
Всегда ищите лучшее, изучайте новое, не забывайте старое.
Для каждой конкретной задачи есть лучший инструмент или его можно создать и сделать еще одну хорошую программу.
|