Pisanie programów bez graficznego IDE


18

Nie jestem pewien, czy jest to w ogóle możliwe, ale obejrzałem kilka filmów z przykładami programowania, w których wydaje się, że program jest napisany w jakimś wierszu poleceń, a nie w ładnym graficznym IDE. Jestem ciekawy, co może się dziać w tych filmach. Czy można napisać program bez IDE?

Oto dwa przykłady: http://www.youtube.com/watch?v=hFSY9cWjO8o (@ 6 min) http://www.youtube.com/watch?v=tKTZoB2Vjuk (@ 5 min)

Czy ktoś mógłby wyjaśnić, jak to się robi?

Dziękujemy wszystkim za wspaniałą opinię!


48
Oczywiście możesz napisać program bez IDE. Jak myślisz, jak napisano pierwsze IDE?
Charles Salvia,

34
Dzieci w tych czasach! Pomyśl, że nie mogą pisać programów bez fantazyjnego IDE! Dlaczego w moich czasach musieliśmy się samodzielnie skompilować, żeby kodować maszynę, idąc pod górę w obie strony na śniegu ...
JSB ձոգչ

33
To pytanie zasmuca mnie. Nawet bardziej niż zwykli ludzie zakładający, że oprogramowanie i sprzęt są czymś magicznym - jesteś programistą, powinieneś wiedzieć lepiej! (A dla

10
To nie jest linia poleceń, to edytor tekstowy oparty na terminalu. Dwa najpopularniejsze edytory tekstu, vi i emacs, działają w terminalach. (I GUI również w dzisiejszych czasach).
Lennart Regebro

4
@ jas- dzięki za konstruktywny i wnikliwy komentarz.
Matt

Odpowiedzi:


22

Wszystko, czego potrzebujesz, aby napisać program, to edytor tekstu i kompilator (lub tłumacz, jeśli piszesz w języku nieskompilowanym). Kod jest zwykle zwykłym tekstem. Naprawdę, możesz napisać dowolny program, jaki można sobie wyobrazić, używając Notatnika Windows i kompilatora C. z linii poleceń.

Wielu programistów nawet nie używa IDE. Osobiście używałem Gedit (podstawowy edytor tekstowy systemu Linux z podświetlaniem składni) przez najdłuższy czas, zanim w końcu przełączyłem się na Eclipse.

W rzeczywistości nadal używam Gedit, gdy chcę napisać prosty program. Czasami nawet użyję nano, jeśli chcę wymyślić szybki skrypt, ponieważ jestem zbyt niecierpliwy, aby czekać na załadowanie IDE.


2
Jestem wielkim fanem Gedit i KATE. Używam Nano, kiedy edytuję kod zdalnie.
Tim Post

8
Lubię Notepad ++. :)
Mateen Ulhaq

moje +1 do nano i vi!
crodjer

4
W rzeczywistości nie potrzebujesz nawet edytora tekstu. W systemie UNIX możesz pisać kod catw systemie Windows, more oczywiście przy pierwszym użyciu. Oczywiście prawdziwi programiści używają motyli;) xkcd.com/378
OscarRyz

1
@OscarRyz - „” oczywiście jest do tego polecenie emac. ” +1 do Notepad ++
Jetti

11

@Matt, to prostsze niż się wydaje. Spójrzmy na drugi film: Piszą program w języku Python. Python jest językiem interpretującym - co oznacza, że ​​program napisany w Pythonie nie musi być kompilowany, wystarczy go zinterpretować, aby uruchomić.

Jeśli masz prosty edytor, jako notatnik (Windows) lub nano (linux), możesz napisać prosty plik tekstowy, nazwać go, powiedzmy "program.py", i uruchomić interpretowany z wiersza poleceń, jak poniżej:

python program.py

Jeśli chcesz na przykład programować w Lua , możesz napisać prosty plik tekstowy o nazwie "program.lua"za pomocą notatnika lub nano i napisać pojedynczy wiersz w pliku tekstowym, jak poniżej:

print("my first program in lua")

Następnie przejdź do wiersza polecenia (cmd w systemie Windows, terminal w systemie Linux) i uruchom polecenie:

lua program.lua

