Pragmatik Programcı: PHP sonra, sırada ne var?

16 Cevap php

Ben Pragmatik Programcı okuyorum ve yazarlar biz her yıl yeni bir dil öğrenmek öneririz bölümüne gidiyorum. Şu anda bir PHP geliştiricisi ve ben merak ediyorum, ben bir sonraki ne olduğunu öğrenmek gerekir?

Bana benim becerilerini geliştirmek ve günlük görevleri ile bana yardımcı yardımcı olacak bir dil arıyorum. Yararlı bir şey.

Herhangi bir öneriniz?

[Edit] Awesome answers guys! Thanks. I'm still contemplating your answers and I'm leaning on studying Python or a functional prgoramming language as you guys have suggested (maybe Lisp).

16 Cevap

Python ve Ruby PHP / dan nispeten acısız geçiş gibi görünüyor.

Yeni bir şey öğrenme seçeneği yerine, biraz önce yapmış ne gibi bir şey oluyor.

C++ or C
A low level language that requires manual memory management and teaches you how things work at a lower level. Good community base and is one of the languages that a programmer should learn.

Ben derleme bir proje üretmek için acı bile düşük seviye olmasına rağmen olarak montaj üzerinde bunlardan birini öneririm. C veya C + + gibi bir dil öğrenme görece az sayıda yeni kavramlar Java kurula gidiyor karşılaştırıldığında olduğu gibi, sen hiç bunu yapmak istiyorsanız çok hızlı montaj öğrenmek için izin bonus olacak.

Haskell
A purely functional language that totally changes the way you look at some problems. It takes a lot of effort lean if you are already used to a imperative style of writing code.

Size özyineleme sevinçleri öğretim büyük bir avantaja sahiptir ve Haskell bir satırı yazmak asla ödenir bile size iyi ve temiz çözümler görmek için izin, diğer dillerde yazmaya kod darbe gerekir.

Java or C#
If you don't use PHP in an Object Oriented way (Not just using classes, but features like inheritance as well), then these languages force you to write in a OO style. I wouldn't recommend these if you are happy with OO programming.

Java veya C # için gitmek istiyorum, yani başka bir betik dili değildir şeyler öğrenmek.

JavaScript.

Ve ben really eğilim gibi görünüyor arada sadece "almak için yeterli" değil, onu öğrenmek demek. Ben bunu hiç anlamıyorum, çünkü önemsiz bir JavaScript problem üzerinde 2 gün atık olabilir aksi halde-büyük (sunucu tarafında) web geliştiricileri gördüm.

Ben bir geliştirici daha sık JavaScript fazla rastlamak bir dil olduğunu sanmıyorum, ve bunu kullanmak için gereken zaman, need kullanmak: Bazı toplama özgürlük olmaz müşteriler tarayıcısı üzerinde çalışan diğer dil. İyi haber bu bazı diğer programlama dilleri ile karşılaştırıldığında kavramak için çok uzun sürmez gerektiğidir.

Başlamak için iyi bir yer JavaScript:The World's Most Misunderstood Programming Language ile

Ben denemek ve sorunların çözümü için tamamen farklı bir zihniyet ve metodoloji gerektiren popüler functional programming dillerinden birinde almak için şiddetle faydalı olacağına inanıyorum. Eğer zor sorunlara henüz zarif minimalist çözümler programlamak için gerçekten izin verir. Daha yaygın dil bazıları şunlardır:

  • Erlang
  • Haskell
  • Peltek konuşma

Emin learning onları değil, sadece collecting Onları vardır olun - Ben yeni bir dil öğrenme iyi bir fikir olduğunu kabul ederken. Örneğin - bir Java arka plan geliyor ve ben Java şey yazmak ve yeni dilin olanaklarından yararlanarak değil ediyorum şekilde diğer dillerde yazmaya kendimi çekici tutmak. Ben alışkanlık emin değilim - ama sadece bunu yapmak size aynı şeyi başlarsanız için bir göz tutmak için doğal bir şey olduğunu unutmayın!

Hangi gelince ben öğrenmek istiyorum; Ben ikinci Ruby öğrenme (artı web uygulamaları yapmak istiyorsanız, isteğe bağlı Raylar) istiyorum - çok güzel bir dil ve PHP oldukça kolay bir geçiş var. Pragmatik programcılar "Kazma" kitap başlamak için iyi bir yerdir.

