Grafik IDE'siz programlar yazma


18

Bunun mümkün olup olmadığından emin değilim ama programın güzel bir grafik IDE yerine bir tür komut isteminde yazıldığı gibi programlama örnekleriyle birkaç video izledim. Sadece bu videolarda neler olup bittiğini merak ediyorum. IDE'siz bir program yazmak mümkün müdür?

iki örnek heres: http://www.youtube.com/watch?v=hFSY9cWjO8o (@ 6 dk) http://www.youtube.com/watch?v=tKTZoB2Vjuk (@ 5 dk)

Herkes bunun nasıl yapıldığını açıklayabilir mi?

Büyük geribildirim için hepinize teşekkür ederim!


48
Açıkçası IDE'siz bir program yazabilirsiniz. Sizce ilk IDE nasıl yazılmıştır?
Charles Salvia

34
Çocuklar bugünlerde! Süslü bir IDE olmadan program yazamayacaklarını düşünün! Neden benim günümde, karda her iki yönde yokuş yukarı yürürken, kendimizi makine kodlamak için derlemek zorunda kaldı ...
JSB ձոգչ

33
Bu soru beni üzüyor. Yazılım ve donanımın büyülü bir şey olduğunu düşünen sıradan insanlardan bile - bir programcısınız, daha iyi bilmelisiniz! (Ve kayıt için propably makine kodu kullanılan insanlar için çocuk olarak sayılır.)

10
Bu bir komut satırı değil, terminal tabanlı bir metin editörü. En popüler metin editörlerinden ikisi, vi ve emacs terminallerde çalışır. (Ve günümüzde de GUI).
Lennart Regebro

4
@ jas- Yapıcı ve anlayışlı yorum için teşekkürler.
Matt

Yanıtlar:


22

Bir program yazmak için tek ihtiyacınız olan bir metin editörü ve bir derleyicidir (veya derlenmemiş bir dilde yazıyorsanız bir tercüman). Kod genellikle sadece düz metindir. Gerçekten, Windows Not Defteri ve bir komut satırı C derleyicisi kullanarak akla gelebilecek herhangi bir program yazabilirsiniz.

Birçok programcı IDE kullanmıyor. En sonunda Eclipse'e geçmeden önce kişisel olarak Gedit'i (sözdizimi vurgulamalı temel bir Linux metin editörü) kullandım.

Aslında, basit bir program yazmak istediğimde hala Gedit kullanıyorum. Bazen hızlı bir komut dosyası hazırlamak istersem nano'yu bile kullanırım , çünkü IDE'nin yüklenmesini beklemek için sabırsızım.


2
Ben Gedit ve KATE'nin büyük hayranıyım. Kodu uzaktan düzenlerken Nano kullanıyorum.
Tim Post

8
Notepad ++ 'ı seviyorum. :)
Mateen Ulhaq

nano ve vi için + 1'im!
crodjer

4
Aslında bir metin düzenleyicisine bile ihtiyacınız yok. UNIX'te catWindows ile birlikte kod more yazabilirsiniz, ilk seferinde doğru yazmanız gerekir. Tabii ki, gerçek programcılar kelebekler kullanıyor;) xkcd.com/378
OscarRyz

1
@OscarRyz - "'Tabii bunun için bir emac komutu var." Notepad ++ 'ya +1 +
Jetti

11

@Matt, göründüğünden daha basit. İkinci videoya bir göz atalım: Bir python programı yazıyorlar. Python yorumlanmış bir dildir - yani python ile yazılmış bir programın derlenmesine gerek yoktur, sadece çalıştırılması için yorumlanması gerekir.

Basit bir düzenleyiciniz varsa, not defteri (windows) veya nano (linux) olarak basit bir metin dosyası yazabilir, adlandırabilir, diyelim "program.py", ve yorumlananları komut satırından aşağıdaki gibi çalıştırabilirsiniz:

python program.py

Örneğin, Lua'da programlamak istiyorsanız, not defteri veya nano"program.lua" kullanarak adlandırılmış basit bir metin dosyası yazabilir ve metin dosyanıza aşağıdaki gibi tek bir satır yazabilirsiniz:

print("my first program in lua")

