Написание программ без графической IDE


18

Я не уверен, возможно ли это вообще, но я смотрел несколько видео с примерами программирования, где кажется, что программа написана в какой-то командной строке, а не в красивой графической среде IDE. Мне просто любопытно, что может происходить в этих видео. Можно ли написать программу без IDE?

Вот два примера: http://www.youtube.com/watch?v=hFSY9cWjO8o (@ 6 минут) http://www.youtube.com/watch?v=tKTZoB2Vjuk (@ 5 минут)

Кто-нибудь может объяснить, как это делается?

Спасибо всем за отличную обратную связь!


48
Очевидно, что вы можете написать программу без IDE. Как вы думаете, первая IDE была написана?
Чарльз Сальвия

34
Дети в эти дни! Думаю, они не могут писать программы без модной IDE! Почему в свое время нам приходилось самим компилировать в машинный код, идти в гору в обоих направлениях по снегу ...
JSB ձոգչ

33
Этот вопрос меня огорчает. Даже больше, чем обычные люди, считающие программное и аппаратное обеспечение чем-то волшебным - вы программист, вы должны знать лучше! (И, к

10
Это не командная строка, это текстовый редактор на основе терминала. Два самых популярных текстовых редактора, vi и emacs, работают в терминалах. (И GUI также, в настоящее время).
Леннарт Регебро

4
@ jas- спасибо за конструктивный и проницательный комментарий.
Мэтт

Ответы:


22

Все, что вам нужно для написания программы - это текстовый редактор и компилятор (или интерпретатор, если вы пишете на некомпилированном языке). Код обычно просто текст. Действительно, вы можете написать любую программу, которую только можно себе представить, используя Windows Notepad и компилятор C командной строки.

Многие программисты даже не используют IDE. Я лично использовал Gedit (основной текстовый редактор Linux с подсветкой синтаксиса) долгое время, прежде чем я наконец переключился на Eclipse.

На самом деле, я все еще использую Gedit, когда хочу написать простую программу. Иногда я даже просто использую nano, если хочу быстро написать сценарий, потому что я слишком нетерпелив, чтобы ждать загрузки среды IDE.


2
Я большой поклонник Гедит и Кейт. Я использую Nano, когда редактирую код удаленно.
Тим Пост

8
Мне нравится Notepad ++. :)
Матин Улхак

+1 к нано и ви!
crodjer

4
На самом деле вам даже не нужен текстовый редактор. В UNIX вы можете писать код с помощью catWindows, more очевидно, вы должны написать его правильно с первого раза. Конечно, настоящие программисты используют бабочек;) xkcd.com/378
OscarRyz

1
@OscarRyz - "Конечно, для этого есть команда emac." +1 к Notepad ++, хотя
Jetti

11

@Matt, это проще, чем кажется. Давайте посмотрим на второе видео: они пишут программу на Python. Python - это язык interpred - это означает, что программу, написанную на python, не нужно компилировать, ее просто нужно интерпретировать для запуска.

Если у вас есть простой редактор, например блокнот (windows) или nano (linux), вы можете написать простой текстовый файл, назовите его, скажем "program.py", и запустить интерпретируемый файл из командной строки, как показано ниже:

python program.py

Если вы хотите запрограммировать в Lua , например, вы можете написать простой текстовый файл с именем , "program.lua"используя либо блокнота или нано и написать одну строку на текстовый файл , как показано ниже:

print("my first program in lua")

Затем перейдите в командную строку (cmd в Windows, терминал в Linux) и выполните команду:

lua program.lua

