netp_npokon: (Default)
[personal profile] netp_npokon
А еще вчера утром мы с Чукчей ездили на борландовский семинар, посвященный релизу Delphi 2006 (точнее, Borland Developer Studio, включающей Delphi, C++ Builder и C# Builder). Пожалуй, по сравнению с Delphi 3, который /me успел еще погонять, эта версия (10, соответственно) производит куда более серьезное впечатление. Особенно радуют всякие мелочи вроде встроенного контроля версий участков кода (если я правильно понял эту идею), системы отслеживания memory-leak'ов в Builder'е и скриптуемых design-time шаблонов (LiveTemplates), которые, судя по всему, достаточно мощны. Почему-то ничего не было сказано про генерацию документации (что, неужто так и нету??), а сборка приложений все еще осуществляется через bat-файлы (полноценный build-configuration David I пообещал в следующей версии)

Что-то в последнее время я все чаще убеждаюсь, что при всех удобствах vim'a таких возможностей у него нет, да и прикрутить их не так уж и просто. А ведь есть и такие, которые помогли бы при программировании под невинду.


И еще. Страна остро нуждается в грамотных переводчиках. Товарищ, который переводил доклад вице-президента Borland, был, мягко говоря, не в теме. На самом деле он не только не знал терминологии ("А делимитатор по умолчанию - значок доллара" и "Сообщество открытых источников"), но и не был знаком с ситуацией в индустрии (перевести "InterBase" как "Какая-нибудь база данных", а потом заявить, что "По специальному соглашению Borland предоставляет код VCL для разработчиков CLX"). Финишем была игра в "испорченный телефон" во время вопросов. Сидишь и смотришь, как человек задает один вопрос, а отвечают ему на другой, потому что переводчик такой ас. Низачот, в общем. "One ball away" (c), как высказался Чукча.

Date: 2005-12-03 12:30 am (UTC)
From: [identity profile] ex-ex-ex-gr.livejournal.com
Ох, вечная проблема. К сожалению со времён совка укоренилось понятие "общего образования". Типа "я язык знай шопесдец, отъебитесь от меня". А вообще-то существет такое понятие "технический переводчик", который в теме по крайней мере по основным вопросам. И ещё есть аткое понятие, как консультации для переводчиков - это проёб Борланда, кстати. Тоже работать с форейнами разучились.

Date: 2005-12-04 09:02 am (UTC)
From: [identity profile] netp-npokon.livejournal.com
Кстати, да. Если ему дать прочитать текст доклада, а потом заставить выписать неизвестные слова и спросить их значение, то толку будет куда больше. Но это ж, типа, для школьников, а он взрослый мужыг, да еще и с дипломом, поди.

Date: 2005-12-03 12:36 am (UTC)
From: [identity profile] igorash.livejournal.com
Что-то в последнее время я все чаще убеждаюсь, что при всех удобствах vim'a таких возможностей у него нет, да и прикрутить их не так уж и просто. А ведь есть и такие, которые помогли бы при программировании под невинду.


“Не советую, молодой человек, съедят”
Так что ты потише с такими просветлениями

Date: 2005-12-03 04:25 pm (UTC)
From: [identity profile] dendik.livejournal.com
Он не злой, он пытался [livejournal.com profile] netp_npokop от меня уберечь ;)

Date: 2005-12-04 11:20 am (UTC)
From: [identity profile] netp-npokon.livejournal.com
Если это просветление поможет родить что-то более удачное, то вай бы и нот?

Date: 2005-12-03 08:41 am (UTC)
From: [identity profile] http://users.livejournal.com/_flore_/
А, да, только что Чукчу про это рассказывал. Ещё сказал, что один раз этот переводчик сказал вместо Borland Developer Studio - Visual Studio=))).
А грамотные переводчики - это да. Терминологию знать надо.

Date: 2005-12-04 11:17 am (UTC)
From: [identity profile] netp-npokon.livejournal.com
Там еще сильно было: "You may run a preprocessor on your C++ code" --> "Вы можете запустить какие-нибудь процессы для вашего C++-кода". И он не знал, что такое перегрузка ))

Date: 2005-12-04 12:05 pm (UTC)
From: [identity profile] http://users.livejournal.com/_flore_/
о да=) ващеее=)

ВЫПЛЮНЬ БЯКУ!

Date: 2005-12-03 02:53 pm (UTC)
From: [identity profile] dendik.livejournal.com
Что-то в последнее время я все чаще убеждаюсь, что при всех удобствах vim'a таких возможностей у него нет, да и прикрутить их не так уж и просто. А ведь есть и такие, которые помогли бы при программировании под невинду.

Назови, пожалуйста.

Date: 2005-12-03 02:54 pm (UTC)
From: [identity profile] dendik.livejournal.com
Главное забыл сказать: беда vim ровно в том и состоит, что он всё это умеет.

Re: ВЫПЛЮНЬ БЯКУ!

Date: 2005-12-04 10:43 am (UTC)
From: [identity profile] netp-npokon.livejournal.com
Может, и умеет, но есть подозрение, что все это он будет делать крайне неаккуратно. Помнишь, мы про фолдинг разговаривали? Это можно кейтовцам рассказывать, что в виме он есть ))

Date: 2005-12-04 02:19 pm (UTC)
From: [identity profile] dendik.livejournal.com
А вообще, хочется, чтобы система всё за тебя делала, учи emacs. Он-то уж точно умеет больше любых IDE и прилично выглядит.

Re: ВЫПЛЮНЬ БЯКУ!

