SORU
2 EKİM 2010, CUMARTESİ


Node.js için Haskell yanıtı nedir?

İnanıyorum ki eğer x cemaat değil kıskançlığın Node.js öyle engellenmeyen I/O doğal ve yolları ölçek dağıtımları kolayca birden çok işlemci (bir şey bile yerleşik Node.js). http://journal.dedasys.com/2010/04/29/erlang-vs-node-js Node.js or Erlang Daha fazla bilgi

Ne Haskell? Haskell node.js G/Ç engelleme multi-thread programlama çekilmesine gerek kalmadan önlemek için temiz bir çözüm yani bazı faydalar sağlayabilir?

GÜNCELLEME:

Node.js ile çeken birçok şey var

  1. Olaylar: iplik işleme, programcı sadece geri (Ek çerçeve gibi) sağlar
  2. Geri tek bir iş parçacığı çalıştırmak garanti: hayır yarış durumu mümkün.
  3. Güzel ve basit UNIX dostu API. Bonus: HTTP Mükemmel destek. DNS de kullanılabilir.
  4. Her g/Ç varsayılan olarak senkronize değildir. Bu daha kolay kilitleri önlemek için yapar. Ancak, bir geri arama içinde çok fazla CPU işlem diğer bağlantılar (bu durumda, görev, daha küçük alt işlere bölmek gerekir ve yeniden planlanan) etkileyecektir.
  5. İstemci tarafı ve sunucu tarafı için aynı dil. (Bu bir çok değer, ancak göremiyorum. bir WordPress kullanmak ve Node.js etkinlik programlama modeli paylaşmak ama gerisi çok farklı. Ben sadece sunucu tarafı ve istemci tarafı arasında kod paylaşımı pratikte yararlı olabileceğini anlayamıyor.)
  6. Tüm bu tek bir ürün olarak paketlenir.

CEVAP
4 EKİM 2010, PAZARTESİ


@Gawi bana çevrili node.js presentation biraz izledi sonra Tamam, bu yüzden, biraz daha Haskell node.js kıyaslanamaz hakkında söyleyebilirim. Sunumda, Ryan YEŞİL iş Parçacığı bazı yararlarını açıklar, ancak o zaman bir dezavantaj olmaya parçacığı bir soyutlama eksikliği bulmuyor olduğunu söylemeye devam ediyor. İş parçacığı sağlayan soyut sunucu kodu doğru almak için daha kolay yapmak için önemli olduğunu düşünüyorum, ve daha güçlü. özellikle Haskell kapsamında görevinden katılmıyorum, bence: Özellikle:

  • bağlantı başına bir iş parçacığı kullanarak tek bir müşteri ile iletişimi ifade eden kod yazma ile ilgili kod yazmak yerine sağlartümaynı zamanda müşteriler. Ama bence bu bir server bu işler birden fazla müşteri ile konuları benziyor hemen hemen aynı gibi bu işler tek bir müşteri; ana fark var fork bir yerde eski. Eğer uygulama yaptığınız protokolü hiç de karmaşık ise, birden fazla müşteri için devlet makine yönetme konuları aynı anda sadece tek bir müşteri ile iletişim script izin ise oldukça zor olur. Kodu doğru almak için daha kolay ve anlamak ve korumak daha kolaydır.

  • tek bir işletim sistemi iş parçacığı üzerinde aramalar konuları ile olsun ne önleyici çoklu görev, aksine kooperatif çoklu görev. Kooperatif çoklu görev ile ana dezavantajı programcı açlık yok emin sorumlu olmasıdır. Modüler kaybeder: bir yerde bir hata ve tüm sistemi berbat olabilir. Bu gerçekten hakkında endişelenmenize gerek yok bir şey, ve rüçhan basit bir çözümdür. Ayrıca, geri aramalar arasında iletişim mümkün değil (kilitlenme).

  • eşzamanlılık Haskell zor değil, en saf kod ve güvenli iplik İnşaat tarafından diye. Basit iletişim temel öğeler vardır. Çok zor sınırsız yan etkileri olan bir dil daha Haskell kullanımı ile ayağına ateş etmektir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jonathan D.

    Jonathan D.

    3 Kasım 2006
  • My Name Is Jeff

    My Name Is J

    26 ŞUBAT 2008
  • pleated-jeans

    pleated-jean

    6 HAZİRAN 2013