Ключевые понятия:

  • Необработанная программа представляет собой текстовый файл. Все, что вам действительно нужно для написания программы - это текстовый редактор;
  • Если ваш выбор языка является интерпретируемым, вам потребуется переводчик для запуска вашей программы (Lua, Basic, Python и т. Д.). Этот переводчик должен быть установлен на вашем компьютере;
  • Если ваш язык выбран скомпилированным, вам понадобится установленная цепочка инструментов (в основном компилятор и компоновщик) для перевода вашего исходного кода в двоичный машинно-понятный и исполняемый код. Каждый язык (C, Java, C ++, C #, VB.Net и т. Д.) Имеет свой собственный набор инструментов.

Надеюсь, это поможет.


4
Notepad ++ намного лучше для подсветки синтаксиса! И не забудьте про EMACS: D
K-RAN

Haskell - это скомпилированный язык (который также имеет интерпретатор).
Йтернберг

Я считаю, что Notepad2 (или Notepad2-Mod) лучше, чем Notepad ++. ; P code.google.com/p/notepad2-mod
Spoike

@jsternberg, спасибо за вклад в Haskell ... Я действительно плохо знаю язык, чтобы сказать.
Мачадо

1
@ K-RAN: все, что я использую, это Emacs, если только я не использую XCode для программирования на iPhone. С TRAMP это невозможно остановить!
Джош

10

Господи, я сейчас чувствую себя старым, и мне никогда не приходилось возиться с перфокартами или пакетной обработкой. Черт, мне приходилось пользоваться терминалом для бумажных копий всего один или два раза в течение моей карьеры в колледже.

Вот как мы делали вещи еще в конце мелового периода (около 1986 года). Я работал над VAX / VMS через символьно-черный терминал VT220, который мог отображать 80x24 или 132x24.

Сначала вы запустили текстовый редактор:

$ EDIT/EDT HELLO.C

EDT был VMS-эквивалентом vi, находясь где-то между DOS edlin и Notepad. Вы набрали в своей программе текст

#include <stdio.h>

int main(void)
{
  printf("Hello, Stupid\n");
  return 0;
}

сохранил его в файл, а затем вышел из редактора.

Затем вы запустили свой код через компилятор:

$ CC HELLO

Это преобразовало исходный код в HELLO.C и сгенерировало объектный файл HELLO.OBJ. Объектный файл содержал машинный код для программы, но он еще не был в исполняемом виде. Во-первых, реальный двоичный код для printfвызова отсутствует; есть только заполнитель для этого. Вам все еще нужно было запустить объектный файл через компоновщик , который включил двоичный код из стандартной библиотеки (и любых других необходимых вам библиотек) и отформатировал файл, чтобы он мог быть распознан как исполняемый файл:

$ LINK HELLO

Результатом этого шага является файл HELLO.EXE, который является исполняемой версией вашей программы.

Процедура практически одинакова в любой современной системе; просто конкретные наборы инструментов разные. Например, последовательность команд в типичной системе Linux будет

$ vi hello.c
$ gcc -o hello hello.c 

или

$ vi hello.c
$ gcc -c hello.c 
$ ld -o hello hello.o -lc

Так как я вырос в этой среде, я никогда не понимал, как кому-то может понадобиться IDE просто для написания своего кода. Однако в начале этого года я начал работать на Java, и, хотя в Eclipse есть много, много ошибок, я могу понять, как кто-то может сильно полагаться на IDE для выполнения своей работы. Поскольку Java такой огромный язык по сравнению с C, и поскольку я все еще пытаюсь объяснить тонкости синтаксиса, это помогает создать интеллектуальную среду разработки, которая знает, в каких пакетах находятся определенные типы, и помогает мне организовать импорт.


Мне очень жаль, что вы были подвержены (V) опускать (M) aking (S) систему в таком молодом и впечатлительном возрасте. Я надеюсь, что это не привело к каким-либо долговременным последствиям ...
Тим Пост

2
@Tim Post: ты шутишь? Для меня это были хорошие времена; с тех пор все было под гору.
Джон Боде

возможно, я звучу немного горько. Однако, в свою защиту, я был единственным, кто должен был постоянно связывать воедино специальную сеть Novell, управляемую 3270, по токен-кольцу. Я до сих пор испытываю негодяи, несмотря на годы терапии.
Тим Пост

Интересное написание слова "Мир".

6

Да да это.

Так же, как можно приготовить кофе без одновременного вспенивания молока, поехать на работу, не разговаривая по телефону и не выплачивая налоги, или смотреть на звезды, не слушая "полет шмеля" в системе объемного звучания, это возможно компилировать код без запуска редактора, отладчика, системы анализа кода и игры змея.

Но ... кто действительно хочет молча смотреть на звезды ?!


1
Хотели бы вы объяснить, как?
Мэтт

1
@Matt: одна программа на задачу ... Написать код в редакторе , скомпилировать его с помощью компилятора , отладить его с помощью отладчика , сделать перерыв и поиграть в Snake .
Shog9

2
-1 Не думаю, что это конструктивно.
sixtyfootersdude

1
+1, это не разрушительно, это просто метафора . Не бойся юмора.
ern0

6

Редактор? Мне не нужен никакой вонючий редактор или IDE для написания кода:

cat << EOF > hello.c
/* This IS an example of writing code from the command line */
#include <stdio.h>

int main(void)
{
    puts("Hello, World!");
    return 0;
}

EOF

Тем не менее, приятно иметь что-то для редактирования файла позже. IDE (интегрированные среды разработки) существуют намного дольше, чем многие люди предлагают в своих ответах. Единственная IDE, которая мне действительно понравилась, была та, которая шла с Turbo C , которая работала на DOS. Это было похоже на кислород для людей, которые были вынуждены дурачиться с Эдлином .

Я испробовал много разных «наборов» IDE по рекомендациям друзей, которые не могли не сказать, сколько времени они экономят и насколько удобно все это делать. Каждый раз, когда я сажусь, чтобы попробовать и использовать один, я обнаруживаю, что борюсь с этим больше, чем использую его.

По большей части, я просто использую самые простые текстовые редакторы. Мой любимый - KATE, который поставляется вместе с KDE. Это те функции, которые мне нравятся:

  • Отличная подсветка синтаксиса
  • Сворачивание кода
  • Простой поиск / замена на основе регулярных выражений
  • Встроенное окно оболочки
  • Встроенное окно компилятора / окно отладчика
  • Галерея фрагментов
  • Просмотрщик символов
  • Очень легкий объем памяти (в некоторых моих проектах несколько сотен исходных файлов)
  • Легкие вкладки / разделенные окна
  • Простые сессии вместо сложных «проектов»
  • (Полу) простая архитектура плагина

С этими базовыми функциями я чувствую себя почти испорченным.

Я на самом деле менее продуктивен при работе с многофункциональными IDE и благодарен за то, что никогда не развивал зависимость от них.


Для справки, большинство функций, которые вы упоминаете, доступны в любом современном текстовом редакторе программиста, а не только в IDE.
Xiong Chiamiov

Ненавижу вас ломать, но именно эти особенности делают IDE.
devshorts

4

IDE не является компилятором, отладчиком или чем-то подобным, на самом деле это интерфейс, который позволяет вам получить доступ ко всем этим, которые обычно являются отдельными программами. За кулисами Visual Studio есть компилятор, к которому вы можете получить доступ как отдельная программа, компилирующая ваши программы из командной строки, и, вероятно, есть отладчик, который также доступен отдельно и т. Д. Я не слишком знаком с его инфраструктурой. потому что я не использую это.

В зависимости от того, кого вы спрашиваете, IDE либо очень полезна, либо имеет тенденцию мешать вам. Это также зависит от того, что вы пишете, от его размера, вашего стиля кодирования и так далее. Я, например, на самом деле не чувствую необходимости слишком много использовать IDE, но я считаю, что некоторые задачи лучше обрабатываются ею (или, в зависимости от того, как вы на это смотрите, что мне лень писать сценарии) / макросы для себя).