Sonra komut istemine gidin (pencerelerde cmd, linux'daki terminal) ve komutu çalıştırın:

lua program.lua

Anahtar kavramlar:

  • Ham program bir metin dosyasıdır. Gerçekten bir program yazmak için tek ihtiyacınız olan bir metin editörüdür;
  • Dil seçiminiz yorumlanmışsa, programınızı çalıştırmak için tercümana ihtiyacınız olacaktır (Lua, Basic, Python, vb.). Bu yorumlayıcı bilgisayarınıza yüklenmiş olmalıdır;
  • Dil seçiminiz derlenmişse , kaynak kodunuzu ikili makine tarafından anlaşılabilir ve çalıştırılabilir bir koda çevirmek için yüklü bir araç zincirine (esas olarak bir derleyici ve bir bağlayıcı) ihtiyacınız olacaktır . Her dilin (C, Java, C ++, C #, VB.Net, vb ...) kendi araç zinciri vardır.

Umarım yardımcı olur.


4
Notepad ++ sözdizimi vurgulamak için çok daha iyidir! EMACS'ı da unutmayın: D
K-RAN

Haskell derlenmiş bir dildir (ayrıca bir tercümanı vardır).
jsternberg

Notepad2 (ya da Notepad2-Mod yerine) Notepad ++ 'dan daha iyi olduğunu düşünüyorum. ; P code.google.com/p/notepad2-mod
52'de Spoike

@jsternberg, Haskell'deki girdi için teşekkürler ... Dili anlatamayacak kadar iyi bilmiyorum.
Machado

1
@ K-RAN: iPhone programlama için XCode kullanmıyorsam, kullandığım tek şey Emacs. TRAMP ile durdurulamaz!
Josh

10

Tanrım, şimdi kendimi yaşlı hissediyorum ve yumruk kartlarıyla veya toplu işlemlerle uğraşmak zorunda bile kalmadım. Cehennem, üniversite kariyeri boyunca basılı kopya terminalini sadece bir ya da iki kez kullanmak zorunda kaldım.

Geç Kretase döneminde (1986 dolaylarında) işleri nasıl yaptık. VAX / VMS üzerinde 80x24 veya 132x24 boyutlarında görüntülenebilen VT220 siyah üzerine siyah karakter tabanlı bir terminal aracılığıyla çalışıyordum.

İlk olarak, metin düzenleyiciyi işlediniz:

$ EDIT/EDT HELLO.C

EDT, VI'nın VMS eşdeğeriydi ve DOS edlin ile Notepad arasında bir yerde düşüyordu. Program metninizi yazdınız

#include <stdio.h>

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

dosyayı dosyaya kaydedip editörden çıkıldı.

Sonra kodunuzu derleyici üzerinden çalıştırdınız:

$ CC HELLO

Bu, HELLO.C içindeki kaynak kodunu çevirdi ve HELLO.OBJ nesne dosyasını oluşturdu. Nesne dosyası programın makine kodunu içeriyordu, ancak henüz çalıştırılabilir bir biçimde değildi. Birincisi, printfçağrı için gerçek ikili kod mevcut değildir; bunun için sadece bir yer tutucu var. Nesne dosyasını , standart kitaplıktan (ve ihtiyacınız olan diğer kitaplıklardan) ikili kodu içeren ve yürütülebilir bir dosya olarak algılanabilmesi için biçimlendiren bir bağlayıcı aracılığıyla çalıştırmanız gerekiyordu:

$ LINK HELLO

Bu adımın sonucu, programınızın yürütülebilir sürümü olan HELLO.EXE dosyasıdır.

Prosedür herhangi bir modern sistemde hemen hemen aynıdır; sadece belirli takım zincirlerinin farklı olması. Örneğin, tipik bir Linux sistemindeki komutların sırası

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

veya

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

Bu ortamda büyüdüğüm için, birinin sadece kodunu yazmak için nasıl bir IDE'ye ihtiyacı olabileceğini hiç anlamadım . Ancak, bu yılın başlarında Java'da çalışmaya başladım ve Eclipse'in çok sayıda hatası olsa da, birisinin işlerini yapmak için bir IDE'ye nasıl güvenebileceğini anlayabiliyorum. Java, C ile karşılaştırıldığında çok büyük bir dil olduğundan ve hala sözdiziminin daha ince noktalarını indirmeye çalıştığımdan, belirli türlerin hangi paketlerde olduğunu bilen ve ithalatı düzenlememe yardımcı olan akıllı bir geliştirme ortamına sahip olmaya yardımcı oluyor.


Çok genç ve etkileyici bir yaşta (V) ihmal (M) aking (S) sistemine maruz kaldığınız için üzgünüm. Umarım kalıcı bir sonuç vermez ...
Tim Post

2
@Tim Post: Dalga mı geçiyorsun? Benim için iyi zamanlardı; o zamandan beri yokuş aşağı geçti.
John Bode

belki biraz acı duyuyorum. Ancak, benim savunmasında, ben oldu araya token ring üzerinde çok geçici Novell sürülen 3270 ağını bantlama tutmak zorunda kimse. Yıllarca süren tedaviye rağmen hala nigtmarlar var.
Tim Post

"Dünya" nın ilginç yazımı.

6

Evet evet o.

Aynı anda sütü köpürtmeden kahve yapmak, telefonda konuşmadan ve vergilerinizi yapmadan çalışmak için araba kullanmak veya bir surround ses sisteminde "yaban arısının uçuşunu" dinlemeden yıldızlara bakmak gibi, mümkün editör, hata ayıklayıcı, kod analiz sistemi ve yılan oyunu çalıştırmadan kod derlemek.

Ama ... Gerçekten de yıldız bakışları isteyen sessizlik ?!


1
Nasıl olduğunu açıklamak ister misiniz?
Matt

1
@Matt: görev başına bir program ... Bir düzenleyicide kod yazın , bir derleyici kullanarak derleyin , bir hata ayıklayıcı kullanarak hata ayıklayın , bir mola verin ve yılan oynayın .
Şok9

2
-1 Bunun yapıcı olduğunu düşünmüyorum.
sixtyfootersdude

1
+1, yıkıcı değil, sadece bir metafor . Mizahtan korkma.
ern0

6

Editör? Kod yazmak için kokuşmuş editör veya IDE'ye ihtiyacım yok :

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

Ancak, dosyayı daha sonra düzenlemek için bir şeye sahip olmak güzel. IDE (entegre geliştirme ortamları) birçok kişinin yanıtlarında önerdiğinden çok daha uzun süredir var. Gerçekten sevdiğim tek IDE , DOS üzerinde çalışan Turbo C ile birlikte gelen IDE idi . Edlin ile uğraşmak zorunda kalan insanlar için oksijen gibiydi .

Ne kadar zaman kazandıkları ve her şeyi ne kadar uygun hale getirdikleri hakkında çılgınca durduramayan arkadaşların önerileri üzerinde birçok farklı IDE 'süiti' denedim. Birini denemek ve kullanmak için her oturduğumda, onu kullanmaktan daha çok savaştığımı görüyorum.

Çoğunlukla, en basit metin editörlerini kullanıyorum. Benim favorim KDE ile gelen KATE. Bunlar benim gibi özellikler:

  • Harika sözdizimi vurgulama
  • Kod katlama
  • Basit normal ifade tabanlı arama / değiştirme
  • Satır içi kabuk penceresi
  • Satır içi derleyici penceresi / hata ayıklayıcı penceresi
  • Snippet galerisi
  • Sembol görüntüleyici
  • Son derece hafif bellek alanı (bazı projelerimde birkaç yüz kaynak dosyası var)
  • Kolay sekmeler / bölünmüş pencereler
  • Karmaşık 'projeler' yerine basit oturumlar
  • (Yarı) basit eklenti mimarisi

Sadece bu temel özelliklerle, neredeyse şımarık gibi hissediyorum.

Zengin özelliklere sahip IDE'lerle çalışırken aslında daha az üretkenim ve birisine bağımlılık geliştirmediğim için minnettarım.


Kayıt için, bahsettiğiniz özelliklerin çoğu, sadece IDE'lerde değil, herhangi bir modern programcının metin düzenleyicisinde mevcuttur.
Xiong Chiamiov

Size kırmaktan nefret ediyorum, ama bu özellikler bir IDE yapan şeydir.
devshorts

4

Bir IDE bir derleyici, bir hata ayıklayıcı veya benzeri bir şey değildir, aslında tipik olarak ayrı programlar olan tüm bunlara erişmenizi sağlayan bir ön uçtur. Visual Studio'nun perde arkasında, programlarınızı Komut İsteminden derleyen ayrı bir program olarak erişebileceğiniz bir derleyici var ve muhtemelen ayrı olarak erişilebilen ve benzeri bir hata ayıklayıcı var - Altyapısına çok aşina değilim çünkü kullanmıyorum.

Kime sorduğunuza bağlı olarak, bir IDE çok kullanışlıdır veya yolunuza girme eğilimindedir. Ayrıca ne yazdığınıza, boyutuna, kodlama stilinize vb. Bağlıdır. Birincisi, IDE kullanma gereğini çok fazla hissetmiyorum, ancak bazı görevlerin daha iyi ele alındığını (veya ona nasıl baktığınıza bağlı olarak, senaryo yazmak için çok tembel olduğumu) düşünüyorum / kendim için makrolar).


3

Bu kesinlikle. İlk videoda bu C programlama ile ilgilidir. C programları yazmak için aşağıdakilere ihtiyacınız vardır:

  • kodun yazıldığı bir tür kaynak dosya
  • bu kaynak dosyayı bir ikiliye dönüştüren bir araç zinciri, bu da CPU'nun sonunda anlayabileceği tek şey.

Kesinlikle konuşmak gerekirse, dosyaya ihtiyacınız yok, ancak C / C ++ için dosya kullanmayan bir ortam bilmiyorum. Bu nedenle, kaynak kodunu düzenlemek için bir düzenleyiciye ihtiyacınız vardır. Not defteri kadar basit bir şey çalışıyor olsa da, gerçekten kodlama yapmak için daha ayrıntılı bir şey istersiniz (kod vurgulama, aynı anda birden fazla dosya açma vb.).

İkinci nokta için, bir derleyiciye (kaynak kodu -> nesne kodu) ve bir bağlayıcıya (birleştirilmiş nesne kodu + programı başlatmak için minimum destek) ihtiyacınız vardır.

Bir IDE ile bile, sahnenin arkasında yapılan çoğu görev komut satırından yapılabilir: örneğin, görsel stüdyoda, IDE hala dosyaları kullanır ve komut satırında derleyicileri çağırır, ancak başka bir şekilde çalışabilir ( ve belki de daha fazla entegrasyon için yapar).

Öyleyse neden IDE kullanmıyorsunuz? Bazı insanlar kod editörleri hakkında oldukça anal, çünkü gerçekten biliyorlar. Örneğin, vi kod editörü ile oldukça üretkenim. IDE'nin tasarlanmadığı şeylerle etkileşime girmeniz gerekirse IDE de sınırlıdır. Burada programcı yeteneğine, projeye, programlama dillerine / araçlarına vb.Geçen bir takas vardır ... Bazı diller iyi bir IDE'ye sahip değildir, bazı diller neredeyse hiç kullanılmaz. IDE'yi kendim kullanmama rağmen, çok yararlı olduklarını düşündüğüm bir alan, C ve C ++ için entegrasyon hatalarını ayıklamak.


Java'da programlamayı öğrenmek için not defteri kullandım. Crimson Editor'ı aldım ve kısa bir süre sonra Linux'ta gedit kullandım, ancak ilk kez aldıktan sonra muhtemelen 2 yıl öncesine kadar bir IDE'ye dokunmadım. Şu anki işim bir Java programcısı.
Michael K

evet, java IDE kullanmayan insanlarla nadiren karşılaştığım tipik bir örnektir. Dil sadece bir faktördür: etki alanı, boyut, "kültür" tüm faktör. Nadiren bir IDE kullandım (çoğunlukla python ve C yapıyorum ve henüz iyi bir python IDE görmedim).
David Cournapeau

Dosya oluşturmadan C programlarını derlemek / çalıştırmak için tcc'yi kullanabilirsiniz :printf '#include <stdio.h>\nint main() { printf("Hello, World\\n"); return 0; }' | tcc -run -
programmerjake

2

Grafik IDE'siz programlar yazabilirsiniz. Derlenmiş diller için (örn. C veya C ++) işlem şu şekilde olur:

  1. Programı tercih ettiğiniz metin düzenleyicisine yazın.
  2. Komut satırından, programınızı yürütülebilir makine koduna dönüştürecek ve gerekli harici kütüphaneleri çekecek derleyici ve / veya bağlayıcıyı çağırın. (Buradaki bağlantı ve derleme sırasına biraz pusluyum, ama eminim birileri beni hemen düzeltir. :))

