Schreiben von Programmen ohne grafische IDE


18

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!


48
Natürlich können Sie ein Programm ohne IDE schreiben. Wie denkst du wurde die erste IDE geschrieben?
Charles Salvia

34
Kinder in diesen Tagen! Ich denke, sie können keine Programme ohne eine ausgefallene IDE schreiben! Warum mussten wir zu meiner Zeit kompilieren, um Code selbst zu
maschinieren, und

33
Diese Frage macht mich traurig. Noch mehr als gewöhnliche Menschen, die Software und Hardware für etwas Magisches halten - Sie sind Programmierer, das sollten Sie besser wissen! (Und für das Protokoll zähle ich wahrscheinlich als Kind für Leute, die Maschinencode verwendet haben.)

10
Es ist keine Befehlszeile, sondern ein terminalbasierter Texteditor. Zwei der beliebtesten Texteditoren, vi und emacs, laufen in Terminals. (Und GUI heutzutage auch).
Lennart Regebro

4
@jas- danke für den konstruktiven und aufschlussreichen Kommentar.
Matt

Antworten:


22

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.


2
Ich bin ein großer Fan von Gedit und KATE. Ich benutze Nano, wenn ich Code aus der Ferne bearbeite.
Tim Post

8
Ich mag Notepad ++. :)
Mateen Ulhaq

meine +1 zu nano und vi!
Crodjer

4
Tatsächlich brauchen Sie auch keinen Texteditor. In UNIX können Sie Code mit catin Windows schreiben, wobei more Sie ihn natürlich gleich beim ersten Mal richtig schreiben müssen. Natürlich benutzen echte Programmierer Schmetterlinge;) xkcd.com/378
OscarRyz

1
@OscarRyz - "Natürlich gibt es einen Emac-Befehl dafür." +1 auf Notepad ++ obwohl
Jetti

11

@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:

python program.py

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:

print("my first program in lua")

Gehen Sie dann zur Eingabeaufforderung (cmd unter Windows, Terminal unter Linux) und führen Sie den Befehl aus:

lua program.lua

Die Schlüsselkonzepte:

  • Ein Rohprogramm ist eine Textdatei. Alles, was Sie wirklich brauchen, um ein Programm zu schreiben, ist ein Texteditor.
  • Wenn Sie eine interpretierte Sprache wählen, benötigen Sie den Interpreter, um Ihr Programm auszuführen (Lua, Basic, Python usw.). Dieser Interpreter muss auf Ihrem Computer installiert sein.
  • Wenn Ihre Sprachauswahl kompiliert ist, benötigen Sie eine installierte Toolchain (hauptsächlich einen Compiler und einen Linker), um Ihren Quellcode in einen maschinenverständlichen und ausführbaren Binärcode zu übersetzen. Jede Sprache (C, Java, C ++, C #, VB.Net usw.) verfügt über eine eigene Toolchain.

Hoffentlich hilft das.


4
Notepad ++ ist viel besser für die Hervorhebung der Syntax! Und vergessen Sie nicht EMACS: D
K-RAN

Haskell ist eine kompilierte Sprache (die auch einen Dolmetscher hat).
Sternberg

Ich finde Notepad2 (oder eher Notepad2-Mod) besser als Notepad ++. ; P code.google.com/p/notepad2-mod
Spoike

@jsternberg, danke für den Input zu Haskell ... Ich kenne die Sprache wirklich nicht so gut, um es zu sagen.
Machado

1
@ K-RAN: Ich verwende nur Emacs, es sei denn, ich verwende XCode für die iPhone-Programmierung. Mit TRAMP ist es nicht mehr aufzuhalten!
Josh

10

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:

$ EDIT/EDT HELLO.C

EDT war das VMS-Äquivalent von vi, das zwischen DOS edlin und Notepad nicht mehr funktioniert. Sie haben Ihren Programmtext eingegeben

#include <stdio.h>

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

Speichern Sie es in der Datei und beenden Sie den Editor.

Dann haben Sie Ihren Code über den Compiler ausgeführt:

$ CC HELLO

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 printfAufruf 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:

$ LINK HELLO

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

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

oder

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

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.


Es tut mir so leid, dass Sie in einem so jungen und beeinflussbaren Alter dem (V) Auslassungs (M) aking (S) -System ausgesetzt waren. Ich hoffe, es hat keine dauerhaften Konsequenzen gebracht ...
Tim Post

2
@ Tim Post: Machst du Witze? Für mich waren das gute Zeiten; Seitdem geht es nur noch bergab.
John Bode

vielleicht höre ich mich ein bisschen bitter an. Zu meiner Verteidigung war ich jedoch derjenige, der ein sehr Ad-hoc-Novell-gesteuertes 3270-Netzwerk über einen Token-Ring aufzeichnen musste. Davon habe ich trotz jahrelanger Therapie immer noch keine Träume.
Tim Post

Interessante Schreibweise von "World".

6

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 ?!


1
Würdest du gerne erklären, wie?
Matt

1
@Matt: ein Programm pro Aufgabe ... Schreiben Sie Code in einen Editor , kompilieren Sie ihn mit einem Compiler , debuggen Sie ihn mit einem Debugger , machen Sie eine Pause und spielen Sie Snake .
Shog9

2
-1 Ich halte das nicht für konstruktiv.
Sixtyfootersdude

1
+1, es ist nicht destruktiv, es ist nur eine Metapher . Fürchte dich nicht vor Humor.
ern0

6

Editor? Ich brauche keinen stinkenden Editor oder IDE, um Code zu schreiben :

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

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:

  • Hervorragende Hervorhebung der Syntax
  • Code falten
  • Einfaches Suchen / Ersetzen durch Regex
  • Inline-Shell-Fenster
  • Inline-Compiler-Fenster / Debugger-Fenster
  • Snippet-Galerie
  • Symbolbetrachter
  • Extrem geringer Speicherbedarf (einige meiner Projekte haben mehrere hundert Quelldateien)
  • Einfache Registerkarten / geteilte Fenster
  • Einfache Sessions statt komplexer "Projekte"
  • (Halb) einfache Plug-In-Architektur

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.


Die meisten Funktionen, die Sie erwähnen, sind in jedem modernen Texteditor für Programmierer verfügbar, nicht nur in IDEs.
Xiong Chiamiov

Ich hasse es, es für Sie zu brechen, aber diese Funktionen machen eine IDE aus.
Devshorts

4

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).


