На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
Дорогие друзья! Поздравляем вас с днём Победы!
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Страницы: (32) « Первая ... 3 4 [5] 6 7 ...  31 32  ( Перейти к последнему сообщению )  
> Развейте мои сомнения: упростится ли программирование при переходе от C к C++?
    Цитата OpenGL @
    А я глубоко и не погружался
    Ну вот наверное и не стоит делать заявлений? :)
    С незнающими vim очень забавно спорить - можно любую хрень утверждать -- всё-ровно проверить не смогут, ибо даже для примерного понимания его возможностей, нужно весьма неплохо разобраться с ним.
      Цитата negram @
      Ну вот наверное и не стоит делать заявлений?

      Однако "знающие" очень ведомы эмоциями :lol: Как-то на хабре обсуждали Vim, я дай да ляпни "vim - неудобен, в одном режиме пищит, а во втором - все портит". Люто заминусовали! :lol:
        Цитата negram @
        Ну вот наверное и не стоит делать заявлений?

        Т.е. писать "вим мощный инструмент" можно, а обратное - нет?
        Цитата negram @
        С незнающими vim очень забавно спорить - можно любую хрень утверждать -- всё-ровно проверить не смогут, ибо даже для примерного понимания его возможностей, нужно весьма неплохо разобраться с ним.

        Ровно этот же аргумент можно применить зеркально - знающий vim может утверждать любую хрень, и её тоже не проверить.
          Цитата OpenGL @
          Т.е. писать "вим мощный инструмент" можно, а обратное - нет?
          Это дествительно мощный инструмент :yes: ты это либо знаешь и пользуешься, либо не знаешь, но зачем тогда что-то говорить? :huh:
          получается такой разговор:
          - "вим мощный инструмент"
          - нет, IDE мощьный инструмент, а вим я не знаю :blink:
          Цитата OpenGL @
          Ровно этот же аргумент можно применить зеркально - знающий vim может утверждать любую хрень, и её тоже не проверить.
          Это не зеркальный вариант, я именно это и сказал. Наверное, правильнее было бы (мне) написать "им можно любую хрень втирать". Я хотел прокомментировать контекстное дополнение и дебаг (и что там ещё было?), но поймал себя на мысли, что толку в этом будет немного :(
            OpenGL, ты загоняешься. Просто погугли типа "vim автодополнение", "vim рефакторинг", "vim отладка" ... ты удивишься, но все это есть. И часто предлагается не в одном варианте. Более того, став фанатом - можешь пилить сам.

            В одно время я работал в конторе, в которой правились тексты нормативок. Пересадил всех на Far, по мере пожелалок написал около 15 уникальных для "исходного формата" плагинов (еще под Far 2.x). Я уверен, с vim'ом так же можно творить чудеса.
              Цитата OpenGL @
              Вряд-ли допилено до состояния, близкому к таковым в IDEA. Слышал, что они даже в динамических языках а-ля js научились делать что-то похожее на контексно-зависимое автодополнение. О рефакторинге умнее чем "греп по всему коду" наверняка тоже можно мечтать.
              Это само-собой. Но как показывает моя практика мощный рефакторинг и контекстное автодополнение - не более, чем приятные плюшки, слабо влияющие на произодительность программиста.
              Что касается vim, то это настолько мощный инструмент, что для его настройки впору писать отдельную IDE :lol:
              По мне так, сей редактор слишком альтернативен. Я предпочитаю Sublime Text.
                Цитата JoeUser @
                Пересадил всех на Far, по мере пожелалок написал около 15 уникальных для "исходного формата" плагинов (еще под Far 2.x).
                А такой есть?
                ExpandedWrap disabled
                  local strip = function(str)
                    local i
                    
                    i = 1
                    while str:sub(i, i) == " " or str:sub(i, i) == "\t" do i = i + 1 end
                    str = str:sub(i)
                    i = -1
                    while str:sub(i, i) == " " or str:sub(i, i) == "\t" do i = i - 1 end
                    str = str:sub(1, i)
                   
                    return str
                  end
                    
                  local newLine = function()
                    local F      = far.Flags
                    local ei     = editor.GetInfo(nil);
                    local x      = 1
                    local y      = ei.CurLine
                    local curStr = editor.GetString(nil, y, 0).StringText
                   
                    while strip(curStr) == "" and y ~= 1 do
                      y = y - 1
                      curStr = editor.GetString(nil, y, 0).StringText
                    end
                    while x <= #curStr do
                      if curStr:sub(x, x) == " " or curStr:sub(x, x) == "\t" then x = x + 1 else break end
                  --    if string.sub(curStr.StringText,x,1) == "\t" then x = ei.TabSize * ei.math.floor((x + ei.TabSize-1)/ei.TabSize) end
                    end
                   
                    editor.UndoRedo(nil, F.EUR_BEGIN)
                    editor.InsertString()
                    if strip(editor.GetString(nil, ei.CurLine, 0).StringText) == "" then
                      editor.SetString(nil, ei.CurLine, "")
                    end
                    editor.SetPosition(nil, ei.CurLine+1, x, -1, -1, -1, -1)
                   
                    curStr = strip(editor.GetString(nil, 0, 0).StringText)
                    if #curStr ~= 0 then
                      editor.SetString(nil, 0, string.rep(" ", x-1)..curStr)
                    end
                   
                    editor.UndoRedo(nil, F.EUR_END)
                  end
                   
                  local newTab = function()
                    local F      = far.Flags
                    local ei     = editor.GetInfo(nil);
                    local x      = ei.CurPos
                    local y      = ei.CurLine
                    local curStr = ""
                   
                    while strip(curStr) == "" and y ~= 1 do
                      y = y - 1
                      curStr = editor.GetString(nil, y, 0).StringText
                    end
                   
                    while x <= #curStr do
                      if curStr:sub(x, x) ~= " " and curStr:sub(x, x) ~= "\t" then x = x + 1 else break end
                    end
                    while x <= #curStr do
                      if curStr:sub(x, x) == " " or curStr:sub(x, x) == "\t" then x = x + 1 else break end
                    end
                    if x > #curStr then
                      x = (math.floor((ei.CurPos-1) / ei.TabSize) + 1) * ei.TabSize + 1
                    end
                   
                    local pos = ei.CurPos
                   
                    while pos < x do
                      editor.UndoRedo(nil, F.EUR_BEGIN)
                   
                      local tmpPos = (math.floor((pos-1) / ei.TabSize) + 1) * ei.TabSize + 1
                   
                      if tmpPos > x then tmpPos = x end
                   
                      editor.InsertText(nil, string.rep(" ", tmpPos-1 - pos+1))
                      editor.UndoRedo(nil, F.EUR_END)
                      pos = tmpPos
                    end
                  end
                   
                  Macro {
                    area="Editor"; key="Enter"; flags=""; description="Insert new line"; action = function()
                  newLine()
                    end;
                  }
                   
                  Macro {
                    area="Editor"; key="Tab"; flags=""; description="Insert new tab"; action = function()
                  newTab()
                    end;
                  }


                Добавлено
                P.S. Это SmartTab на LUA
                  Цитата negram @
                  Это дествительно мощный инструмент

                  Я в курсе, что он мощный инструмент. Но автодополнения с пониманием контекста как в IDEA в нём нет. Рефакторинг? И что - он, например, будет переименовывать только один метод по всему проекту во всех классах, производных от данного, а не тупой Search&&Replace? И работает ли оно с каким-нибудь var из C#? Дебаг? Ну, допустим, есть. Банальнейшая задача - выделить текст во время отладки и посмотреть, что выполнение этого метода вернёт - сможет? Или опять какую-то четырёхбуквенную команду учить, а перед этим спрашивать на форуме, какой плагин это делает?
                  И это самые простые вещи. Что-то менее тривиальное вроде отладки шейдеров в виме вообще не появится ещё лет десять, наверное.
                  Цитата JoeUser @
                  росто погугли типа "vim автодополнение", "vim рефакторинг", "vim отладка" ... ты удивишься, но все это есть.

                  См выше. Если так рассуждать, то у меня в sublime из коробки это есть. И даже отладка наверняка - с плагином. Но от этого IDE он не становится.
                  Цитата JoeUser @
                  Пересадил всех на Far, по мере пожелалок написал около 15 уникальных для "исходного формата" плагинов (еще под Far 2.x). Я уверен, с vim'ом так же можно творить чудеса.

                  Можно, конечно. Но это будет означать либо любовь чесать левое ухо правой пяткой, либо написание чего-либо относительно простого, где не требуются возможности IDE.
                    Цитата OpenGL @
                    Но автодополнения с пониманием контекста как в IDEA в нём нет.

                    Откуда такая уверенность?

                    Цитата
                    Но от этого IDE он не становится.

                    А должен? Насколько нужен полноценный IDE для всех программистов? Как показывает практика люди разные и инструменты они выбирают, соответственно, разные.
                      Цитата applegame @
                      Но как показывает моя практика мощный рефакторинг и контекстное автодополнение - не более, чем приятные плюшки, слабо влияющие на произодительность программиста.

                      Вполне вероятно.
                      А что твоя практика про удобный отладчик говорит? :)
                        Цитата OpenGL @
                        А что твоя практика про удобный отладчик говорит? :)

                        У меня вот почти на всех проектах если юнит-тесты пропускают что-то, то проявляются баги на объеме данных, на которых отладчики не очень хорошо работают. Разве что корки потом смотреть, но тут я с gdb могу вполне работать. Хотя я наверное от жизни отстал и есть нормальные инструменты...
                          Цитата D_KEY @
                          Откуда такая уверенность?

                          Пытался как-то примерно год назад понять, стоит ли водиться с вимом - понял, что многих привычных вещей (и в том числе автодополнения сильно умнее саблаймовского) нет, а плюсы вроде легковесности и возможности работы с консоли меня не интересуют.
                          Цитата D_KEY @
                          А должен? Насколько нужен полноценный IDE для всех программистов?

                          Для всех - не нужен.

                          Добавлено
                          Цитата D_KEY @
                          У меня вот почти на всех проектах если юнит-тесты пропускают что-то, то проявляются баги на объеме данных, на которых отладчики не очень хорошо работают.

                          А у тебя тестами что ли всё покрыто? Потому что если нет, а ошибку искать надо, то без отладчика лично я вижу в качестве альтернативы только printf-ы. Но это же неудобно :)
                            Цитата OpenGL @
                            Но автодополнения с пониманием контекста как в IDEA в нём нет.
                            Ага, расскажите мне про автодополнение с пониманием контекста в IDEA :)
                            * да, плагин к Scala установлен. Метод serialize() там есть, но эта ваша хвалёная IDE не видит вообще ни одного метода в closureSerializer
                            Прикреплённая картинка
                            Прикреплённая картинка
                              Цитата OpenGL @
                              А что твоя практика про удобный отладчик говорит? :)
                              Мне не нужен отладчик. Я предпочитаю юнит-тесты и дебаг-сообщения, но ЕМНИП, как раз с отладчиком и vim и Sublime Text хорошо дружат.
                              Насчет автодополнения наверняка есть что-то основанное на парсере clang-а.
                                applegame а какие юнит-тесты юзаешь?

                                Добавлено
                                я вот тоже хочу перейти от отладки к юнит-тестам
                                Сообщение отредактировано: Cfon -
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (32) « Первая ... 3 4 [5] 6 7 ...  31 32


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0719 ]   [ 17 queries used ]   [ Generated: 10.05.24, 10:46 GMT ]