PHP veya Python gibi yorumlanmış diller için, tercih ettiğiniz metin düzenleyicisine (veya Python ile birlikte gelen etkileşimli bir kabuk) kod yazarsınız ve kod yorumlanmış bir program tarafından yürütülür. Örneğin, bir Python betiği çağırmak için şöyle bir şey çalıştırırsınız python.exe myScript.py.

Python tamamen yorumlanmış bir dil değildir, çünkü önce derlenir, ancak bu derlenmiş form Python yorumlayıcısı tarafından çalıştırılır, bu yüzden yine de tanıma uyar. PHP gibi diğer diller tamamen yorumlanır.


1

Evet, derleyici olmadan ve IDE olmadan kod yazabilirsiniz. Tek yazdığı şey. Metin.


2
Nasıl olduğunu açıklamak ister misiniz?
Matt

7
Klavyenizden yazıyorsunuz.
Matthew Oku

Matthew demek ki, program yazabilirsiniz, ama faydası yok. :)
Abimaran Kugathasan

2
@Abimaran Ne demek istediğinden% 100 emin değilim, ama kesinlikle bir programı derleyici veya IDE olmadan çalıştırabilir / kullanabilirsiniz. Diller sadece derlenemez, yorumlanabilir.
Matthew

1
@Michael katılmıyorum. Analitik motorun dişlilerinin konumunu yorumlarından daha fazla yorumlanmaz.
Matthew Oku

