Javascript başlangıçta yapmak için tasarlandığından daha da gelişti mi?


10

Bir arkadaşımla Javascript'in amacı, ne zaman ve nasıl kullanılması gerektiği vb. Hakkında konuştum.

JavaScript, HTML sayfalarına etkileşim eklemek için tasarlanmıştır

[...]

JavaScript HTML tasarımcılarına bir programlama aracı sunar

  • HTML yazarları normalde programcı değildir, ancak JavaScript çok basit bir sözdizimine sahip bir betik dilidir! Hemen hemen herkes HTML sayfalarına küçük kod parçacıkları koyabilir JavaScript etkinliklere tepki verebilir
  • JavaScript, bir şey gerçekleştiğinde, örneğin bir sayfanın yüklenmesi bittiğinde veya bir kullanıcı bir HTML öğesini tıkladığında yürütülecek şekilde ayarlanabilir JavaScript, HTML öğelerini okuyabilir ve yazabilir
  • JavaScript, bir HTML öğesinin içeriğini okuyabilir ve değiştirebilir JavaScript verileri doğrulamak için kullanılabilir
  • JavaScript, form verilerini bir sunucuya gönderilmeden önce doğrulamak için kullanılabilir. Bu, sunucuyu ekstra işlemden kurtarır
  • Ziyaretçinin tarayıcısını algılamak için JavaScript kullanılabilir - Ziyaretçinin tarayıcısını algılamak için bir JavaScript kullanılabilir ve - tarayıcıya bağlı olarak, o tarayıcı için özel olarak tasarlanmış başka bir sayfa yükleyin.
  • Çerezler oluşturmak için JavaScript kullanılabilir - Ziyaretçinin bilgisayarında bilgi depolamak ve almak için bir JavaScript kullanılabilir.

Ancak, Javascript'in bu günlerden çok daha fazlasını yapmaya alıştığı görülüyor. Arkadaşım ayrıca Javascript'in OOP işlevini kullanmaya karşı da savunuyor ve "verileri işlememelisiniz, sadece doğrulamalısınız." Javascript gerçekten verileri doğrulamak ve bir web sayfasında gösterişli grafikler yapmakla sınırlı mı?

"Veritabanlarına javascript aracılığıyla erişmeye çalışmamalısınız" ve "genel olarak javascript'te ağır kaldırma yapmak istemiyorsunuz" ifadesini kullanmaya devam ediyor. Onun görüşüne katıldığımı söyleyemem, ama bu konuda biraz daha bilgi almak istiyorum.

Yani, sorum: Javascript yukarıdaki tanımdan daha güçlü bir şeye evrildi mi, onu kullanma şeklimiz değişti mi yoksa ben sadece yanlış mıyım? Bunun öznel bir soru olduğunu fark etsem de, daha fazla bilgi bulamıyorum, bu yüzden başka bir şey olmasa bile birkaç bağlantı iyi olurdu. Bir tartışma aramıyorum, sadece bir cevap arıyorum.


Ben de "kim" bunu yapmak için itiyor merak ediyorum ve neden?
NoChance

1
Arkadaşınızın JavaScript hakkında anladıkları şey için kaynak materyali yaklaşık 1998'de yerleştirirdim.
Erik Reppen

Yanıtlar:


21

JavaScript'in bir programlama dili olmadığını düşünen kişiler, JavaScript konusunda saygı duymamanız gereken kişilerdir.

JavaScript, Scheme semantiği ve Java sözdiziminden organik olarak ilham alan bir dildir. Orijinal amacı genel değildi ama şimdi öyle büyüdü.

Dil olarak JavaScript, herhangi bir görev için uygunsa hemen hemen her işi yapmak için uygundur. JavaScript'in genel sunucu tarafı programlama için kullanılmasına izin veren IO işlevlerinden oluşan ana bilgisayar ortamına erişimi olduğu node.js gibi örneklere göz atın.

Arkadaşım ayrıca Javascript'in OOP işlevini kullanmaya karşı da savunuyor ve "verileri işlememelisiniz, sadece doğrulamalısınız." Javascript gerçekten verileri doğrulamak ve bir web sayfasında gösterişli grafikler yapmakla sınırlı mı?