3

Это несомненно. В первом видео речь идет о программировании на Си. Для написания программ на C вам необходимо следующее:

  • какие-то исходные файлы, в которые написан код
  • набор инструментов для преобразования этого исходного файла в двоичный файл, и это единственное, что процессор может понять в конце.

Строго говоря, вам не нужен файл, но я не знаю ни одной среды, которая не использует файл для C / C ++. Таким образом, вам нужен редактор для редактирования исходного кода. Несмотря на то, что работает что-то простое, например блокнот, вам действительно нужно что-то более сложное для кодирования (выделение кода, открытие нескольких файлов одновременно и т. Д.)

Для второго пункта вам нужен компилятор (исходный код -> объектный код) и компоновщик (объединенный объектный код + минимальная поддержка для запуска программы).

Даже с IDE большинство задач, выполняемых за кулисами, могут выполняться из командной строки: например, в Visual Studio IDE по-прежнему использует файлы и вызывает компиляторы для вас из командной строки, но это может работать другим способом ( и, возможно, делает для большей интеграции).

Так почему бы не использовать IDE? Некоторые люди довольно анально относятся к своему редактору кода, потому что они действительно знают это. Например, я довольно продуктивен с редактором кода vi. IDE также ограничены, если вам нужно взаимодействовать с вещами, для которых IDE не была разработана. Здесь есть компромисс, который зависит от способностей программиста, проекта, языков программирования / инструментов и т. Д. ... Некоторые языки даже не имеют достойной IDE, некоторые другие языки практически не работают без таковой. Хотя я сам не использую IDE, одной из областей, где я считаю, что они очень полезны, является отладка интеграции для C и C ++.