1

Bence Entegre Geliştirme Ortamı'ndan (IDE) bahsediyorsunuz. Diğer şeylerin yanı sıra kod ipuçları ve sözdizimi vurgulama sağlar. Bir derleyici sadece dosyaları alır ve makine koduna veya bayt koduna derler. Derleyici genellikle IDE tarafından dosyalarınızı derlemek için bir komut göndererek kullanılır.

Derleyici olmadan yazmak mümkündür. Bu diller bir 'yorumlayıcı' kullanır ve betiği çalışma zamanında işler.


1
Nasıl olduğunu açıklamak ister misiniz?
Matt

Veya ikili programlayabilirsiniz :)
Michael K

veya CIL .. kullanın: Gördüğüm videolardan P Matt, BASIC gibi bir şey yükleyebilir ve komut satırı aracılığıyla ifadeleri yazabilir ve çalıştırabilirsiniz
Ross

1

Bir IDE'nin yaptığı tek şey, uygun tek bir yerde birkaç araç sağlamak ve ardından bazı işlemleri otomatikleştirmek. Bu araçlar genellikle ...

  • Bir metin düzenleyici
  • Bir derleyici
  • Bir hata ayıklayıcı
  • Belge görüntüleyici

Kaynağınızı yazmak için düz metin üreten herhangi bir metin düzenleyiciyi kullanabilirsiniz. NotePad, Word veya bir amaca uygun kod metni editörü.