Kluczowe pojęcia:

  • Surowy program to plik tekstowy. Wszystko, czego naprawdę potrzebujesz, aby napisać program, to edytor tekstu;
  • Jeśli Twój wybór języka jest interpretowany, będziesz potrzebować tłumacza do uruchomienia programu (Lua, Basic, Python itp.). Ten tłumacz musi być zainstalowany na twoim komputerze;
  • Jeśli wybór języka jest skompilowany, będziesz potrzebować zainstalowanego łańcucha narzędzi (głównie kompilatora i linkera), aby przetłumaczyć swój kod źródłowy na kod binarny zrozumiały dla komputera i możliwy do uruchomienia. Każdy język (C, Java, C ++, C #, VB.Net itp.) Ma swój własny zestaw narzędzi.

Mam nadzieję, że to pomaga.


4
Notepad ++ jest znacznie lepszy do podświetlania składni! I nie zapomnij o EMACS: D
K-RAN

Haskell jest językiem skompilowanym (który również posiada tłumacza).
jsternberg

Uważam, że Notepad2 (lub raczej Notepad2-Mod) jest lepszy niż Notepad ++. ; P code.google.com/p/notepad2-mod
Spoike

@jsternberg, dzięki za wkład w Haskell ... Naprawdę nie znam zbyt dobrze języka, żeby to powiedzieć.
Machado

1
@ K-RAN: Używam tylko Emacsa, chyba że używam XCode do programowania iPhone'a. Z TRAMP jest nie do zatrzymania!
Josh

10

Jezu, czuję się teraz stary i nigdy nie musiałem nawet zadzierać z kartami dziurkowania lub przetwarzaniem wsadowym. Do diabła, musiałem tylko raz lub dwa razy korzystać z terminala w trakcie mojej kariery w college'u.

Oto, jak zrobiliśmy to w późnej kredzie (około 1986 r.). Pracowałem nad VAX / VMS za pomocą terminalu VT220 w kolorze bursztynowym na czarnym, który może wyświetlać w formacie 80x24 lub 132x24.

Najpierw uruchomiłeś edytor tekstu:

$ EDIT/EDT HELLO.C

EDT był odpowiednikiem vi systemu VMS, mieszcząc się gdzieś pomiędzy edlinem DOS a Notatnikiem. Wpisałeś tekst programu

#include <stdio.h>

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

zapisał go w pliku, a następnie zamknął edytor.

Następnie uruchomiłeś kod przez kompilator:

$ CC HELLO

Przetłumaczyło to kod źródłowy w HELLO.C i wygenerowało plik obiektowy HELLO.OBJ. Plik obiektowy zawierał kod maszynowy programu, ale nie był jeszcze w formie wykonywalnej. Po pierwsze, rzeczywisty kod binarny dla printfpołączenia nie jest obecny; jest tylko symbol zastępczy. Wciąż musiałeś uruchomić plik obiektowy przez linker , który włączył kod binarny ze standardowej biblioteki (i wszelkich innych bibliotek, których potrzebujesz) i sformatował plik, aby mógł zostać rozpoznany jako plik wykonywalny:

$ LINK HELLO

Wynikiem tego kroku jest plik HELLO.EXE, który jest wykonywalną wersją Twojego programu.

Procedura jest prawie taka sama w każdym nowoczesnym systemie; po prostu poszczególne łańcuchy narzędzi są różne. Na przykład, sekwencja poleceń w typowym systemie Linux byłaby

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

lub

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

Odkąd dorastałem w tym środowisku, nigdy nie zrozumiałem, jak ktoś może potrzebować IDE tylko do napisania swojego kodu. Jednak na początku tego roku zacząłem pracować w Javie i chociaż Eclipse ma wiele, wiele wad, rozumiem, w jaki sposób ktoś może polegać na IDE, aby wykonać swoją pracę. Ponieważ Java jest tak ogromnym językiem w porównaniu do C, a ponieważ wciąż staram się obniżyć dokładniejsze punkty składni, pomaga mieć inteligentne środowisko programistyczne, które wie, w jakich pakietach są poszczególne typy i pomaga mi organizować importowanie.


Bardzo mi przykro, że byłeś narażony na (V) pominięcie (M) aking (S) ystem w tak młodym i wrażliwym wieku. Mam nadzieję, że nie przyniosło to żadnych trwałych konsekwencji ...
Tim Post

2
@Tim Post: Żartujesz? Dla mnie to były dobre czasy; od tego czasu wszystko jest z górki.
John Bode,

może brzmię trochę gorzko. Jednak w mojej obronie, ja był tym, który miał zachować taping razem bardzo Novell ad hoc napędzaną 3270 sieć ponad token ring. Nadal mam z tego czarnuchy pomimo lat terapii.
Tim Post

Interesująca pisownia „Świata”.

6

Tak tak to jest.

Tak jak można zrobić kawę bez jednoczesnego spieniania mleka, jechać do pracy bez rozmowy przez telefon i płacenia podatków lub patrzeć na gwiazdy bez słuchania „lotu trzmiela” na systemie dźwięku przestrzennego, możliwe jest do kompilowania kodu bez uruchamiania edytora, debuggera, systemu analizy kodu i gry w węża.

Ale ... kto naprawdę chce w milczeniu patrzeć na gwiazdy ?!


1
Czy chciałbyś wyjaśnić, w jaki sposób?
Matt

1
@Matt: jeden program na zadanie ... Napisz kod w edytorze , skompiluj go za pomocą kompilatora , debuguj za pomocą debugera , zrób sobie przerwę i zagraj w węża .
Shog9

2
-1 Nie sądzę, że jest to konstruktywne.
sixtyfootersdude

1
+1, to nie jest destrukcyjne, to tylko metafora . Nie bój się humoru.
ern0

6

Redaktor? Nie potrzebuję śmierdzącego edytora ani IDE do pisania kodu:

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

Jednak miło jest mieć coś do edycji pliku później. IDE (zintegrowane środowiska programistyczne) istniały o wiele dłużej niż wiele osób sugeruje w swoich odpowiedziach. Jedyne IDE, które naprawdę mi się podobało, to ten, który był dostarczany z Turbo C , który działał na DOS. To było jak tlen dla ludzi, którzy zostali zmuszeni do skakania z edlinem .

Próbowałem wielu różnych „pakietów” IDE na podstawie rekomendacji od znajomych, którzy nie mogli przestać zachwycać się tym, ile czasu oszczędzają i jak wygodnie wszystko robią. Za każdym razem, gdy siadam i próbuję użyć jednego, okazuje się, że walczę z nim bardziej niż z nim.

W większości korzystam z najprostszych edytorów tekstu. Moim ulubionym jest KATE, która pochodzi z KDE. Oto funkcje, które lubię:

  • Świetne podświetlanie składni
  • Składanie kodu
  • Proste wyszukiwanie / zamiana oparte na wyrażeniach regularnych
  • Wbudowane okno powłoki
  • Okno kompilatora / okno debugera
  • Galeria fragmentów
  • Przeglądarka symboli
  • Niezwykle lekki ślad pamięci (niektóre z moich projektów zawierają kilkaset plików źródłowych)
  • Łatwe zakładki / podzielone okna
  • Proste sesje zamiast skomplikowanych „projektów”
  • (Semi) prosta architektura wtyczek

Dzięki tym podstawowym funkcjom mam wrażenie, że jestem prawie rozpieszczony.

W rzeczywistości jestem mniej produktywny podczas pracy z bogatymi w funkcje IDE i jestem wdzięczny, że nigdy nie rozwinąłem zależności od jednego.


Dla przypomnienia, większość wymienionych przez ciebie funkcji jest dostępna w każdym nowoczesnym edytorze tekstów dla programistów, nie tylko w IDE.
Xiong Chiamiov

Nienawidzę cię łamać, ale te cechy sprawiają, że IDE.
devshorts

4

IDE nie jest kompilatorem, debuggerem ani czymkolwiek podobnym, jest w rzeczywistości interfejsem umożliwiającym dostęp do wszystkich tych programów, które są zwykle osobnymi programami. Za kulisami Visual Studio znajduje się kompilator, do którego można uzyskać dostęp jako osobny program, kompilujący swoje programy z wiersza polecenia, i prawdopodobnie jest też debugger, który jest również dostępny osobno itd. - Nie znam się zbytnio na jego infrastrukturze ponieważ go nie używam.

W zależności od tego, kogo zapytasz, IDE jest albo bardzo przydatne, albo przeszkadza. Zależy to również od tego, co piszesz, od jego rozmiaru, stylu kodowania i tak dalej. Ja, na przykład, naprawdę nie czuję potrzeby zbyt częstego używania IDE, ale uważam, że niektóre zadania lepiej sobie z tym radzą (lub, w zależności od tego, jak na to patrzysz, że jestem zbyt leniwy, aby pisać skrypty / makra dla nich osobiście).


3

To z pewnością jest. W pierwszym filmie chodzi o programowanie C. Aby pisać programy w C, potrzebujesz:

  • jakiś rodzaj plików źródłowych, w których zapisany jest kod
  • łańcuch narzędzi do przekształcenia tego pliku źródłowego w plik binarny, który jest jedyną rzeczą, którą procesor może w końcu zrozumieć.

Ściśle mówiąc, nie potrzebujesz pliku, ale nie znam żadnego środowiska, które nie używa pliku dla C / C ++. Jako taki potrzebujesz edytora do edycji kodu źródłowego. Chociaż działa coś tak prostego jak notatnik, naprawdę chcesz czegoś bardziej skomplikowanego do kodowania (podświetlanie kodu, otwieranie wielu plików jednocześnie itp.).

Po drugie, potrzebujesz kompilatora (kod źródłowy -> kod obiektowy) i linkera (kod obiektu scalony razem + minimalna obsługa do uruchomienia programu).

Nawet w przypadku IDE większość zadań wykonanych za sceną można wykonać z wiersza poleceń: na przykład w Visual Studio IDE nadal używa plików i wywołuje kompilatory w wierszu poleceń, ale może działać w inny sposób ( i może robi to dla większej integracji).

Dlaczego więc nie użyć IDE? Niektóre osoby są dość analne na temat swojego edytora kodu, ponieważ naprawdę to wiedzą. Na przykład jestem dość produktywny dzięki edytorowi kodu vi. IDE są również ograniczone, jeśli musisz wchodzić w interakcje z rzeczami, dla których IDE nie zostało zaprojektowane. Istnieje tutaj kompromis, który zależy od umiejętności programisty, projektu, języków programowania / narzędzi itp. ... Niektóre języki nie mają nawet przyzwoitego IDE, niektóre inne są prawie bezużyteczne bez niego. Chociaż sam nie używam IDE, jednym z obszarów, który moim zdaniem jest bardzo przydatny, jest debugowanie integracji dla C i C ++.


Użyłem notatnika, aby nauczyć się programować w Javie. Mam Crimson Editor i wkrótce potem użyłem gedit na Linuksie, ale nie dotknąłem IDE, chyba że 2 lata po pierwszym uruchomieniu. Moja obecna praca to programista Java.
Michael K

tak, java jest typowym przykładem, w którym rzadko spotykam ludzi, którzy nie używają IDE. Język jest tylko jednym czynnikiem: domena, rozmiar, „kultura” wszystko w tym samym czasie. Rzadko sam używałem IDE (obecnie w większości używam Pythona i C i jeszcze nie widziałem przyzwoitego IDE w Pythonie).
David Cournapeau,

możesz użyć tcc do kompilacji / uruchamiania programów C bez tworzenia plików:printf '#include <stdio.h>\nint main() { printf("Hello, World\\n"); return 0; }' | tcc -run -
programmerjake

2

Z pewnością możesz pisać programy bez graficznego IDE. W przypadku języków skompilowanych (np. C lub C ++) proces przebiegałby mniej więcej tak:

  1. Napisz program w preferowanym edytorze tekstu.
  2. Z wiersza poleceń uruchom kompilator i / lub konsolidator, który przekonwertuje twój program na wykonywalny kod maszynowy i wciągnie wymagane biblioteki zewnętrzne. (Jestem trochę mglisty co do kolejności linkowania i kompilacji tutaj, ale jestem pewien, że ktoś szybko mnie poprawi. :))

