Ben ilk Açık kaynak web geliştirme için Perl ve PHP öğrenmek gerekir?

14 Cevap php

Ben Microsoft yığını ile çalışıyoruz ve benim boş zamanlarında, LAMP gibi, alternatif yığınları ile deneyim biraz olsun istiyorum.

LAMP P, "PHP" genellikle, ancak Perl olabilir (ya da Python, ancak Python yukarıdaki Perl veya PHP düşünüyor yaşıyorum.). Diğer uygulamalarda yararlı olacak gibi görünüyor çünkü ben, Perl doğru gravitating yaşıyorum, ve Perl PHP daha 'akıllı' ve 'daha iyi' gibi bir üne sahip gibi görünüyor çünkü.

Perl için Artıları:

  • Iyi itibar. PHP kötü tasarım kararları ve ona yazılmış kötü programların çok olması için kötü bir üne sahiptir.
  • Non-web programları için kullanılabilir.
  • Daha fazla insan Perl AŞK gibi görünüyor, ancak bu bile PHP topluluğu PHP ılık.

PHP için Artıları:

  • Daha websunucu PHP, Perl var daha zaten yüklü.
  • Web sizin için çözülmesi ile yapmak zorunda mimari bazı sorunları beri Başlamak kolay.
  • PHP şu anda internet üzerinde en çok siteleri için kullanılan popüler bir dildir.
  • Bilen PHP İşimin kullanım olması daha muhtemel görünüyor.

Bu topluluk, Microsoft ve Java odaklanmış gibi görünüyor ve ben yola başlıyorum orası beri. Ben sizin görüş ilgileniyorum.

14 Cevap

Perl (ORMS dahil) web yığınını ele kütüphanelerin bir grup vardır. CPAN senin arkadaşın. Perl kullanarak için büyük sürücülerden biri CPAN olduğunu.

Ben bakarak öneririm Perltidy, Mason, Catalyst, Template-Toolkit2, Moose, {[(5) ]} ve POE alakalı kelimeleri dilinin temellerini öğrenmek, aramaya başlamak için.

PHP VB6 acemi dostu olduğundan aynı anlamda daha "acemi" dost olduğunu. Hatta belki de iyi kod, kod yazabilirsiniz, ama iyi bir PHP kodu yazmak önemli ölçüde zordur.

Asa Ayers: perldoc perlvar senin arkadaşın (Ayrıca bkz: perldoc perl).

PHP tasarım kararlarının bir sürü kod bilgisayar bilimi gaflar içine yapım untranied ikna çünkü korkunç bir üne sahip çok popüler bir dildir. PHP olanak kullanıcının kolayca İntermiks HTML ve tabii ki bilgisayar bilimi bir hayır-hayır büyük etki mantık, için. Bu hem ne kullanmak için PHP kolay yapar ve ne götürür o kadar kötü kabul edilmelidir. Eğer iyi, disiplinli bir programcı iseniz, PHP ile iyi, temiz programlama uygulama uygulayabilirsiniz.

Perl çok hızlı solma ve modern web uygulamalarında çok kullanılmaz. Orada Perl titiz bir yeri vardır, ama ben kadar onlar PHP'nin gibi Perl sözdizimi alay çok sayıda insan biliyorum.

PHP Perl olmayan bir doman özgü dilidir. PHP doğrulama ve sanitasyon girdi ve bir ORM aracılığıyla kolayca bir veritabanı ile çalışma gibi. NET ortamından kullanılabilir olacak güzel bir çok özellik içerir. Perl gerçekten özgün böyle bir şey yapma yolunda çok yok, bu yüzden Python gibi Perl, diğer ortak CGI langauges ile olduğu gibi hemen hemen aynı olan bir çerçeve ya da web programlama kütüphanesi ile çalışmak için hemen hemen her zaman daha kolaydır ve yakut. Eğer web programlama içine almak için arıyorsanız bu nedenle, ben muhtemelen PHP ile başlamak değil seçerseniz bu diğer iki dillerden biri ile başlamak daha tamamen Perl vazgeçmek olacaktır.

Bu veritabanları ile daha iyi entegre ve tür web için tasarlanmış çünkü web geliştirme için, ben açıkça PHP söyleyebilirim. Unutmamak için hemen hemen tüm webhosts PHP aynı diğer diller için geçerli değildir, destekler.

