(Yarı-deneyimli bir yazılım geliştirici için) programlama becerilerini genişleterek dil öneriler

12 Cevap php

Ben küçük (<1 yıl profesyonel) deneyimi ile sahip

  • Perl
  • Groovy / Java

Ben sınırlı olan (<2 yıl profesyonel)

  • C

Ben iyi bir deneyim var (> = 6 yıl profesyonel) ile

  • PHP
  • SQL

Ben hobi deneyime sahip olması

  • C + + / DX9 (bazı simple windows oyunları / demolar)
  • Obj-C (bir kaç iphone app)
  • ASM (http://www.amazon.com/Assembly-Language-Intel-Based-Computers-5th/dp/0132383101/ref=sr_1_1?ie=UTF8&s=books&qid=1263401280&sr=8-1) - Çok pencere belirli aldığımda ben durdu.

So my question is what language can I next approach (on my free zaman) to give me some new insight to programming and problem solving in general - Belki LISP bakıyordum - bana çok yabancı olacak bir şey. Yukarıda listelenen diller şey çok, very different mücadele etmek istiyorum.

EDIT: Ben Haskell'i araştırmak düşünüyorum - geribildirim için teşekkür! ve belki de muhtemelen Erlang, ve ben gerçekten kar leoparı için Mac App hakkında Adrian Kosmaczewski fikrini sevdim.

12 Cevap

Haskell, Python kısa bir süre izledi.

Bir fonksiyonel programlama dili deneyin

  • F #
  • Peltek konuşma
  • Haskell

Eğer deneyebilirsiniz iki çok farklı programlama dilleri Haskell ve Prolog vardır.

Haskell bağımsız değişken olarak diğer işlevleri almak ve onları değiştiren fonksiyonlara sahip saf fonksiyonel dildir. Bu zihninizi freshes ;-)

Prolog Eğer gerçek olmalıdır koşulları bir dizi belirtmek ve sonra prolog yasal çözümler bulabilirsiniz mantıklı bir dildir. Dil yapay zeka araştırma için kullanılmıştır.

Yakut. Ruby büyük ve oradan inanılmaz bir çerçevedir Raylar, hakkında bilgi edinebilirsiniz.

Prolog, to learn logical programming. That will probably teach you a lot, but I mean it as a hobby, since I personally do not know any non-educational applications.

Haskell, veya Erlang, fonksiyonel programlama için.

Ben size yeni ve çok "farklı" bir dilde ilgilendiğiniz ve çeşitli seçenekler düşünüyorsanız, önce toplumu kontrol etmelisiniz söyleyebilirim. Insanlar güzel görünmek ve iyi bir havası varsa, haber grupları, nasıl aktif bakın. O dilde popüler projeler entrika konularda olma eğilimi olmadığını araştırmaktır.

Haskell iyi bir seçenek gibi görünüyor. Fonksiyonel diller önemlidir ve problem çözme için farklı bir yönünü göstermek. Ben Erlang bakarak oldum ama henüz bir şey yazmadım, bu yüzden paylaşılan merakı dışında herhangi bir düzeyde bu konuda konuşamam.

bağlantı | bayrak

Yorum eklemek


Psssst... over here! Shhhhh! Don't draw no attention! We clear? Are you sure kimse seni takip?

So you wanna "completely change the way you look at programming", eh? People probably tellin' you the way to get mind expansion is to go to CS school—functional programming, or something sissy like that. Yeah I know what I said...with the bullcrap about "community"...that was to get the moderation police off my back, dude!

Fact is I got your "mind expansion" right here...the crack cocaine of programming: [Rebol]

First time's free. But if anyone asks where you got that from, it wasn't me! We never met...I don't exist. You got that!??

: P

Clojure. Sen pişman olmayacaksınız

Javascript ve python.

Javascript is the most misunderstood language in the world. But don't take Crockford advice. Embrace it with its defects. Don't work around them. Just be aware of them. For example, dont' go closure for the object creation. embrace prototype-based inheritance. It's cool.

Bu, akademik veya profesyonel gelişim için mi? Ikincisi ise, çalışmak istediğiniz alanları bakmak, ve onlar için ne soruyorsun dilleri görmek. Bunlar muhtemelen böyle (etki olarak) örneğin C + +, C # veya Ada gibi ana akım olacak, ama bu akademik ilgi için ise daha ezoterik dillerden bazıları, Forth, faiz Eiffel Smalltalk ve başkaları tarafından belirtilen tüm bu olabilir .

Mesleki gelişim için, bir jack-of-all-esnaf, usta-of-hiçbiri, ve ben daha fazla dikey düşünmek ve tasarım okuyor ve bu UML modelleme dili gibi düşünebilirsiniz öneririz olma, ve ilgili analiz / tasarım yöntemleri olabilir ve desenler. Bu beceriler diller arasında taşınabilir, ve dil seçimi her zaman iyi bir şartname ve tasarım ikinci sırada yer almalıdır.

LISP ve BELİRTİLEN ciddi mindstretching için iyi seçimlerdir.

Eğer ciddi kendinizi germek istiyorsanız, Abelson ve bir kopyasını almak Sussman ait "Bilgisayar Programlarının Yapısı ve Yorumlanması", ve MIT Programı sisteminin bir kopyası, ve kitap aracılığıyla çalışmaya başlar. Plan LISP'in bir lehçesi olduğunu (ama muhtemelen zaten. Biliyordu) (Bu konuda, Open Courseware MIT'de elbette ki 6.001 bir kopyasını aşağı çekin.)

Eğer ilginç şekillerde, Google iyi bir yerine size hizmet edecek, farklı bir zihniyet, öğrenmek isteyen ve bir kopyasını aşağı snarf ise Leo Brodie klasik "BELİRTİLEN Başlangıç", ve oynamak için bir BELİRTİLEN tercüman pick up. (Kitap BELİRTİLEN edinilebilir artık polyFORTH, Inc için yazılmış ve BELİRTİLEN sistemleri bu gün yaygın değildirler.) Sonra aynı yazar, "BELİRTİLEN Düşünme" okuyun.

Size OOP ve fonksiyonel programlama gibi bazı CS temelleri üzerinde çalışmak için iyi bir fırsat verecektir olarak CV'nizi dayanarak, Python mücadele öneriyoruz. Python olgun araç kutusunda olması için iyi bir genel amaçlı bir dildir, uygulamalar (web, programları, scriptler, sunucular, vb) geniş bir yelpazede için kullanılan ve kısa sürede öğrenmek ve üretken olmak oldukça kolay olabilir .