SORU
20 Aralık 2009, Pazar


Olmayan bir programcı için programlama "gibi" göründüğünü açıklamak göstermek için iyi bir örnek nedir;?

Bir arkadaşım bana eğer sadece programlama olduğumda numaraları listelerine bakıyorum, ya da nasıl çalıştığını geçen gün sordu. Genellikle matematik formülleri gibi, tuhaf İngilizce kelime karışık olduğunu ve genellikle çoğunlukla okunabilir olduğunu anlatmaya çalıştım. Ama bu çok muğlak bir açıklama, gerçekten olmayan bir programcı için her şeyi açıklamıyor.

Ama iyi bir örnek olurdu ne hakkında düşünmemi sağladı. Onu ya da bir şey programlama, ama sadece onun kodu program hakkında bir fikir vermek için öğretmek istiyorum, çünkü "gibi" görünüyor. değil

Ve bu bana gerçekten iyi bir örnek olarak işe yarar hakkında merak ediyorum. Ve bu oldukça zor oluyor.

İlk aklıma gelen basit bir "program. Dünya" Merhaba belli oldu Ama gerçekten işe yarar bir şey göstermiyor. Gerçekten işlevleri veya değişkenler veya if while akış denetimi yapıları bir program aslında yapmak için nasıl kullanacağımızı görünmüyorbir şey yok. Bence bir mantığı yok. Program hiçbir tepki vermiyor.

Bu yüzden belki de bilgisayar asal sayılar gibi bir şey daha iyi bir örnek olurdu. Ama sonra tekrar, o da teorik ve pratik... (Ne güzel değil mi? olabilir Bu "gerçek" program?) yazma ile ne alakası var Ve yine, önemli bir denetim akışı mantığı yok. Matematik sadece düz bir sırası var.

Ve dil kullanılacak.

İdeal olarak, bir çok "" dil. temiz olmak zorunda sanmıyorum Daha ziyade, muhtemelen yapısı net yapmak gerekir. Eğer bu olursa, o zaman gürültü ve dağınıklığı belirli bir miktar iyi olabilir. Belki de C gibi bir şey aslında bu nedenle Python daha iyi bir örnek olurdu. Belirteçleri açık açık kaşlı ve türü" programı yapılandırılmıştır, ya da olmadığını vurgulamak için . nasıl açıklamak için "hooks ^em>sadeceİngilizce olarak okunabilir neredeyse basit cümleler.

Ama C ile biz de bazı düpedüz garip sözdizimi. Neden std::cout << x x yazdırmak için kullanılır? Bir "normal" işlevi sözdiziminde diyorsun? neden Ve printf çok daha iyi, gizemli biçimde dize ve uzama olmaması ile değil (dizeleri için char* kullanarak programı zorlaştırmak istiyor muyum? Veya std::string kullanırım ve görünüşte gereksiz s.c_str() printf ile yazdırılabilir bir dize almak için çağrı için yerleşmek?

Belki de daha yüksek seviyeli bir dil sonuçta daha iyi olurdu. Ama hangisi? Ve neden?

Benzer sorular burada programlama öğretmek için kullanılacak bol olduğunu biliyorum. Ama şartları burada farklı düşünüyorum. Programlama öğretirken, basitlik her şeyden çok istiyoruz. Henüz öğretti olmamıştır her şeyden kaçınmak istiyoruz. Öğrencinin anlayabileceği emin olmak istiyoruzher şeyiekranda.

Sadeliği ile ilgili olduğumdan değil. Ama bir vermek yerine "bir" fikir "bir program gibi görünüyor". sıradışı Ve programlar basit değil. Ama onlaryapıngenellikle delilik için belirli bir yapı ve Yöntem sergiler. Ne dil/program iyi olduğunu vurgulamak istiyorsunuz?

Edit
Tüm önerileri bugüne kadar için teşekkür ederiz. Bazılarınız amaçlı istiyorum daha biraz farklı bir açısı vardı.

Belki de bir örnek sırada bulunuyor. Ama kokpit gibi görünüyor, ve bir pilot "" uçan iken. ne temel bir anlayış var, bir uçak fly, yapamam

Ve eğitimli bir marangoz değilim ama birini görünce ya da bir çekiç gördüm.

Ama bir şey filmlerde programlama yapmak gördüğünüzde, örneğin, genellikle sadece ekranlar çöp (the Matrix yeşil metin olarak) ile dolu. Sanki normal bir insan olabilir aslında görünmüyoryapın. Hiçbir tanınabilir. Bir programcı olmayan biri sadece Kara büyü olduğunu düşünüyor.

Ona uçmayı öğretmek istiyorum, ya da program yazılımı bilmiyorum. Ama referansı temel bir çerçeve vermek istiyorum. "Ah, ne ile çalıştığını. sadece bir fikir Sadece ekranda rasgele semboller ve sayılar değil". Hatta sadece basit bir if-hesap gösteren bir vahiy Matrix-stili göre olur rasgele semboller ve sayılar.

Bazılarınız bir algoritma açıklayan, veya sözde kod kullanarak önerdi, ama ben bunu engellemek istiyorum. Sadece ne olduğunu gösteren bir şey istiyorumgerçekkod gibi bir şey gördüm bak ve ne olduğunu ve nasıl çalıştığını temel bir fikir almak için bir marangoz olmak zorunda değilsiniz, aynı şekilde görünüyor.

Ben çocukken, biz bir kez İtalya'ya tatile gitti. Aşağıya inerken, pilot uçağın kokpit içine beni. Tabii ki, uçağı uçurmayı öğrenmek istemedim. Ama pilotun dünyasına bir göz aldım. Pilot aslında ne uçağı için ellerinden geleni yapıyorlar nasıl bir fikir var.

Bu gerçekten yapmak istiyorum hepsi bu. Arkadaşım öğrenme programlama ilgisi yoktur, ve onun kaynak kodu anlamak için zorlamak istemiyorum. Ama birlikte çalıştığım şeyi merak ediyordu. Matrix tarzı semboller ekran üzerinde kaydırma mı? Saf matematik? Nesir İngilizce form?

Taşıma ilgileniyorum tüm üst düzey o çok anlayış "ben çalışmak Neye benziyor".

CEVAP
20 Aralık 2009, Pazar


TEMEL

10 PRINT "Sara is the best"
20 GOTO 10

Güncelleme:12, kuzenim (14 yaşındaydı) yaşındayken Turbo Pascal 7.0 getirdi ve bilgisayarımda yüklü.
Sıfırdan bir tic tac toe oyunu (SSH modu, bilenler için) programladı.
Bir programı tam bir uygulama haline gelene kadar nasıl bir gelişim göstereceği adım/gözlenen adım izledim.
O zamana kadar, TEMEL dizeleri yazdırmak için sadece biliyordum :-B

Benzer bir şey yapabilirsiniz. Çift programlama. Aslında arkadaşın gözlemci olacak ama bir fikir olsun ;)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Chuck Testa

    Chuck Testa

    14 AĞUSTOS 2011
  • jbignacio

    jbignacio

    13 Mart 2006
  • WK

    WK

    9 Ocak 2006