Kaynağınızı bir metin dosyasına girdikten sonra, derleyicinizi test dosyanızda geçen komut satırından başlatabilirsiniz, örn. Cc my_program.c Bu, çalıştırabileceğiniz bir nesne dosyası oluşturur.

Programınızda hata ayıklamak için, programınızda geçen komut satırı aracılığıyla hata ayıklayıcınızı başlatırsınız, örn. gdb my_program Daha sonra kesme noktaları ayarlayabilir, programınıza adım atabilir, öğeleri inceleyebilirsiniz.

Bir IDE ile tüm bunlar sahnelerin arkasındaki bir düğmeye basıldığında olur ve IDE her şeyin üzerine süslü bir kullanıcı arayüzü koyar.

PS. Gerçek programcılar komut satırını kullanır


2
Gerçek programcılar delikli kartlar kullanır ve MOSFET öncesi transistörlerden kendi CPU'larını oluştururlar. Ayrıca betondan yapılmış ve her biri en az 25 pound ağırlığında satranç oynarlar.
İş

1
@ İş, transistörler sissies içindir, gerçek anlaşma bunlar: en.wikipedia.org/wiki/Vacuum_tube
Machado

Sıyrıldığımızı ve bir fareyi kaldıramadığımızı düşündüm, çok daha az satranç parçası.
Michael K

2
Gerçek programcılar mıknatıslanmış bir iğne ve sabit bir el kullanır. xkcd.com/378
Goran Jovic

1