Seçeneği varsa Ancak, Python şimdi mevcut tüm çerçeveler verilen daha iyi bir seçim olabilir, ancak kendi sunucusundan hosting sürece tekrar bir hosting bakış açısı PHP, bulmak kolaydır.

Niye ilgilenen ve buna göre karar vermek ne açık kaynak projeleri bakmak değil mi? Ben başka bir yol etrafında özellikle akıllı yapıyor sanmıyorum.

@ Asa Ayers

Perl sihirli değişkenleri kullanmak değil, programcılar yapmak. Perl sadece onlara sunuyveya.

fveyaeach (@x) {
    print $_, "\n";
}

veya

fveyaeach my $x (@x) {
    print $x, "\n";
}

isn't difficult. $_ and @_ are really, really basic in Perl, and are optional. RTFM veya Larry Wall's book.

PHP is a God-awful mess. Perl was designed and is suppveyated by brilliant people. PHP is what you'd get if you outsourced the development of a well-thought-out language like Perl to people who spend half their time answering AMEX FAQs, and half their time programming.

Ben aktif Perl ve PHP de kullanıyoruz. Tipik olarak, ben ağır görevleri komut dosyası için web geliştirme ve Perl için PHP kullanmak. Ben de Mason ile birlikte web dili için Perl kullanan eski sistemi korumak yardımcı olur.

Ben (5.x) Perl kullanarak başlamadan önce ben kapalı ve en az bir kaç yıl için PHP kullanılır. Bir süre için her iki dilde kullanılan sonra, ben çekirdek Perl dili sözdizimi ve kullanılabilirlik PHP biraz daha iyi buluyorum. Bu benim PHP uygulanması nedeniyle şüpheli küçük şeyler genellikle. Örneğin, PHP işlevi func_get_args sonuç bir değişkene ayarlanması gerekir. Bunu yapmak zorunda:

$args = func_get_args();
return $instance->objectMethod($args);

Bunu yapmak mümkün değildir:

return $instance->objectMethod(func_get_args());

Gösterilen örnek çok küçük bir tahriş ama gelip şeylerin tür tipik. Diğer tipik bir (yerine bazı zaman ilk parametre olarak dize mantıksal bir fikir olarak görmek ne yapışmasını ilk geldiği parametre değişir dize fonksiyonlarına bakınız) fonksiyonlar için parametrelerin sırasıdır.

Kapak tarafında, Perl ve Mason ile eski sistem bakıyor, ben başka programcılar Mason Perl üzerinde PHP convulated okuma tercih söylemek gerekir. Sorun yürütülür bir tarayıcı ve kod bir sayfa yükleme arasındaki bağlantı belirlemek için hızlı olmasıdır. Bu Perl ve Mason buraya nasıl kullanıldığını nedeniyle olabilir. Ben kuvvetle öyle sanıyorum.

Perl ile ilgili bir diğer nokta CPAN güçlü bir şey ise, CPAN modülleri çok sayıda gerektiren uygulamalar devam eden bakım bazen tek beklediğiniz daha fazla zaman alabilir olmasıdır. Unutmayın ki, ben gereksiz CPAN modülü kullanımını sınırlamak için deneyin.

Benim tavsiye PHP ile başlar. PHP, bu küçük sıkıntılar olabilir iken, dikkatli düşünce ile doğru kullanıldığında oldukça güçlü.

Bu Perl programcılar üzgün olabilir, ama ben PHP öğrenmek istiyorum. Deneyimlerinden onun API çok daha kullanıcı dostu ve acemi olduğunu ve daha hızlı görünür sonuçlar elde.

PHP içine bir kaç ay bir kez, eksi API ve modülleri, daha sonra Perl deneyebilirsiniz ve semantik en tanıdık olacaktır. Perl gibi anlamaya bir süre alabilir ki "$ _" gibi kısayollar bir yeri vardır.

