Farklı yaklaşımları ve kavramları anlamayı öğrenmek için önemli diller nelerdir? [kapalı]


172

Tüm sahip olduğunuz bir çift cıvata kesicisi ve bir şişe votka olduğunda, her şey Wolf Blitzer'in kayıkhanesinin kapısının kilidine benziyor. (Xkcd okumuyorsanız bunu bir çekiç ve çivi ile değiştirin)

Şu anda Clojure, Python, Java ve PHP'yi programlıyorum, bu yüzden C ve LISP sözdiziminin yanı sıra boşluk alanını da tanıyorum. Zorunlu, işlevsel, değişmez, OOP ve çift tip sistemler ve diğer şeyleri biliyorum. Şimdi daha fazlasını istiyorum!

Farklı bir yaklaşım benimseyen ve pratik araç seçimi veya teorik anlayış için faydalı olabilecek diller nelerdir?

Başka bir işlevsel dil (Haskell) veya başka bir zorunlu OOP dili (Ruby) öğrenmek istemiyorum, ne de Brainfuck gibi pratik eğlenceli diller uygulamak istemiyorum.

Kendimi bulduğum çok ilginç bir şey, Factor gibi tekdüzen yığın tabanlı diller.

Sadece çoğu kavramı anladığımı ve tüm sorularıma cevap verdiğimi hissettiğimde, tüm kişisel tercihlerimi içerecek şekilde kendi oyuncak dilimi düşünmeye başlamak istiyorum.


3
Sadece xkcd referansı için +1 olurdu, ancak soru da ilginç.

63
Başarılı bir programcı gibi görünüyorsunuz, gerisi artımlı. Bir çük olmaya çalışmıyorum, ama ... hayatınız nasıl finans açısından, ilişkiler açısından, sağlık açısından, eğlence açısından, hobi olarak? Belki de şimdi bu şeyleri takip etme zamanıdır. Aynı anda bir düzineden fazla dil bilmeniz gerektiğine inanmıyorum. Birini kullanmak için ödeme alırsanız - öğrenin. Biriyle ilgili bir kitap yazmak istiyorsanız - öğrenin. Bunun dışında iyi bir programlama tabanınız var. Neden hiçbir yerde kullanmayacağınız bir şey (J - sübjim :) gibi) öğreneceksiniz? Bir mezarlıkta havalı hacker olmayın.
Hamish Grubijan

6
Evet, kendi standartlarıma göre başarılı bir programcıyım. Şu anda çok para kazanmıyorum, ama hey, ben 19 yaşındayım. Tüm bu noktalara ve daha fazlasına zaman ayırıyorum, ancak programlamada hem hobi hem de eğlenceli buluyorum. Ayrıca, bir dili anlamak ve ona hakim olmak arasında bir fark olduğunu söylemek istiyorum. Python ve Clojure'da uzmanlaşmak benim için yeterli. Diğer seçenekleri anlamak istiyorum, çünkü kodumu geliştirecek, bilgisayarımı anlamama ve kendi programlama dilimi tanımlamama yardımcı olacak.
Pepijn

5
Programcılar gördün mü ? Bu, orada daha iyi sorulan soru türüne düşer.

Yanıtlar:


287

Pratiklik konuları son derece özneldir, bu yüzden basitçe farklı dil paradigmalarını öğrenmenin sadece sizi daha iyi bir programcı yapmaya hizmet edeceğini söyleyeceğim. Bundan daha pratik olan nedir?

Fonksiyonel, Haskell - İstemediğini söylediğini biliyorum, ama gerçekten tekrar düşünmelisin. Clojure ve hatta Python ile fonksiyonel bir maruziyet elde ettiniz, ancak Haskell olmadan tam olarak deneyimlemediniz. Gerçekten Haskell'e karşıysanız, iyi tavizler ML veya OCaml'dir.

Declarative, Datalog - Birçok kişi Prolog'u bu yuvada tavsiye eder, ancak bence Datalog, bildirici bir dilin daha temiz bir örneğidir.

Array, J - Sadece J'yi keşfettim, ama çarpıcı bir dil olarak görüyorum. Zihninizi bir çubuk kraker haline getirecektir. Bunun için J'ye teşekkür edeceksin.

Yığın, Faktör / Dördüncü - Faktör çok güçlü ve en kısa zamanda içine kazmayı planlıyorum. Forth, Stack dillerinin büyük babasıdır ve ek bir bonus olarak kendinizi uygulamak basittir . Uygulama yoluyla öğrenme hakkında söylenecek bir şey var.

