ความแตกต่างคืออะไรจริงเหรอ?
ความแตกต่างที่แท้จริงและสำคัญระหว่างภาษาการเขียนโปรแกรมและภาษาอื่น ๆ คือ:
HTML และ CSS อธิบายงานนำเสนอส่วนภาษาการเขียนโปรแกรมอธิบายการ
ทำงาน
ฉันตั้งใจจะแสดงให้เห็นว่าทำไมความแตกต่างนี้ถึงมีความสำคัญ
เรื่องจริง :
ฉันเคยใช้เวลาสองสามเดือนในการพัฒนาระบบการจัดการประสิทธิภาพที่ซับซ้อนโดยใช้ภาษาการเขียนโปรแกรม "เหมาะสม" มันเป็นกระบวนการในการรวบรวมข้อมูลจากระบบอื่น ๆ โดยอัตโนมัติทำการจัดการกับข้อมูลนั้นแล้วนำเสนอผลลัพธ์ในตารางอย่างง่าย
เมื่อมีการถ่ายทอดสดผู้จัดการอาวุโสเห็นเครื่องมือที่เขียนขึ้นสำหรับธุรกิจที่คล้ายกันและถามว่าเราสามารถแทนที่สิ่งที่ฉันเขียนโดยใช้ทางเลือกของพวกเขาได้หรือไม่ นอกจากนี้เขารู้สึกไม่สบายใจที่ฉันใช้เวลาหลายสัปดาห์ในการพัฒนาวิธีแก้ปัญหาของฉันซึ่งแอพใหม่นี้ถูกเขียนขึ้นในเวลาไม่กี่วัน
การตรวจสอบเพิ่มเติมพบว่าตัวเลือกที่ผู้จัดการต้องการคือการนำเสนอทั้งหมดโดยไม่มีเนื้อหา: มีสีและไอคอนและกราฟจำนวนมาก แต่ไม่มีเหตุผลใดๆ ข้อมูลทั้งหมดจะต้องรวบรวมและจัดการด้วยตนเอง แม้จะมีอินเตอร์เฟสที่สวยงามแอปพลิเคชันก็ไร้ประโยชน์
ฉันยินดีที่จะบอกว่าผู้จัดการที่มีปัญหานั้นได้ชักชวนว่าวิธีการของฉันเป็นสิ่งที่ตรงกับความต้องการทางธุรกิจที่แท้จริงของเขา
ความสำคัญของการนำเสนอ :
มักจะมีความหมายว่าทักษะใน HTML, CSS และอื่น ๆ จะด้อยกว่าทักษะในภาษาการเขียนโปรแกรม "ของจริง" นี่เป็นข้อผิดพลาดร้ายแรง
ในเรื่องของฉันผู้จัดการอาวุโสรู้สึกว่าการออกแบบมีความสำคัญต่อเขามากในตอนแรกที่เขาเตรียมที่จะมองข้ามการทำงานในความโปรดปราน ทีนี้ถ้านี่เป็นเหตุการณ์ที่เกิดขึ้นอย่างโดดเดี่ยวฉันอาจแนะนำว่าผู้จัดการโง่เง่า แต่มันไม่ใช่ ครั้งแล้วครั้งเล่าฉันได้พบกับผู้ใช้ที่ประทับใจกับกราฟิกที่ฉูดฉาดและวิดเจ็ตเสียงดัง แต่ไม่ประทับใจกับฟังก์ชันการทำงานแบบดิบและความสำเร็จทางเทคนิคของฉัน ฉันคิดว่ามีหลายบทเรียนให้เรียนที่นี่:
- คนประเมินซอฟต์แวร์ตามเกณฑ์ที่พวกเขาเข้าใจ พวกเขามักเข้าใจความแตกต่างระหว่างหน้าตาดีและน่าเกลียด แต่ไม่ค่อยชื่นชมความแตกต่างทางเทคนิค
- ผู้คนถูกหลอกโดยการปรากฏตัว นี่อาจไม่ใช่สิ่งที่ดี แต่เป็นความจริงที่เราต้องอยู่ด้วย
- รูปลักษณ์ภายนอกมีอิทธิพลต่อความรู้สึกของผู้ใช้เกี่ยวกับซอฟต์แวร์ ความรู้สึกของผู้คนเกี่ยวกับซอฟต์แวร์เป็นสิ่งสำคัญสำหรับพวกเขา แน่นอนว่าบางครั้งผู้คนชอบซอฟต์แวร์ที่ทำให้พวกเขารู้สึกดีกับซอฟต์แวร์ที่เหนือชั้นกว่า ที่จริงแล้วพวกเขาอาจมีประสิทธิผลมากกว่าด้วยเครื่องมือที่ให้ความรู้สึกดีกว่าเครื่องมือที่ดีกว่าทางเทคนิค ในระดับนี้ผู้ใช้ของเราจะไม่ถูกหลอก พวกเขาเป็นตัวเลือกที่ฉลาดและรอบคอบ
- ในฐานะโปรแกรมเมอร์เรามักละเลยบทบาทการนำเสนอเมื่อเรามุ่งเน้นไปที่ฟังก์ชั่น ในระดับหนึ่งสิ่งนี้ถูกต้องและเหมาะสม อย่างไรก็ตามสิ่งสำคัญคือต้องตระหนักว่ามีอีกมิติหนึ่งสำหรับงานของเราที่มีความสำคัญต่อลูกค้าของเรา
ดังนั้นภาษาที่เน้นการนำเสนอ (HTML, CSS) จึงมีความสำคัญ ไม่ควรประเมินค่าที่เพิ่มโดยผู้ที่สามารถใช้เครื่องมือเหล่านี้ได้อย่างมีประสิทธิภาพ
ความสำคัญของภาษาโปรแกรมจริง
ดังที่ OP ชี้ให้เห็นว่าภาษาการเขียนโปรแกรม "ของจริง" นั้นสมบูรณ์แบบสำหรับทัวริง ในฐานะที่เป็นบุคคลที่มีความเศร้าฉันก็พบว่าสิ่งนี้น่าหลงใหลอย่างไม่น่าเชื่อ หมายความว่าสำหรับโปรแกรมใด ๆ ที่เขียนด้วยภาษา TC โปรแกรมที่เทียบเท่ากับการใช้งานสามารถเขียนได้ในภาษา TC อื่น ๆ แน่นอนว่านี่ไม่ได้หมายความว่าทุกภาษาจะเหมือนกัน พวกเขาแต่ละคนมีจุดแข็งและจุดอ่อนที่ทำให้พวกเขามากหรือน้อยเหมาะสำหรับงานบางอย่าง อย่างไรก็ตาม I / O กันหมายความว่าโปรแกรมทั้งหมดสามารถเขียนด้วยภาษาโปรแกรมจริงทั้งหมด
(บังเอิญสิ่งที่สำคัญคือ TC. การประกาศเทียบกับความจำเป็นคือปลาเฮอริ่งแดงที่นี่ SQL ตัวอย่างเช่นเป็นการประกาศ แต่ยังเป็นภาษาการเขียนโปรแกรมที่เหมาะสมเพราะมันเป็น TC.)
แน่นอนเช่นเดียวกันไม่เป็นจริงสำหรับภาษามาร์กอัปเช่น HTML หรือ CSS อันที่จริงมีปัญหาทั้งชั้นเรียนที่ภาษาเหล่านี้ไม่สามารถแก้ไขได้ ที่ฉันสามารถเขียนโปรแกรมอะไรก็ได้ที่ฉันต้องการในภาษาการเขียนโปรแกรมจริง - รวมถึงเอ็นจิ้นเลย์เอาต์ - มันเป็นไปไม่ได้ที่จะบรรลุสิ่งเดียวกันกับภาษาที่ไม่ใช่ TC
ไฮไลต์ในเรื่องราวของฉัน HTML และ ilk ของมันถูกใช้เพื่อสร้างงานนำเสนอ ภาษาการเขียนโปรแกรมจริงใช้ในการสร้างฟังก์ชั่น
ทำไมโปรแกรมเมอร์ถึงอวดทุกอย่าง?
- โปรแกรมเมอร์ใช้เวลาความพยายามและเงินในการพัฒนาทักษะ ผู้คนให้ความสำคัญกับสิ่งที่พวกเขาลงทุน ("หัวใจของคุณคือที่ที่เงินของคุณ")
- โปรแกรมเมอร์มักรู้สึกว่าจำเป็นต้องประเมินระยะเวลาที่ใช้ในการสร้างผลลัพธ์เมื่อเปรียบเทียบกับผลลัพธ์ที่รวดเร็วโดยนักออกแบบ UI เพื่อที่จะทำเช่นนี้พวกเขาต้องการที่จะดึงความแตกต่างระหว่างสิ่งที่ทั้งสองกลุ่มจริงทำ
- เพราะนายจ้างต้องใช้คนที่เหมาะสมกับงานที่ถูกต้อง เว้นแต่เราจะชี้แจงความแตกต่าง (บ่อยครั้งทางเทคนิค) ผู้จัดการโทรออกผิดได้อย่างง่ายดาย
- เพราะมีความแตกต่างที่แท้จริงและพื้นฐานดังที่อธิบายไว้ข้างต้น
มันเหมาะสมที่จะเป็นคนอวดดีเสมอหรือไม่?
ปล่อยให้หน้ามันเป็นโปรแกรมเมอร์เราเป็นจำนวนมากอวดความรู้ตามธรรมชาติ มันไปกับดินแดน มันไม่ได้ช่วยให้พวกเราหลายคนถูกไฟไหม้เมื่อผู้ที่ไม่ใช่โปรแกรมเมอร์ไม่เข้าใจสิ่งที่เราทำ
อย่างไรก็ตาม (และจะซื่อสัตย์นี้ไปกับสัญชาตญาณธรรมชาติของฉัน) ผมไม่คิดว่าเราจำเป็นต้องเรียกคนออกมาเมื่อใดก็ตามที่พวกเขาลื่นกว่าทุกความแตกต่างเล็ก ๆ น้อย ๆ
สิ่งที่สำคัญที่นี่มีบริบท
และมุมมอง
ฉันบอกว่าจากมุมมองของนักชีววิทยามะเขือเทศเป็นผลไม้ แต่เมื่อฉันซื้อพวกมันในซุปเปอร์มาร์เก็ตฉันจะมองหาพวกเขาท่ามกลางผักต่างๆ ทำไม? เนื่องจากความแตกต่างทางเทคนิคไม่สำคัญในบริบทเฉพาะนั้น ยิ่งไปกว่านั้นความแตกต่างจะได้รับในทางที่เป็นประโยชน์ของพวกเขา: ถ้าฉันบ้าพอที่จะรวมมะเขือเทศในสลัดผลไม้
มันเหมือนกันกับภาษาคอมพิวเตอร์ มีหลายครั้งที่ความแตกต่างระหว่างการเขียนโปรแกรมภาษาและภาษาอื่น ๆมันไม่สำคัญ อย่างไรก็ตามบ่อยครั้งที่เราทุกคนสามารถสื่อสารได้อย่างมีประสิทธิภาพอย่างสมบูรณ์แบบเมื่อรวมกันเข้าด้วยกัน ในกรณีของคำถามที่เชื่อมโยงโดย OP มันไม่สำคัญว่าภาษาใดเป็นภาษาการเขียนโปรแกรมจริงและไม่ใช่ การชี้ให้เห็นความแตกต่างไม่ได้ทำให้การสนทนาก้าวหน้าไปในทางใดทางหนึ่ง โชคดีที่นอกเหนือจากการเพิ่มเสียงเล็ก ๆ น้อย ๆ (และกลายเป็นตัวกระตุ้นสำหรับการสนทนาที่น่าสนใจ!) คนอวดที่เชื่อมโยงโดย OP มีผลเพียงเล็กน้อย อย่างไรก็ตามที่เลวร้ายที่สุดมันคนอวดรู้สามารถกระตุ้นความรู้สึกเชิงลบและทำลายความสัมพันธ์ ... อย่างน้อยตามภรรยาของฉัน
:-)
วิธีจัดการกับคนเดินถนนในหมู่โปรแกรมเมอร์
เพื่อนนักเทศน์ของฉันเคยส่งคำเทศนาเรื่อง:
นี่เป็นเนินเขาที่กำลังจะตายหรือไม่?
เขาหมายถึงนายพลผู้ทำการประเมินเชิงกลยุทธ์ว่าการต่อสู้ใดที่ควรค่าแก่การต่อสู้: กำไรจะคุ้มกับต้นทุนหรือไม่?
- มันคุ้มค่าที่จะขัดจังหวะการอภิปรายเพื่อทำให้ความแตกต่างนี้เกิดขึ้นจริงหรือ
- pedantry ของฉันมีต้นกำเนิดมาจากความเย่อหยิ่งหรือจากความเจ็บปวดในอดีตหรือไม่?
- ความคิดเห็นของฉันให้ความสำคัญกับทักษะของผู้อื่นเช่นเดียวกับฉันหรือไม่?
แน่นอนว่ามีบางครั้งที่ต้องแยกแยะ เป้าหมายของฉันคือเมื่อฉันบริจาคเงินจะเพิ่มมูลค่าให้กับความพยายามร่วมกันของเรา
นั่นคืองานของโปรแกรมเมอร์จริงทุกคน