Ich bin mir nicht sicher, ob dies überhaupt möglich ist, aber ich habe mir ein paar Videos mit Programmierbeispielen angesehen, in denen es so aussieht, als würde das Programm in einer Art Eingabeaufforderung und nicht in einer netten grafischen IDE geschrieben. Ich bin nur neugierig, was in diesen Videos vor sich geht. Ist es möglich, ein Programm ohne IDE zu schreiben?
Hier zwei Beispiele: http://www.youtube.com/watch?v=hFSY9cWjO8o (@ 6 min) http://www.youtube.com/watch?v=tKTZoB2Vjuk (@ 5 min)
Könnte jemand erklären, wie das gemacht wird?
Vielen Dank für das tolle Feedback!
Antworten:
Alles, was Sie zum Schreiben eines Programms benötigen, ist ein Texteditor und ein Compiler (oder ein Interpreter, wenn Sie in einer nicht kompilierten Sprache schreiben). Code ist normalerweise nur einfacher Text. Sie können wirklich jedes Programm schreiben, das Sie sich mit Windows Notepad und einem Befehlszeilen-C-Compiler vorstellen können.
Viele Programmierer verwenden nicht einmal IDEs. Ich persönlich habe Gedit (einen grundlegenden Linux-Texteditor mit Syntaxhervorhebung) die längste Zeit verwendet, bevor ich schließlich zu Eclipse gewechselt bin.
Tatsächlich verwende ich Gedit immer noch , wenn ich ein einfaches Programm schreiben möchte. Manchmal benutze ich sogar einfach nano, wenn ich ein schnelles Skript erstellen möchte, weil ich zu ungeduldig bin, um auf das Laden einer IDE zu warten.
quelle
cat
in Windows schreiben, wobeimore
Sie ihn natürlich gleich beim ersten Mal richtig schreiben müssen. Natürlich benutzen echte Programmierer Schmetterlinge;) xkcd.com/378@Matt, es ist einfacher als es aussieht. Schauen wir uns das zweite Video an: Sie schreiben ein Python-Programm. Python ist eine interpretierte Sprache - was bedeutet, dass ein in Python geschriebenes Programm nicht kompiliert werden muss, sondern nur interpretiert werden muss, um ausgeführt zu werden.
Wenn Sie einen einfachen Editor haben, als Notizblock (Windows) oder nano (Linux) können Sie eine einfache Textdatei schreiben, nennen Sie es, sagen wir mal,
"program.py"
und der von Kommandozeilen interpretiert laufen, wie folgt:Wenn Sie Programm in mögen Lua zum Beispiel können Sie eine einfache Textdatei schreiben namens
"program.lua"
entweder mit Notizblock oder nano und eine einzige Zeile auf Ihrer Textdatei schreiben , wie folgt:Gehen Sie dann zur Eingabeaufforderung (cmd unter Windows, Terminal unter Linux) und führen Sie den Befehl aus:
Die Schlüsselkonzepte:
Hoffentlich hilft das.
quelle
Jesus, ich fühle mich jetzt alt und musste mich nie mehr mit Lochkarten oder Stapelverarbeitung herumschlagen. Zur Hölle, ich musste im Laufe meiner College-Karriere nur ein oder zwei Mal ein Hardcopy-Terminal benutzen.
So haben wir es in der späten Kreidezeit (um 1986) gemacht. Ich arbeitete an VAX / VMS über ein zeichenbasiertes VT220-Terminal, das entweder 80 x 24 oder 132 x 24 anzeigen konnte.
Zuerst haben Sie den Texteditor gestartet:
EDT war das VMS-Äquivalent von vi, das zwischen DOS edlin und Notepad nicht mehr funktioniert. Sie haben Ihren Programmtext eingegeben
Speichern Sie es in der Datei und beenden Sie den Editor.
Dann haben Sie Ihren Code über den Compiler ausgeführt:
Dadurch wurde der Quellcode in HELLO.C übersetzt und die Objektdatei HELLO.OBJ generiert. Die Objektdatei enthielt den Maschinencode für das Programm, war jedoch noch nicht in ausführbarer Form. Zum einen ist der eigentliche Binärcode für den
printf
Aufruf nicht vorhanden. Es gibt nur einen Platzhalter dafür. Sie mussten die Objektdatei dennoch über einen Linker ausführen , der den Binärcode aus der Standardbibliothek (und allen anderen benötigten Bibliotheken) enthielt und die Datei formatierte, damit sie als ausführbare Datei erkannt werden konnte:Das Ergebnis dieses Schritts ist die Datei HELLO.EXE, die die ausführbare Version Ihres Programms ist.
Das Verfahren ist auf jedem modernen System so ziemlich dasselbe. Es ist nur so, dass die spezifischen Toolchains unterschiedlich sind. Zum Beispiel wäre die Befehlsfolge auf einem typischen Linux-System
oder
Seit ich in dieser Umgebung aufgewachsen bin, habe ich nie verstanden, wie jemand eine IDE brauchen kann , um seinen Code zu schreiben. Anfang dieses Jahres habe ich jedoch angefangen, in Java zu arbeiten, und obwohl Eclipse viele, viele Fehler aufweist, kann ich verstehen, wie sich jemand stark auf eine IDE verlassen kann, um seine Arbeit zu erledigen. Da Java im Vergleich zu C eine so große Sprache ist und ich immer noch versuche, die Syntax zu optimieren, ist es hilfreich, eine intelligente Entwicklungsumgebung zu haben, die weiß, in welchen Paketen sich bestimmte Typen befinden, und die mich beim Organisieren der Importe unterstützt.
quelle
Ja Ja es ist.
So wie es möglich ist, Kaffee zu kochen, ohne gleichzeitig Milch aufzuschäumen, zur Arbeit zu fahren, ohne auch am Telefon zu telefonieren und Ihre Steuern zu zahlen, oder die Sterne zu betrachten, ohne "Hummelflug" über eine Surround-Sound-Anlage zu hören, ist es möglich Code kompilieren, ohne einen Editor, einen Debugger, ein Codeanalysesystem und ein Schlangenspiel auszuführen.
Aber ... wer will schon schweigend auf die Sterne blicken ?!
quelle
Editor? Ich brauche keinen stinkenden Editor oder IDE, um Code zu schreiben :
Es ist jedoch schön, etwas zu haben, um die Datei später zu bearbeiten. IDE (integrierte Entwicklungsumgebungen) gibt es schon viel länger, als viele Leute in ihren Antworten vorschlagen. Die einzige IDE, die mir jemals wirklich gefallen hat, war die mit Turbo C , die unter DOS lief. Es war wie Sauerstoff für die Leute, die gezwungen waren, mit Edlin rumzuschnüffeln .
Ich habe viele verschiedene IDE-Suiten auf Empfehlung von Freunden ausprobiert, die immer wieder davon schwärmen konnten, wie viel Zeit sie sparen und wie praktisch sie alles machen. Jedes Mal, wenn ich mich hinsetze und versuche, eins zu benutzen, stelle ich fest, dass ich es mehr bekämpfe als benutze.
Meistens benutze ich nur den einfachsten Texteditor. Mein Favorit ist zufällig KATE, das mit KDE geliefert wird. Dies sind die Funktionen, die mir gefallen:
Mit nur diesen Grundfunktionen fühle ich mich fast verwöhnt.
Tatsächlich bin ich bei der Arbeit mit funktionsreichen IDEs weniger produktiv und dankbar, dass ich nie eine Abhängigkeit von einer entwickelt habe.
quelle
Eine IDE ist kein Compiler, kein Debugger oder ähnliches, sondern ein Front-End, mit dem Sie auf alle diese Programme zugreifen können, bei denen es sich in der Regel um separate Programme handelt. Hinter den Kulissen von Visual Studio gibt es einen Compiler, auf den Sie als separates Programm zugreifen können und der Ihre Programme über die Eingabeaufforderung kompiliert. Wahrscheinlich gibt es einen Debugger, auf den auch separat zugegriffen werden kann, und so weiter. Ich bin mit seiner Infrastruktur nicht allzu vertraut weil ich es nicht benutze.
Je nachdem, wen Sie fragen, ist eine IDE entweder sehr nützlich oder sie kann Ihnen im Weg stehen. Es hängt auch davon ab, was Sie schreiben, von seiner Größe, Ihrem Codierungsstil und so weiter. Ich für meinen Teil habe nicht wirklich das Bedürfnis, eine IDE zu oft zu verwenden, aber ich bin der Meinung, dass einige Aufgaben besser von ihr erledigt werden (oder ich bin zu faul, um Skripte zu schreiben, je nachdem, wie Sie es sehen) / Makros für die selbst).
quelle
Es ist sicherlich. Im ersten Video geht es um C-Programmierung. Zum Schreiben von C-Programmen benötigen Sie Folgendes:
Genau genommen brauchen Sie keine Datei, aber ich kenne keine Umgebung, die keine Datei für C / C ++ verwendet. Daher benötigen Sie einen Editor, um den Quellcode zu bearbeiten. Obwohl etwas so Einfaches wie der Editor funktioniert, möchten Sie wirklich etwas Aufwendigeres zum Codieren (Hervorheben von Code, gleichzeitiges Öffnen mehrerer Dateien usw.).
Für den zweiten Punkt benötigen Sie einen Compiler (Quellcode -> Objektcode) und einen Linker (zusammengeführter Objektcode + minimale Unterstützung zum Starten des Programms).
Selbst mit einer IDE können die meisten Aufgaben im Hintergrund über die Befehlszeile erledigt werden: In Visual Studio verwendet die IDE beispielsweise weiterhin Dateien und ruft Compiler in der Befehlszeile auf, aber es könnte auch anders funktionieren ( und vielleicht für mehr Integration).
Warum also keine IDE verwenden? Einige Leute sind ziemlich anal in Bezug auf ihren Code-Editor, weil sie es wirklich wissen. Zum Beispiel bin ich mit dem vi-Code-Editor ziemlich produktiv. IDE ist auch eingeschränkt, wenn Sie mit Dingen interagieren müssen, für die die IDE nicht entwickelt wurde. Hier gibt es einen Kompromiss, der von den Fähigkeiten des Programmierers, dem Projekt, den Programmiersprachen / Tools usw. abhängt. Einige Sprachen haben nicht einmal eine anständige IDE, andere Sprachen sind ohne eine fast unbrauchbar. Obwohl ich selbst keine IDE verwende, ist ein Bereich, in dem ich sie für sehr nützlich halte, das Debuggen der Integration für C und C ++.
quelle
printf '#include <stdio.h>\nint main() { printf("Hello, World\\n"); return 0; }' | tcc -run -
Sie können sicherlich Programme ohne grafische IDE schreiben. Für kompilierte Sprachen (zB C oder C ++) würde der Prozess ungefähr so ablaufen:
Für interpretierte Sprachen wie PHP oder Python schreiben Sie Code in Ihrem bevorzugten Texteditor (oder einer interaktiven Shell wie der in Python enthaltenen), und der Code wird von einem interpretierten Programm ausgeführt. Wenn Sie beispielsweise ein Python-Skript aufrufen möchten, führen Sie Folgendes aus
python.exe myScript.py
:Python ist keine rein interpretierte Sprache, da sie zuerst kompiliert wird. Diese kompilierte Form wird jedoch vom Python-Interpreter ausgeführt, sodass sie weiterhin der Definition entspricht. Andere Sprachen wie PHP werden vollständig interpretiert.
quelle
Ja, Sie können Code ohne Compiler und ohne IDE schreiben. Alles was es ist zu schreiben. Text.
quelle
Ich denke, Sie beziehen sich auf die Integrated Development Environment (IDE). Sie bieten unter anderem Codehinweise und Syntaxhervorhebungen. Ein Compiler nimmt die Dateien einfach und kompiliert sie in Maschinencode oder Bytecode. Ein Compiler wird normalerweise von einer IDE verwendet, indem ihr ein Befehl zum Kompilieren Ihrer Dateien gesendet wird.
Es ist möglich, ohne Compiler zu schreiben. Diese Sprachen verwenden einen 'Interpreter' und verarbeiten das Skript zur Laufzeit.
quelle
Eine IDE bietet lediglich mehrere Tools an einem praktischen Ort und automatisiert dann einige der Prozesse. Diese Tools sind in der Regel ...
Zum Schreiben Ihrer Quelle können Sie einen beliebigen Texteditor verwenden, der einfachen Text erzeugt, z. NotePad, Word oder ein speziell entwickelter Code-Texteditor.
Sobald Sie Ihre Quelle in einer Textdatei haben, können Sie Ihren Compiler über die in Ihrer Testdatei übergebene Befehlszeile starten, z. B. cc my_program.c. Dadurch wird eine Objektdatei erstellt, die Sie ausführen können.
Um Ihr Programm zu debuggen, starten Sie Ihren Debugger über die in Ihrem Programm übergebene Befehlszeile, z. gdb my_program Sie können dann Haltepunkte setzen, Ihr Programm durchlaufen, Dinge untersuchen usw.
Bei einer IDE geschieht dies alles mit einem Knopfdruck hinter den Kulissen, und die IDE setzt eine schicke Benutzeroberfläche auf alles.
PS. Echte Programmierer benutzen die Kommandozeile
quelle
Ich schreibe meinen alltäglichen Code in einem VIM-Editor (Basic Text Editor) und kann Ihnen versichern, dass er reibungslos funktioniert (der größte Teil meines Codes ist PHP). Speziell, weil mein dev env eine Linux-Distribution auf Dev-Basis ist und ich die Vorteile von Shell-Tools ausnütze. Ich habe seit einem Jahr so programmiert und das hat mir sehr geholfen, wenn es um die Bereitstellung von Remoteanwendungen und Produktionsänderungen ging, bei denen Sie im Allgemeinen über ssh auf eine * Nix-Konsole zugreifen konnten.
quelle
Digitale Computer mit gespeicherten Programmen werden seit den 1950er Jahren verwendet, während grafische Benutzeroberflächen erst in den späten 1960er Jahren (und für Endbenutzer in den 1980er Jahren) auftauchten. Früher mussten die Leute irgendwie Computer benutzen - und programmieren .
Obwohl es einige Ungenauigkeiten enthält (nicht jede Plattform-Benutzeroberfläche ist eine Ebene auf einem Befehlszeilensystem), sollten Sie wahrscheinlich Neal Stephensons kurzen Artikel „ Am Anfang war die Befehlszeile“ lesen .
Sie werden wirklich über die Dinge auf Ihrem Computer nachdenken, die unter der Haube funktionieren, und wie es "möglich" ist, ohne eine IDE zu programmieren, echte Arbeit mit einer Befehlszeile zu erledigen und so weiter.
quelle
Sie brauchen wirklich nur einen Texteditor (Hölle, Notizblock wird funktionieren) und einen Compiler / Interpreter (das Wichtigste).
Sie haben etwas darüber gesagt, dies über die Befehlszeile zu tun? Scheiße klingt verrückt, ist aber sehr gut möglich. Ich meine, nur mit der in Windows eingebauten Eingabeaufforderung könnten Sie in eine Datei schreiben,
echo "some codez" > target_file.sauce
müssten es aberA) Seien Sie wirklich gut in dem, was Sie tun
B) Schreiben Sie ein einfaches Programm
C) Sei verrückt nach Fledermaus
quelle
Sie müssen wirklich denken, dass eine IDE nur ein Editor + Compiler + (eine Art) Makefile + Debugger (manchmal) + Graphical UI Builder (manchmal) ist, also können Sie sich natürlich dafür entscheiden, überhaupt keine IDE zu verwenden, und Sie ersetzen sie mit einem Editor Ihrer Wahl (vim, emacs, gedit, notepad ++, [insert_others_here]), einem Compiler (jdk für java, gcc, platform SDK oder [insert_Cpp_toolchain_here] für C ++, einem Python-Interpreter oder einer anderen Toolchain Ihrer Sprache), eine Art Makefile (wie autoh ... tools, cmake, ant, maven usw.), eine Art Debugger (der normalerweise im Compiler enthalten ist) und wenn Sie einen grafischen UI-Builder wollen (das kommt mir in den Sinn) , und da hast du deine eigene IDE ohne eine IDE. Welcher Ansatz am besten ist, hängt von Ihnen ab (und ich denke, dass die heutigen IDEs leicht überbewertet sind).
quelle
blinkt
Er benutzt Pico, einen Nano-Klon. Ich benutze es gelegentlich. Normalerweise benutze ich Emacs, was etwas weniger hilfreich ist, aber mehr Funktionen bietet.
Ich benutze keine IDEs als Faustregel. Gelegentlich bin ich zum Debuggen auf sie gestoßen, oder weil die Befehlszeilen-Toolchain eine Qual war (Sie sehen sich Xilinx an). Ich benutze sie auch, um C # in seltenen Fällen zu skizzieren, wenn ich eine GUI mache. Aber IDEs sind meiner Erfahrung nach keine sehr guten Editoren: unflexible, seltsame Zeichenakkorde, nicht sehr einfach zu verwenden, nicht viele unterstützte Sprachen, nehmen zu viel Speicher in Anspruch.
Ich würde lieber Emacs verwenden.
Sie sollten in die Geschichte des Rechnens schauen. Es ist ziemlich leicht zugänglich geschrieben und gibt Ihnen eine wunderbare Perspektive auf unsere Arbeit.
quelle
Sie brauchen nicht einmal einen Texteditor. :) :)
Wenn Sie sich in Windows befinden, versuchen Sie Folgendes:
Wenn Sie unter UNIX arbeiten
Und dann kompilieren Sie es einfach mit Ihrem bevorzugten Befehlszeilen-Compiler. :)
Natürlich muss man es gleich beim ersten Mal richtig schreiben.
Denken Sie daran, dass echte Programmierer Schmetterlinge verwenden: http://xkcd.com/378/
quelle
Hier ist, was Spaß macht: Die Harvard Extension School unterrichtet Programmieren ohne IDE ... es sei denn, Telnet + Pico ist das, was Sie unter einer IDE verstehen.
http://www.fas.harvard.edu/~libe50a/homework.html http://www.fas.harvard.edu/~libe50a/faq.html http://www.fas.harvard.edu/~libe50a /java.html
Wenn Sie mich fragen, foltern sie die Kinder, aber das ist in Ordnung. Es gibt mehr Spartaner, geschweige denn Mothakes, Perioikoi und Helot, als Harvard in einem bestimmten Jahr zugeben kann.
Ja, es ist möglich. Ich nehme an, so etwas wie Notepad ist keine IDE, aber Emacs und Textpad (ich habe beide für C, Java-Kurse verwendet) gelten als IDE. Jetzt ... nach dem Codieren in C # in VS2010 mit WinForms und allem möchte ich nicht mehr zu den Texteditoren bei der Arbeit zurückkehren.
Für akademische Projekte ist es jedoch bei kleinen Beispielen sinnvoll, keine IDE zu verwenden. Denken Sie daran: In Einführungskursen zum Programmieren sind viele reale Probleme nicht vorhanden. Sie müssen einer DLL wahrscheinlich keine XML-Dateien als Ressourcen hinzufügen. Sie müssten wahrscheinlich nicht viel debuggen, Sie müssten keine Codeverträge verwenden oder von einem nicht verwalteten C ++ zu C ++ / ClI, dann zu C # und zurück. Akademische Aufgaben müssen nicht kompliziert sein, da sie von Grund auf erledigt werden können und in Manntagen / Wochen gemessen werden. Alle Dateien können Teil eines einzigen Projekts sein (auch für einen Compiler oder eine Betriebssystemklasse). Eine IDE wie Visual Studio kann Sie tatsächlich daran hindern, ein einfaches Makefile zu erstellen. Denken Sie an die Vielzahl von Optionen, die konfiguriert werden müssen. Das gleiche gilt für Eclipse - es ist ein überentwickelter Editor, der unendlich anpassbar ist. Möglicherweise benötigen Sie nur ein einfaches Makefile und zwei einfache C-Dateien. Tatsächlich haben Sie auf diese Weise in der Regel mehr Kontrolle, wenn Sie jedes Flag selbst angeben. Ich habe einmal so in einem Universitätslabor codiert. Es ist lustig, aber einer der "eingebetteten" Computer (was bedeutet, dass er so klein sein musste, dass er in ein Flugzeug passt) hatte keine GUI und keine Maus :) Ich konnte mich immer noch einloggen, bearbeiten, kompilieren und Debuggen Sie ein C-Programm, fügen Sie Treiber hinzu und kompilieren Sie den Kernel neu.
quelle
Für die Arbeit mit Datenbanken benötigen Sie lediglich einen Texteditor (Notepad ++) und einen Befehlszeilen-Client wie osql oder sqlcmd. Nicht einmal ein Compiler.
quelle
Es ist nicht nur möglich , sondern - zumindest einmal im Leben - Sie haben die Programmierung ohne IDE zu tun. Es wird Ihnen helfen, den Kompilierungsprozess, die Verwendung von Bibliotheken zu verstehen - vielleicht werden Sie dadurch die Augen öffnen, was Programmierung wirklich bedeutet.
Außerdem denke ich, dass ein guter Texteditor besser ist als eine IDE. Für MS-Windows empfehle ich PSPad (es war so ein starkes Flash, wie MultiEdit in der MS-DOS-Ära), für GNU / Linux probiere Geany (vielleicht ist es im Repo deiner Distribution).
quelle
Ich benutze ein 99-Cent-Notebook mit meinem vertrauenswürdigen Pilot-Gelstift, um Programme zu schreiben.
Ihnen habe ich nur den Code in Visual Studio neu eingegeben.
Schreiben eines Programms und Codieren sind zwei verschiedene Dinge (für mich).
quelle
Das Programmieren ohne IDE ist eine großartige Möglichkeit, um zu erfahren, was passiert.
Wir haben in der Schule mit einem einfachen syntaxfarbenen Texteditor angefangen zu programmieren. Die Kompilierung erfolgte über die Eingabeaufforderung (oder über ein einfaches Stapelskript).
Erst als wir die Grundlagen der Programmierung verstanden hatten, wechselten wir zu leistungsfähigeren Editoren wie Eclipse oder Visual Studio.
quelle
Wie erwartet, sagen alle Antworten dasselbe: "Natürlich können Sie das! Es ist nur Text! Text Text Text Text!" Dies ist im Allgemeinen richtig und die beste Antwort auf Ihre Frage. Die meisten IDEs bearbeiten einfach Text.
Dies ist jedoch nicht immer der Fall, und in bestimmten Fällen führt die Abkehr von einem reinen Textmodell zu großen Fortschritten. Diese Fortschritte werden normalerweise von Nur-Text-Puristen zurückgewiesen (das ist fast jeder, denn wie-es-war ist auch wie-es-sein sollte ... ist das kein Zufall ?!). IBM Visual Age war ein wirklich cooles Beispiel, das einen schrecklichen Tod gestorben ist.
Ein weiteres Beispiel, das mir in den Sinn kommt und sehr beliebt ist, ist Interface Builder zum Erstellen von Mac- und iOS-Produkten. Die Ausgabe besteht NICHT aus Textprogrammen, sondern aus serialisierten Objekten. Sie können also keine NIBs erstellen, ohne IB zu verwenden oder Ihre eigene IB zu schreiben.
Puristen werden sagen: "Ja, aber Interface Builder ist in Textcode geschrieben!" So?
Ich bin der festen Überzeugung, dass CS als Fachgebiet einen großen Fortschritt bringen würde, wenn wir über das reine Textparadigma hinausgehen könnten. Darüber hinaus denke ich, dass wir irgendwann in diese Richtung gehen werden, aber es wird Jahrzehnte dauern. Zuerst müssten wir herausfinden, was besser ist,
vi
oderemacs
...quelle
In letzter Zeit habe ich ein Upgrade auf vim durchgeführt. Mir gefällt, wie Keywords in der von mir geschriebenen Sprache hervorgehoben werden. Seufz, nur wenn ich zu einem richtigen Betriebssystem komme und keinen Notizblock benutze.
Meine Frau schrieb COBOL mit Edlin. Ich fand das ziemlich lustig.
Eine solche Verbesserung gegenüber den Keypunch-Karten, die wir früher verwendet haben, und die 24-Stunden-Umkehr von Operationen, nur um festzustellen, dass wir einen Tippfehler hatten.
Ich habe Codierungsformulare irgendwo auf dem Dachboden.
Sie hatten 1er und 0er? Wir mussten eine Linie durch unsere Nullen ziehen.
Aber du sagst es den jungen Leuten heute und sie werden es dir nicht glauben.
j.
quelle