Dataflow, Oz - Bence Oz'un etkisi yükselişte ve sadece gelecekte büyümeye devam edecek.

Prototip tabanlı, JavaScript / Io / Self - Benlik büyük babadır ve her prototip tabanlı dilde son derece etkilidir. Bu, sınıf tabanlı OOP ile aynı değildir ve bu şekilde ele alınmamalıdır. Birçok insan bir prototip diline gelir ve geçici bir sınıf sistemi oluşturur, ancak amacınız zihninizi genişletmekse, bunun bir hata olduğunu düşünüyorum. Dili tam kapasiteyle kullanın. Fikirler için Sınıfsız Programları Düzenleme başlıklı konuyu okuyun .

Uzman Sistem, CLIPS - Bunu her zaman tavsiye ederim. Prolog'u biliyorsanız, hızlanmak için üst eliniz olacak, ancak çok farklı bir dil.

Frink - Frink genel amaçlı bir dildir, ancak birim dönüşüm sistemi ile ünlüdür. Bu dili, yaptığı şeylerde en iyisi olmak için, acımasız sürüşünde çok ilham verici buluyorum. Artı ... gerçekten eğlenceli!

Fonksiyonel + Opsiyonel Tipler, Qi - Bazı tip sistemlerle ilgili deneyiminiz olduğunu söylüyorsunuz, ancak "kaplanabilir * tip sistemlerle ilgili deneyiminiz var mı? Kimse yok ... ama etmelidirler. tip sistemi aklınızı başınızdan alacak.

Aktörler + Hataya dayanıklılık, Erlang - Erlang'ın süreç modeli çok fazla ses çıkarıyor, ancak hataya dayanıklılık ve sıcak kod değiştirme mekanizmaları oyun değiştiriyor. Clojure ile öğrenemeyeceğiniz FP hakkında çok fazla şey öğrenmeyeceksiniz, ancak FT özellikleri neden daha fazla dilin bunu doğru olarak göremediğini merak etmenizi sağlayacaktır.

Zevk almak!


8
+1 - harika bir cevap.
duffymo

2
Beni öğrenecek çok dile işaret ettiğiniz için teşekkür ederim.

2
Oyuncu tabanlı programlama için Erlang ve paralel Programlama için Fortress ekleyeceğim.
nickik

2
Erlang'ın çalışırken değiştirme ve hataya dayanıklılık tanıma için +1
Mic

14
Montaj yok mu? İşlemcilerin ne tür kodları sevdiklerini öğrenmek için nasıl çalıştığını anlamak iyi bir şeydir.
Nick T

33

Prolog (birleştirme / geri izleme vb.), Smalltalk ("her şey bir mesaj için"), Forth (ters lehçe, dişli tercümanlar vb.), Şema (devamlar) ne olacak?

Bir dil değil , Metaobject Protokolü Sanatı akıl almaz şeyler


Yanlışsam beni düzeltin, ama sanırım Python sortof zaten devam ediyor. Ve okuduğum kadarıyla, Forth ve Smalltalk'tan daha Faktör ve Objektif-C öğrenmeyi tercih ederim, ama orada köşeleri kesiyor olabilirim.
Pepijn

1
@pepijn, python birinci sınıf sürekliliğe sahip değil (sahte bir bayt kodu üzerinde
çalışmama

1
Objective-C, Smalltalk'tan geliyor, ama bence ST'nin gerçek paket servisi ortamın kendisinin dinamizmi.
John Cromartie

33

İkinci Haskell. "Ben bir Lisp biliyorum, bu yüzden fonksiyonel programlamayı biliyorum". Hiç tip dersleri duydunuz mu? Cebirsel veri türleri? Monads? "Modern" (aşağı yukarı - en az 50 yaşında değil)) işlevsel diller, özellikle Haskell, çok güçlü ve faydalı yeni kavramları keşfetti. Tür sınıfları ad-hoc polimorfizm ekler, ancak tür çıkarımı (daha önce bildiğiniz dillerin sahip olmadığı başka bir şey) bir cazibe gibi çalışır. Cebirsel veri türleri, özellikle ağaç benzeri veri yapılarını modellemek için harika, ancak numaralandırmalar veya basit kayıtlar için de iyi çalışıyor. Ve monad'lar ... peki, diyelim ki insanlar bunları istisnalar, I / O, ayrıştırıcılar, liste kavrayışları ve çok daha fazlasını yapmak için kullandılar - tamamen işlevsel yollarla!