3

Es ist sicherlich. Im ersten Video geht es um C-Programmierung. Zum Schreiben von C-Programmen benötigen Sie Folgendes:

  • Eine Art Quelldatei, in die der Code geschrieben wird
  • eine Toolchain, um diese Quelldatei in eine Binärdatei umzuwandeln. Dies ist das einzige, was eine CPU am Ende verstehen kann.

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 ++.


Ich habe mit dem Editor gelernt, Java zu programmieren. Ich bekam Crimson Editor und benutzte kurz darauf gedit unter Linux, berührte aber eine IDE erst 2 Jahre nachdem ich sie zum ersten Mal aufgegriffen hatte. Derzeit bin ich als Java-Programmierer tätig.
Michael K

Ja, Java ist ein typisches Beispiel, bei dem ich selten Leute getroffen habe, die keine IDE verwenden. Die Sprache ist nur ein Faktor: Domäne, Größe, "Kultur". Ich habe selbst selten eine IDE verwendet (ich mache heutzutage hauptsächlich Python und C, und ich habe noch keine anständige Python-IDE gesehen).
David Cournapeau

Sie können tcc verwenden , um C-Programme zu kompilieren / auszuführen, ohne Dateien zu erstellen:printf '#include <stdio.h>\nint main() { printf("Hello, World\\n"); return 0; }' | tcc -run -
programmerjake

2

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:

  1. Schreiben Sie das Programm in Ihrem bevorzugten Texteditor.
  2. Rufen Sie über die Befehlszeile den Compiler und / oder Linker auf, der Ihr Programm in ausführbaren Computercode konvertiert, und rufen Sie die erforderlichen externen Bibliotheken auf. (Ich bin ein bisschen dunstig in der Reihenfolge der Verlinkung und Kompilierung hier, aber ich bin sicher, dass mich jemand in kürzester Zeit korrigieren wird. :))

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.


1

Ja, Sie können Code ohne Compiler und ohne IDE schreiben. Alles was es ist zu schreiben. Text.


2
Würdest du gerne erklären, wie?
Matt

7
Sie tippen auf Ihrer Tastatur.
Matthew Read

Matthew meint, dass man Programm schreiben kann, aber nichts nutzt. :)
Abimaran Kugathasan

2
@Abimaran Ich bin nicht zu 100% sicher, was Sie meinen, aber Sie können ein Programm ohne Compiler oder IDE ausführen / verwenden. Sprachen können interpretiert, nicht nur kompiliert werden.
Matthew Read

1
@Michael Ich muss nicht zustimmen. Es wird nicht mehr interpretiert, als die analytische Engine die Position ihrer Zahnräder interpretiert.
Matthew Read

1

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.


1
Würdest du gerne erklären, wie?
Matt

Oder Sie könnten in binären programmieren :)
Michael K

oder benutze CIL ..: P Matt aus den Videos, die ich gesehen habe, du kannst so etwas wie BASIC installieren und Anweisungen über die Kommandozeile
Ross

1