W przypadku języków interpretowanych, takich jak PHP lub Python, piszesz kod w preferowanym edytorze tekstu (lub interaktywnej powłoce, takiej jak ten, w którym Python jest dostarczany), a kod jest wykonywany przez interpretowany program. Na przykład, aby wywołać skrypt w języku Python, uruchomisz coś takiego python.exe myScript.py.

Python nie jest językiem czysto interpretowanym, ponieważ najpierw jest kompilowany, ale ta skompilowana forma jest uruchamiana przez interpreter Pythona, więc nadal pasuje do definicji. Inne języki, takie jak PHP, są całkowicie interpretowane.


1

Tak, możesz pisać kod bez kompilatora i bez IDE. Piszę tylko. Tekst.


2
Czy chciałbyś wyjaśnić, w jaki sposób?
Matt

7
Pisz na klawiaturze.
Mateusz

Matthew oznacza, że ​​możesz pisać programy, ale bezużyteczne. :)
Abimaran Kugathasan

2
@Abimaran Nie jestem w 100% pewien, co masz na myśli, ale z pewnością możesz uruchomić / używać programu bez kompilatora lub IDE. Języki można interpretować, a nie tylko kompilować.
Mateusz

1
@Michael Muszę się nie zgodzić. Nie jest to interpretowane bardziej niż silnik analityczny zinterpretował pozycję swoich biegów.
Mateusz

