Не бывает "чистых" программистов

Источник: habrahabr
Deshene

С появлением Ruby on Rails уровень технических знаний необходимых для создания веб-приложений понизился. Становятся ли знания и опыт менее критичными?

Я думаю, Ruby on Rails очень сильно понизил планку в терминах "что нужно для того, чтобы запустить веб-приложение". Некоторые видят в этом только отрицательную сторону. В духе, "Ой, варвары у ворот" или "Ну вот, сейчас все эти немытые дикари хлынут в наши замечательные программистские сообщества". Я уже не раз слышал такое. Многие ругали Visual Basic за что, что он открыл двери для, так называемых, "не чистых" программистов. Я думаю, все это - чушь собачья.

Нет такого понятия, как "чистый" программист, и мне кажется, что магия Ruby on Rails сообщества как раз в том, что оно привлекает людей из самых разных сфер, привлекает людей, которые не являются программистами в первую очередь. Часто замечаю, как самые лучшие идеи исходят от не_программистов, людей, которые приносят с собой абсолютно другой взгляд на вещи.

По сути, быть новичком очень важный этап. Именно будучи новичком, ты спрашиваешь обо всем на свете. Когда я только начал работать с Ruby, я задавался самыми разными вопросами. В моей голове крутилось, "А почему нет такой-то вещи? А почему это так сложно? А это глупо, мы должны поменять это." Новички ко всему подходят с такой простотой, что просто не замечают, что ту или иную вещь, по-хорошему, сделать невозможно. Они просто берут и делают.

Если бы я в самом начале знал, сколько сил нужно будет приложить, чтобы на самом деле создать Rails, я бы наверное так никогда и не начал. А начал я потому, что увидел небольшую проблемку, которую, как мне - новичку - казалось, я смогу достаточно просто решить. Потому, я думаю, что поддерживать приток новых людей, новой крови, свежей крови в наше сообщество - очень важно. Также, я думаю, что это замечательно - давать возможность большему количеству людей создавать свои приложения. Протекционизм вообще не очень хорошая идея. Держать свои ряды "чистыми", состоящими только из тщательно обученных программистов, которые и только которые смогут писать программы… Нет, не так все должно быть. Нам абсолютно точно нужны самые разные программисты. Некоторые из этих программистов будут новыми, и они не будут знать всего на свете, и они будут писать дерьмовые программы. Но знаете что? Чаще всего дерьмовая программа решает проблему. Вам не нужны идеальные программы все время. В мире так много проблем, что небольшая группа безупречных программистов, профессионалов своего дела, просто не сможет решить их все - их (профессионалов) просто недостаточно. Таким образом, нам нужны программисты самого разного уровня, чтобы решать появляющиеся в мире проблемы.

Насколько проще может стать программирование в целом?

Что ж, на этот вопрос можно посмотреть под разными углами. С одной стороны, мы абсолютно точно можем сделать некоторые вещи проще. Мне кажется, что уж я точно сделал веб-разработку гораздо проще с Rails. Но существует естественный физический предел: с некоторого момента, программирование - это просто те или иные решения. Как должна работать программа? Что должно произойти, если нажать ту кнопку? Все эти решения, в конечном счете, и есть основа программирования, и никак этого не изменить. Именно потому я думаю, что это несбыточная мечта - иметь такую новую магическую среду, где кто-нибудь, не знающий ничего о программировании, будет в состоянии создать самую чудесную программу в мире, просто перетащив несколько штуковин в нужное место. Нет. Такого точно не будет, так как для того, чтобы создать самую замечательную программу в мире, нужно позаботиться о тысяче разных мелочей и принять тысячу разных решений. И как раз для записи этой тысячи решений и нужен язык программирования.

Таким образом существует нижний предел того, насколько простым может быть программирование. Все те решения, которые составляют программу, должны быть каким-либо образом закодированы, и я не знаю более эффективного способа сделать это, чем при помощи замечательного языка программирования. Так что, я не очень-то верю в то, что в какой-то момент мы все сможем создавать восхитительные приложения. Конечно будет некий класс приложений, например бухгалтерское ПО, которое можно будет достаточно просто подкрутить при желании. Но если Вам нужна полная свобода самовыражения в создании современных веб-приложений, Вам нужен настолько же выразительный инструмент. И этим инструментом является язык программирования. Проще уже не будет.


Страница сайта http://test.interface.ru
Оригинал находится по адресу http://test.interface.ru/home.asp?artId=33048