Não tenho certeza se isso é possível, mas já assisti a alguns vídeos com exemplos de programação em que parece que o programa está sendo escrito em algum tipo de prompt de comando, e não em um IDE gráfico agradável. Estou curioso para saber o que pode estar acontecendo nesses vídeos. É possível escrever um programa sem um IDE?
aqui estão dois exemplos: http://www.youtube.com/watch?v=hFSY9cWjO8o (a 6 min) http://www.youtube.com/watch?v=tKTZoB2Vjuk (a 5 min)
Alguém poderia explicar como isso é feito?
Obrigado a todos pelo ótimo feedback!
Respostas:
Tudo o que você precisa para escrever um programa é um editor de texto e um compilador (ou um intérprete, se estiver escrevendo em um idioma não compilado). Código geralmente é apenas texto simples. Realmente, você pode escrever qualquer programa imaginável usando o Windows Notepad e um compilador C da linha de comando.
Muitos programadores nem usam IDEs. Eu pessoalmente usei o Gedit (um editor de texto básico do Linux com destaque de sintaxe) por mais tempo antes de finalmente mudar para o Eclipse.
De fato, ainda uso o Gedit quando quero escrever um programa simples. Às vezes, eu até uso o nano se quiser criar um script rápido, porque estou impaciente demais para esperar o carregamento do IDE.
fonte
cat
no Windows,more
obviamente, você precisa escrevê-lo da primeira vez. Obviamente, programadores de verdade usam borboletas;) xkcd.com/378@ Matt, é mais simples do que parece. Vamos dar uma olhada no segundo vídeo: Eles estão escrevendo um programa em python. Python é uma linguagem interpretada - o que significa que um programa escrito em python não precisa ser compilado, apenas precisa ser interpretado para ser executado.
Se você possui um editor simples, como bloco de notas (windows) ou nano (linux), pode escrever um arquivo de texto simples, nomeá-lo, digamos
"program.py"
, e executar o interpretado na linha de comando, como abaixo:Se você deseja programar em Lua, por exemplo, pode escrever um arquivo de texto simples chamado
"program.lua"
usando bloco de notas ou o nano e escrever uma única linha no seu arquivo de texto, como abaixo:Então vá ao prompt de comando (cmd no windows, terminal no linux) e execute o comando:
Os principais conceitos:
Espero que ajude.
fonte
Jesus, agora estou velho e nunca tive que mexer com cartões perfurados ou processamento em lote. Inferno, eu só tinha que usar um terminal impresso uma ou duas vezes ao longo da minha carreira na faculdade.
Eis como fizemos as coisas no final do Cretáceo (por volta de 1986). Eu estava trabalhando no VAX / VMS por meio de um terminal baseado em caracteres âmbar sobre preto VT220 que poderia ser exibido em 80x24 ou 132x24.
Primeiro, você acionou o editor de texto:
O EDT era o equivalente do VMS ao vi, caindo em algum lugar entre o DOS edlin e o Bloco de Notas. Você digitou o texto do programa
salvou-o no arquivo e saiu do editor.
Então você executou seu código através do compilador:
Isso traduziu o código-fonte em HELLO.C e gerou o arquivo de objeto HELLO.OBJ. O arquivo de objeto continha o código de máquina do programa, mas ainda não estava em um formato executável. Por um lado, o código binário real da
printf
chamada não está presente; há apenas um espaço reservado para isso. Você ainda precisava executar o arquivo de objeto por meio de um vinculador , que incorporava o código binário da biblioteca padrão (e de qualquer outra biblioteca necessária) e formatava o arquivo para que pudesse ser reconhecido como um executável:O resultado desta etapa é o arquivo HELLO.EXE, que é a versão executável do seu programa.
O procedimento é praticamente o mesmo em qualquer sistema moderno; é que as cadeias de ferramentas específicas são diferentes. Por exemplo, a sequência de comandos em um sistema Linux típico seria
ou
Desde que cresci nesse ambiente, nunca entendi como alguém poderia precisar de um IDE apenas para escrever seu código. No entanto, no início deste ano, comecei a trabalhar em Java e, embora o Eclipse tenha muitas, muitas falhas, posso entender como alguém pode confiar fortemente em um IDE para concluir seu trabalho. Como o Java é uma linguagem tão grande em comparação com o C, e como ainda estou tentando reduzir os pontos mais refinados da sintaxe, ajuda a ter um ambiente de desenvolvimento inteligente que saiba em quais pacotes estão os tipos específicos e me ajude a organizar as importações.
fonte
Sim Sim é isso.
Assim como é possível fazer café sem espumar leite ao mesmo tempo, dirigir para o trabalho sem também falar ao telefone e pagar seus impostos, ou olhar as estrelas sem ouvir "vôo da abelha" em um sistema de som surround, é possível compilar código sem também executar um editor, depurador, sistema de análise de código e jogo de cobra.
Mas ... quem realmente quer olhar as estrelas em silêncio ?!
fonte
Editor? Não preciso de editor fedorento ou IDE para escrever código:
No entanto, é bom ter algo para editar o arquivo posteriormente. O IDE (ambientes de desenvolvimento integrado) existe há muito mais tempo do que muitas pessoas sugerem em suas respostas. O único IDE que eu realmente gostei foi o que veio com o Turbo C , que rodava no DOS. Era como oxigênio para as pessoas que foram forçadas a brincar com Edlin .
Eu tentei muitas 'suítes' IDE diferentes com recomendações de amigos que não conseguiam parar de delirar quanto tempo economizam e quão convenientes eles tornam tudo. Toda vez que me sento para tentar usar um, percebo que luto mais do que o uso.
Na maioria das vezes, eu apenas uso os editores de texto mais simples. Meu favorito é o KATE, que vem com o KDE. Estes são os recursos que eu gosto:
Com apenas esses recursos básicos, sinto que estou quase mimado.
Na verdade, sou menos produtivo ao trabalhar com IDEs ricos em recursos e grato por nunca ter desenvolvido uma dependência.
fonte
Um IDE não é um compilador, um depurador ou qualquer coisa semelhante; na verdade, é um front-end que permite acessar todos esses programas, que normalmente são programas separados. Nos bastidores do Visual Studio, há um compilador que você pode acessar como um programa separado, compilando seus programas no prompt de comando e provavelmente há um depurador que também é acessível separadamente e assim por diante - não estou muito familiarizado com sua infraestrutura porque eu não uso.
Dependendo de quem você pergunta, um IDE é muito útil ou tende a interferir no seu caminho. Também depende do que você está escrevendo, do tamanho, do seu estilo de codificação e assim por diante. Eu, por exemplo, realmente não sinto muita necessidade de usar um IDE, mas acho que algumas tarefas são mais bem manipuladas por ele (ou, dependendo de como você o vê, tenho preguiça de escrever scripts / macros para mim).
fonte
Certamente é. No primeiro vídeo, trata-se de programação C. Para escrever programas em C, você precisa do seguinte:
A rigor, você não precisa de arquivo, mas não conheço nenhum ambiente que não use o arquivo para C / C ++. Como tal, você precisa de um editor para editar o código fonte. Embora algo tão simples quanto o bloco de notas funcione, você realmente deseja algo mais elaborado para codificação (destaque do código, abertura de vários arquivos ao mesmo tempo, etc ...).
Para o segundo ponto, você precisa de um compilador (código fonte -> código do objeto) e um vinculador (código do objeto mesclado + suporte mínimo para iniciar o programa).
Mesmo com um IDE, a maioria das tarefas realizadas nos bastidores pode ser feita na linha de comando: por exemplo, no visual studio, o IDE ainda usa arquivos e chama os compiladores na linha de comando para você, mas pode funcionar de outra maneira ( e talvez faça mais integração).
Então, por que não usar um IDE? Algumas pessoas são bastante analistas sobre seu editor de código, porque realmente sabem disso. Por exemplo, sou bastante produtivo com o editor de código vi. O IDE também é limitado se você precisar interagir com itens para os quais o IDE não foi projetado. Há uma troca aqui que depende da capacidade do programador, projeto, linguagens / ferramentas de programação, etc ... Algumas linguagens nem têm um IDE decente, outras linguagens são quase inutilizáveis sem uma. Embora eu não use o IDE, uma área em que acho que é muito útil é depurar a integração para C e C ++.
fonte
printf '#include <stdio.h>\nint main() { printf("Hello, World\\n"); return 0; }' | tcc -run -
Você certamente pode escrever programas sem um IDE gráfico. Para linguagens compiladas (por exemplo, C ou C ++), o processo seria algo como isto:
Para linguagens interpretadas como PHP ou Python, você escreve código no seu editor de texto preferido (ou em um shell interativo como o que o Python vem) e o código é executado por um programa interpretado. Por exemplo, para invocar um script Python, você executaria algo parecido
python.exe myScript.py
.O Python não é uma linguagem puramente interpretada, uma vez que é compilada primeiro, mas esse formulário compilado é executado pelo interpretador Python, portanto, ainda se encaixa na definição. Outras linguagens como PHP são totalmente interpretadas.
fonte
Sim, você pode escrever código sem um compilador e sem um IDE. Tudo o que é escrever. Texto.
fonte
Eu acho que você está se referindo ao Ambiente de Desenvolvimento Integrado (IDE). Eles fornecem dicas de código e destaque de sintaxe, entre outras coisas. Um compilador apenas pega os arquivos e os compila em código de máquina ou código de bytes. Um compilador geralmente é usado por um IDE enviando um comando para compilar seus arquivos.
É possível escrever sem um compilador. Esses idiomas usam um 'intérprete' e processam o script em tempo de execução.
fonte
Tudo o que um IDE faz é fornecer várias ferramentas em um único local conveniente e automatizar alguns dos processos. Essas ferramentas são geralmente ...
Para escrever sua fonte, você pode usar qualquer editor de texto que produz texto sem formatação, por exemplo. Bloco de notas, Word ou um editor de texto de código criado para esse fim.
Depois de ter sua fonte em um arquivo de texto, você poderá iniciar seu compilador através da linha de comando que passa no seu arquivo de teste, por exemplo, cc my_program.c Isso produzirá um arquivo de objeto que você pode executar.
Para depurar seu programa, você inicia o depurador através da linha de comando que passa no seu programa, por exemplo. gdb my_program Você pode definir pontos de interrupção, percorrer seu programa, inspecionar coisas etc.
Com um IDE, tudo isso acontece com o pressionar de um botão nos bastidores e o IDE coloca uma interface de usuário sofisticada em cima de tudo.
PS. Programadores reais usam a linha de comando
fonte
Eu escrevo meu código diário em um editor vim (editor de texto básico) e posso garantir que ele corra bem (a maior parte do meu código é PHP). Especialmente porque o meu env env é uma distribuição Linux básica do Dev e aproveito bastante as ferramentas de shell. Eu programo assim há um ano e isso me ajudou muito ao lidar com a implantação remota de aplicativos e as modificações de produção, nas quais você geralmente tem acesso a um console * Nix via ssh.
fonte
computadores de programas armazenados digitais estão em uso desde os anos 50, enquanto as interfaces gráficas de usuário só começaram a aparecer no final dos anos 60 (e para os usuários finais nos anos 80). As pessoas tinham que usar - e programar - computadores de alguma forma antes disso.
Embora contenha algumas imprecisões (nem todas as interfaces de usuário da plataforma são uma camada no topo de um sistema de linha de comando), você provavelmente deve ler o pequeno trecho de Neal Stephenson In the Beginning Was the Command Line .
Isso fará com que você pense sobre as coisas no computador funcionando sob o capô e como é "possível" programar sem um IDE, realizar um trabalho real com uma linha de comando e assim por diante.
fonte
Você realmente só precisa de um editor de texto (o inferno, o bloco de notas funcionará) e um compilador / intérprete (a coisa mais importante).
Você disse algo sobre fazê-lo via linha de comando? Merda parece loucura, mas é muito bem possível. Quero dizer, apenas usando o Windows embutido no prompt de comando, você 'poderia' gravar em um arquivo via
echo "some codez" > target_file.sauce
mas você teria queA) Seja realmente bom no que você está fazendo
B) Seja escrevendo um programa simples
C) Seja louco de merda
fonte
Você realmente precisa pensar que um IDE é apenas um Editor + Compilador + (algum tipo de) Makefile + Depurador (às vezes) + Construtor de interface gráfica do usuário (às vezes); portanto, é claro que você pode optar por não usar um IDE e substitui-o eles com um editor de sua escolha (vim, emacs, gedit, notepad ++, [insert_others_here]), um compilador (jdk para java, gcc, plataforma SDK ou [insert_Cpp_toolchain_here] para C ++, interpretador python ou qualquer outra ferramenta que seu idioma tenha), algum tipo de makefile (como autoh ... tools, cmake, ant, maven, etc.), algum tipo de depurador (que geralmente está incluído no compilador) e se você deseja um construtor de interface gráfica do usuário (glade vem à mente) , e você tem seu próprio IDE sem um IDE. Qual abordagem é melhor depende de você (e eu acho que os IDE hoje são superestimados)
fonte
pisca
Ele está usando o pico, um nano clone. Eu uso ocasionalmente. Normalmente, eu uso o emacs, que é um pouco menos útil, mas com mais recursos.
Eu não uso IDEs como regra geral. Ocasionalmente, eu os caia para depuração ou porque a cadeia de ferramentas da linha de comando era difícil de encontrar (olhando para você, Xilinx). Também os uso para esboçar C # nas raras ocasiões em que faço uma GUI. Mas os IDEs não são bons editores na minha experiência: acordes de caracteres estranhos e inflexíveis, pouco fáceis de usar, poucas linguagens suportadas, consomem muita memória.
Eu prefiro usar o emacs.
Você deve examinar a história da computação. É bastante acessível e oferece uma perspectiva maravilhosa do nosso trabalho.
fonte
Você nem precisa de um editor de texto. :) :)
Se você estiver no Windows, tente o seguinte:
Se você estiver no UNIX
E então compile-o com seu compilador de linha de comando favorito. :)
Obviamente, você deve escrevê-lo da primeira vez.
Lembre-se de que programadores reais usam borboletas: http://xkcd.com/378/
fonte
Aqui está o que é divertido: a Harvard Extension School está ensinando programação sem IDE ... a menos que telnet + pico seja o que você quer dizer com 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
Se você me perguntar, eles estão torturando as crianças, mas tudo bem. Há mais espartanos, muito menos Mothakes, Perioikoi e Helot, do que Harvard pode admitir em qualquer ano.
Sim, é possível. Suponho que algo como o Bloco de Notas seja um IDE não, mas o emacs e o Textpad (eu usei ambos para cursos em C, Java) são considerados um IDE. Agora ... depois de codificar em C # no VS2010, com o WinForms e tudo, eu não gostaria de voltar aos editores de texto no trabalho - eu seria gritado por não ter feito nada.
Para projetos acadêmicos, no entanto, quando os exemplos são pequenos, faz sentido não usar IDE. Lembre-se: nas aulas de programação introdutória, muitas questões do mundo real não estão presentes. Você provavelmente não precisará adicionar arquivos .xml como recursos a uma dll; Você provavelmente não precisaria depurar muito, não precisaria usar contratos de código ou passar de um C ++ não gerenciado para C ++ / ClI, depois para C # e vice-versa. As atribuições acadêmicas não precisam ser confusas, pois podem ser feitas do zero e são medidas em dias-homem / semana. Todos os arquivos podem fazer parte de apenas um projeto (mesmo para compiladores ou classe de SO). Um IDE como o Visual Studio pode realmente atrapalhá-lo quando um simples makefile o fará. Pense nas inúmeras opções que é preciso configurar. O mesmo acontece com o Eclipse - é um editor com excesso de engenharia que é infinitamente personalizável. Um makefile simples e dois arquivos C simples podem ser tudo o que você precisa. De fato, você tende a ter mais controle dessa maneira quando especifica cada sinalizador sozinho. Eu codifiquei assim em um laboratório universitário uma vez. É engraçado, mas um dos computadores "incorporados" (o que significava que era tão pequeno que caberia em um avião) não tinha GUI nem mouse :) Eu ainda era capaz de fazer login, editar, compilar e depure um programa em C, adicione drivers e recompile o kernel.
fonte
Para o trabalho no banco de dados, você só precisa de um editor de texto (bloco de notas ++) e um cliente de linha de comando, como osql ou sqlcmd. Nem mesmo um compilador.
fonte
Não é apenas possível , mas - pelo menos uma vez na vida - você precisa programar sem o IDE. Isso o ajudará a entender o processo de compilação, o uso de bibliotecas - talvez isso abra seus olhos para o que realmente significa programação.
Além disso, acho que um bom editor de texto é melhor que um IDE. Para o MS-Windows, recomendo o PSPad (foi um flash tão forte, como o MultiEdit na era do MS-DOS); para o GNU / Linux, tente o Geany (talvez seja o repo da sua distribuição).
fonte
Eu uso um notebook de 99 centavos com a minha confiável Pilot Gel Pen para escrever programas.
Eles acabei de digitar novamente o código no Visual Studio.
Escrever um programa e codificar são duas coisas diferentes (para mim).
fonte
Programar sem um IDE é uma ótima maneira de aprender o que está acontecendo.
Começamos a programar na escola com um simples editor de texto colorido em sintaxe. A compilação aconteceu com o prompt de comando (ou através de um script em lote simples).
Somente quando entendemos o básico da programação, passamos a editores mais poderosos, como Eclipse ou Visual Studio.
fonte
Como esperado, todas as respostas dizem a mesma coisa: "é claro que você pode! É apenas texto! Text text text text!" Isso é verdade, de um modo geral, e é a melhor resposta para sua pergunta. A maioria dos IDEs simplesmente manipula o texto.
Mas nem sempre é verdade e, em certos casos, afastar-se de um modelo somente de texto resulta em grandes avanços. Esses avanços geralmente são rejeitados por puristas somente de texto (o que é quase todo mundo, porque como-era-é também como-deveria-ser ... não é uma coincidência ?!). O IBM Visual Age foi um exemplo muito legal que teve uma morte horrível.
Outro exemplo que vem à mente e é muito popular é o Interface Builder para a criação de produtos para Mac e iOS. Sua saída NÃO é programas de texto, mas objetos serializados, portanto, você não pode criar NIBs sem usar o IB ou escrever seu próprio IB.
Os puristas dirão: "sim, mas o Interface Builder está escrito em código de texto!" Então?
Eu realmente acredito que a CS como um campo avançaria muito se pudéssemos ir além do paradigma somente em texto. Além disso, acho que finalmente iremos nessa direção, mas levará décadas. Primeiro teríamos que descobrir qual é o melhor,
vi
ouemacs
....fonte
Ultimamente eu atualizei para o vim. Gosto de como destaca palavras-chave em qualquer idioma que estou escrevendo. Suspiro, apenas quando posso acessar um sistema operacional real e não usar o bloco de notas.
Minha esposa escreveu COBOL usando edlin. Eu pensei que era muito engraçado.
Essa melhoria em relação aos cartões de digitação que costumávamos usar e às 24 horas de retorno das operações apenas para descobrir que tivemos um erro de digitação.
Tenho formas de codificação em algum lugar no sótão.
Você tinha 1 e 0? Tivemos que desenhar uma linha através dos nossos 0s.
Mas hoje você diz isso aos jovens e eles não acreditam em você.
j.
fonte