1

Myślę, że masz na myśli zintegrowane środowisko programistyczne (IDE). Zapewniają między innymi podpowiedzi do kodu i podświetlanie składni. Kompilator po prostu pobiera pliki i kompiluje je w kod maszynowy lub kod bajtowy. Kompilator jest zwykle używany przez IDE, wysyłając mu polecenie kompilacji plików.

Można pisać bez kompilatora. Te języki używają „tłumacza” i przetwarzają skrypt w czasie wykonywania.


1
Czy chciałbyś wyjaśnić, w jaki sposób?
Matt

Albo możesz programować binarnie :)
Michael K

lub użyj CIL ..: P Matt z filmów, które widziałem, możesz zainstalować coś takiego jak BASIC i pisać i uruchamiać instrukcje za pomocą wiersza poleceń
Ross

1

IDE udostępnia tylko kilka narzędzi w jednym wygodnym miejscu, a następnie automatyzuje niektóre procesy. Te narzędzia są ogólnie ...

  • Edytor tekstu
  • Kompilator
  • Debuger
  • Przeglądarka dokumentacji

Do napisania swojego źródła możesz użyć dowolnego edytora tekstu, który tworzy zwykły tekst, np. NotePad, Word lub specjalnie zaprojektowany edytor tekstu.

Gdy masz już swoje źródło w pliku tekstowym, możesz uruchomić kompilator za pomocą wiersza poleceń, przekazując plik testowy, np. Cc my_program.c Spowoduje to utworzenie pliku obiektowego, który możesz uruchomić.