Günlük kodumu bir vim editöründe (temel metin editörü) yazıyorum ve sorunsuz bir şekilde devam etmesini sağlayabiliyorum (kodumun çoğu PHP'dir). Özellikle dev env bir Dev temel Linux dağıtımı olduğundan ve kabuk araçlarından oldukça faydalanıyorum. Bir yıl boyunca bu şekilde programladım ve bu, genellikle ssh aracılığıyla * Nix konsoluna eriştiğiniz uzaktan uygulama dağıtımı ve üretim değişiklikleri ile uğraşırken bana çok yardımcı oldu.


1

dijital saklanan program bilgisayarları 1950'lerden beri kullanılmaktadır, grafiksel kullanıcı arabirimleri gerçekten sadece 1960'ların sonlarında (ve 1980'lerde son kullanıcılar için) görünmeye başladı. İnsanlar bir şekilde bilgisayarları kullanmak ve programlamak zorundaydılar önce bir .

Bazı yanlışlıklar içeriyor olsa da (her platformun kullanıcı arayüzü bir komut satırı sisteminin üstünde bir katman değildir) büyük olasılıkla Neal Stephenson'un kısa başlangıcında Komut Satırındaydı .

Bilgisayarınızdaki şeylerin başlık altında çalışmasını ve bir IDE olmadan programlamanın, bir komut satırı ile gerçek işlerin yapılmasını vb.


1

Gerçekten sadece bir metin editörüne (cehennem, not defteri çalışacak) ve bir derleyici / yorumlayıcıya (daha önemli olan) ihtiyacınız var.

Komut satırı üzerinden yapmayla ilgili bir şey mi söyledin? Kahretsin çılgınca geliyor, ama çok iyi. Demek istediğim, sadece bir dosyaya 'yazabileceğiniz' yerleşik komut istemini kullanarak echo "some codez" > target_file.sauceama

A) Yaptığınız işte gerçekten iyi olun

B) Basit bir program yazmak

C) Yarasa-bok deli ol


1
... ya da birini etkilemeye çalışmak.
Michael K

Ya da yoğun bir şekilde parçalanmış bir sistemden bir şey kurtarmaya çalışıyorsunuz ve monitörü değiştirmek için zamanınız yok. Orada bulundum, bitti.
mu çok kısa

1

Gerçekten bir IDE'nin sadece bir Editör + Derleyici + (bir çeşit) Makefile + Hata Ayıklayıcı (bazen) + Grafik UI Oluşturucu (bazen) olduğunu düşünmeniz gerekir, böylece elbette bir IDE kullanmamayı seçebilirsiniz. seçtiğiniz bir Editörle (vim, emacs, gedit, notepad ++, [insert_others_here]), bir derleyici (java için jdk, gcc, platform SDK veya C ++, python yorumlayıcısı veya dilinizin herhangi bir araç zinciri için), bir çeşit makefile (autoh ... araçları, cmake, karınca, maven vb.), bir çeşit hata ayıklayıcı (genellikle derleyiciye dahil edilir) ve eğer grafiksel bir ui oluşturucu istiyorsanız (glade akla gelir) ve burada IDE'siz kendi IDE'niz var. Hangi yaklaşım en iyisi size bağlıdır (ve bence bugün IDE'lerin biraz abartılı olduğunu)


1

yanıp sönme

Bir nano klonu olan pico kullanıyor. Ara sıra kullanıyorum. Genellikle biraz daha az yardımcı olan, ancak daha fazla özellikli emacs kullanırım.

IDE'leri genel kural olarak kullanmıyorum. Bazen hata ayıklama için veya komut satırı araç zinciri bulmak için bir acı olduğu için (Xilinx'e bakarken) onlara düştüm. Ben de bir GUI yaptığımda nadir durumlarda C # taslak için kullanın. Ancak IDE'ler deneyimlerime göre çok iyi editörler değil: esnek olmayan, garip karakter akorları, kullanımı çok kolay değil, pek çok dil desteklenmiyor, çok fazla bellek alıyor.

Emacs kullanmayı tercih ederim.

Bilgisayar tarihine bakmalısınız. Oldukça erişilebilir bir şekilde yazılmıştır ve size işimiz hakkında harika bir bakış açısı sağlayacaktır.


1

Bir metin düzenleyicisine bile ihtiyacınız yok. :) :)

Windows'taysanız bunu deneyin:

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

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

UNIX'deyseniz

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

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

Ve sonra sadece favori komut satırı derleyicinizle derleyin. :)

Açıkçası ilk seferinde doğru yazmanız gerekiyor.

Gerçek programcıların kelebekler kullandığını unutmayın: http://xkcd.com/378/


0

İşte eğlence: Harvard Extension School, IDE olmadan programlama öğretiyor ... telnet + pico bir IDE ile kastettiğin şey değilse.