Я использовал блокнот, чтобы научиться программировать на Java. Вскоре после этого я получил Crimson Editor и использовал gedit в Linux, но не обращал внимания на IDE, вероятно, через 2 года после его первого запуска. Моя текущая работа - программист на Java.
Майкл К

да, java - типичный пример, где я редко встречал людей, не использующих IDE. Язык - это только один фактор: домен, размер, «культура», все факторы. Я сам редко использую IDE (в настоящее время я в основном использую Python и C, и еще не видел достойной IDE Python).
Дэвид Курнапо

Вы можете использовать tcc для компиляции / запуска программ на C без создания файлов:printf '#include <stdio.h>\nint main() { printf("Hello, World\\n"); return 0; }' | tcc -run -
programmerjake

2

Вы, конечно, можете писать программы без графической IDE. Для скомпилированных языков (например, C или C ++) процесс будет выглядеть примерно так:

  1. Напишите программу в предпочитаемом вами текстовом редакторе.
  2. Из командной строки вызовите компилятор и / или компоновщик, который преобразует вашу программу в исполняемый машинный код и извлекает необходимые внешние библиотеки. (Я немного смутен относительно порядка компоновки и компиляции здесь, но я уверен, что кто-то исправит меня в кратчайшие сроки. :))

Для интерпретируемых языков, таких как PHP или Python, вы пишете код в предпочитаемом вами текстовом редакторе (или в интерактивной оболочке, подобной той, что поставляется с Python), и код выполняется интерпретируемой программой. Например, чтобы вызвать скрипт Python, вы должны выполнить что-то вроде python.exe myScript.py.

Python не является чисто интерпретируемым языком, поскольку он сначала компилируется, но эта скомпилированная форма запускается интерпретатором Python, поэтому он по-прежнему соответствует определению. Другие языки, такие как PHP, полностью интерпретируются.


1

Да, вы можете написать код без компилятора и без IDE. Все это пишет. Текст.


2
Хотели бы вы объяснить, как?
Мэтт

7
Вы печатаете на клавиатуре.
Мэтью Рид

Мэтью означает, что вы можете написать программу, но бесполезно. :)
Абимаран Кугатасан

2
@Abimaran Я не уверен на 100%, что вы имеете в виду, но вы, безусловно, можете запускать / использовать программу без компилятора или IDE. Языки можно интерпретировать, а не просто компилировать.
Мэтью Рид

1
@ Майкл, я должен не согласиться. Это не интерпретируется так же, как аналитический движок интерпретирует положение своих передач.
Мэтью Рид

1

Я думаю, что вы используете интегрированную среду разработки (IDE). Они обеспечивают подсказки кода и подсветку синтаксиса среди прочего. Компилятор просто берет файлы и компилирует их в машинный код или байт-код. Компилятор обычно используется IDE, посылая ему команду для компиляции ваших файлов.

Можно писать без компилятора. Эти языки используют «интерпретатор» и обрабатывают скрипт во время выполнения.


1
Хотели бы вы объяснить, как?
Мэтт

Или вы можете программировать в двоичном формате :)
Майкл К

или используйте CIL ..: P Мэтт из видео, которое я видел, вы можете установить что-то вроде BASIC, а также вводить и запускать операторы через командную строку
Росс

1

Все, что делает IDE - это предоставляет несколько инструментов в одном удобном месте, а затем автоматизирует некоторые процессы. Эти инструменты, как правило, ...

  • Текстовый редактор
  • Компилятор
  • Отладчик
  • Просмотрщик документации

Чтобы написать свой источник, вы можете использовать любой текстовый редактор, который производит простой текст, например. Блокнот, Word или специальный текстовый редактор кода.