Aby debugować program, uruchom debugger za pomocą wiersza poleceń przekazującego program, np. gdb my_program Możesz następnie ustawić punkty przerwania, przejść przez program, sprawdzić rzeczy itp.

W przypadku IDE wszystko to dzieje się po naciśnięciu jednego przycisku za kulisami, a IDE nakłada na to wymyślny interfejs użytkownika.

PS. Prawdziwi programiści używają wiersza polecenia


2
Prawdziwi programiści używają kart perforowanych i budują własny procesor z tranzystorów sprzed MOSFET. Grają też w szachy z kawałkami wykonanymi z betonu i ważącymi co najmniej 25 funtów każdy.
Job

1
@Jac, tranzystory są dla maminsynek, prawdziwą okazją są: en.wikipedia.org/wiki/Vacuum_tube
Machado

Myślałem, że jesteśmy mięczakami i nie jesteśmy w stanie podnieść myszy, a tym bardziej kawałka szachowego.
Michael K

2
Prawdziwi programiści używają namagnesowanej igły i pewnej ręki. xkcd.com/378
Goran Jovic

1

Piszę mój codzienny kod w edytorze vim (podstawowy edytor tekstowy) i mogę cię zapewnić, że działa płynnie (większość mojego kodu to PHP). Szczególnie dlatego, że mój programista env jest dystrybucją Linuksa dla deweloperów i korzystam z narzędzi powłoki. Tak programowałem już od roku i bardzo mi to pomogło w przypadku zdalnego wdrażania aplikacji i modyfikacji produkcji, w których ogólnie masz dostęp do konsoli * Nix przez ssh.


1