En kolay yol, Java programlarınızı yazmak için temel bir metin düzenleyici kullanmak, ardından dosyaları bir FTP programı kullanarak FAS sistemine aktarmak, telnet aracılığıyla bağlanmak ve bunları FAS üzerinde derleyip çalıştırmaktır (fas.harvard.edu - Java zaten yüklü Orada). Ödevlerine gönderebilmek için FAS'ta OLMALIDIR. Bu yöntemi kullanmak için, dosyalarınızda gerekli hızlı düzeltmeleri yapabilmek için Unix metin editörlerinden biri hakkında yeterli bilgi edinmek veya dosyayı yerel olarak güncellemeyi ve yeniden aktarmayı planlayabilirsiniz. Dosya aktarma hakkında daha fazla bilgi SSS sayfasındadır.

Kelime işlemci KULLANMAYIN, örneğin Word veya WordPerfect! Görmediğiniz, ancak programlarınızın derlenmesini engelleyecek çok sayıda biçimlendirme karakteri eklerler. Windows'ta Not Defteri'ni veya Wordpad'i kullanabilir ve dosyaları .java uzantısıyla "Metin Belgesi" olarak kaydettiğinizden emin olabilirsiniz. Sistem bir ".txt" soneki eklemeye çalışırsa, bunu engellemek için dosya adınızın ve uzantınızın çevresine tırnak işareti koyun. Ayrıca, Yararlı İndirmeler bölümündeki editörlerden herhangi birini deneyebilirsiniz (PC'ler için şiddetle tavsiye ettiğimiz programcılar Dosya Düzenleyici'dir). Mac'te, BBEdit Lite'ı (Kaynaklar sayfasında da bağlantılıdır) veya bir Terminal penceresinde bulunan yerleşik Unix editörlerinden birini kullanın. Güvenli bir telnet programı elde edebilir veya sahip olduğunuz bir programı FAS sistemine telnet, programlarınızı sisteme yazın ve düzenleyin. Deneyebileceğiniz üç Unix düzenleyicisi vardır: pico, emacs ve vi. Programınızı yazıp kaydettikten sonra, yukarıdaki gibi FAS üzerinde derleyebilir ve çalıştırabilirsiniz.

http://www.fas.harvard.edu/~libe50a/homework.html http://www.fas.harvard.edu/~libe50a/faq.html http://www.fas.harvard.edu/~libe50a /java.html

Bana sorarsan, çocuklara işkence ediyorlar, ama sorun değil. Mothakes, Perioikoi ve Helot, Harvard'ın herhangi bir yılda kabul edebileceğinden daha fazla Spartalı var.


Evet mümkün. Not Defteri gibi bir şey no-IDE, ama emacs ve Textpad (her ikisi de C, Java kursları için kullanılan) bir IDE olarak kabul ediyorum. Şimdi ... WinForms ve hepsi ile VS2010'da C # kodladıktan sonra, iş yerinde metin editörlerine geri dönmek istemezdim - Saçmalık yapılmadığı için bağırırdım.

Bununla birlikte, akademik projeler için örnekler küçük olduğunda IDE kullanmak mantıklı değildir. Unutmayın: intro programlama derslerinde birçok gerçek dünya sorunu yoktur. Muhtemelen .xml dosyalarını bir dll'ye kaynak olarak eklemeniz gerekmeyecektir; Muhtemelen çok hata ayıklamanız gerekmez, kod sözleşmeleri kullanmanız veya yönetilmeyen bir C ++ 'dan C ++ / ClI'ya, sonra C # ve geri gitmeniz gerekmez. Akademik ödevlerin dağınık olması gerekmez, çünkü sıfırdan yapılabilirler ve adam-gün / hafta olarak ölçülürler. Tüm dosyalar tek bir projenin parçası olabilir (derleyiciler veya işletim sistemi sınıfı için bile). Visual Studio gibi bir IDE basit bir makefile ne zaman gerçekten engelleyebilir. Kişinin yapılandırması gereken sayısız seçeneği düşünün. Eclipse ile aynı - sonsuz özelleştirilebilir bir aşırı mühendislik editörü. İhtiyacınız olan tek şey basit bir makefile ve iki basit C dosyası olabilir. Aslında, her bayrağı kendiniz belirttiğinizde, bu şekilde daha fazla kontrole sahip olma eğilimindesiniz. Bir keresinde bir üniversite laboratuvarında böyle kodladım. Komik, ama bir "gömülü" (yani uçağa sığacak kadar küçük olması gerekiyordu) bilgisayarlardan hiç GUI ve fare yoktu :) Hala giriş, düzenleme, derleme ve C programında hata ayıklama, sürücü ekleme ve çekirdeği yeniden derleme.


Telnet'i zorlamasam da sadece komut satırı ve metin editörü.
Michael K

