มันเป็นประโยชน์หรือไม่ที่จะเรียนรู้พื้นฐานของภาษาหลักที่ผ่านมาเมื่อเป้าหมายหลักคือการพึ่งพากรอบของมัน [ปิด]


10

โปรดจำไว้ว่านี่ไม่ใช่อีก ' ฉันควรรู้[ ภาษาโปรแกรมแทรกที่นี่ ] ก่อนที่จะย้ายไปยัง [ แทรกกรอบงานที่นี่ ] หรือไม่?' สิ่งที่ฉันต้องการทราบคือมีประโยชน์อย่างไรหากเรียนรู้แนวคิดขั้นสูงของภาษาการเขียนโปรแกรมเมื่อความตั้งใจของคุณคือการพึ่งพาเฟรมเวิร์กเป็นส่วนใหญ่ ตัวอย่างเช่นฉันเริ่มใช้ jQuery และใช้เวลาก่อนเพื่อเข้าใจแนวคิดหลักของ Javascript นอกจากนี้ฉันยังมีหนังสือพื้นฐานบางอย่าง (ความลับของ Javascript Ninja เป็นต้น) บนชั้นวางที่เจาะลึกภาษา ในขณะที่ฉันอ่านผ่านหน้าต่างๆ แต่ฉันพบว่ามันค่อนข้างดีพอที่จะทำให้ jQuery ไม่ได้เพราะความตั้งใจหลักของฉันคือการจัดการ DOM

เดียวกันสามารถพูดสำหรับ Ruby และ RoR หนังสือเหล่านี้จะทำให้ฉันเป็นโปรแกรมเมอร์ที่ดีขึ้นหรือไม่ อาจ. หัวข้อเหล่านี้ช่วยให้ฉันกลายเป็นกรอบที่ดีขึ้นได้หรือไม่ นั่นคือสิ่งที่ฉันมีความเข้าใจยาก


7
เมื่อทำการดีบั๊กมันมักจะช่วยได้ถ้าคุณเข้าใจว่าเกิดอะไรขึ้นหลังม่าน นอกจากนั้นฉันส่วนใหญ่เรียนรู้สิ่งใหม่เมื่อฉันพบกับความต้องการและฉันสนุกกับมัน
marczellm

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

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

jQuery เป็นกรณีพิเศษเล็กน้อย มันเกือบอีกโดเมนภาษาเฉพาะฝังอยู่ภายใน Javascript (เกือบ แต่ไม่เงียบ) ฉันสงสัยว่าเป็นเพราะ specialness นี้คำถามนี้จะเขียนได้ดีขึ้นโดยเฉพาะเกี่ยวกับ jQuery และ Javascript (มากกว่า jQuery และ JavaScript เป็นเพียงตัวอย่าง)
ลินดอนสีขาว

คำตอบ:


27

มันเป็นสิ่งสำคัญมากในการศึกษาภาษากว่าก็คือการศึกษากรอบ เรียนรู้ภาษาได้ดีและคุณจะใช้กรอบงานได้ดี

ตามลำดับความสำคัญ (สำคัญที่สุดก่อน):

  1. หลักการเขียนโปรแกรมพื้นฐาน - อัลกอริทึมโครงสร้างข้อมูล ฯลฯ
  2. กระบวนทัศน์ทางภาษา - OOP, หน้าที่ ฯลฯ
  3. คุณสมบัติทางภาษา
  4. ไวยากรณ์และกรอบ

2
ถ้าฉันทำได้ upvotes มากมาย โปรแกรมเมอร์จะถูก จำกัด ทั้งในการออกแบบและความสามารถในการทำงานขั้นสูงโดยสิ่งที่พวกเขาไม่รู้
ปีเตอร์สมิ ธ

8
5. รหัสสำนวน อ่านรหัสของผู้อื่นและเรียนรู้สไตล์ของภาษานี้โดยเฉพาะ
Joshua Taylor

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

โหวตขึ้นเพราะยืนยันความเอนเอียงส่วนตัวของฉัน อย่างไรก็ตามต้องการแหล่งที่มาของคุณโปรด
Aaron Hall

5

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

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

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

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


1

อาจต้องสมดุลเล็กน้อยในปริมาณที่คุณควรเรียนรู้ มันไม่ใช่ทั้งหมดหรือไม่มีอะไรเลยดังนั้นจงใช้เวลาให้มากที่สุดเท่าที่จะทำได้ คุณต้องถามตัวเองว่าความเสี่ยงที่คุณยอมรับนั้นเป็นอย่างไรโดยอาศัยกรอบการทำงาน

มันยอดเยี่ยมถ้าคุณต้องการเพียงแค่รับผลิตภัณฑ์ขั้นต่ำที่ทำงานได้และทำงานได้ จะไม่มีประสิทธิภาพมากหรือมีความต้องการที่ซับซ้อน สิ่งนี้จะถือว่าคุณเลือกเฟรมเวิร์กที่สามารถจัดการกับสิ่งที่คุณกำลังพยายามสร้าง

อีกด้านหนึ่งของสเปกตรัมคือถ้าคุณกำลังทำงานกับแอพพลิเคชั่นที่ค่อนข้างใหญ่ / ซับซ้อนและคุณพบบางสิ่งที่เฟรมเวิร์กจัดการได้ไม่ดี ไม่ใช่เรื่องใหญ่ดังนั้นคุณต้องเรียนรู้เพิ่มเติม JavaScript คุณจะต้องใช้เวลากับมันถ้าคุณเรียนรู้มันตั้งแต่ต้น แต่คุณมีเวลาหรือไม่ คุณจะสามารถเรียนรู้พื้นฐานภายใต้ความเครียดที่จะไม่ทำอะไรให้ตรงเวลาหรือไม่? ไม่มีใครสามารถตอบได้

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


1

พื้นที่ทั่วไปที่ต้องทนทุกข์ทรมานจากการขุดในกรอบก่อนที่จะรู้ภาษาหลักที่ดีคือประสิทธิภาพ สิ่งนี้เป็นจริงสำหรับทุกภาษา / แพลตฟอร์ม ( ไฮเบอร์เนต n + 1 เลือกฯลฯ ) ที่นี่เป็นจำนวนมากของเคล็ดลับ JQueryและเทคนิคซึ่งขึ้น (เหนือสิ่งอื่น) บนความรู้ที่ดีของภาษาหลักในความสัมพันธ์กับประสิทธิภาพการทำงาน:

ใช้สำหรับแทนฟังก์ชั่น Native แต่ละตัวจะเร็วกว่าตัวช่วยใด ๆ เมื่อใดก็ตามที่คุณวนลูปผ่านวัตถุที่ได้รับเป็น JSON คุณควรเขียน JSON ของคุณใหม่และทำให้อาร์เรย์กลับมาซึ่งคุณสามารถวนซ้ำได้ง่ายขึ้น

ใช้ ID แทนการเรียนจะดีกว่ามากในการเลือกวัตถุตาม ID เนื่องจากพฤติกรรมของไลบรารี: jQuery ใช้วิธีเนทีฟของเบราว์เซอร์คือ getElementByID () เพื่อดึงข้อมูลวัตถุทำให้เกิดการสืบค้นที่รวดเร็วมาก


0

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

ดังนั้นคำตอบของฉันคือ: ใช่มันคุ้มค่าอย่างแน่นอนเพราะกรอบงานไม่ใช่เครื่องมือที่เหมาะสมสำหรับงานทุกงาน

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