cyfrowe komputery z programami przechowywanymi są używane od lat 50. XX wieku, podczas gdy graficzne interfejsy użytkownika zaczęły pojawiać się dopiero pod koniec lat 60. XX wieku (a dla użytkowników końcowych w latach 80.). Ludzie musieli jakoś używać i programować komputery .

Chociaż zawiera pewne nieścisłości (nie interfejs użytkownika każdej platformy jest warstwą na szczycie systemu wiersza poleceń), prawdopodobnie powinieneś przeczytać krótki kawałek Neala Stephensona Na początku była linia poleceń .

Naprawdę sprawi, że zaczniesz myśleć o tym, co na twoim komputerze działa pod maską, o tym, jak „możliwe” jest programowanie bez IDE, wykonywanie prawdziwej pracy za pomocą wiersza poleceń i tak dalej.


1

Naprawdę potrzebujesz tylko edytora tekstu (piekło, notatnik będzie działał) i kompilatora / tłumacza (co ważniejsze).

Powiedziałeś coś o robieniu tego za pomocą wiersza poleceń? Gówno brzmi szalenie, ale jest bardzo możliwe. Mam na myśli tylko użycie wbudowanego w Windows wiersza polecenia, w którym można „zapisać” do pliku, echo "some codez" > target_file.sauceale trzeba

A) Bądź naprawdę dobry w tym, co robisz

B) Pisz prosty program

C) Szaleństwem


1
... lub próbując wywrzeć na kimś wrażenie.
Michael K,

Lub próbujesz odzyskać coś z mocno obskurnego systemu i nie masz czasu na wymianę monitora. Byłem tam, zrobiłem to.
mu jest za krótki

1

Naprawdę musisz pomyśleć, że IDE to po prostu edytor + kompilator + (jakiś rodzaj) Makefile + Debugger (czasami) + Graficzny interfejs użytkownika (czasami), więc oczywiście możesz zrezygnować z używania IDE i zastępujesz je z wybranym przez siebie edytorem (vim, emacs, gedit, notepad ++, [insert_others_here]), kompilatorem (jdk dla java, gcc, platformy SDK lub [insert_Cpp_toolchain_here] dla C ++, interpretera python lub dowolnego łańcucha narzędzi w twoim języku), jakiś plik makefile (jak narzędzia autoh ..., cmake, ant, maven itp.), jakiś debugger (który zwykle jest dołączony do kompilatora), a jeśli chcesz graficznego edytora interfejsu użytkownika (przychodzi na myśl polana) , a tam masz własne IDE bez IDE. To, które podejście jest najlepsze, zależy od ciebie (i myślę, że dzisiejsze IDE są nieco przereklamowane)


1

mruga

Używa pico, nano klon. Używam go od czasu do czasu. Zwykle używam emacsa, który jest nieco mniej pomocny, ale bardziej funkcjonalny.

Nie używam IDE jako ogólnej zasady. Czasami wpadałem na nie w celu debugowania lub ponieważ łańcuch narzędzi wiersza poleceń był trudny do znalezienia (patrząc na ciebie Xilinx). Używam ich również do szkicowania C # w rzadkich przypadkach, gdy robię GUI. Ale IDE nie są bardzo dobrymi edytorami z mojego doświadczenia: nieelastyczne, dziwne akordy znaków, niezbyt łatwe w użyciu, nie obsługiwane wiele języków, zajmują zbyt dużo pamięci.

Wolałbym używać emacsa.

Powinieneś zajrzeć do historii komputerów. Jest dość łatwo napisany i daje wspaniałe spojrzenie na naszą pracę.


1

Nie potrzebujesz nawet edytora tekstu. :) :)

Jeśli jesteś w systemie Windows, spróbuj tego:

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

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

Jeśli jesteś w systemie UNIX

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

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

A następnie po prostu skompiluj go za pomocą swojego ulubionego kompilatora wiersza poleceń. :)

Oczywiście za pierwszym razem musisz to napisać poprawnie.

Pamiętaj, że prawdziwi programiści używają motyli: http://xkcd.com/378/


0

Oto, co jest fajne: Harvard Extension School uczy programowania bez IDE ... chyba że telnet + pico jest tym, co rozumiesz przez IDE.

