มีการพัฒนา Javascript เกินกว่าที่ได้รับการออกแบบมาให้ทำตั้งแต่แรก


10

ฉันได้พูดคุยกับเพื่อนเกี่ยวกับวัตถุประสงค์ของ Javascript เมื่อใดและอย่างไรควรใช้อย่างไร ฯลฯ เขาอ้างว่า:

JavaScript ได้รับการออกแบบมาเพื่อเพิ่มการโต้ตอบกับหน้า HTML

[ ... ]

JavaScript ให้เครื่องมือการเขียนโปรแกรม HTML สำหรับนักออกแบบ HTML

  • โดยปกติผู้เขียน HTML ไม่ใช่โปรแกรมเมอร์ แต่ JavaScript เป็นภาษาสคริปต์ที่มีไวยากรณ์ง่ายมาก! เกือบทุกคนสามารถวาง "ตัวอย่าง" ของรหัสขนาดเล็กลงในหน้า HTML ของพวกเขา JavaScript สามารถตอบสนองต่อเหตุการณ์
  • JavaScript สามารถตั้งค่าให้ทำงานเมื่อมีบางสิ่งเกิดขึ้นเช่นเมื่อเพจโหลดเสร็จหรือเมื่อผู้ใช้คลิกที่องค์ประกอบ HTML JavaScript สามารถอ่านและเขียนองค์ประกอบ HTML ได้
  • JavaScript สามารถอ่านและเปลี่ยนแปลงเนื้อหาขององค์ประกอบ HTML สามารถใช้ JavaScript เพื่อตรวจสอบข้อมูล
  • จาวาสคริปต์สามารถใช้ในการตรวจสอบข้อมูลในแบบฟอร์มก่อนที่จะถูกส่งไปยังเซิร์ฟเวอร์ สิ่งนี้ช่วยประหยัดเซิร์ฟเวอร์จากการประมวลผลพิเศษ
  • JavaScript สามารถใช้เพื่อตรวจจับเบราว์เซอร์ของผู้เยี่ยมชม - JavaScript สามารถใช้ตรวจจับเบราว์เซอร์ของผู้เยี่ยมชมและ - ขึ้นอยู่กับเบราว์เซอร์ - โหลดหน้าอื่นที่ออกแบบมาโดยเฉพาะสำหรับเบราว์เซอร์นั้น
  • สามารถใช้ JavaScript เพื่อสร้างคุกกี้ - JavaScript สามารถใช้เพื่อจัดเก็บและดึงข้อมูลบนคอมพิวเตอร์ของผู้เข้าชม

อย่างไรก็ตามดูเหมือนว่า Javascript จะคุ้นเคยกับการทำมากกว่าวันนี้ เพื่อนของฉันยังสนับสนุนการใช้ฟังก์ชัน OOP ของ Javascript ด้วยโดยอ้างว่า "คุณไม่ควรประมวลผลข้อมูลเพียงตรวจสอบความถูกต้อง" Javascript มีข้อ จำกัด ในการตรวจสอบความถูกต้องของข้อมูลและการสร้างกราฟิกที่ฉูดฉาดบนหน้าเว็บหรือไม่?

เขากล่าวต่อไปว่า "คุณไม่ควรพยายามเข้าถึงฐานข้อมูลผ่านทางจาวาสคริปต์" และยังบอกด้วยว่า "โดยทั่วไปคุณไม่ต้องการที่จะยกระดับจาวาสคริปต์อย่างหนัก" ฉันไม่สามารถพูดได้ว่าฉันเห็นด้วยกับความคิดเห็นของเขา แต่ฉันต้องการได้รับข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้

ดังนั้นคำถามของฉัน: Javascript มีวิวัฒนาการมาจากคำจำกัดความด้านบนเป็นสิ่งที่มีประสิทธิภาพมากกว่ามีวิธีที่เราใช้เปลี่ยนแปลงหรือฉันแค่ผิดธรรมดา? ในขณะที่ฉันรู้ว่านี่เป็นคำถามส่วนตัวฉันไม่สามารถหาข้อมูลเพิ่มเติมเกี่ยวกับมันดังนั้นการเชื่อมโยงเล็กน้อยจะดีถ้าไม่มีอะไรอื่น ฉันไม่ได้มองหาการอภิปรายเพียงคำตอบ