Ayrıca, tüm konu yıllarca meşgul edecek kadar derin;)


"Ayrıca, tüm konu yıllarca meşgul edecek kadar derin;)" - Acaba, bu neden iyi bir şey olurdu? Sonuçta, hayatlarımız sonlu.
vegai

1
@vegai: Neden kötü bir şey olsun ki? Ömrünü harcayarak öğrenmekten daha kötü yollar vardır. Ve kimse sadece dili düzgün kullanmak için yıllarca çalışmanız gerektiğini söylemedi - sadece konu kısa bir süre sonra bitmedi. (Ayrıca, gülen

32

Şu anda Clojure, Python, Java ve PHP'yi programlıyorum [...] Farklı bir yaklaşım benimseyen ve pratik araç seçimi veya teorik anlayış için faydalı olabilecek diller nelerdir?

C

Etrafta çok fazla C kodu var --- kesinlikle pratik. C ++ 'ı da öğrenirseniz, çok fazla şey var etrafında daha fazla kod vardır (ve C ve Java'yı sonra sıçrama kısadır).

Aynı zamanda size bazı teorik konular hakkında büyük bir anlayış sağlar (ya da sahip olmaya zorlar); örneğin, çalışan her program bir anlamda 4 GB baytlık bir dizide yaşar. C'deki işaretçiler gerçekten bu dizinin endeksleridir - sadece farklı bir tamsayıdır. Java, Python, PHP'de yüzey katmanının altına gizlenmiş olanlar dışında hiçbir fark yoktur.

Ayrıca, C nesneye yönelik kod yazabilirsiniz, sadece vtables ve benzeri hakkında biraz manuel olmak zorunda. Simon Tatham'ın Taşınabilir Bulmaca Koleksiyonu oldukça erişilebilir nesne yönelimli C kodunun harika bir örneğidir; aynı zamanda oldukça iyi tasarlanmış ve başlangıç ​​/ orta C programcısı için okumaya değer. Haskell'de de olan budur - tip sınıfları bir anlamda "başka bir vtable" dır.

C ile ilgili bir başka harika şey, yetenekli C programcılarıyla Soru-Cevap bölümüne katılmak, C'yi demir seviyesine daha yakın bilgi tabanınızı oluşturan alt düzey yapılar açısından açıklayan birçok cevap alacak.

Ben OP'nin noktasını kaçırıyor olabilirim - diğer cevaplara göre değerlendiriyorum --- ama benzer bir sorusu olan ve bu konuyu okuyan diğer insanlara faydalı bir cevap olabileceğini düşünüyorum.


1
Bunun için daha fazla oy gerekiyor. C, çıplak metale gitmek istediğinizde veya makinenin veya daha üst düzey programlama dillerinin işleyişini sıfırdan anlamak istediğinizde veya istediğinizde bir numaralı dildir. Dahası, aynı zamanda çok evrensel bir C derleyicisi, şimdiye kadar tasarlanan her CPU mimarisi için (neredeyse) var.
dietr

27

Peter Norvig sitesinden:

"En az yarım düzine programlama dili öğrenin. Sınıfsal soyutlamaları destekleyen bir dil (Java veya C ++ gibi), işlevsel soyutlamayı destekleyen (Lisp veya ML gibi), sözdizimsel soyutlamayı destekleyen (Lisp gibi), bildirimi destekleyen bir dil ekleyin şartnameler (Prolog veya C ++ şablonları gibi), biri yardımcı programları (Icon veya Scheme gibi) destekleyen ve biri paralelliği destekleyen (Sisal gibi). "

http://norvig.com/21-days.html



10

Teoremler / ileri tip sistemler olarak: Coq (Sanırım Agda bu kategoriye de geliyor).

Coq, işlevsel bir programlama diline gömülü bir kanıt asistanıdır.

Matematiksel kanıtlar yazabilirsiniz ve Coq bir çözüm oluşturmanıza yardımcı olur. Fonksiyonlar yazabilir ve onunla ilgili özellikleri ispatlayabilirsiniz.

Aklımı sadece bağımlı olan bağımlı türleri var. Basit bir örnek:

concatenate: forall (A:Set)(n m:nat), (array A m)->(array A n)->(array A (n+m))