PHP API C programcıları tanıdık olacak bir çok fonksiyonu kullanır ve (siz de ancak Perl OO programlamayı öğreneceksiniz PHP 5 bazı temel OO özellikleri ile birlikte referans olarak geçen vâkıf ve sözdizimi gerçekten değil çok farklı 't).

Başka bir ekstra: PHP belgesel son derece iyidir. Bu hemen hemen tüm fonksiyonları için yorum ve notlar vardır ve. NET çoğalması önce utanç MSDN koydu. Hala utanç (standart kütüphaneleri için) Javadoc koyar.

My disclaimer - I learnt it the opposite way around - Perl then PHP. Perl was version 5.x and PHP 3.x to 4.x. I haven't used either language for about 5 years now though, but wrote this lot ben yaptım. Ayrıca Perl 6 geri sonra gelecek kurtarıcı (hala serbest değil gibi görünüyor!) Olmak. olarak lanse edildi

Herhangi bir * nix veya * (şimdiki Mac OS dahil olmak üzere) BSD Perl varsayılan olarak yüklediği - PHP hakkında bu diyemeyiz. Tabii ki herhangi bir sunucu barındırma PHP olurdu, ama (dist yükleme türünü seçerken örneğin) onlar bunu yükleyin.

Perl avantajları:

  1. Çok iyi topluluk
  2. Kararlılık, sürümü ve işletim sistemi uyumluluğu
  3. CPAN + cpantesters
  4. Test oryantasyon
  5. İyi Unicode desteği.
  6. Güçlü ve hızlı düzenli ifadeler
  7. Apache sıkı ve hızlı entegrasyon (mod_perl)
  8. Kötü yazılmış kod diğer dillere göre daha belirgindir
  9. Dilin kendisi ve CPAN ile dil uzatmak imkanı. Eski Python-style OO sistemi eskimiş kabul edilir - Moose bu yer aldı. Devel :: Declare yeni anahtar kelimeler ekleyerek sağlar. CPAN bile tip güvenliği için modüllere sahip. Kaynak filtreleri yeni diller eklemeye izin. Inline :: * ailesi, diğer dillerde kod entegre sağlar.
  10. (http://www.slideshare.net/osfameron/readable-perl-presentation/ bakınız) İyi okunabilirliği

PHP ile karşılaştırarak:

  • sıkı kullanın; uyarıları kullanın;
  • Perl :: Eleştirmen, perltidy
  • Unicode dil entegre
  • Yerine == / === / strval / intval arasında 'eşdeğer' ve '=='

Ben CGI :: Uygulama çerçevesi ile başlamak önerilir. Perl, PHP ve Python: 3 dillerde var.

Neden Perl veya PHP ya? Neden mükemmel web çerçeveler kullanılabilir olması, ve Perl daha öğrenmek çok kolay ama çok PHP daha iyi tasarlanmış, her ikisi de değil Python ve Ruby,.

Eğer her iki dilde de yapılabilir olması ve her biri hakkında nasıl hissetmek karşılaştırmak hem de bunu uygulamak için denemek gerektiğini düşünüyorum küçük bir proje alinmali.

Ben seçimimi yaptım ve pişman oldum değil ne olduğunu.

Onun kişisel bir karardır, PHP için belirtilen artılardır Perl üzerinde PHP doğru beni itmek istiyorsunuz. Ama sadece bendim. Onlar için ılık, orada gerçekten PHP gibi bazı kim, ama çoğunlukla doğru olduğunu düşünüyorum. Ama bu iyi bir PHP siteler olmadığı anlamına gelmez.

If it is Open Source you are after, then choose what ever YOU want.
One of the freedoms of open source is you can do it any way you like it.

Oh, ve ben (Ruby On) Ruby için giderdim

Ben daha yaygın olduğu için, daha fazla yardım ve daha fazlasını bulacaksınız belgeler var, ilk PHP söyleyebilirim. Hosting firmalarının 99.99% PHP desteği sağlamak beri Dağıtım kolaydır.

Itay Moav dediği gibi Sonra tekrar, Ruby on Rails tavsiye ederim ... sen ^ ^ gerçek bir alternatif / açık kaynak deneyimi elde edersiniz

Open Source içine almak istiyorsanız neden Microsoft yığını üzerinde devam?

Burada deneyin:

http://www.codeplex.com

Frakkle tarafından açıklamalarda belirttiği gibi, Microsoft yığını üzerinde devam ederken, hatta diğer 'açık kaynak' dillerin deneyebilirsiniz.


Perl:

ActivePerl


Python:

IronPython


Edit:

Sorunuzu değişti çünkü, ben de bir LAMC # yığın kullanabilirsiniz katacak:

The Mono Project