Если ваш исходный текст находится в текстовом файле, вы можете запустить компилятор через командную строку, передаваемую в тестовом файле, например, cc my_program.c. Это создаст объектный файл, который вы сможете выполнить.

Для отладки вашей программы вы запускаете отладчик через командную строку, передаваемую в вашей программе, например. GDB my_program Затем вы можете установить точки останова, пройти через вашу программу, проверить вещи и т. д.

С IDE все это происходит с нажатием кнопки за кулисами, и IDE помещает причудливый пользовательский интерфейс поверх всего этого.

PS. Настоящие программисты используют командную строку


2
Настоящие программисты используют перфокарты и строят свой собственный ЦП из транзисторов до МОП-транзистора. Они также играют в шахматы с бетонными фигурами весом не менее 25 фунтов каждая.
Работа

1
@Job, транзисторы для баб, реальная сделка такова: en.wikipedia.org/wiki/Vacuum_tube
Machado

Я думал, что мы были слабаками и не могли поднять мышь, тем более шахматную фигуру.
Майкл К

2
Настоящие программисты используют намагниченную иглу и устойчивую руку. xkcd.com/378
Горан Йович

1

Я пишу свой повседневный код в редакторе vim (основной текстовый редактор) и могу заверить вас, что он идет гладко (большая часть моего кода - PHP). Специально потому, что мой dev env - это базовый дистрибутив Linux для Linux, и я довольно пользуюсь инструментами оболочки. Я программировал вот так вот уже год, и это мне очень помогло, когда я имел дело с удаленным развертыванием приложений и производственными модификациями, когда вы обычно получали доступ к консоли * Nix через ssh.


1

Цифровые компьютеры с хранимыми программами используются с 1950-х годов, в то время как графические пользовательские интерфейсы действительно начали появляться только в конце 1960-х (и для конечных пользователей в 1980-х). Люди должны были использовать - и программировать - компьютеры как-то до этого.

Хотя в нем есть некоторые неточности (не каждый пользовательский интерфейс платформы является слоем поверх системы командной строки), вам, вероятно, следует прочесть короткую статью Нила Стивенсона « В начале была командная строка» .

Это действительно заставит вас задуматься о том, как работает ваш компьютер, а также о том, как «можно» программировать без IDE, выполнять настоящую работу с помощью командной строки и так далее.


1

Вам действительно нужен только текстовый редактор (черт возьми, блокнот будет работать) и компилятор / интерпретатор (что более важно).

Вы сказали что-то о том, чтобы сделать это через командную строку? Дерьмо звучит безумно, но это вполне возможно. Я имею в виду, просто используя встроенную командную строку Windows, вы можете «записать» в файл, echo "some codez" > target_file.sauceно вам придется

А) Будь очень хорош в том, что ты делаешь

Б) Написание простой программы

C) быть сумасшедшим


1
... или пытаться произвести на кого-то впечатление.
Майкл К

Или вы пытаетесь восстановить что-то из сильно перегруженной системы, и у вас нет времени на замену монитора. Был там, сделал это.
мю слишком коротко

1

Вы действительно должны думать, что IDE - это просто редактор + компилятор + (что-то вроде) Makefile + отладчик (иногда) + построитель графического интерфейса пользователя (иногда), поэтому, конечно, вы можете вообще не использовать IDE, и вы заменяете их с редактором по вашему выбору (vim, emacs, gedit, notepad ++, [insert_others_here]), компилятором (jdk для java, gcc, SDK платформы или [insert_Cpp_toolchain_here] для C ++, интерпретатором python или любым другим набором инструментов, имеющимся в вашем языке), какой-то make-файл (например, autoh ... tools, cmake, ant, maven и т. д.), какой-то отладчик (который обычно входит в состав компилятора), и если вам нужен графический конструктор пользовательского интерфейса (на ум приходит glade) и там у вас есть собственная IDE без IDE. Какой подход лучше, зависит от вас (и я думаю, что IDE сегодня немного переоценены)


1

мигает

Он использует пико, нано клон. Я использую это время от времени. Обычно я использую emacs, который немного менее полезен, но более полезен.