A öğelerinin n ve m boyutlarındaki iki diziyi birleştiren ve bir boyut dizisi (n + m) döndüren bir işlevin imzasıdır. İşlev bunu döndürmezse derlenmez!

Endüktif konstrüksiyon hesabına dayanır ve arkasında sağlam bir teori vardır. Hepsini anlayacak kadar zeki değilim, ama özellikle tip teorisine yöneliyorsanız, bir göz atmaya değer olduğunu düşünüyorum.

EDIT: Bahsetmiyorum gerekir: Coq bir işlev yazmak ve sonra herhangi bir giriş için doğru olduğunu kanıtlayabilirsiniz, bu şaşırtıcı!


Ben ikinci kat. Çoğu dili öğrenirken hala eski tekniklerinizi kullanabilirsiniz, ancak coq sizi her zaman çalışan toplam programlar yazmaya zorlar.
Bruno Martinez

Geçen yaz Coq öğrenmeye çalıştım ama vazgeçtim çünkü ti'yi öğrenme ve kullanma konusunda iyi belgeler bulmakta zorlandım . Baska öneri?

Üniversitemdeki bir dersten öğrendim ve sonra "Coq'Art: Endüktif Yapıların Hesabı" nı okudum Gerçekten usta olmak için yeterli değil, takdir etmek için yeterli.
Bruno Martinez

6

İ (dil elemanları tanımlamak için yeni bir kelime ve bir radikal fark sözdizimi dahil) bir görüş çok farklı noktası için ilgileniyorum dillerden biri J . Haskell benim için bariz bir seçim olurdu, ancak işlevsel bir lang olmasına rağmen, tip sisteminin ve diğer benzersiz özelliklerin zihninizi açmasına neden olur ve (fonksiyonel) programlama hakkında önceki bilgileri yeniden düşünmenizi sağlar.


5

Tıpkı fogus'un listesinde size önerdiği gibi, OzML / Mozart diline de bakmanızı tavsiye ederim Çoğunlukla eşzamanlılık / çoklu ajan programlamayı hedefleyen birçok paradigma.

Eşzamanlılık ve dağıtılmış hesap ile ilgili olarak, (işlevsel programlamanın arkasında olan) Lambda hesabının eşdeğeri Pi Calculus olarak adlandırılır.

Sadece Pi hesabının bazı uygulamalarına bakmaya başladım. Ama zaten bilgi işlem anlayışlarımı genişlettiler.


5

Veri akışı programlama, diğer bir deyişle akış tabanlı programlama yolda iyi bir adımdır. Bazı buzzwords: paralell işleme, hızlı prototipleme, görsel programlama (önce sesler kadar kötü değil).

Wikipedia makaleleri iyidir:

Bilgisayar bilimlerinde, akış tabanlı programlama (FBP), uygulamaları bağlantıların süreçlere harici olarak belirtildiği, mesaj geçirerek önceden tanımlanmış bağlantılar arasında veri alışverişi yapan "kara kutu" süreçlerinin ağları olarak tanımlayan bir programlama paradigmasıdır. Bu kara kutu işlemleri, dahili olarak değiştirilmeden farklı uygulamalar oluşturmak için sonsuz bir şekilde yeniden bağlanabilir. Dolayısıyla FBP doğal olarak bileşen yönelimlidir.

JPM'nin kitabını okuyun: http://jpaulmorrison.com/fbp/