0

Veritabanı çalışması için bir metin düzenleyicisine (notepad ++) ve osql veya sqlcmd gibi bir komut satırı istemcisine ihtiyacınız vardır. Derleyici bile değil.


0

Sadece değil mümkün , ama - en azından hayatında bir kez - sen gerek IDE olmadan programlama yapmak . Derleme sürecini, kütüphanelerin kullanımını anlamanıza yardımcı olacaktır - belki de programlama gerçekten ne anlama gelirse gözlerinizi açar.

Ayrıca, iyi bir metin editörünün IDE'den daha iyi olduğunu düşünüyorum. MS-Windows için PSPad'ı tavsiye ederim (MultiEdit MS-DOS döneminde olduğu gibi güçlü bir flaştı), GNU / Linux için Geany'yi deneyin (belki de dağıtımınızın deposundadır).


0

Programları yazmak için güvenilir Pilot Jel Kalemimle 99 sentlik bir defter kullanıyorum.

Onları sadece Visual Studio kodu yeniden yazın.

Bir program yazmak ve kodlamak iki farklı şeydir (benim için).


Programları önce kağıda elle mi yazıyorsunuz?

@ Thorbjørn - Bunu daha önce gün içinde yaptım (çoğunlukla kısa oyunlar) ve algoritmalar üzerinde çalışırken genellikle onları bir kalem ve kağıdın aksine çizmek için bir beyaz tahta kullanacağım.
rjzii

Evet, elle çok fazla kod yazıyorum. Programın tamamı değil, çünkü Visual Studio birçok şeyi otomatik hale getiriyor.
Pablo

0

IDE olmadan programlama, neler olduğunu öğrenmek için harika bir yoldur.

Okulda basit bir sözdizimi renkli metin editörü ile programlamaya başladık. Derleme komut istemiyle (veya basit bir toplu iş komut dosyasıyla) oldu.

Yalnızca programlamanın temellerini anladığımızda Eclipse veya Visual Studio gibi daha güçlü editörlere geçtik.


0

Beklendiği gibi, tüm cevaplar aynı şeyi söylüyor: "Tabii ki yapabilirsiniz! Bu sadece metin! Metin metni metin metni!" Bu doğrudur, genel olarak konuşursak ve sorunuzun en iyi cevabıdır. Çoğu IDE metni basitçe manipüle eder.

Ancak bu her zaman doğru değildir ve bazı durumlarda salt metin modelinden uzaklaşmak büyük ilerlemelerle sonuçlanır. Bu ilerlemeler genellikle salt metin sahtekarları tarafından reddedilir (ki çoğu herkes budur, çünkü nasıl-olması gerektiği de nasıl olması gerektiği ... bu bir tesadüf değil mi ?!). IBM Görsel Yaş, korkunç bir ölümle ölen gerçekten harika bir örnekti.

Akla gelen ve popo başladı ve çok popüler olan başka bir örnek, Mac ve iOS ürünleri oluşturmak için Arayüz Oluşturucu'dur. Çıktıları metin programları DEĞİL, daha ziyade serileştirilmiş nesneler olduğundan, IB kullanmadan veya kendi IB'nizi yazmadan NIB'ler oluşturamazsınız.

Puristler, "evet, ama Interface Builder metin koduyla yazılmıştır!" Yani?

Gerçekten salt metin paradigmasının ötesine geçebilseydik CS'nin bir alan olarak çok ilerleyeceğine inanıyorum. Bunun ötesinde, sonunda bu yönde ilerleyeceğimizi düşünüyorum, ama onlarca yıl alacak. Önce hangisinin daha iyi olduğunu bulmalıyız, viya da emacs....


0

Son zamanlarda vim'e geçtim. Yazdığım her dilde anahtar kelimeleri nasıl vurguladığını seviyorum. İç çek, sadece gerçek bir işletim sistemine gidip not defteri kullanamadığımda.

Eşim edlin kullanarak COBOL yazdı. Bunun oldukça komik olduğunu düşündüm.

Eskiden kullandığımız keypunch kartlarında böyle bir gelişme ve 24 saat sadece bir yazım hatası olduğunu keşfetmek için operasyonlardan dönüyor.

Tavan arasında bir yerlerde kodlama formlarım var.

1'lerin ve 0'ların mı vardı? 0'larımıza bir çizgi çizmek zorunda kaldık.

Ama bugün gençlere bunu söylüyorsun ve sana inanmayacaklar.

j.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.