Я не использую IDE, как правило. Иногда я заходил в них для отладки или потому, что было сложно найти цепочку инструментов командной строки (глядя на вас, Xilinx). Я также использую их для набросков C # в тех редких случаях, когда я делаю GUI. Но по моему опыту IDE не очень хорошие редакторы: негибкие, странные аккорды символов, не очень простые в использовании, не поддерживаемые многие языки, занимают слишком много памяти.

Я бы лучше использовал emacs.

Вы должны взглянуть на историю вычислений. Это довольно доступно написано и даст вам прекрасный взгляд на нашу работу.


1

Вам даже не нужен текстовый редактор. :) :)

Если вы в Windows, попробуйте это:

more > hello.c 
#include <stdio.h>

main()
{
   printf ("Hello World!\n");
}
Ctrl-C

Если вы в UNIX

cat > hello.c <<. 
#include <stdio.h>

main()
{
   printf ("Hello World!\n");
}
.

А затем просто скомпилируйте его с вашим любимым компилятором командной строки. :)

Очевидно, вы должны написать это правильно с первого раза.

Помните, что настоящие программисты используют бабочек: http://xkcd.com/378/


0

Вот что интересно: Гарвардская Школа Расширения преподает программирование без IDE ... если только telnet + pico не является тем, что вы подразумеваете под IDE.

Самый простой способ - использовать базовый текстовый редактор для написания ваших программ на Java, а затем передавать файлы в систему FAS с помощью программы FTP, подключаться через telnet, компилировать и запускать их на FAS (fas.harvard.edu - Java уже установлена там). Они ДОЛЖНЫ быть на ФАС, чтобы представить их для вашей домашней работы. Чтобы использовать этот метод, вы, возможно, захотите узнать достаточно об одном из текстовых редакторов Unix, чтобы иметь возможность вносить любые необходимые быстрые исправления в ваши файлы или планировать обновлять файл локально и повторно передавать его. Более подробная информация о передаче файлов находится на странице часто задаваемых вопросов.

НЕ используйте текстовый процессор, например Word или WordPerfect! Они добавляют много символов форматирования, которые вы не видите, но которые будут препятствовать компиляции ваших программ. В Windows вы можете использовать Блокнот или Wordpad и сохранить файлы как «Текстовый документ» с расширением .java. Если система пытается добавить суффикс «.txt», поместите в кавычки имя файла и расширение в поле «Сохранить», чтобы предотвратить это. Вы также можете попробовать любой из редакторов в разделе «Полезные загрузки» (один из которых мы настоятельно рекомендуем для ПК - «Редактор файлов для программистов»). На Mac используйте BBEdit Lite (также на странице ресурсов) или один из встроенных редакторов Unix, доступных в окне терминала. Вы можете получить защищенную программу telnet или использовать имеющуюся у вас, telnet, в систему FAS, и писать и редактировать свои программы в системе. Вы можете попробовать три редактора Unix: pico, emacs и vi. После того, как вы написали свою программу и сохранили ее, то, как и выше, вы можете скомпилировать и запустить ее на FAS

http://www.fas.harvard.edu/~libe50a/homework.html http://www.fas.harvard.edu/~libe50a/faq.html http://www.fas.harvard.edu/~libe50a /java.html

Если вы спросите меня, они мучают детей, но это нормально. В любом году в мире больше спартанцев, не говоря уже о Мотакесе, Периойкой и Хелоте, чем Гарвард.


Да, это возможно. Я предполагаю, что что-то вроде Блокнота не является IDE, но emacs и Textpad (я использовал оба для C, курсовая работа по Java) считаются IDE. Теперь ... после написания кода на C # в VS2010, с WinForms и всем остальным, я бы не хотел возвращаться к текстовым редакторам на работе - на меня кричали, что я ничего не сделал.

