Информация об изменениях

Сообщение Re[3]: UNIX dev tools от 26.08.2014 8:57

Изменено 26.08.2014 9:39 alpha21264

Здравствуйте, VladFein, Вы писали:

VF>Здравствуйте, alpha21264, Вы писали:


A>>UNIX — сам по себе IDE.


VF>Это как? У меня (на Windows) есть только что-то похожее на терминал к UNIX. Команду можно напечатать, результат посмотреть... Это и есть IDE?


Это часть IDE.
Просто люди, которые живут в Линуксе, привыкли сами связывать несколько инструментов в то, что им хочется.
Это стиль жизни. Это не воспринимается как неудобство.
В Линуксе терминал и скриптовый язык несколько мощнее, чем в Виндовс и поэтому получается неплохо.

Как делаю я.

0) У меня есть терминал, в котором я котором я даю команды. Например make.

1) команда make запускает makefile и собирает мою программу.
Собирать может весьма экзотически. Это не только сборка программы из сырцов.
Например может вызывать latex и генерировать книгу.
Или порождать rpm. Или (о ужас!) инсталационный пакет для Винды.

2) Сейчас народ будет хихикать, но я всё равно скажу. Я программу пишу по-русски.
Названия классов, переменных и функций у меня на русском языке и русскими буквами.
Соответсвенно перед компиляцией мой исходник переводится в транслит и только потом компилируется.
Для этого makefule пишется определённым образом.

3) Если при сборке возникли ошибки, то ошибки пишутся в этот же самый терминал
в формате имя_файла-номер_строки. Виндузятники считают, что это ужас-ужас, но меня не напрягает.

4) Я вызываю текстовый редактор (очень примитивный блокнот) и начинаю редактировать текст.
Просто редактировать. Никакой навигации или автокомплита у меня нет.
Наверное было бы лучше, если бы она была, но для меня это не принципиально.
Программа написана в таком стиле, что мне не надо скакать по файлам.
Обычно одномоментно мне нужно только два окна — сишник и его хедер.

5) Если программа собралась и не работает.
Обычно программа сама мне говорит, что у неё не в порядке
(я её так написал) и я не использую традиционную отладку.
Но если очень хочется, я могу из этого же xterm запустить отладчик ddd.
И поотлаживать что-нибудь традиционным методом.
Допустим, я нашел проблемное место. ddd — это не IDE, он умеет только отлаживать.
Но у него есть кнопка — вызвать текстовый редактор.
Я вызываю текстовый редактор (я настроил так, что вызывается тот же самый блокнот)
И редактирую проблемное место. После чего компиляция и запуск.

6) Вообще, я очень люблю использовать DSL. Моя программа — это очень небольшой кусок на С++,
а остальную логику реализует DSL, который собственно и является алгоритмом.
Так вот... DSL — это просто текст. И этот текст я и редактирую обычным редактором.
Может быть поэтому мне и не нужны всякие IDE.

Ну это мой линый Юникс-вей. Он так сложился, потому что мои задачи имеют специфичную специфику.
У тебя скорее всего будет другая специфика.

Но первое от чего тебе следует отказаться — от привычки запихивать весь функционал
в одну-единственную монстрообразную программу. В юниксе принято разделять функциональность
между несколькими программами, чтобы программы можно было комбинировать.
А когда программа перестаёт быть многомегабайтным монстром, то и методы можно применять другие.

Вотъ.
Я понимаю, что ты сейчас несколько в шоке.
Но никто не заставляет тебя сразу менять все твои привычки.
Начни с какого-нибудь IDE и постепенно осваивай юникс-вей.

Ещё советую курить бросить.
Re[3]: UNIX dev tools
Здравствуйте, VladFein, Вы писали:

VF>Здравствуйте, alpha21264, Вы писали:


A>>UNIX — сам по себе IDE.


VF>Это как? У меня (на Windows) есть только что-то похожее на терминал к UNIX. Команду можно напечатать, результат посмотреть... Это и есть IDE?


Это часть IDE.
Просто люди, которые живут в Линуксе, привыкли сами связывать несколько инструментов в то, что им хочется.
Это стиль жизни. Это не воспринимается как неудобство.
В Линуксе терминал и скриптовый язык несколько мощнее, чем в Виндовс и поэтому получается неплохо.

Как делаю я.

0) У меня есть терминал, в котором я котором я даю команды. Например make.

1) команда make запускает makefile и собирает мою программу.
Собирать может весьма экзотически. Это не только сборка программы из сырцов.
Например может вызывать latex и генерировать книгу.
Или порождать rpm. Или (о ужас!) инсталяционный пакет для Винды.

2) Сейчас народ будет хихикать, но я всё равно скажу. Я программу пишу по-русски.
Названия классов, переменных и функций у меня на русском языке и русскими буквами.
Соответсвенно перед компиляцией мой исходник переводится в транслит и только потом компилируется.
Для этого makefile пишется определённым образом.

3) Если при сборке возникли ошибки, то ошибки пишутся в этот же самый терминал
в формате имя_файла-номер_строки. Виндузятники считают, что это ужас-ужас, но меня не напрягает.

4) Я вызываю текстовый редактор (очень примитивный блокнот) и начинаю редактировать текст.
Просто редактировать. Никакой навигации или автокомплита у меня нет.
Наверное, было бы лучше, если бы она была, но для меня это не принципиально.
Программа написана в таком стиле, что мне не надо скакать по файлам.
Обычно одномоментно мне нужно только два окна — сишник и его хедер.

5) Если программа собралась и не работает.
Обычно программа сама мне говорит, что у неё не в порядке
(я её так написал) и я не использую традиционную отладку.
Но если очень хочется, я могу из этого же xterm запустить отладчик ddd.
И поотлаживать что-нибудь традиционным методом.
Допустим, я нашел проблемное место. ddd — это не IDE, он умеет только отлаживать.
Но у него есть кнопка — вызвать текстовый редактор.
Я вызываю текстовый редактор (я настроил так, что вызывается тот же самый блокнот)
И редактирую проблемное место. После чего компиляция и запуск.

6) Вообще, я очень люблю использовать DSL. Моя программа — это очень небольшой кусок на С++,
а остальную логику реализует DSL, который собственно и является алгоритмом.
Так вот... DSL — это просто текст. И этот текст я и редактирую обычным редактором.
Может быть поэтому мне и не нужны всякие IDE.

Ну это мой линый Юникс-вей. Он так сложился, потому что мои задачи имеют специфичную специфику.
У тебя скорее всего будет другая специфика.

Но первое, от чего тебе следует отказаться, — от привычки запихивать весь функционал
в одну-единственную монстрообразную программу. В юниксе принято разделять функциональность
между несколькими программами, чтобы программы можно было комбинировать.
А когда программа перестаёт быть многомегабайтным монстром, то и методы можно применять другие.

Вотъ.
Я понимаю, что ты сейчас несколько в шоке.
Но никто не заставляет тебя сразу менять все твои привычки.
Начни с какого-нибудь IDE и постепенно осваивай юникс-вей.

Ещё советую курить бросить.