Najprostszym sposobem jest użycie podstawowego edytora tekstu do napisania programów Java, a następnie przesłanie plików do systemu FAS za pomocą programu FTP, połączenie przez telnet oraz skompilowanie i uruchomienie ich na FAS (fas.harvard.edu - Java jest już zainstalowany tam). MUSZĄ być na FAS, aby przesłać je do zadania domowego. Aby skorzystać z tej metody, możesz chcieć dowiedzieć się wystarczająco dużo o jednym z edytorów tekstu uniksowego, aby móc dokonać niezbędnych szybkich poprawek w swoich plikach lub planować lokalną aktualizację pliku i ponowne przesłanie go. Więcej informacji na temat przesyłania plików znajduje się na stronie FAQ.

NIE używaj edytora tekstu, np. Word lub WordPerfect! Dodają wiele znaków formatujących, których nie widać, ale uniemożliwi to kompilację programów. W systemie Windows możesz używać Notatnika lub Wordpada i pamiętaj, aby zapisać pliki jako „Dokument tekstowy” z rozszerzeniem .java. Jeśli system próbuje dodać sufiks „.txt”, umieść cudzysłowy wokół nazwy pliku i rozszerzenia w polu Zapisz, aby temu zapobiec. Możesz także wypróbować dowolny z edytorów w sekcji Przydatne pliki do pobrania (jeden bardzo zalecamy na komputery PC to Edytor plików programistów). Na Macu użyj BBEdit Lite (również link na stronie Zasoby) lub jednego z wbudowanych edytorów Unix, które są dostępne w oknie terminala. Możesz uzyskać bezpieczny program telnet lub użyć takiego, który masz, telnet w systemie FAS, oraz pisać i edytować swoje programy w systemie. Istnieją trzy edytory uniksowe, które możesz wypróbować: pico, emacs i vi. Po napisaniu programu i zapisaniu go, jak wyżej, możesz go skompilować i uruchomić na 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

Jeśli mnie zapytasz, torturują dzieci, ale to jest w porządku. Jest więcej Spartan, nie mówiąc już o Mothakes, Perioikoi i Helot, niż Harvard może przyznać w danym roku.


Tak to mozliwe. Przypuszczam, że coś takiego jak Notatnik nie jest IDE, ale emacs i Textpad (używałem obu do C, zajęć Java) są uważane za IDE. Teraz ... po zakodowaniu w C # w VS2010, z WinForms i wszystkim, nie chciałbym wracać do edytorów tekstu w pracy - byłbym krzyczony za to, że nie zrobiłem badziewia.

Jednak w przypadku projektów akademickich, gdy przykłady są małe, sensowne jest nie używanie IDE. Pamiętaj: na zajęciach z programowania wstępnego nie ma wielu rzeczywistych problemów. Prawdopodobnie nie będziesz musiał dodawać plików .xml jako zasobów do biblioteki dll; Prawdopodobnie nie musiałbyś dużo debugować, nie musiałbyś używać kontraktów kodowych ani przechodzić z niezarządzanego C ++ do C ++ / ClI, a następnie do C # iz powrotem. Zadania akademickie nie muszą być nieporządne, ponieważ można je wykonać od zera i są mierzone w osobodni / tygodniach. Wszystkie pliki mogą być częścią tylko jednego projektu (nawet dla kompilatorów lub klasy systemu operacyjnego). IDE, takie jak Visual Studio, może faktycznie przeszkadzać, gdy zrobi to prosty plik makefile. Pomyśl o niezliczonych opcjach, które należy skonfigurować. To samo z Eclipse - jest to przerobiony edytor, który można dowolnie dostosowywać. Prosty plik makefile i dwa proste pliki C mogą być wszystkim, czego potrzebujesz. W rzeczywistości masz większą kontrolę w ten sposób, gdy sam określasz każdą flagę. Kodowałem kiedyś tak w laboratorium uniwersyteckim. To zabawne, ale jeden z „osadzonych” (co oznacza, że ​​musiał być tak mały, że zmieściłby się w samolocie) komputerów, które nie miały GUI i myszy :) Wciąż mogłem się zalogować, edytować, kompilować i debuguj program w C, a także dodaj sterowniki i ponownie skompiluj jądro.


Właściwie w połowie zgadzam się z tym podejściem, choć nie wymuszałbym telnet - tylko wiersz poleceń i edytor tekstu.
Michael K