(Ev otomasyonu için C ++ 'da basit bir uygulama yazdık ve bundan çok memnunuz. Dokümantasyon yapım aşamasında.)


+1, veri akışı ve akış tabanlı programlamanın (muhtemelen işlevsel reaktif programlama) çok çekirdekli geleceğimizin önemli bir parçası olacağına inanıyorum.

5

Birçok dil öğrendiniz. Şimdi tek bir dile odaklanma ve bu dilde ustalaşma zamanı.


3

belki de mühendislik amaçları için LabView'u görsel programlama için denemek isteyebilirsiniz.

Yine de, dışarıdaki her şeyle oldukça ilgileniyorsunuz, bu nedenle öneri

ayrıca, görsel olarak yapı oluşturmak için android appinventor deneyebilirsiniz


LabView komik bir 'sözdizimi' var ama tüm kodunuzu tıklayıp sürüklemek gerçek bir acı. Bir programcıya tavsiye etmem.
Ishtar

Lego NXT ile birlikte gelen budur, değil mi? Tamamen benim için çalışmadı. Yine de öneri için teşekkürler.
Pepijn

Ulusal Enstrümanlar'dan. LabVIEW, bilim insanlarını ve mühendisleri daha üretken hale getiren bir grafik geliştirme ortamıdır
Belun

2

Bruce A. Tate, Pragmatik Programcı'dan bir sayfa alarak tam olarak şu konuda bir kitap yazdı: Yedi Haftada Yedi Dil: Programlama Dillerini Öğrenmek için Pragmatik Bir Rehber

Kitapta Clojure, Haskell, Io, Prolog, Scala, Erlang ve Ruby'yi kapsıyor.


2
Kitabın, ABD pop kültürünün bir parçası haline gelen filmlere referanslarla dolu olduğu konusunda uyarılmalıdır. Filmleri izlemediyseniz, Tate'in ne hakkında olduğunu merak edeceksiniz. Filmleri izlediyseniz, programlama dillerinin sürekli antropomorfizasyonu veya söz konusu karakterleri beğenmemeniz gerekebilir (Mary Poppins'i sevmiyorum; tesadüfen Ruby'yi de sevmiyorum, bu yüzden benzetme bir şey üzerinde olabilir).
Alan Plum

2

Civa : http://www.mercury.csse.unimelb.edu.au/

Benzersiz tipler ve modlarla (yani yüklemin append(X,Y,Z) , Y'ye eklenen X Z bir X ve Y verildiğinde bir Z verir, ancak belirli bir Z için birden fazla X / Y verebilir) . Ayrıca, kesik veya diğer mantıksız tahminler yoktur.

İsterseniz, Haskell Lisp olduğu için Prolog'a.


1
  1. Programlama, programcıların görevini kapsamaz.
  2. Yeni şeyler her zaman ilginçtir, ancak bazı çok güzel eski şeyler vardır.

İlk veritabanı sistemi benim için dBaseIII oldu, küçük örnekler yazmak için yaklaşık bir ay harcıyordum (dBase / FoxPro / Clipper indeksli tablo tabanlı bir db). Sonra, ilk iş yerimde, MUMPS ile tanıştım ve başım ağrıyor. Genç ve taze beyinliydim, ancak MUMPS veritabanı modelini anlamak 2 hafta sürdü. Çizgi romanlarda olduğu gibi bir an vardı: 2 hafta sonra bir düğme açıldı ve ampul aklımda sadece yanıyor. MUMPS doğal, düşük seviye ve çok hızlıdır. (Bu türler olmadan dengesiz, biçimsiz bir btree'dir.) Bugünün trendleri ona geri dönüş yolunu gösteriyor: NoSQL, anahtar-değer db, çok boyutlu db - bu yüzden sadece bazı adımlar kaldı ve Kabakulak'a ulaşıyoruz.

İşte MUMPS'in avantajları hakkında bir sunum: http://www.slideshare.net/george.james/mumps-the-internet-scale-database-presentation

Hiyerarşik db hakkında kısa bir doküman: http://www.cs.pitt.edu/~chang/156/14hier.html

MUMPS global'lerine giriş (MUMPS, yerel değişkenler, kısa: yereller bellek değişkenleridir ve global değişkenler, short: globaller "db değişkenleridir", global bir değişken ayarlamak hemen diske gider): http: // gradvs1.mgateway.com/download/extreme1.pdf (PDF)


1

Bir aşk şiiri yazmak istediğini söyle ...

Elinizde zaten bir çekiç olduğu için bir çekiç kullanmak yerine, görev için uygun araçları öğrenin: Fransızca konuşmayı öğrenin.

Anadile yakın seviyeye ulaştığınızda, şiirinize başlamaya hazırsınız.


4
Tabii ki, bu bir şiir şiiri olacaktır, çünkü şiir yazmak için sıradan yerel seviyenin çok üstünde konuşmanız gerekir. Ve kız arkadaşının okumak için Fransızca öğrenmesi gerekecek. Zaten Fransız değilse, bu durumda muhtemelen utanç verici buluyor.
John Lawrence Aspden

Lezzetli ironi, John, beğendim (
Fransızım

1

Akademik düzeyde yeni diller öğrenmek ilginç bir hobi olsa da, IMHO, gerçek bir dünya sorununa uygulamaya çalışana kadar gerçekten bir dil kullanmayı öğrenemezsiniz. Yani, öğrenmek için yeni bir dil aramak yerine, ilk önce inşa edilecek yeni şeyleri ararım ve ancak o zaman belirli bir proje için kullanılacak doğru dili ararım. Önce problemi seçin, sonra aracı, tam tersini değil.


1

80'li yılların ortalarından beri var olmayan herkes için 8 bitlik BASIC öğrenmenizi öneririm. Çok düşük seviyeli, çok ilkel ve delikleri etrafında programlamak ilginç bir egzersiz.

Aynı satırda, bir HP-41C serisi hesap makinesi (veya hiçbir şey gerçek donanımı yenemese de emülatör) seçerdim. Beynini etrafına sarmak zor, ama buna değer. Bir TI-57 yapacak, ancak tamamen farklı bir deneyim olacak. Bir TI-55 üzerinde ikinci derece denklemleri çözmeyi başarırsanız, bir usta olarak kabul edilirsiniz (programı bir adım geri atlayan bir koşullu ve RST dışında bir dalı yoktu).

Ve son olarak, FORTH'u seçerdim (daha önce bahsedilmişti). Güzel bir "dilinizi oluşturun" Lisp-ish şey var, ama çok daha çıplak metaldir. Rails'in neden ilginç olduğunu ve DSL'lerin ne zaman mantıklı olduğunu öğretecek ve yazarken RPN olmayan hesap makinenizin ne düşündüğünü anlayacaksınız.


1

PostScript. Yığın tabanlı olduğu için oldukça ilginç bir dildir ve bir şeyler kağıda koymak istediğinizde ve bunu yapmak veya neden yapılmadığını gidermek istediğinizde oldukça pratiktir.

Erlang. İçsel paralellik ona alışılmadık bir his verir ve bundan yararlı şeyler tekrar öğrenebilirsiniz. Pratiklik konusunda pek emin değilim, ancak bazı hızlı prototipleme görevleri ve yüksek yedekli sistemler için yararlı olabilir.

GPU'ları programlamayı deneyin - CUDA veya OpenCL. Sadece C / C ++ uzantıları, ancak mimarinin zihinsel modeli yine klasik yaklaşımdan tamamen farklıdır ve bazı gerçek sayı çatırtılarını yapmanız gerektiğinde kesinlikle pratik hale gelir.


1

Erlang, Forth ve bazı montaj dili ile gömülü çalışma. Gerçekten mi; Arduino kiti veya benzeri bir şey satın alın ve montajda bir polifonik bip sesi oluşturun. Gerçekten bir şeyler öğreneceksiniz.


1

Orada da anic :

https://code.google.com/p/anic/

Sitesinden:

C'den daha hızlı, Java'dan daha güvenli, * sh'den daha basit

anic deneysel, yüksek performanslı, örtük paralel, kilitlenmeyen genel amaçlı veri akışı programlama dili ANI için referans uygulama derleyicisidir.

Artık aktif gelişme altında görünmüyor, ancak bazı ilginç kavramlara sahip gibi görünüyor (ve sonuçta, sonra gibi görünüyorsunuz).


1

"Farklı" gereksiniminizi karşılamasa da - Fantom'un profesyonel bir programcının bakması gereken bir dil olduğundan bahsetmek istiyorum . Kendi kabulleriyle, fantom yazarları buna sıkıcı bir dil diyorlar. Sadece yakut ve benzer yeni dillerden ödünç alınmış bazı kapatma sözdizimi ile Java ve C # 'ın en yaygın kullanım örneklerini destekler.

Ve yine de, kendi önyükleme derleyicisine sahip olmayı, harici bağımlılık olmadan kurulumda bir düşüşü olan, paketleri doğru alan ve Java, C # ve şimdi Web'de (js aracılığıyla) çalışan bir platform sağlamayı başarıyor.

Yeni programlama yolları açısından ufkunuzu genişletmeyebilir, ancak kesinlikle size daha iyi programlama yolları gösterecektir.



0

APL, Dördüncü ve Montaj.

Biraz eğlen. Bir Lego Mindstorm robot kiti ve CMU'nun RobotC'sini alın ve bazı robotik kodları yazın. "Kirlenmesi" ve başka bir şekilde öğrenemeyeceğiniz gerçek dünyayla etkileşim kurmanız gereken kodlar yazdığınızda işler olur. Evet, aynı dil, ama çok farklı bir bakış açısı.

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.