ฉันยังสงสัยว่า "ใคร" กำลังผลักดันให้ทำเช่นนั้นและเพราะเหตุใด
NoChance

1
ฉันจะวางแหล่งข้อมูลสำหรับสิ่งที่เพื่อนของคุณมาทำความเข้าใจเกี่ยวกับ JavaScript ที่เกี่ยวกับปี 1998
Erik Reppen

คำตอบ:


21

คนที่คิดว่า JavaScript ไม่ใช่ภาษาโปรแกรมเป็นคนที่มีความคิดเห็นเกี่ยวกับ JavaScript ที่คุณไม่ควรเคารพ

JavaScript เป็นภาษาที่ได้รับแรงบันดาลใจจากความหมายของ Scheme และ syntax ของ Java มันมีจุดประสงค์ดั้งเดิมไม่ใช่ทั่วไป แต่ตอนนี้มันเติบโตขึ้น

JavaScript เป็นภาษาที่เหมาะที่จะทำอะไรก็ได้ถ้ามันเหมาะกับมัน ดูตัวอย่างเช่น node.js ที่ JavaScript มีการเข้าถึงสภาพแวดล้อมโฮสต์ซึ่งประกอบด้วยฟังก์ชั่น IO ซึ่งอนุญาตให้ใช้สำหรับการเขียนโปรแกรมฝั่งเซิร์ฟเวอร์ทั่วไป

เพื่อนของฉันยังสนับสนุนการใช้ฟังก์ชัน OOP ของ Javascript ด้วยโดยอ้างว่า "คุณไม่ควรประมวลผลข้อมูลเพียงตรวจสอบความถูกต้อง" Javascript มีข้อ จำกัด ในการตรวจสอบความถูกต้องของข้อมูลและการสร้างกราฟิกที่ฉูดฉาดบนหน้าเว็บหรือไม่?

ไม่จาวาสคริปต์เป็นภาษาการเขียนโปรแกรมหากคุณต้องการแสดงโครงสร้างข้อมูลอัลกอริธึมและตรรกะจากนั้นใช้เครื่องมือที่ภาษานำเสนอ ฟังก์ชั่นชั้นหนึ่งโดยเฉพาะและต้นแบบเป็นเครื่องมือที่มีประสิทธิภาพ

เขากล่าวต่อไปว่า "คุณไม่ควรพยายามเข้าถึงฐานข้อมูลผ่านทางจาวาสคริปต์" และยังบอกด้วยว่า "โดยทั่วไปคุณไม่ต้องการที่จะยกระดับจาวาสคริปต์อย่างหนัก" ฉันไม่สามารถพูดได้ว่าฉันเห็นด้วยกับความคิดเห็นของเขา แต่ฉันต้องการได้รับข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้

ผิดในเบราว์เซอร์เรามีฐานข้อมูลชื่อ indexedDB ซึ่งเราเข้าถึงด้วย JavaScript มันเป็นฐานข้อมูลที่ถูกนำไปอบในเบราว์เซอร์และถ้าคุณต้องการใช้มัน (และคุณควร) คุณก็ใช้จาวาสคริปต์

นอกจากนี้โปรดทราบว่าทั้ง mongodb และ couchdb อนุญาตให้คุณใช้จาวาสคริปต์เพื่อเรียกใช้แบบสอบถาม adhoc บนฐานข้อมูลโดยตรง

สำหรับการยกของหนักเขาก็แก้ไขได้บางส่วน หากคุณกำลังยกของหนักคุณควรทำใน C หรือ erlang แม้ว่าโปรดทราบว่าคำว่า "การยกของหนัก" นั้นคลุมเครือตัวอย่างเช่นฉันจะไม่เข้ารหัสหรือถอดรหัสวิดีโอใน JavaScript แต่ฉันจะไม่ประมวลผลภาพใน JavaScript (ใช้ C) ฉันจะไม่กระทืบตัวเลขใน JavaScript (ใช้ fortran)