0

Do pracy z bazą danych potrzebujesz tylko edytora tekstu (notepad ++) i klienta wiersza poleceń, takiego jak osql lub sqlcmd. Nawet kompilator.


0

Jest to nie tylko możliwe , ale - przynajmniej raz w życiu - ty musisz zrobić programowania bez IDE. Pomoże ci zrozumieć proces kompilacji, korzystanie z bibliotek - może to otworzy ci oczy, co tak naprawdę oznacza programowanie.

Myślę też, że dobry edytor tekstu jest lepszy niż IDE. W przypadku MS-Windows polecam PSPad (to była tak mocna pamięć flash, jak MultiEdit w erze MS-DOS), w GNU / Linux wypróbuj Geany (może to repozytorium twojej dystrybucji).


0

Używam 99-centowego notebooka z moim zaufanym długopisem żelowym Pilot do pisania programów.

Po prostu ponownie wpisuję kod do Visual Studio.

Pisanie programu i kodowanie to dwie różne rzeczy (dla mnie).


Najpierw piszesz programy ręcznie na papierze?

@ Thorbjørn - Zrobiłem to przed powrotem w ciągu dnia (głównie krótkie gry), a kiedy pracuję nad algorytmami, zwykle używam tablicy, aby je naszkicować, w przeciwieństwie do długopisu i papieru.
rjzii

Tak, piszę dużo kodu ręcznie. Nie cały program, ponieważ Visual Studio automatyzuje wiele rzeczy.
Pablo

0

Programowanie bez IDE to świetny sposób, aby dowiedzieć się, co się dzieje.

Programowanie rozpoczęliśmy w szkole od prostego edytora tekstu w kolorze składni. Kompilacja odbyła się za pomocą wiersza polecenia (lub prostego skryptu wsadowego).

Dopiero gdy zrozumieliśmy podstawy programowania, przeszliśmy do bardziej wydajnych edytorów, takich jak Eclipse lub Visual Studio.


0

Zgodnie z oczekiwaniami wszystkie odpowiedzi mówią to samo: „oczywiście możesz! To tylko tekst! Tekst tekst tekst tekst!” Zasadniczo jest to prawda i jest najlepszą odpowiedzią na twoje pytanie. Większość IDE po prostu manipuluje tekstem.

Ale nie zawsze jest to prawdą, aw niektórych przypadkach odejście od modelu tekstowego powoduje ogromne postępy. Te postępy są zwykle odrzucane przez purystów tekstowych (co jest najbardziej powszechne, ponieważ to, jak było, jest również, jak powinno być ... czy to nie przypadek ?!). IBM Visual Age był jednym naprawdę fajnym przykładem, który umarł straszną śmiercią.

Innym przykładem, który przychodzi mi na myśl, który kopie tyłek i jest bardzo popularny, jest Konstruktor interfejsów do tworzenia produktów Mac i iOS. Jego wynikiem nie są programy tekstowe, lecz obiekty szeregowane, więc nie można tworzyć NIB bez użycia IB lub pisania własnego IB.

Puryści powiedzą „tak, ale Konstruktor interfejsów jest napisany w kodzie tekstowym!” Więc?

Naprawdę wierzę, że CS jako pole znacznie by się rozwinęło, gdybyśmy mogli wyjść poza paradygmat tekstowy. Poza tym myślę, że ostatecznie pójdziemy w tym kierunku, ale zajmie to dekady. Najpierw musimy dowiedzieć się, co jest lepsze, vilub emacs...


0

Ostatnio zaktualizowałem do vima. Podoba mi się, jak wyróżnia słowa kluczowe w dowolnym języku, który piszę. Westchnienie, tylko kiedy mogę dostać się do prawdziwego systemu operacyjnego i nie używać notatnika.

Moja żona napisała COBOL za pomocą edlina. Myślałem, że to całkiem zabawne.

Takie ulepszenie w porównaniu z kartami klawiszy, których używaliśmy, i 24-godzinny zwrot z operacji, aby odkryć, że mamy literówkę.

Mam gdzieś na strychu formularze kodujące.

Miałeś 1 i 0? Musieliśmy narysować linię przez nasze zero.

Ale mówcie to dzisiejszym młodym ludziom, a oni wam nie uwierzą.

jot.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.