Eğer bir Mac erişiminiz varsa - Ben çok Objective-C ve Kakao öğrenme öneririz. Ben kesinlikle bu inceleyerek çok şey öğrendim - Ben bu tüm yuvarlak geliştirici beni daha iyi yaptı anlamayarak hissettim herhangi diğerlerinden daha fazla düşünüyorum. Kitap gelince - GUI taraf için Hillegas '"Mac OSX için Kakao Programlama" ilerlemeye sonra, dil tarafı için Koçhan adlı "Objective-C Programlama" ile başlar.

İyi şanslar!

C. Sonra Perl keşfetti ve ben tekrar PHP baktım asla sonra ben PHP öğrenmeye başladı. Nedenler? Perl, PHP gibi dinamik yazdınız, ama çok daha modüler edildi. Perl hakkında Camel kitap okumak için bir zevk oldu. Komut satırından bir Perl komut dosyası çalıştıran tüm olası kütüphaneleri yüklü gerekli olan PHP çok daha hızlı oldu - Perl Ben basit komut hafif tutarak çalışma saatinde istedik ekstra hangi işlevleri seçmek için bana izin verdi. Perl topluluk diğer dillere göre nispeten ileri düzeydedir. Perl dili usul den, OO, stilleri çeşitli programlama sağlar.

Fonksiyonel diller Ben şu anda en yığını Microsoft ile çalışıyorum çünkü öncelikle F # bakarak planlıyorum ilgi kazanıyor gibi görünüyor.

Ben de 'gibi, OO becerilerini geliştirerek tasarım kalıpları kullanarak, ve kazandı dilleri toplama yerine bir usta daha yapmak için bir geliştirici olarak becerilerini geliştirmek yardımcı olur başka bir şey gibi dile özgü olmayan konular bakarak tavsiye ediyorum t önemli bir proje üzerinde kullanmak için almak ve bu nedenle gerçekten usta asla.

Python + Django komut dosyası içinde kalmak istiyorum.

C Eğer sahne arkasında nasıl çalıştığını anlamak istiyorsanız.

C (C gibi, C + +) Benim önerim olacaktır. Bu anında yorumlanır veya daha yüksek seviyeli diller aslında sizin için yapmak (ya da sizi kurtarmak, bağlı) sadece ne takdir yapacaktır.

Ben sadece C + + içine daldı bir sürü insan biliyorum ama o da C + + için ilk mantıksal basamak. (Yukarıdaki gibi) C ilk iradesini Öğrenme takdir, veya + + daha fazla C nefret yapmak ya.

Gerçekten de yuvarlak programcı olmak için, kendi türleri yönetmek, hem de bir çöp toplayıcı güvenlik ağı olmadan bellek yönetimi ile uğraşmak gerekir. Bu iki programcı at all olmak için bir önkoşul olduğunu olmak için kullanılır.

Ayrıca, kendi PHP uzantıları yazma olabilirdi tüm eğlenceli düşünüyorum :)

Bu bir tartışma haline dönüşebilir.

Benim önerim, mevcut becerileri ile ilgili bir şey var yeni bir dil öğrenmektir.

Benim "ilk dil" Ben PHP dünyasına girmek danışman işler üstlendi zaman C + + ve Visual C bana getirdi C oldu.

Onlar sıkıca PHP ile birleştiğinde beri burada itibaren, ben, Javascript ve jQuery becerilerini topluyorum. (DOM, CSS ve HTML dili değildir, bu yüzden burada sayılmaz.)

Ya da belki başka bir yöne çekmek ve SQL için gitmek istiyorum.

Seçimleri sizindir ve kavşaklar her yerde vardır.

Emin değil MVC modeli altında PHP programlama olur? Eğer değilse Ama bu öğrenmek için iyi bir yöntemdir.

Örnekler: Zend veya CakePHP

Bu tamamen sizin ne yapmak istediğinize bağlıdır. Herkes bir sonraki öğrenmek gerektiğini söyleyebiliriz düşünüyorum, değil sizin fikrinizi vermenize yardımcı olacak bizim deneyimleri ile paylaşmayın. Sonuçta, sonraki dil için karar esas alınmalıdır Eğer (masaüstü, mobil, web, vb) geliştirmek isteyen ne tür uygulamaların ne.

