Je ne sais pas si c'est même possible, mais j'ai regardé quelques vidéos avec des exemples de programmation où il semble que le programme soit écrit dans une sorte d'invite de commande plutôt que dans un joli IDE graphique. Je suis juste curieux de savoir ce qui pourrait se passer dans ces vidéos. Est-il possible d'écrire un programme sans IDE?
voici deux exemples: http://www.youtube.com/watch?v=hFSY9cWjO8o (@ 6 min) http://www.youtube.com/watch?v=tKTZoB2Vjuk (@ 5 min)
Quelqu'un pourrait-il expliquer comment cela se fait?
Merci à tous pour vos bons commentaires!
Tout ce dont vous avez besoin pour écrire un programme est un éditeur de texte et un compilateur (ou un interprète si vous écrivez dans une langue non compilée). Le code est généralement en texte brut. Vraiment, vous pouvez écrire n'importe quel programme imaginable à l'aide du Bloc-notes Windows et d'un compilateur C en ligne de commande.
Beaucoup de programmeurs n'utilisent même pas d'IDE. J'ai personnellement utilisé Gedit (un éditeur de texte Linux de base avec mise en évidence de la syntaxe) pendant la plus longue période avant de finalement passer à Eclipse.
En fait, j'utilise Gedit quand je veux écrire un programme simple. Parfois, je vais même simplement utiliser nano si je veux créer un script rapide, car je suis trop impatient d'attendre un IDE à charger).
@Matt, c'est plus simple qu'il n'y paraît. Jetons un coup d'œil à la deuxième vidéo: Ils écrivent un programme python. Python est un langage interprété - ce qui signifie qu'un programme écrit en python n'a pas besoin d'être compilé, il suffit d'être interprété pour s'exécuter.
Si vous avez un éditeur simple, comme bloc-notes (windows) ou nano (linux), vous pouvez écrire un fichier texte simple, nommez-le, disons, "program.py"
, et exécutez l'interprété à partir de la ligne de commande, comme ci-dessous:
python program.py
Si vous souhaitez programmer en Lua par exemple, vous pouvez écrire un simple fichier texte nommé "program.lua"
en utilisant bloc-notes ou nano et écrivez une seule ligne sur votre fichier texte comme ci-dessous:
print("my first program in lua")
Ensuite, allez à l'invite de commande (cmd sur windows, terminal sous linux) et exécutez la commande:
lua program.lua
Les concepts clés:
J'espère que cela pourra aider.
Jésus, je me sens vieux maintenant, et je n'ai même jamais eu à jouer avec les cartes perforées ou le traitement par lots. Bon sang, je n'ai eu à utiliser un terminal papier qu'une ou deux fois au cours de ma carrière universitaire.
Voici comment nous avons fait les choses à la fin du Crétacé (vers 1986). Je travaillais sur VAX/VMS via un terminal basé sur des caractères VT220 ambre sur noir qui pouvait s'afficher en 80x24 ou 132x24.
Tout d'abord, vous avez lancé l'éditeur de texte:
$ EDIT/EDT HELLO.C
EDT était l'équivalent VMS de vi, se situant quelque part dans la capacité entre DOS edlin et Notepad. Vous avez tapé le texte de votre programme
#include <stdio.h>
int main(void)
{
printf("Hello, Stupid\n");
return 0;
}
enregistré dans le fichier, puis quittez l'éditeur.
Ensuite, vous avez exécuté votre code via le compilateur:
$ CC HELLO
Cela a traduit le code source dans HELLO.C et généré le fichier objet HELLO.OBJ. Le fichier objet contenait le code machine du programme, mais il n'était pas encore sous une forme exécutable. D'une part, le code binaire réel pour l'appel printf
n'est pas présent; il n'y a qu'un espace réservé pour cela. Vous deviez toujours exécuter le fichier objet via un linker, qui incorporait le code binaire de la bibliothèque standard (et toutes les autres bibliothèques dont vous avez besoin) et formatait le fichier afin qu'il puisse être reconnu comme un exécutable:
$ LINK HELLO
Le résultat de cette étape est le fichier HELLO.EXE, qui est la version exécutable de votre programme.
La procédure est à peu près la même sur n'importe quel système moderne; c'est juste que les chaînes d'outils spécifiques sont différentes. Par exemple, la séquence de commandes sur un système Linux typique serait
$ vi hello.c
$ gcc -o hello hello.c
ou
$ vi hello.c
$ gcc -c hello.c
$ ld -o hello hello.o -lc
Depuis que j'ai grandi dans cet environnement, je n'ai jamais compris comment quelqu'un pouvait besoin an IDE juste pour écrire son code. Cependant, au début de cette année, j'ai commencé à travailler en Java, et même si Eclipse a ses nombreux défauts, je peux comprendre comment quelqu'un peut s'appuyer fortement sur un IDE pour faire son travail. Puisque Java est un langage si énorme par rapport à C, et depuis J'essaie toujours d'obtenir les points les plus fins de la syntaxe, cela aide à avoir un environnement de développement intelligent qui sait dans quels types de packages sont certains types et m'aide à organiser les importations.
Éditeur? Je n'ai pas besoin d'éditeur puant ou de code IDE to write :
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
Cependant, c'est bien d'avoir quelque chose pour éditer le fichier plus tard. IDE (environnements de développement intégrés) existe depuis bien plus longtemps que beaucoup de gens ne le suggèrent dans leurs réponses. Le seul IDE que j'ai jamais vraiment aimé était celui qui est venu avec Turbo C , qui fonctionnait sous DOS. C'était comme de l'oxygène pour les gens qui avaient été contraints de fouiner avec edlin .
J'ai essayé de nombreuses IDE 'suites' sur les recommandations d'amis qui ne pouvaient s'empêcher de délirer sur le temps qu'ils économisent et la façon dont ils font tout. À chaque fois que je m'assois pour essayer et utiliser un, je trouve que je le combat plus que je l'utilise.
Pour la plupart, j'utilise simplement le plus simple des éditeurs de texte. Mon préféré se trouve être KATE, qui vient avec KDE. Ce sont les fonctionnalités que j'aime:
Avec juste ces fonctionnalités de base, j'ai l'impression d'être presque gâté.
Je suis en fait moins productif lorsque je travaille avec des IDE riches en fonctionnalités, et reconnaissant de n'avoir jamais développé de dépendance à l'égard d'un seul.
Oui oui ça l'est.
Tout comme il est possible de faire du café sans mousser du lait simultanément, de se rendre au travail sans parler aussi au téléphone et de faire ses impôts, ou de regarder les étoiles sans écouter "le vol du bourdon" sur un système de son surround, c'est possible pour compiler du code sans exécuter un éditeur, un débogueur, un système d'analyse de code et un jeu de serpent.
Mais ... qui veut vraiment regarder les étoiles dans silence?!
Un IDE n'est pas un compilateur, un débogueur ou quelque chose de similaire, c'est en fait un frontal qui vous permet d'accéder à tous ces programmes, qui sont généralement des programmes distincts. Dans les coulisses de Visual Studio, il y a un compilateur auquel vous pouvez accéder en tant que programme séparé, compilant vos programmes à partir de l'invite de commandes, et il y a probablement un débogueur qui est également accessible séparément et ainsi de suite - je ne connais pas trop son infrastructure parce que je ne l'utilise pas .
Selon qui vous demandez, un IDE est soit très utile, soit il a tendance à vous gêner. Cela dépend aussi de ce que vous écrivez, de sa taille, de votre style de codage, etc. . Pour ma part, je ne ressens pas vraiment le besoin d'utiliser un IDE trop, mais je pense que certaines tâches sont mieux gérées par lui (ou, selon la façon dont vous le regardez). , que je suis trop paresseux pour écrire moi-même des scripts/macros).
C'est certainement. Dans la première vidéo, il s'agit de la programmation en C. Pour écrire des programmes C, vous avez besoin des éléments suivants:
À strictement parler, vous n'avez pas besoin de fichier, mais je ne connais aucun environnement qui n'utilise pas de fichier pour C/C++. En tant que tel, vous avez besoin d'un éditeur pour modifier le code source. Bien que quelque chose d'aussi simple que le bloc-notes fonctionne, vous voulez vraiment quelque chose de plus élaboré pour faire du codage (surlignage de code, ouverture de plusieurs fichiers en même temps, etc.).
Pour le deuxième point, vous avez besoin d'un compilateur (code source -> code objet) et d'un éditeur de liens (code objet fusionné + support minimal pour démarrer le programme).
Même avec un IDE, la plupart des tâches effectuées en arrière-plan peuvent être effectuées à partir de la ligne de commande: par exemple, dans Visual Studio, le IDE utilise toujours des fichiers et appelle des compilateurs sur la ligne de commande pour vous , mais cela pourrait fonctionner d'une autre manière (et peut-être pour plus d'intégration).
Alors pourquoi ne pas utiliser un IDE? Certaines personnes sont assez anales au sujet de leur éditeur de code, car elles le savent vraiment. Par exemple, je suis assez productif avec l'éditeur de code vi. IDE sont également limités si vous devez interagir avec des choses pour lesquelles le IDE n'a pas été conçu. Il y a un compromis ici qui dépend de la capacité du programmeur, du projet, des langages/outils de programmation , etc ... Certaines langues n'ont même pas un IDE décent, d'autres sont presque inutilisables sans un. Bien que je n'utilise pas IDE moi-même, un domaine où je pense qu'ils sont très utile est le débogage de l'intégration pour C et C++.
Vous pouvez certainement écrire des programmes sans IDE graphique. Pour les langages compilés (par exemple C ou C++), le processus se déroulerait comme ceci:
Pour les langages interprétés comme PHP ou Python, vous écrivez du code dans votre éditeur de texte préféré (ou un shell interactif comme celui Python est fourni avec) et le code est exécuté par un programme interprété. Par exemple, pour appeler un script Python, vous exécutez quelque chose comme python.exe myScript.py
.
Python n'est pas un langage purement interprété, car il est d'abord compilé, mais cette forme compilée est exécutée par l'interpréteur Python, donc il correspond toujours à la définition. D'autres langages tels que PHP sont entièrement interprétés.
Vous n'avez même pas besoin d'un éditeur de texte. :) :)
Si vous êtes sous Windows, essayez ceci:
more > hello.c
#include <stdio.h>
main()
{
printf ("Hello World!\n");
}
Ctrl-C
Si vous êtes sous UNIX
cat > hello.c <<.
#include <stdio.h>
main()
{
printf ("Hello World!\n");
}
.
Et puis compilez-le simplement avec votre compilateur de ligne de commande préféré. :)
Évidemment, vous devez l'écrire correctement la première fois.
N'oubliez pas que les vrais programmeurs utilisent des papillons: http://xkcd.com/378/
Vous devez vraiment penser qu'un IDE n'est qu'un éditeur + compilateur + (une sorte de) Makefile + Debugger (parfois) + Graphical UI Builder (parfois) donc bien sûr vous pouvez choisir de ne pas utilisez un IDE du tout, et vous les remplacez par un éditeur de votre choix (vim, emacs, gedit, notepad ++, [insert_others_here]), un compilateur (jdk for Java, gcc, platform SDK ou [insert_Cpp_toolchain_here] pour C++, python, ou n'importe quelle chaîne d'outils de votre langage), une sorte de makefile (comme les outils autoh ..., cmake, ant, maven, etc.), certains sorte de débogueur (qui est généralement inclus avec le compilateur), et si vous voulez un constructeur graphique d'interface utilisateur (glade vient à l'esprit), et là vous l'avez votre propre IDE sans IDE. la meilleure approche dépend de vous (et je pense que les IDE d'aujourd'hui sont légèrement surévalués)
Oui, vous pouvez écrire du code sans compilateur et sans IDE. Tout ce que c'est, c'est écrire. Texte.
Je pense que vous faites référence à l'environnement de développement intégré (IDE). Ils fournissent entre autres des astuces de code et une mise en évidence de la syntaxe. Un compilateur prend simplement les fichiers et les compile en code machine ou code octet. Un compilateur est généralement utilisé par un IDE en lui envoyant une commande pour compiler vos fichiers.
Il est possible d'écrire sans compilateur. Ces langages utilisent un "interpréteur" et traitent le script au moment de l'exécution.
Tout ce que fait IDE est de fournir plusieurs outils en un seul endroit pratique, puis d'automatiser certains des processus. Ces outils sont généralement ...
Pour écrire votre source, vous pouvez utiliser n'importe quel éditeur de texte qui produit du texte brut, par exemple. Bloc-notes, Word ou un éditeur de texte de code spécialement conçu.
Une fois que vous avez votre source dans un fichier texte, vous pouvez ensuite lancer votre compilateur via la ligne de commande en passant dans votre fichier de test, par exemple cc my_program.c Cela produira un fichier objet que vous pourrez exécuter.
Pour déboguer votre programme, vous lancez votre débogueur via la ligne de commande passant dans votre programme, par exemple. gdb my_program Vous pouvez ensuite définir des points d'arrêt, parcourir votre programme, inspecter des trucs, etc.
Avec un IDE tout cela se produit en appuyant sur un bouton dans les coulisses et le IDE met une interface utilisateur sophistiquée au-dessus de tout cela).
PS. Les vrais programmeurs utilisent la ligne de commande
J'écris mon code de tous les jours dans un éditeur vim (éditeur de texte de base) et je peux vous assurer qu'il se passe bien (la plupart de mon code est PHP). Surtout parce que mon env env est une distribution Linux de base Dev et je profite assez des outils Shell. J'ai programmé comme ça depuis un an maintenant et cela m'a beaucoup aidé lors du déploiement d'applications à distance et des modifications de production où vous avez généralement accès à une console * Nix via ssh.
Vous n'avez vraiment besoin que d'un éditeur de texte (l'enfer, le bloc-notes fonctionnera) et d'un compilateur/interprète (la chose la plus importante).
Vous avez dit quelque chose à propos de le faire via la ligne de commande? La merde semble folle, mais c'est très bien possible. Je veux dire simplement en utilisant l'invite de commande intégrée de Windows, vous pouvez "écrire" dans un fichier via echo "some codez" > target_file.sauce
mais il faudrait
A) Soyez vraiment bon dans ce que vous faites
B) Ecrire un programme simple
C) Soyez fou de merde
clignote
Il utilise pico, un nano clone. Je l'utilise occasionnellement. Habituellement, j'utilise emacs, ce qui est légèrement moins utile, mais plus en vedette.
Je n'utilise pas les IDE en règle générale. Parfois, je suis tombé dessus pour le débogage ou parce que la chaîne d'outils de ligne de commande était difficile à trouver (en vous regardant Xilinx). Je les utilise également pour esquisser C # dans les rares occasions où je fais une interface graphique. Mais les IDE ne sont pas de très bons éditeurs selon mon expérience: des accords de caractères rigides et étranges, pas très faciles à utiliser, peu de langues prises en charge, prennent trop de mémoire.
Je préfère utiliser emacs.
Vous devriez vous pencher sur l'histoire de l'informatique. Il est écrit de façon assez accessible et vous donnera une merveilleuse perspective sur notre travail.
les ordinateurs numériques à programme stocké sont utilisés depuis les années 50, tandis que les interfaces utilisateur graphiques n'ont vraiment commencé à apparaître qu'à la fin des années 60 (et pour les utilisateurs finaux dans les années 80). Les gens devaient utiliser - et programmer - des ordinateurs d'une manière ou d'une autre avant cela.
Bien qu'il contienne certaines inexactitudes (toutes les interfaces utilisateur de la plate-forme ne sont pas une couche au-dessus d'un système en ligne de commande), vous devriez probablement lire le court article de Neal Stephenson Au début était la ligne de commande.
Cela vous fera vraiment réfléchir aux choses sur votre ordinateur, travailler sous le capot, et comment il est "possible" de programmer sans IDE, de faire du vrai travail avec une ligne de commande, etc.
Pour le travail de base de données, vous avez juste besoin d'un éditeur de texte (notepad ++) et d'un client de ligne de commande tel que osql ou sqlcmd. Pas même un compilateur.
Dernièrement, je suis passé à vim. J'aime la façon dont il met en évidence les mots clés dans la langue que j'écris. Soupir, seulement quand je peux accéder à un vrai système d'exploitation et ne pas utiliser le bloc-notes.
Ma femme a écrit COBOL en utilisant edlin. Je pensais que c'était assez drôle.
Une telle amélioration par rapport aux cartes clavier que nous utilisions et le délai de 24 heures après les opérations pour découvrir que nous avions une faute de frappe.
J'ai des formulaires de codage quelque part dans le grenier.
Vous aviez des 1 et des 0? Nous avons dû tracer une ligne à travers nos 0.
Mais vous dites cela aux jeunes aujourd'hui et ils ne vous croiront pas.
j.
Ce n'est pas seulement possible , mais - au moins une fois dans votre vie - vous devez faire de la programmation sans IDE. Cela vous aidera à comprendre le processus de compilation, l'utilisation des bibliothèques - peut-être que cela vous ouvrira les yeux sur ce que signifie vraiment la programmation.
De plus, je pense qu'un bon éditeur de texte est meilleur qu'un IDE. Pour MS-Windows, je recommande PSPad (c'était un flash tellement puissant, comme MultiEdit à l'époque MS-DOS), pour GNU/Linux essayez Geany (peut-être que c'est dans le dépôt de votre distribution).
La programmation sans IDE est un excellent moyen d'apprendre ce qui se passe.
Nous avons commencé à programmer à l'école avec un simple éditeur de texte de couleur syntaxique. La compilation s'est produite avec l'invite de commande (ou via un simple script batch).
Ce n'est que lorsque nous avons compris les bases de la programmation que nous sommes passés à des éditeurs plus puissants comme Eclipse ou Visual Studio.
Comme prévu, toutes les réponses disent la même chose: "bien sûr que vous pouvez! C'est juste du texte! Texte texte texte texte!" C'est vrai, d'une manière générale, et c'est la meilleure réponse à votre question. La plupart des IDE manipulent simplement du texte.
Mais ce n'est pas toujours vrai, et dans certains cas, l'abandon d'un modèle textuel entraîne de grandes avancées. Ces avancées sont généralement repoussées par les puristes du texte uniquement (ce qui est presque tout le monde, car comment-c'était-est aussi comment-il-devrait-être ... n'est-ce pas une coïncidence?!). IBM Visual Age était un exemple vraiment cool qui est mort d'une mort horrible.
Un autre exemple qui vient à l'esprit et qui donne des coups de pied et est très populaire est Interface Builder pour créer des produits Mac et iOS. Sa sortie n'est PAS des programmes de texte mais plutôt des objets sérialisés, vous ne pouvez donc pas créer de NIB sans utiliser IB ou écrire votre propre IB.
Les puristes diront: "oui, mais Interface Builder est écrit en code texte!" Donc?
Je crois vraiment que CS en tant que domaine progresserait considérablement si nous pouvions aller au-delà du paradigme du texte uniquement. Au-delà de cela, je pense que nous irons finalement dans cette direction, mais cela prendra des décennies. Nous devons d'abord déterminer ce qui est le mieux, vi
ou emacs
....
J'utilise un ordinateur portable à 99 cents avec mon fidèle Pilot Gel Pen pour écrire des programmes.
Je les ressaisis simplement dans Visual Studio le code.
L'écriture d'un programme et le codage sont deux choses différentes (pour moi).
Voici ce qui est amusant: Harvard Extension School enseigne la programmation sans IDE ... sauf si telnet + pico est ce que vous entendez par IDE.
La façon la plus simple consiste à utiliser un éditeur de texte de base pour écrire vos programmes Java, puis transférer des fichiers vers le système FAS à l'aide d'un programme FTP, vous connecter via telnet, les compiler et les exécuter sur FAS (fas .harvard.edu - Java est déjà installé là-bas). Ils DOIVENT être sur FAS afin de les soumettre pour vos devoirs. Pour utiliser cette méthode, vous voudrez peut-être en savoir assez sur l'un des Éditeurs de texte Unix pour être en mesure d'apporter les corrections rapides nécessaires à vos fichiers, ou prévoyez de mettre à jour le fichier localement et de le transférer à nouveau. Plus d'informations sur le transfert de fichiers se trouvent sur la page FAQ.
N'utilisez PAS de traitement de texte, par ex. Word ou WordPerfect! Ils ajoutent beaucoup de caractères de formatage que vous ne voyez pas, mais qui empêcheront vos programmes de se compiler. Sous Windows, vous pouvez utiliser le Bloc-notes ou Wordpad et assurez-vous d'enregistrer les fichiers en tant que "Document texte" avec l'extension .Java. Si le système essaie d'ajouter un suffixe ".txt", placez des guillemets autour de votre nom de fichier et de son extension dans la zone Enregistrer pour éviter cela. Vous pouvez également essayer l'un des éditeurs de la section Téléchargements utiles (celui que nous recommandons vivement pour les PC est Éditeur de fichiers de programmeurs). Sur le Mac, utilisez BBEdit Lite (également lié sur la page Ressources), ou l'un des éditeurs Unix intégrés qui sont disponibles dans une fenêtre de terminal. Vous pouvez obtenir un programme telnet sécurisé ou utiliser celui que vous avez, telnet dans le système FAS et écrire et éditer vos programmes sur le système. Il existe trois éditeurs Unix que vous pouvez essayer: pico, emacs et vi. Une fois que vous avez écrit et enregistré votre programme, comme ci-dessus, vous pouvez le compiler et l'exécuter sur 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
Si vous me demandez, ils torturent les enfants, mais ça va. Il y a plus de Spartiates, sans parler de Mothakes, Perioikoi et Helot que Harvard ne peut l'admettre au cours d'une année donnée.
Oui c'est possible. Je suppose que quelque chose comme le Bloc-notes n'est pas un IDE, mais emacs et Textpad (j'ai utilisé les deux pour C, Java coursework) sont considérés comme un IDE. Maintenant ... après avoir codé en C # dans VS2010, avec WinForms et tout, je ne voudrais pas retourner aux éditeurs de texte au travail - je serais crié de ne pas faire de conneries.
Pour les projets académiques, cependant, lorsque les exemples sont petits, il est logique de ne pas utiliser d'IDE. N'oubliez pas: dans les cours de programmation d'introduction, de nombreux problèmes réels ne sont pas présents. Vous n'aurez probablement pas à ajouter des fichiers .xml comme ressources à une DLL; Vous n'auriez probablement pas besoin de le déboguer beaucoup, vous n'auriez pas besoin d'utiliser des contrats de code, ou de passer d'un C++ non géré à C++/ClI, puis à C # et vice-versa. Les devoirs académiques ne doivent pas être compliqués car ils peuvent être effectués à partir de zéro et sont mesurés en jours/semaines. Tous les fichiers peuvent faire partie d'un seul projet (même pour un compilateur ou une classe OS). Un IDE comme Visual Studio peut réellement vous gêner lorsqu'un simple makefile fera l'affaire. Pensez aux myriades d'options que l'on doit configurer. Idem avec Eclipse - c'est un éditeur sur-conçu qui est infiniment personnalisable. Un simple makefile et deux simples fichiers C peuvent être tout ce dont vous avez besoin. En fait, vous avez tendance à avoir plus de contrôle de cette façon, lorsque vous spécifiez chaque indicateur vous-même. J'ai codé comme ça dans un laboratoire universitaire une fois. C'est drôle , mais l'un des ordinateurs "embarqués" (ce qui devait être si petit qu'il pouvait tenir dans un avion) n'avait pas d'interface graphique et pas de souris :) Je pouvais toujours me connecter, éditer, compiler et déboguer un C programme, ainsi que d'ajouter des pilotes et recompiler le noyau.