Javascript มีวิวัฒนาการมาจากคำจำกัดความด้านบนเป็นสิ่งที่มีประสิทธิภาพมากกว่ามีวิธีที่เราใช้เปลี่ยนแปลงหรือฉันแค่ผิดธรรมดา

JavaScript เขียนขึ้นในช่วงเวลา 2 สัปดาห์เพียงเพื่อตบฟังก์ชั่นการเขียนสคริปต์เล็กน้อยเป็น HTML ตั้งแต่นั้นมาก็มีการเติบโตอย่างรุนแรง ตั้งแต่ ES3 (1999) มันเป็นภาษาการเขียนโปรแกรมอเนกประสงค์ที่ทรงพลัง


นั่นคือสิ่งที่ฉันคิดด้วย ตอนนี้ฉันแค่ต้องคิดออกวิธีการถ่ายทอดให้เพื่อนของฉัน
Elliot Bonneville

@ElliotBonneville ฉันขอแนะนำcluebat โฟมขนาดใหญ่ ?

ฮ่าฮ่าฮ่าคุณทำได้ :) นั่นเป็นเฮฮา
Elliot Bonneville

"ภาษาโปรแกรมเอนกประสงค์ที่ทรงพลัง" ที่เต็มไปด้วย gotchas ที่จะอยู่ที่นั่นตลอดไปเนื่องจากความเข้ากันได้แบบย้อนหลัง: codeproject.com/Articles/182416//
เดส

@ ใช่แล้วก็มี gotchas อยู่บ้าง แต่ C, C ++, PHP และ Java ก็เช่นกัน
Raynos

9

วิสัยทัศน์ของเพื่อนของคุณล้าสมัยอย่างมีประสิทธิภาพและคิดถึงทุกสิ่งที่เกิดขึ้นนับตั้งแต่ที่ Google เปิดตัว GMail

ตอนนี้สิ่งนี้หมายความว่า Javascript พัฒนาเกินกว่าที่ได้รับการออกแบบมาให้ทำตั้งแต่แรก? เรียงจาก แต่อย่าลืมว่าการออกแบบเปลี่ยนไปในขณะเดียวกันและจะเปลี่ยนแปลงในอนาคตตามความต้องการใหม่จากนักพัฒนา ใช้ได้กับภาษายอดนิยมอื่น ๆ ตัวอย่างเช่นเมื่อเวอร์ชันแรกของ C # วางจำหน่ายจะไม่มีใครคาดว่าจะอนุญาตให้ใช้รหัสแบบไดนามิกในการออกแบบ ตอนนี้ DLR มีให้บริการสองสามปี


2

ภาษาดำเนินไปตามความคิดของเราตั้งแต่แรก พูดคุยกับทุกคนที่จุดเริ่มต้นของ C (หรือ C ++) มีคนคิดว่าภาษาจะพบได้เกือบทุกที่ในขณะนี้ ฉันไม่คิดอย่างนั้น

แต่ละภาษาชนะเพื่อเรียนรู้เพิ่มเติม / ผลักดันเพิ่มเติม

ฉันยอมรับว่า Javascript เป็น / ยังเป็นภาษาที่ไม่ค่อยมีความสนใจเพื่อนของคุณไม่ใช่คนเดียว ปัญหาไม่ได้คิดว่าภาษา X หรือ Y ไม่ดี / ไร้ประโยชน์ปัญหาคือการรักษาความคิดนี้ไว้ตลอดไป ในวิทยาการคอมพิวเตอร์ / ไอทีทุกอย่างเปลี่ยนไปอย่างรวดเร็วและมันจะยังคงเปลี่ยนไปมากในอนาคต

นั่นเป็นเหตุผลที่สำคัญที่จะต้องเรียนรู้ / คิดนอกกรอบ ...


ฉันไม่คิดว่าหลายคนอาจพูดได้ว่า JavaScript ยังเป็นภาษาที่น่าชื่นชม อันที่จริงฉันคิดว่ามันเป็นภาษาที่ได้รับความนิยมมากที่สุดในโลก
Jim G.
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.