Hayır, JavaScript bir programlama dilidir, veri yapılarını, algoritmaları ve mantığı temsil etmek istiyorsanız, dilin sunduğu araçları kullanın. Özellikle 1. sınıf fonksiyonlar ve prototipler güçlü araçlardır.

"Veritabanlarına javascript aracılığıyla erişmeye çalışmamalısınız" ve "genel olarak javascript'te ağır kaldırma yapmak istemiyorsunuz" ifadesini kullanmaya devam ediyor. Onun görüşüne katıldığımı söyleyemem, ama bu konuda biraz daha bilgi almak istiyorum.

Yanlış, Tarayıcıda JavaScript ile eriştiğimiz indexedDB adlı bir veritabanımız var. Bu, tarayıcının içine yerleştirilmiş bir veritabanıdır ve eğer kullanmak istiyorsanız (ve kullanmalısınız) JavaScript kullanırsınız.

Ayrıca hem mongodb hem de couchdb'nin doğrudan veritabanında adhoc sorguları çalıştırmak için javascript kullanmanıza izin verdiğini unutmayın.

Ağır kaldırmaya gelince, kısmen doğrudur. Ağır kaldırma yapıyorsanız, bunu C veya erlang ile yapmalısınız. "Ağır kaldırma" teriminin belirsiz olmasına rağmen, örneğin JavaScript'teki videoları kodlayamaz veya kodunu çözemezdim, JavaScript'te görüntü işleme yapmam (C kullanın). JavaScript'te çırpınan bir sayı olmaz (fortran kullanın).

Javascript yukarıdaki tanımdan daha güçlü bir şeye evrildi mi, onu kullanma şeklimiz değişti mi yoksa ben sadece yanlış mıyım?

JavaScript, küçük komut dosyası işlevselliğini HTML'ye atmak için 2 haftalık bir sürede yazılmıştır. O zamandan beri ciddi bir şekilde büyüdü. ES3'ten (1999) beri güçlü bir genel amaçlı programlama dili olmuştur.


Ben de öyle düşünmüştüm. Şimdi sadece bunu arkadaşıma nasıl aktaracağımı bulmam gerekiyor.
Elliot Bonneville

@ElliotBonneville Büyük bir köpük cluebat önerebilir miyim ?

Hahaha, evet yapabilirsin. :) Bu çok komik.
Elliot Bonneville

Geriye dönük uyumluluk nedeniyle sonsuza kadar kalacak gotchas
Den

@Den evet bazı gotchas var, ama C, C ++, PHP ve Java da var.
Raynos

9

Arkadaşınızın vizyonu çok eski ve Google'ın GMail'i yayınlamasından bu yana olan her şeyi kaçırıyor.

Şimdi, bu Javascript'in başlangıçta yapmak için tasarlandığından daha fazla geliştiği anlamına mı geliyor? Bir çeşit. Ancak tasarımın bu arada değiştiğini ve geliştiricilerin yeni ihtiyaçlarına göre gelecekte değişeceğini unutmayın. Bu, diğer popüler diller için de geçerlidir. Örneğin, C # 'ın ilk sürümü yayınlandığında, hiç kimse tasarımda dinamik koda izin vermeyi beklemez. Şimdi DLR birkaç yıl kullanılabilir.


2

Dil her zaman başlangıçta düşündüğümüzün üzerinden geçer. C (veya C ++) başında herhangi biriyle konuşun, birisi dilin hemen hemen her yerde bulunacağını düşünüyor mu? Ben öyle düşünmüyorum.

Her dil daha fazla bilgi edinmek / daha fazla ilerlemek için kazanır.

Javascript'in hala takdir edilmeyen bir dil olduğunu kabul ediyorum, sadece arkadaşın değil. Sorun, X veya Y dilinin kötü / işe yaramaz olduğunu düşünmüyor, sorun bu fikri sonsuza kadar tutmak. Bilgisayar Bilimi / BT'de her şey hızla değişiyor ve gelecekte de çok değişecek.

Bu yüzden kutunun dışında öğrenmeye / düşünmeye devam etmek önemlidir ...


Pek çok kişinin JavaScript'in hala takdir edilmeyen bir dil olduğunu söyleyebileceğini sanmıyorum . Aslında bence dünyanın en popüler dili.
Jim
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.