Я не уверен, возможно ли это вообще, но я смотрел несколько видео с примерами программирования, где кажется, что программа написана в какой-то командной строке, а не в красивой графической среде IDE. Мне просто любопытно, что может происходить в этих видео. Можно ли написать программу без IDE?
Вот два примера: http://www.youtube.com/watch?v=hFSY9cWjO8o (@ 6 минут) http://www.youtube.com/watch?v=tKTZoB2Vjuk (@ 5 минут)
Кто-нибудь может объяснить, как это делается?
Спасибо всем за отличную обратную связь!
Ответы:
Все, что вам нужно для написания программы - это текстовый редактор и компилятор (или интерпретатор, если вы пишете на некомпилированном языке). Код обычно просто текст. Действительно, вы можете написать любую программу, которую только можно себе представить, используя Windows Notepad и компилятор C командной строки.
Многие программисты даже не используют IDE. Я лично использовал Gedit (основной текстовый редактор Linux с подсветкой синтаксиса) долгое время, прежде чем я наконец переключился на Eclipse.
На самом деле, я все еще использую Gedit, когда хочу написать простую программу. Иногда я даже просто использую nano, если хочу быстро написать сценарий, потому что я слишком нетерпелив, чтобы ждать загрузки среды IDE.
источник
cat
Windows,more
очевидно, вы должны написать его правильно с первого раза. Конечно, настоящие программисты используют бабочек;) xkcd.com/378@Matt, это проще, чем кажется. Давайте посмотрим на второе видео: они пишут программу на Python. Python - это язык interpred - это означает, что программу, написанную на python, не нужно компилировать, ее просто нужно интерпретировать для запуска.
Если у вас есть простой редактор, например блокнот (windows) или nano (linux), вы можете написать простой текстовый файл, назовите его, скажем
"program.py"
, и запустить интерпретируемый файл из командной строки, как показано ниже:Если вы хотите запрограммировать в Lua , например, вы можете написать простой текстовый файл с именем ,
"program.lua"
используя либо блокнота или нано и написать одну строку на текстовый файл , как показано ниже:Затем перейдите в командную строку (cmd в Windows, терминал в Linux) и выполните команду:
Ключевые понятия:
Надеюсь, это поможет.
источник
Господи, я сейчас чувствую себя старым, и мне никогда не приходилось возиться с перфокартами или пакетной обработкой. Черт, мне приходилось пользоваться терминалом для бумажных копий всего один или два раза в течение моей карьеры в колледже.
Вот как мы делали вещи еще в конце мелового периода (около 1986 года). Я работал над VAX / VMS через символьно-черный терминал VT220, который мог отображать 80x24 или 132x24.
Сначала вы запустили текстовый редактор:
EDT был VMS-эквивалентом vi, находясь где-то между DOS edlin и Notepad. Вы набрали в своей программе текст
сохранил его в файл, а затем вышел из редактора.
Затем вы запустили свой код через компилятор:
Это преобразовало исходный код в HELLO.C и сгенерировало объектный файл HELLO.OBJ. Объектный файл содержал машинный код для программы, но он еще не был в исполняемом виде. Во-первых, реальный двоичный код для
printf
вызова отсутствует; есть только заполнитель для этого. Вам все еще нужно было запустить объектный файл через компоновщик , который включил двоичный код из стандартной библиотеки (и любых других необходимых вам библиотек) и отформатировал файл, чтобы он мог быть распознан как исполняемый файл:Результатом этого шага является файл HELLO.EXE, который является исполняемой версией вашей программы.
Процедура практически одинакова в любой современной системе; просто конкретные наборы инструментов разные. Например, последовательность команд в типичной системе Linux будет
или
Так как я вырос в этой среде, я никогда не понимал, как кому-то может понадобиться IDE просто для написания своего кода. Однако в начале этого года я начал работать на Java, и, хотя в Eclipse есть много, много ошибок, я могу понять, как кто-то может сильно полагаться на IDE для выполнения своей работы. Поскольку Java такой огромный язык по сравнению с C, и поскольку я все еще пытаюсь объяснить тонкости синтаксиса, это помогает создать интеллектуальную среду разработки, которая знает, в каких пакетах находятся определенные типы, и помогает мне организовать импорт.
источник
Да да это.
Так же, как можно приготовить кофе без одновременного вспенивания молока, поехать на работу, не разговаривая по телефону и не выплачивая налоги, или смотреть на звезды, не слушая "полет шмеля" в системе объемного звучания, это возможно компилировать код без запуска редактора, отладчика, системы анализа кода и игры змея.
Но ... кто действительно хочет молча смотреть на звезды ?!
источник
Редактор? Мне не нужен никакой вонючий редактор или IDE для написания кода:
Тем не менее, приятно иметь что-то для редактирования файла позже. IDE (интегрированные среды разработки) существуют намного дольше, чем многие люди предлагают в своих ответах. Единственная IDE, которая мне действительно понравилась, была та, которая шла с Turbo C , которая работала на DOS. Это было похоже на кислород для людей, которые были вынуждены дурачиться с Эдлином .
Я испробовал много разных «наборов» IDE по рекомендациям друзей, которые не могли не сказать, сколько времени они экономят и насколько удобно все это делать. Каждый раз, когда я сажусь, чтобы попробовать и использовать один, я обнаруживаю, что борюсь с этим больше, чем использую его.
По большей части, я просто использую самые простые текстовые редакторы. Мой любимый - KATE, который поставляется вместе с KDE. Это те функции, которые мне нравятся:
С этими базовыми функциями я чувствую себя почти испорченным.
Я на самом деле менее продуктивен при работе с многофункциональными IDE и благодарен за то, что никогда не развивал зависимость от них.
источник
IDE не является компилятором, отладчиком или чем-то подобным, на самом деле это интерфейс, который позволяет вам получить доступ ко всем этим, которые обычно являются отдельными программами. За кулисами Visual Studio есть компилятор, к которому вы можете получить доступ как отдельная программа, компилирующая ваши программы из командной строки, и, вероятно, есть отладчик, который также доступен отдельно и т. Д. Я не слишком знаком с его инфраструктурой. потому что я не использую это.
В зависимости от того, кого вы спрашиваете, IDE либо очень полезна, либо имеет тенденцию мешать вам. Это также зависит от того, что вы пишете, от его размера, вашего стиля кодирования и так далее. Я, например, на самом деле не чувствую необходимости слишком много использовать IDE, но я считаю, что некоторые задачи лучше обрабатываются ею (или, в зависимости от того, как вы на это смотрите, что мне лень писать сценарии) / макросы для себя).
источник
Это несомненно. В первом видео речь идет о программировании на Си. Для написания программ на C вам необходимо следующее:
Строго говоря, вам не нужен файл, но я не знаю ни одной среды, которая не использует файл для C / C ++. Таким образом, вам нужен редактор для редактирования исходного кода. Несмотря на то, что работает что-то простое, например блокнот, вам действительно нужно что-то более сложное для кодирования (выделение кода, открытие нескольких файлов одновременно и т. Д.)
Для второго пункта вам нужен компилятор (исходный код -> объектный код) и компоновщик (объединенный объектный код + минимальная поддержка для запуска программы).
Даже с IDE большинство задач, выполняемых за кулисами, могут выполняться из командной строки: например, в Visual Studio IDE по-прежнему использует файлы и вызывает компиляторы для вас из командной строки, но это может работать другим способом ( и, возможно, делает для большей интеграции).
Так почему бы не использовать IDE? Некоторые люди довольно анально относятся к своему редактору кода, потому что они действительно знают это. Например, я довольно продуктивен с редактором кода vi. IDE также ограничены, если вам нужно взаимодействовать с вещами, для которых IDE не была разработана. Здесь есть компромисс, который зависит от способностей программиста, проекта, языков программирования / инструментов и т. Д. ... Некоторые языки даже не имеют достойной IDE, некоторые другие языки практически не работают без таковой. Хотя я сам не использую IDE, одной из областей, где я считаю, что они очень полезны, является отладка интеграции для C и C ++.
источник
printf '#include <stdio.h>\nint main() { printf("Hello, World\\n"); return 0; }' | tcc -run -
Вы, конечно, можете писать программы без графической IDE. Для скомпилированных языков (например, C или C ++) процесс будет выглядеть примерно так:
Для интерпретируемых языков, таких как PHP или Python, вы пишете код в предпочитаемом вами текстовом редакторе (или в интерактивной оболочке, подобной той, что поставляется с Python), и код выполняется интерпретируемой программой. Например, чтобы вызвать скрипт Python, вы должны выполнить что-то вроде
python.exe myScript.py
.Python не является чисто интерпретируемым языком, поскольку он сначала компилируется, но эта скомпилированная форма запускается интерпретатором Python, поэтому он по-прежнему соответствует определению. Другие языки, такие как PHP, полностью интерпретируются.
источник
Да, вы можете написать код без компилятора и без IDE. Все это пишет. Текст.
источник
Я думаю, что вы используете интегрированную среду разработки (IDE). Они обеспечивают подсказки кода и подсветку синтаксиса среди прочего. Компилятор просто берет файлы и компилирует их в машинный код или байт-код. Компилятор обычно используется IDE, посылая ему команду для компиляции ваших файлов.
Можно писать без компилятора. Эти языки используют «интерпретатор» и обрабатывают скрипт во время выполнения.
источник
Все, что делает IDE - это предоставляет несколько инструментов в одном удобном месте, а затем автоматизирует некоторые процессы. Эти инструменты, как правило, ...
Чтобы написать свой источник, вы можете использовать любой текстовый редактор, который производит простой текст, например. Блокнот, Word или специальный текстовый редактор кода.
Если ваш исходный текст находится в текстовом файле, вы можете запустить компилятор через командную строку, передаваемую в тестовом файле, например, cc my_program.c. Это создаст объектный файл, который вы сможете выполнить.
Для отладки вашей программы вы запускаете отладчик через командную строку, передаваемую в вашей программе, например. GDB my_program Затем вы можете установить точки останова, пройти через вашу программу, проверить вещи и т. д.
С IDE все это происходит с нажатием кнопки за кулисами, и IDE помещает причудливый пользовательский интерфейс поверх всего этого.
PS. Настоящие программисты используют командную строку
источник
Я пишу свой повседневный код в редакторе vim (основной текстовый редактор) и могу заверить вас, что он идет гладко (большая часть моего кода - PHP). Специально потому, что мой dev env - это базовый дистрибутив Linux для Linux, и я довольно пользуюсь инструментами оболочки. Я программировал вот так вот уже год, и это мне очень помогло, когда я имел дело с удаленным развертыванием приложений и производственными модификациями, когда вы обычно получали доступ к консоли * Nix через ssh.
источник
Цифровые компьютеры с хранимыми программами используются с 1950-х годов, в то время как графические пользовательские интерфейсы действительно начали появляться только в конце 1960-х (и для конечных пользователей в 1980-х). Люди должны были использовать - и программировать - компьютеры как-то до этого.
Хотя в нем есть некоторые неточности (не каждый пользовательский интерфейс платформы является слоем поверх системы командной строки), вам, вероятно, следует прочесть короткую статью Нила Стивенсона « В начале была командная строка» .
Это действительно заставит вас задуматься о том, как работает ваш компьютер, а также о том, как «можно» программировать без IDE, выполнять настоящую работу с помощью командной строки и так далее.
источник
Вам действительно нужен только текстовый редактор (черт возьми, блокнот будет работать) и компилятор / интерпретатор (что более важно).
Вы сказали что-то о том, чтобы сделать это через командную строку? Дерьмо звучит безумно, но это вполне возможно. Я имею в виду, просто используя встроенную командную строку Windows, вы можете «записать» в файл,
echo "some codez" > target_file.sauce
но вам придетсяА) Будь очень хорош в том, что ты делаешь
Б) Написание простой программы
C) быть сумасшедшим
источник
Вы действительно должны думать, что 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 сегодня немного переоценены)
источник
мигает
Он использует пико, нано клон. Я использую это время от времени. Обычно я использую emacs, который немного менее полезен, но более полезен.
Я не использую IDE, как правило. Иногда я заходил в них для отладки или потому, что было сложно найти цепочку инструментов командной строки (глядя на вас, Xilinx). Я также использую их для набросков C # в тех редких случаях, когда я делаю GUI. Но по моему опыту IDE не очень хорошие редакторы: негибкие, странные аккорды символов, не очень простые в использовании, не поддерживаемые многие языки, занимают слишком много памяти.
Я бы лучше использовал emacs.
Вы должны взглянуть на историю вычислений. Это довольно доступно написано и даст вам прекрасный взгляд на нашу работу.
источник
Вам даже не нужен текстовый редактор. :) :)
Если вы в Windows, попробуйте это:
Если вы в UNIX
А затем просто скомпилируйте его с вашим любимым компилятором командной строки. :)
Очевидно, вы должны написать это правильно с первого раза.
Помните, что настоящие программисты используют бабочек: http://xkcd.com/378/
источник
Вот что интересно: Гарвардская Школа Расширения преподает программирование без IDE ... если только telnet + pico не является тем, что вы подразумеваете под IDE.
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, а также добавлять драйверы и перекомпилировать ядро.
источник
Для работы с базой данных вам просто необходим текстовый редактор (notepad ++) и клиент командной строки, такой как osql или sqlcmd. Даже не компилятор.
источник
Это не только возможно , но - хотя бы раз в жизни - вам приходится заниматься программированием без IDE. Это поможет вам понять процесс компиляции, использование библиотек - возможно, это откроет вам глаза на то, что на самом деле означает программирование.
Кроме того, я думаю, что хороший текстовый редактор лучше, чем IDE. Для MS-Windows я рекомендую PSPad (это была такая сильная вспышка, как MultiEdit была в эпоху MS-DOS), для GNU / Linux попробуйте Geany (возможно, в репозитории вашего дистрибутива).
источник
Для написания программ я использую блокнот на 99 центов с моей верной гелевой ручкой Pilot.
Их я просто заново набираю в Visual Studio код.
Написание программы и кодирование - это две разные вещи (для меня).
источник
Программирование без IDE - отличный способ узнать, что происходит.
Мы начали программировать в школе с простого синтаксического текстового редактора. Компиляция происходила с помощью командной строки (или с помощью простого пакетного сценария).
Только когда мы поняли основы программирования, мы перешли к более мощным редакторам, таким как Eclipse или Visual Studio.
источник
Как и ожидалось, все ответы говорят об одном и том же: «Конечно, вы можете! Это просто текст! Текст текст текст текст!» Вообще говоря, это правда и является лучшим ответом на ваш вопрос. Большинство IDE просто манипулируют текстом.
Но это не всегда так, и в некоторых случаях отказ от текстовой модели приводит к значительным успехам. Эти достижения обычно отвергаются только текстовыми пуристами (а это большинство, потому что «как это было» и «как это должно быть» ... это не совпадение ?!). IBM Visual Age был одним действительно классным примером, который умер ужасной смертью.
Еще один пример, который приходит на ум, и он очень популярен, это Interface Builder для создания продуктов для Mac и iOS. Его вывод - это не текстовые программы, а сериализованные объекты, поэтому вы не можете создавать NIB без использования IB или написания собственного IB.
Пуристы скажут: «Да, но Интерфейсный Разработчик написан в текстовом коде!» Так?
Я искренне верю, что CS как область значительно продвинется, если мы сможем выйти за рамки только текстовой парадигмы. Кроме того, я думаю, что в конечном итоге мы пойдем в этом направлении, но это займет десятилетия. Сначала мы должны выяснить, что лучше,
vi
илиemacs
....источник
В последнее время я обновился до vim. Мне нравится, как он выделяет ключевые слова на любом языке, который я пишу. Вздох, только когда смогу добраться до настоящей ОС и не использовать блокнот.
Моя жена написала COBOL, используя edlin. Я думал, что это было довольно забавно.
Такое улучшение по сравнению с картами перфорации, которые мы использовали, и 24-часовой поворот от операций, чтобы обнаружить, что у нас была опечатка.
У меня есть формы кодирования где-то на чердаке.
У вас были 1 и 0? Мы должны были провести линию через наши 0.
Но вы говорите этим молодым людям сегодня, и они не поверят вам.
к.
источник