Benim deneyim ile paylaşmak gerekir. Ben bir PHP programcısı olarak kullanılan ve ben konsantre ne istiyorsun, aynı soruyu karşı karşıya. Java öğrenmek için sona erdi ve benim seçim ile mutlu oldum. Ben iyi bir seçim olduğunu düşünüyorum neden İşte bazı nedenleri vardır

  • Java dünyasında yaygın olarak kullanılan bir dildir. Bu dersin bu böyleydi, bölgeler ve ülkeler arasında değişebilir: Bu iyi Java becerileri ile daha çok Python ya da Ruby becerileri (reddi ile daha (daha kolay) (daha iyi) bir iş bulmak olasıdır olacak demektir benim alan)
  • Ben web siteleri ve PHP ile bir sürü uygulama yapmıştı ve ben bir ortam olarak web sevdim. Büyük kurumsal uygulamalar yapma parçası olmak - ki ben de yapmak istediğim bir şeydi - Yine, ben PHP tam şişmiş kurumsal uygulamalar oluşturmak için oldukça dil olmadığını hissettim. Neyse ki, GWT veya Vaadin Ben web ortamında çalışacak kurumsal uygulamalar oluşturmak mümkün oldum gibi araçlarla - Java tüm. Bu benim için bir kazan-kazan gibi, ben web için büyük bir yazılım oluşturmak mümkün oldu.
  • Java, daha Object Oriented düşünmek de PHP yazarken ben yararını gördüm şey beni zorladı.
  • Java multi-platform, bu nedenle (Java ME) linux / mac / windows ya da mobil cihazlar için uygulamaları yazmak kolaydır

Benim iki sent.

Bu dil öğrenme için motivasyon bağlıdır.

Eğer daha etkili bir gün-gün iş yapmak için yeni bir dil öğrenmek istiyorsanız, Python ya da Ruby öneririm. Onlar hem de çalışmak için son derece verimli olan popüler diller ve programlama görevleri geniş bir yelpazede uygulanabilir. Başkasının işaret ettiği gibi, hem JVM (Jython ve JRuby) ve. Net (IronPython & IronRuby) için için sürümleri vardır bu nedenle bu platformlar ya öğrenmek istiyorsanız onlar başlamak için iyi bir yoldur. Onlar da kullanmayı öğrenmek kolay ve eğlenceli hem de. Benim tercih Python için, ama ben yıllardır bunu kullanıyorum çünkü muhtemelen.

Eğer istihdam seçeneklerini artırmak istiyorsanız o iş kullanılan en popüler dilleri ile gitmek - Bu Java ya da C # da gelir.

Aklını genişletmek istiyorsanız, o zaman ben Lisp bir sürümünü önermek. Ben Clojure tavsiye - JVM üzerinde çalışan ve tüm Java kütüphanelerine erişim sağlayan Lisp lehçesi olduğunu. Pragmatik Programcılar 'kitaplık mükemmel bir tanıtım kitap var.

  • JavaScript (tercihen jQuery ve Ext.js yoluyla)
  • RegExp (preg_match lezzet)
  • SQL (MySQL, PostgreSQL, SQLite lehçeleri)
  • XSLT (ve XML)

Her biri çok farklı. Her biri farklı bir amaca hizmet eder ve her PHP web geliştirici için çok yararlıdır.

Farklı bir şey denemek isterseniz ben gitmek istiyorum

  • ActionScript (büyük fırsatlar)
  • C # (büyük IDE)
  • Python (karmaşık fikirleri, yanıltıcı basit sözdizimi)
  • Rebol (garip yapıları ilk tahminim üzerinde sorunsuz çalışacak olan eğlenceli)

Lisp.

(Veya diğer bazı işlevsel bir dil.)

Ben yıllardır PHP kodlanmış ve daha sonra bir (fonksiyonel) Lisp sınıfı aldı. Dört wtf% f @ ağrı hafta ve daha sonra saf sevinç oldu. PHP (ya da herhangi başka bir çözüm-odaklı iş dili) kodlama yaparken işlevsel programlama, ve especially özyinelemeye anlamak, gerçekten ve kenar verir.