Date: 2005-12-04 11:11 am (UTC)
From: [identity profile] netp-npokon.livejournal.com
Ну, во-первых, пресловутый фолдинг. Хотя, может, дело в том, что я не смог его настроить по-человечески, возможно, он и не хуже.
Есть еще интеграция с дебаггером, хотя это скорее свойство среды, чем редактора.
Индикатор изменения блоков кода, показывающий, какие блоки ты редактировал после сохранения (ИМХО страшно удобно. И даже прикручиваемо, пожалуй)
Дерево версий этих самых блоков кода. (Объективно это не так уж и здорово, ИМХО. Контролировать версии целого файла лучше).
Список файлов проекта и зависимостей между ними.
ctags. Точнее, что-то, что работало бы по-человечески, пускай оно и не называлось бы ctags. А еще возможность получения информации об объекте под курсором (функции, структуре etc) в виде какой-нить подсказки. И дерево свойств объектов, по которому можно было бы прыгать.
LiveTemplates. David I показывал их на примерах.
1. case (который switch): ты пишешь "case", чего-то нажимаешь и получаепь форму "case e of ... endcase". После редактирования выражения e оно определяет его тип, и если это оказывается enum, то подставляет в case все возможные значения.
2. for: пишешь for, снова чего-то жмешь и получаешь форму "for I := .. to .. do begin ... end". После того, как все значения подставлены, редактор проверяет, объявлена ли переменная цикла, и добавляет ее при необходимости.
Познаваемость этого всего. Окей, пускай вим это умеет *. Но делает * он неочеидными способами.

По поводу сложности прокручивания - IMNSHO сложность не в том, чтобы это запрограммировать, а в том, чтобы от такого количества наворотов консольное окошко не затрещало и не развалилось. Все-таки неудобно писать в окне, обвешанном со всех углов дополнительными наворотами. А делать их в отдельных окнах, боюсь, не позволят возможности вима связываться со внешними программами.

Date: 2005-12-04 02:17 pm (UTC)
From: [identity profile] dendik.livejournal.com
Фолдинг, как ты сам сказал, есть, хотя насколько широки его возможности, я не знаю.

Интеграция с дебаггером есть, разумеется. Просто я этим не пользовался. (Если нету в чистом виде, есть в виде плугина, я не помню точно, но натыкался однозначно, и не раз)

Индикатор изменения кусков кода. Думаю, diffsplit можно заставить делать именно это (кажется, у него даже есть один специальный usecase для того, чтобы диффить с собой).

Дерево версий. Если бы я вообще понимал, что под этим подразумевается, может и ответил бы. Но скорее я всё равно не знаю. 1. :help. 2. гугель, а точнее, поиск на vim.org.

Список файлов проекта и зависимостей между ними. Снова не понимаю, что это такое.

А еще возможность получения информации об объекте под курсором (функции, структуре etc) в виде какой-нить подсказки. И дерево свойств объектов, по которому можно было бы прыгать. Я не верю, что этого не сделали. Кажется, даже где-то на такие плугины натыкался. Но снова, не знаю.

LiveTemplates. Ну, материться не надо, да? Ты в курсе, что в VI (не в VIM, а ещё в VI) есть макросы, да? И языковые макросы. А в VIM ещё autocompletion есть. То есть если ты не найдёшь плугина, который будет делать именно то, именно в таком виде, то добиться того же результата минимумом усилий можно несколькими разными путями.

После того, как все значения подставлены, редактор проверяет, объявлена ли переменная цикла, и добавляет ее при необходимости. Такого почти наверняка нету.

Познаваемость этого всего. Окей, пускай вим это умеет *. Но делает * он неочеидными способами. Каждая среда имеет свою парадигму. Если бы ты потрудился познакомиться с парадигмой поиска решений vim, эти способы были бы для тебя далеко не так неочевидны.

Вообще, я сам говорил, что мне vim не нравится именно своей непознаваемостью.

Но дело в том, что половину из этих идей тебе навязали маркетоиды и тебе кажется, что иначе нельзя. Например, тебе кажется, что нельзя в vim сделать дерево файлов, поскольку это будет неудобно из-за того, что всё в одном окне – а ты видел, как выглядит файловый броузер в vim? По-моему, вполне читаемо. Может его и можно было бы сделать покрасивее, но это мелочи всё-таки на мой вкус. Процессу он не мешает – вот, что главное.

Соответственно, из фич, которые ты перечислил, те, которые действительно полезны и при этом всё-таки обобщимы на редактирование любых текстов, в vim уж точно есть, хотя может совсем в непривычном для тебя виде. А тех вещей, которые порождены самой гуёвой средой, нету. (Я говорю не о тех пунктах, которые ты перечислил, а об их свойствах, на которые все говорят, что "оно же не так выглядит" приблизительно).

Date: 2005-12-04 02:49 pm (UTC)
From: [identity profile] netp-npokon.livejournal.com
Ok, я постараюсь ответить развернуто после того, как облажу весь vim.org.

По поводу навязанных идей - я уже давненько не пользуюсь никакими IDE, так что уж и не знаю, что мне там могли навязать маркетоиды. Так что мне важно не то, что "иначе нельзя", а то, что "можно и так". Эти идеи все-таки как минимум не усложняют процесс разработки.

Date: 2005-12-04 02:56 pm (UTC)
From: [identity profile] dendik.livejournal.com
Это замечание относилось к твоим словам, что Все-таки неудобно писать в окне, обвешанном со всех углов дополнительными наворотами. А делать их в отдельных окнах, боюсь, не позволят возможности вима связываться со внешними программами.
(deleted comment)

Re: ВЫПЛЮНЬ БЯКУ!

Date: 2005-12-04 02:42 pm (UTC)
From: [identity profile] netp-npokon.livejournal.com
Обфускацией занимается, не иначе )

Profile

netp_npokon: (Default)
netp_npokon

April 2017

S M T W T F S
      1
23 45678
9101112131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 27th, 2025 07:15 am
Powered by Dreamwidth Studios