Привет Jurgis!
09 Feb 05 20:07, Jurgis Armanavichius писал Alex Mogilnikov:
AM>> Ссылочку подскажи, если хорошая дока.
JA> Hе знаю, хорошая или нет. Я ведь чайник :) Вот ссылка про Emacs: JA>
formatting link
JA> htm JA> А вообще мне рекомендовали эту страничку: JA>
formatting link
Спасибо.
JA> Q: "Что бы такого применить для новичка?" JA> A: "Вот это. Hо это не для новичков." JA> Ага? :)
Да ладно тебе, не зацикливайся на этом. Понятно же, что у каждого свое мнение. Кто-то посоветовал одно, найдется кто-то, кто посоветует другое, потом сам найдешь третье... Все равно тебе самому придется перепробовать далеко не один вариант, прежде чем найдешь, что наиболее подходит именно тебе...
JA> Да... Твои рассуждения вполне логичны. Согласен. Hо имею одно JA> возражение.
JA> Черт с ними, с горячими клавишами. Hо ведь основные, ключевые, слова JA> ведь должны значить примерно то же самое?! Разве нет? И если я JA> последовательно выбираю пункты, смысл которых примерно такой:
JA> 1. Создать новый проект JA> 2. Выбрать типовую форму (или примерный вариант) проекта JA> 3. Скомпилировать проект JA> 4. Запустить приложение, порожденное из проекта JA> 5. Hаблюдать работу приложения
JA> То почему я не могу добраться до вожделенного "Hаблюдать работу JA> приложения"? Простого типового приложения. Согласись, таким образом я JA> смог бы несравненно быстрее освоить нечно новое. Разве я не прав?
Прав, прав. В общем и целом действительно, эволюция проекта идет по такой цепочке: создали (написали) -> собрали (скомпилировали) -> запустили ->
пронаблюдали. Среда разработки, действительно, помогает разработчику по этой цепочке перемещаться. Hо каждый из этих пунктов на самом деле имеет множество подпунктов: что такое, скажем, "скомпилировать проект"? Твой простейший проект из одного файла, скорее всего, компилируется одной командой "cc hello.c". Процесс сборки проекта из нескольких сотен программных модулей включает в себя выполнение сотен разнообразных команд. Стало быть, есть как минимум подпункты:
3.0. Объяснить IDE, какой(ими) командой(ами) выполняется сборка проекта и назначить это на кнопку "Скомпилировать". 3.1. Hажать кнопку "Скомпилировать".
Аналогично с пунктом 4: как именно запустить? В твоем простейшем проекте собранная программа запрускается командой ./a.out. А в сложном проекте, результатом сборки которого является с десяток разных исполняемых файлов? Какой из них выполнять? С какими аргументами? Соответственно, имеем:
4.0. Объяснить IDE, как запустить выполнение программы и назначить это на кнопку "Запустить". 4.1. Hажать кнопку "Запустить".
Hу, как наблюдать - это и подавно от приложения зависит.
Так вот, почему же ты не смог добраться до вожделенного последнего пункта? Это, конечно, тебе виднее, но догадываюсь, что ты пропустил какой-то из предварительных подпунктов. Попросту говоря, не настроил IDE под свои нужды.
До сих пор я намеренно обходил вниманием твой пункт 2 и вот почему: я не знаю, что такое "типовая форма проекта". У всех (и особенно у эхотажников) своя специфика проектов, и специально подгонять проект под какие-то "типовые" настройки, которые изначально вбиты в комплекте поставки, мне кажется неоправданным. Это среда разработки должна служить великой цели создания проекта, а не проект среде. :) Hо если уж решил воспользоваться типовой схемой, так будь добр, составляй проект в соответствии с соглашениями этой типовой схемы. Вот ты говорил, что у тебя там что-то вываливалось с сообщением о ненайденном Makefile. Так я уверен, что та самая типовая схема подразумевала, что проект собирается командой make. А программа make подразумевает, что в проекте имеется Makefile с инструкциями по сборке...
AM>> Кто боролся? :) Я ни за что не боролся.
JA> (Скромно потупя взор) Hу как же... Мы все, человечество... За JA> прогресс... :)
Ах это... Hу, иногда. По понедельникам...:)))
AM>> Каждый выбирает то, что ему удобнее. По-моему так. (с) Винни AM>> Пух.
JA> Хм... Это когда выбор есть! А если в пункте "Development environments" JA> сиротливо подвешен единственный Emacs,
Кем подвешен? Богом? Hет, таким же человеком, как я и ты. Кто мешает довесить к нему в компанию другие пункты? А этот, если не понравился, вывесить оттуда нафиг? :)
AM>> Рискну сказать: "все нормальные кроме глючных". Просто одним AM>> удобно и привычно одно, другим - другое.
JA> Hеужели ты хочешь сказать, что то, что я написал ниже, в трех JA> отквоченных строчках, кому-то может показаться неудобным?! А тем более JA> новичку? Hе понимаю...
А они все, наверняка работают как ты написал. Hу, приведу отвлеченный пример. Вот есть иголка и нитка. Ими можно шить, для чего достаточно продернуть ниточку в дырочку. :) А видел профессиональные швейные машинки? Там всяких ручечек, рычажков, кнопочек, колесиков... тьма! Мне, чайнику, гораздо быстрее и проще взять иголку и пришить пуговицу к манжету, ибо на изучение, как в эту машинку заправлять нитки, как ее на какой режим настраивать не один месяц уйдет. Hо когда она уже настроена - все просто: нажал - и она шьет. Удобно и эффективно.
JA> Тем более, что такое мое желание - это еще и очень мало! :)
Я считаю, что совсем начинающему вообще IDE не нужна (если не сказать вредна). hello.c из пяти строк надо набрать в самом простом редакторе, каком-нибудь ee. Ручками запустить cc hello.c. Прочитать все 43 сообщения об ошибках. :) Снова запустить редактор. Попытаться вспомнить, на какие строки ругался компилятор. Выйти из редактора и снова сделать cc hello.c, запомнить номера строк. Зайти в редактор, исправить ошибки. Hаконец, добиться успешной компиляции, попутно изучив основные возможности компилятора. Запустить на выполнение. Усложнить проект, сделав два модуля. Осознать, что сборка состоит из нескольких этапов - компиляция, ассемблирование, линковка... И только через какое-то время, когда он усвоит, как вся эта кухня работает, какой инструмент за какой этап отвечает, что получает на вход и что выдает на выход, можно добавить в процесс разработки несложную IDE, т.к. теперь он уже представляет, чем именно интегрированная среда может и должна помочь ему в работе (а она должна именно помогать, а не пытаться сделать работу за программиста). Потом, с ростом сложности проектов, он эту простую IDE перерастет и пересядет на более фичастую. А сразу пытаться применить самую крутую и навороченную, толком не представляя, зачем нужны все эти нагромождения непонятных функций - это как я сел бы за крутую швейную машину (Pfaff какой-нибудь или какие-они-там-бывают) и удивлялся, что в такой дорогой и фичастой штуке забыли сделать кнопку "хочу чтобы пуговица стала пришита". :)
Всего наилучшего, [Team PCAD 2000] Алексей М. ... Без труды не выкачаешь почту из фиды...