Eine IDE bietet lediglich mehrere Tools an einem praktischen Ort und automatisiert dann einige der Prozesse. Diese Tools sind in der Regel ...

  • Ein Texteditor
  • Ein Compiler
  • Ein Debugger
  • Ein Dokumentations-Viewer

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


2
Echte Programmierer verwenden Lochkarten und bauen ihre eigene CPU aus Vor-MOSFET-Transistoren auf. Sie spielen auch Schach mit Stücken aus Beton und wiegen jeweils mindestens 25 Pfund.
Job

1
@Job, Transistoren sind für Weichlinge, der wahre Deal sind die: en.wikipedia.org/wiki/Vacuum_tube
Machado

Ich dachte, wir wären Weicheier und könnten keine Maus heben, geschweige denn eine Schachfigur.
Michael K

2
Echte Programmierer verwenden eine magnetisierte Nadel und eine ruhige Hand. xkcd.com/378
Goran Jovic

1

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.


1

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.


1

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.saucemüssten es aber

A) Seien Sie wirklich gut in dem, was Sie tun

B) Schreiben Sie ein einfaches Programm

C) Sei verrückt nach Fledermaus


1
... oder versuchen, jemanden zu beeindrucken.
Michael K

Oder Sie versuchen, etwas von einem stark ausgelasteten System wiederherzustellen, und haben keine Zeit, den Monitor auszutauschen. Kenne ich schon.
mu ist zu kurz

1

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).


1

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.


1

Sie brauchen nicht einmal einen Texteditor. :) :)

Wenn Sie sich in Windows befinden, versuchen Sie Folgendes:

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

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

Wenn Sie unter UNIX arbeiten

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

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

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/


0

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.

Am einfachsten ist es, Ihre Java-Programme mit einem einfachen Texteditor zu schreiben, dann Dateien mit einem FTP-Programm auf das FAS-System zu übertragen, eine Verbindung über Telnet herzustellen und diese unter FAS zu kompilieren und auszuführen (fas.harvard.edu - Java ist bereits installiert) Dort). Sie MÜSSEN auf FAS sein, um sie für Ihre Hausaufgaben einzureichen. Wenn Sie diese Methode verwenden möchten, sollten Sie sich mit einem der Unix-Texteditoren vertraut machen, damit Sie die erforderlichen schnellen Korrekturen an Ihren Dateien vornehmen oder die Datei lokal aktualisieren und erneut übertragen können. Weitere Informationen zum Übertragen von Dateien finden Sie auf der FAQ-Seite.

Verwenden Sie KEINE Textverarbeitung, zB Word oder WordPerfect! Sie fügen viele Formatierungszeichen hinzu, die Sie nicht sehen, die aber verhindern, dass Ihre Programme jemals kompiliert werden. Unter Windows können Sie Notepad oder Wordpad verwenden und sicherstellen, dass Sie die Dateien als "Textdokument" mit der Erweiterung .java speichern. Wenn das System versucht, ein Suffix ".txt" hinzuzufügen, setzen Sie Ihren Dateinamen und Ihre Dateierweiterung in Anführungszeichen, um dies zu verhindern. Sie können auch einen der Editoren im Abschnitt "Nützliche Downloads" ausprobieren (einer, den wir PC-Anwendern dringend empfehlen, ist der Programmers File Editor). Verwenden Sie auf dem Mac BBEdit Lite (auch auf der Seite Ressourcen verlinkt) oder einen der integrierten Unix-Editoren, die in einem Terminalfenster verfügbar sind. Sie können ein sicheres Telnet-Programm beziehen oder eines verwenden, das Sie haben: Telnet in das FAS-System. und schreiben und bearbeiten Sie Ihre Programme auf dem System. Es gibt drei Unix-Editoren, die Sie ausprobieren können: pico, emacs und vi. Sobald Sie Ihr Programm geschrieben und gespeichert haben, können Sie es wie oben beschrieben auf FAS kompilieren und ausführen

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.


Ich stimme diesem Ansatz tatsächlich zur Hälfte zu. Obwohl ich kein Telnet erzwingen würde - nur eine Befehlszeile und einen Texteditor.
Michael K

0

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.


0

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).


0

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).


Sie schreiben Programme vollständig von Hand auf Papier?

@ Thorbjørn - Ich habe es schon früher gemacht (meistens kurze Spiele) und wenn ich an Algorithmen arbeite, benutze ich normalerweise ein Whiteboard, um sie zu skizzieren, im Gegensatz zu Stift und Papier.
rjzii

Ja, ich schreibe viel Code von Hand. Nicht das gesamte Programm, da Visual Studio viele Dinge automatisiert.
Pablo

0

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.


0

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, vioder emacs...


0

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.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.