Однако для академических проектов, когда примеров мало, имеет смысл не использовать IDE. Помните: во вводных классах программирования многие реальные проблемы отсутствуют. Вам, вероятно, не придется добавлять XML-файлы в качестве ресурсов для DLL; Вам, вероятно, не нужно будет много отлаживать, вам не нужно будет использовать контракты кода или переходить от неуправляемого C ++ к C ++ / ClI, затем к C # и обратно. Академические задания не должны быть грязными, потому что они могут быть выполнены с нуля и измеряются в человеко-днях / неделях. Все файлы могут быть частью только одного проекта (даже для компиляторов или класса ОС). Такая среда разработки, как Visual Studio, на самом деле может помешать вам, когда подойдет простой make-файл. Подумайте о множестве опций, которые нужно настроить. То же самое с Eclipse - это переработанный редактор, который можно бесконечно настраивать. Простой make-файл и два простых C-файла - все, что вам нужно. На самом деле, вы склонны иметь больший контроль, когда вы сами указываете каждый флаг. Я однажды написал это в университетской лаборатории. Это забавно, но на одном из «встроенных» (то есть он должен был быть настолько крошечным, чтобы он мог поместиться на самолете) компьютеров не было ни графического интерфейса, ни мыши :) Я все еще мог войти, редактировать, компилировать и отлаживать программу на C, а также добавлять драйверы и перекомпилировать ядро.


Я на самом деле на полпути согласен с таким подходом. Хотя я бы не стал использовать telnet - просто командную строку и текстовый редактор.
Майкл К

0

Для работы с базой данных вам просто необходим текстовый редактор (notepad ++) и клиент командной строки, такой как osql или sqlcmd. Даже не компилятор.


0

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

Кроме того, я думаю, что хороший текстовый редактор лучше, чем IDE. Для MS-Windows я рекомендую PSPad (это была такая сильная вспышка, как MultiEdit была в эпоху MS-DOS), для GNU / Linux попробуйте Geany (возможно, в репозитории вашего дистрибутива).


0

Для написания программ я использую блокнот на 99 центов с моей верной гелевой ручкой Pilot.

Их я просто заново набираю в Visual Studio код.

Написание программы и кодирование - это две разные вещи (для меня).


Сначала вы пишете программы полностью вручную на бумаге?

@ Thorbjørn - я делал это раньше (в основном короткие игры), и когда я работаю над алгоритмами, я обычно использую доску, чтобы набросать их, а не ручку и бумагу.
rjzii

Да, я пишу много кода вручную. Не вся программа, потому что Visual Studio автоматизирует много вещей.
Пабло

0

Программирование без IDE - отличный способ узнать, что происходит.

Мы начали программировать в школе с простого синтаксического текстового редактора. Компиляция происходила с помощью командной строки (или с помощью простого пакетного сценария).

Только когда мы поняли основы программирования, мы перешли к более мощным редакторам, таким как Eclipse или Visual Studio.


0

Как и ожидалось, все ответы говорят об одном и том же: «Конечно, вы можете! Это просто текст! Текст текст текст текст!» Вообще говоря, это правда и является лучшим ответом на ваш вопрос. Большинство IDE просто манипулируют текстом.

Но это не всегда так, и в некоторых случаях отказ от текстовой модели приводит к значительным успехам. Эти достижения обычно отвергаются только текстовыми пуристами (а это большинство, потому что «как это было» и «как это должно быть» ... это не совпадение ?!). IBM Visual Age был одним действительно классным примером, который умер ужасной смертью.

Еще один пример, который приходит на ум, и он очень популярен, это Interface Builder для создания продуктов для Mac и iOS. Его вывод - это не текстовые программы, а сериализованные объекты, поэтому вы не можете создавать NIB без использования IB или написания собственного IB.

Пуристы скажут: «Да, но Интерфейсный Разработчик написан в текстовом коде!» Так?

Я искренне верю, что CS как область значительно продвинется, если мы сможем выйти за рамки только текстовой парадигмы. Кроме того, я думаю, что в конечном итоге мы пойдем в этом направлении, но это займет десятилетия. Сначала мы должны выяснить, что лучше, viили emacs....


0

В последнее время я обновился до vim. Мне нравится, как он выделяет ключевые слова на любом языке, который я пишу. Вздох, только когда смогу добраться до настоящей ОС и не использовать блокнот.

Моя жена написала COBOL, используя edlin. Я думал, что это было довольно забавно.

Такое улучшение по сравнению с картами перфорации, которые мы использовали, и 24-часовой поворот от операций, чтобы обнаружить, что у нас была опечатка.

У меня есть формы кодирования где-то на чердаке.

У вас были 1 и 0? Мы должны были провести линию через наши 0.

Но вы говорите этим молодым людям сегодня, и они не поверят вам.

к.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.