|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Denis Smirnov 2:5020/400 13 Feb 2002 06:45:09 To : Sergey_Afonin Subject : Re: Языковые оболочки... -------------------------------------------------------------------------------- Sergey Y. Afonin <Sergey_Afonin@p13.f29.n5057.z2.fidonet.org> wrote: >> Еще раз повторю неоднократно высказанный здесь и в других эхах тезис: >> Человек который знает менее 10 разных языков программирования, >> программистом не является. SYA> Понятия не путаешь ? Программистом, или кодером ? Кодер может знать только один язык, и быть отличным кодером на этом самом языке. SYA> Можно язык конкретный и вовсе не знать, а алгоритмы придумывать достойные. SYA> Как такого человека назвать ? Я посмотрю как ты придумаешь эффективный алгоритм использующий regexp'ы не зная перла. Я уже на себе понимаю, что человек знающий только C++ не имеет права говорить, что он умеет писать на C++, и уж тем более говорить, что он в состоянии быть системным архитектором. Я когда-то прошёл по этим граблям. Помню свой первый шок от изучения рекса, когда я понял, что потратил впустую много времени на программки для себя, которые занимали сотни строк кода на сях, но писались меньше минуты на бобике. Потом такой же шок от перехода на рекс. Потом долгий ступор когда я впервые увидел тикль, который заставляет вообще мыслить сильно по-другому, нежели привычные мне языки. Однако я практически сразу же увидел примеры задач, которые на тикле бы решались куда быстрее и изящнее, чем любая попытка реализовать аналог что на перле, что на бобике, что на сях. Также вспоминаются мои первые дни за линуксом, когда я первый раз увидел конфиг lynx'а, и подумал -- ну вот, я его сейчас под себя настрою, всё хорошо, но ведь хранить текстовый конфиг, да ещё и в таком простом формате как-то некузяво, а что, если я просто напишу маленькую программку, которая выполнит всю настройку под себя? Hа чём? Сначала решил делать на перле, но потом вспомнил что есть такой хороший язык awk, и что он предназначен как раз для обработки текстовых данных. Сделал man awk. Через час программа уже была готова. Да, на перле я написал бы её быстрее. Зато теперь я знаю ещё одно средство, которое позволит мне писать аналогичные программы _ещё_ быстрее, ибо программа на awk получилась гораздо изящнее и читабельнее соответствующей программы на перловке. Примерно похожая история была с sed'ом. Спрашивается -- я должен был использовать для всего этого счастья C++? Каждое изучение нового языка требовало научиться смотреть на мир по-другому. Иногда чуть-чуть по-другому, а иногда совсем по-другому. Каждый язык оставлял свой след в мышлении, позволяя смотреть на каждую задачу с позиции и в терминах разных языков, что даёт возможность увидеть более изящные решения многих проблем сходу. Вот тебе простейший пример: if( a() || b() ) { ... } Как это будет выполняться? Многие ведь этого не знают. А перловщики знают поголовно, ибо это принятый в перловом мире приём программирования. А, как оказалось, в сишном мире про него попросту многие не знают _вообще_. А означает он следующее: if( a() ) { ... } else if( b() ) { ... } Что красивее и читабельнее? Это так, первое что в голову пришло. Остальное очень сложно сходу формализовать. Просто мыслить начинаешь по-другому. И при постановки задачи практически сразу видишь как и какими инструментами её наиаименее геморройно решать, а это решение вообще-то лежит за пределами компетенции кодеров. -- С уважением, Denis http://freesource.info --- ifmail v.2.15dev5 * Origin: MTU-Intel ISP (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/9104e601e54e.html, оценка из 5, голосов 10
|