คำถามติดแท็ก programming-languages

ภาษาประดิษฐ์สำหรับสั่งคอมพิวเตอร์ให้ทำขั้นตอนการคำนวณเพื่อให้งานสำเร็จ อนุญาตให้โปรแกรมเมอร์สื่อสารกับคอมพิวเตอร์

4
ทำไมเว็บเฟรมจึงไม่เรียบง่ายสง่าและสนุกเหมือนภาษาโปรแกรม? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา เมื่อฉันคิดถึงภาษาการเขียนโปรแกรมใด ๆ - เช่น C, C ++, PHP, SQL, JavaScript, Python, ActionScript, Haskell, Lua, Lisp, Java และอื่น ๆ - ฉันก็ยอดเยี่ยมฉันชอบที่จะพัฒนาแอปพลิเคชั่นคอมพิวเตอร์โดยใช้ ของภาษาเหล่านั้น แต่เมื่อฉันนึกถึงเว็บเฟรมเวิร์ก (ส่วนใหญ่ฉันทำ PHP) - เช่นเค้ก, CI, Symfony, Laravel, Zend, Drupal, Joomla, Wordpress, Rails, Django และอื่น ๆ - ฉันไม่ชอบพระเจ้าเลย ทำไมไม่มีเฟรมเวิร์คของเว็บที่ให้โครงสร้างที่เรียบง่ายสนุกสนานและทรงพลังเช่นภาษาโปรแกรม?

6
อัฒภาคที่เป็นตัวเลือก
ส่วนใหญ่มักจะใช้ภาษาที่มีจุดประสงค์ทั่วไป - อัฒภาคเมื่อต้องมีตัวคั่นคำสั่งหรือไม่ได้รับอนุญาตอย่างสมบูรณ์ (เช่น C และ Python) อย่างไรก็ตามบางภาษาเช่น JavaScript อนุญาตให้คุณเลือกที่จะไม่ลบงบของคุณด้วยเครื่องหมายอัฒภาคเพื่อสนับสนุนตัวคั่นอื่น ๆ (เช่นขึ้นบรรทัดใหม่) การตัดสินใจด้านการออกแบบคืออะไร ฉันเข้าใจว่าเครื่องหมายอัฒภาคมีความสำคัญเมื่อเขียนหลาย ๆ ข้อความในบรรทัดเดียวกัน แต่มีเหตุผลอื่นที่ทำให้จำเป็น (ยกเว้นตาม C) หรือไม่

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

2
มีการศึกษาเปรียบเทียบการใช้หน่วยความจำของภาษาการเขียนโปรแกรมรันไทม์ที่สัมพันธ์กับการแสดงออกและอัตราส่วนการผลิตข้อบกพร่อง? [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน6 ปีที่ผ่านมา มีการศึกษาเปรียบเทียบจำนวนมากและมีให้ทางออนไลน์เมื่อพูดถึงประสิทธิภาพรันไทม์ของแอพพลิเคชั่นที่สร้างขึ้นโดยใช้ภาษาเดียวหรืออีกภาษาหนึ่ง บางคนขับเคลื่อนโดย บริษัท นักวิชาการบางคนรายงานการทดลองส่วนตัวบางอย่าง นอกจากนี้เรายังได้รับส่วนแบ่งที่ดีจากการศึกษาเปรียบเทียบผลข้างเคียงของภาษาการเขียนโปรแกรมและการใช้เครื่องมือเช่น: สร้างครั้ง โอกาสในการตรวจจับข้อผิดพลาดหลังการผลิต พลังการแสดงออก ฯลฯ ... อย่างไรก็ตามเมื่อเร็ว ๆ นี้ฉันได้รับความเสียหายจากการใช้หน่วยความจำของโปรแกรมของฉันมากกว่าสิ่งอื่นใด นี่อาจมาจากความจริงที่ว่าในขณะที่กฎของมัวร์อยู่ข้างเราเพื่อให้ได้ประสิทธิภาพที่ดิบเราได้ตระหนักว่าคอขวดอื่น ๆ และฉันมักจะไม่อัปเดตฮาร์ดแวร์ของฉันทุกครั้งและฉันมี "เก่า" บางอย่าง (อ่าน 2005-2006 3.6GHz Pentium 4 พร้อม 4GB of RAM) ซึ่งปัจจุบันยากที่จะถูกใช้งานสำหรับแอปพลิเคชันขนาดใหญ่ที่ไม่มี ทำให้ฉันต้องเจอกับปัญหาอย่างมากในการบีบน้ำผลไม้ออกเล็กน้อย (ตัวเลือกของ OS, UI, tweaking ของบริการและ daemons ทางเลือกของแอปพลิเคชันที่จะใช้สำหรับงานหรืออื่น ... ) ค่อนข้างตรงไปตรงมาบางครั้งฉันก็โกรธtopหรือprocexpร้องไห้เมื่อเห็นความทรงจำที่ใช้โดยโปรแกรมที่ไร้เดียงสาที่สุด …

3
เราสามารถเพิ่มการไหลของข้อมูลระหว่างส่วนต่าง ๆ ของรหัสฐานขนาดใหญ่ได้ง่ายขึ้นหรือไม่
เมื่อทำการเปลี่ยนแปลงกับระบบขนาดใหญ่ฉันมักประสบปัญหาว่าบางส่วนของฟังก์ชั่นจำเป็นต้องได้รับข้อมูลบางอย่างจากอีกส่วนหนึ่ง แต่พวกมันอยู่ในส่วนต่าง ๆ ของทรีเรียกที่ลึกและแตกแขนงซึ่งอาจไหลผ่านผู้ฟังเหตุการณ์ เป็นต้นด้วยวิธีนี้การเปลี่ยนแปลงอย่างง่ายสามารถทำให้บอลลูนได้อย่างรวดเร็ว ข้อความอ้างอิงจาก Yossi Kreinin บล็อกโพสต์ที่http://www.yosefk.com/blog/i-want-a-struct-linker.html : คุณมีโครงสร้างข้อมูลบางอย่างที่คุณผ่านไปมาก ในไม่ช้าสิ่งที่มีค่าที่สุดเกี่ยวกับโครงสร้างไม่ใช่ข้อมูลที่เก็บไว้ แต่ความจริงที่ว่ามันมีอยู่ตลอดทางผ่านการควบคุมที่ไหลลื่น ตัวแปรทั่วโลกเป็นวิธีคลาสสิกวิธีหนึ่งในการปล่อยให้รหัส "ตะโกนออก" ไปยังรหัสที่อยู่ไกล แต่พวกเขารู้ว่าเป็นปัญหา ตัวแปรที่กำหนดขอบเขตแบบไดนามิกเป็นวิธีที่ จำกัด มากขึ้น แต่ก็มีปัญหาเช่นกัน มีการวิจัยภาษาโปรแกรมเพื่อแก้ไขปัญหานี้หรือไม่? เราสามารถเพิ่มการไหลของข้อมูลที่ไม่คาดคิดลงในฐานข้อมูลขนาดใหญ่ได้ง่ายขึ้นหรือไม่ในขณะที่ยังคงมีการตรวจสอบแบบคงที่การทดสอบหน่วยง่ายและสารพัดอื่น ๆ

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

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

6
สิ่งใดที่คุณเรียกคลาสที่ไม่มีเมธอด
สิ่งใดที่คุณเรียกคลาสที่ไม่มีเมธอด ตัวอย่างเช่น, class A { public string something; public int a; } ด้านบนเป็นคลาสที่ไม่มีวิธีการใด ๆ คลาสประเภทนี้มีชื่อพิเศษหรือไม่?

4
ปัจจุบันมีการทดสอบความถนัดทันสมัยและเป็นมาตรฐานสำหรับวิศวกรรมซอฟต์แวร์หรือไม่? [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน6 ปีที่ผ่านมา พื้นหลัง ฉันเป็นวิศวกรซอฟต์แวร์ที่ทำงานอยู่ในระหว่างการหาสัญญาใหม่สำหรับปีถัดไปหรือมากกว่านั้น ในการค้นหาของฉันฉันยั่งยืนสัมภาษณ์หลายเทคนิคไร้สาระตามที่ระบุโดยคำถามนี้เป็นที่นิยมผมถามก่อนหน้านี้ในวันนี้ แม้ว่าคำถามที่ฉันถูกถามไม่ได้ไร้สาระเกือบทุกครั้ง แต่ฉันก็คงจะเหนื่อยที่จะตอบคำถามเหล่านี้หลายต่อหลายครั้งเพื่อโอกาสในการทำสัญญาที่หลากหลาย ดังนั้นสิ่งนี้ทำให้ฉันคิดว่าการสอบแบบมาตรฐานที่ผู้เชี่ยวชาญด้านซอฟต์แวร์สามารถใช้งานได้จะจัดทำดัชนีชี้วัดทั่วไปที่ผู้อ้างอิงสามารถอ้างอิงแทนคำถามสัมภาษณ์ทางเทคนิคที่ไร้สาระ คำถาม มีการทดสอบความถนัดทางวิศวกรรมซอฟต์แวร์ที่เป็นมาตรฐาน (SEAT ??) สำหรับมืออาชีพในการทำงานหรือไม่? หากไม่มีการสอบเช่นนั้นคำถามหรือหัวข้อใดที่ควรครอบคลุม ความคิดเพิ่มเติม โปรดจำไว้ว่าหากเสนอคำถามหรือหัวข้อเพื่อมุ่งเน้นคำถามหรือหัวข้อที่เกี่ยวข้องกับแนวทางการพัฒนาร่วมสมัยและความต้องการที่เป็นจริงในพนักงานซึ่งจะเป็นจุดทดสอบความถนัดแบบมาตรฐาน กล่าวอีกนัยหนึ่งไม่มีคำถามการเดินทางข้ามตัวตลก

6
จะตรวจสอบ / พิสูจน์ความถูกต้องของภาษาโปรแกรมได้อย่างไร?
ฉันรู้แนวคิดของ orthogonality แต่จากมุมมองภาษาการเขียนโปรแกรมมีวิธีการตรวจสอบ / พิสูจน์หรือไม่ ตัวอย่างเช่นใน C # หนึ่งสามารถใช้publicหรือstaticลายเซ็นวิธี คุณสามารถใช้อย่างใดอย่างหนึ่งหรือทั้งสองและพวกเขาจะไม่รบกวนซึ่งกันและกันดังนั้นพวกเขาจึงมีมุมฉากซึ่งกันและกันใช่มั้ย คำถามของฉันคือฉันจะไปเกี่ยวกับคุณสมบัติที่เหลือโดยเฉพาะอย่างยิ่งคุณสมบัติที่ไม่เกี่ยวข้องกันได้อย่างไร คุณสมบัติทั้งหมดต้องอยู่ร่วมกัน / ซ้อนกันหรือไม่? มีภาษาการเขียนโปรแกรมที่เป็นมุมฉาก 100% หรือไม่?

5
Java ส่งเสริมการแยกระหว่างคำจำกัดความของคลาสและการใช้งานเช่นเดียวกับ C ++ หรือไม่?
ฉันมีการบ้านและฉันต้องประเมินว่าแนวทางใดดีกว่าตาม GRASP "รูปแบบที่ได้รับการป้องกัน" ผมพบว่าคำถามในกองมากเกินเกี่ยวกับการแยกส่วนหัวและรหัสไฟล์ใน C ++ อย่างไรก็ตามสิ่งที่ฉันต้องการรู้ว่าทำไม Java ไม่ปฏิบัติตาม C ++ ในการส่งเสริมการแยกระหว่างคำจำกัดความของชั้นเรียนและการใช้งานระดับ มีข้อได้เปรียบกับวิธีการของจาวามากกว่าวิธี C ++ หรือไม่?

5
การวิเคราะห์ภาษาการเขียนโปรแกรม
ในSICPรัฐผู้เขียน ( ส่วน 1.1 ) ว่ามี "กลไก" พื้นฐานสามประการของภาษาโปรแกรม: การแสดงออกดั้งเดิมซึ่งเป็นตัวแทนของหน่วยงานที่ง่ายที่สุดที่เกี่ยวข้องกับภาษา หมายถึงการรวมกันโดยที่องค์ประกอบผสมถูกสร้างขึ้นจากคนที่เรียบง่าย หมายถึงนามธรรมซึ่งองค์ประกอบสารประกอบสามารถตั้งชื่อและจัดการเป็นหน่วย ฉันจะวิเคราะห์ภาษาโปรแกรมกระแสหลัก (ตัวอย่างเช่น Java) ในแง่ขององค์ประกอบหรือกลไกเหล่านี้ได้อย่างไร

14
คุณรักษาทุกภาษาเหล่านั้นไว้ในหัวของคุณได้อย่างไร
ฉันรู้ Java, C #, C ++ ฉันใช้ Perl แล้วและกำลังเก็บ Python และ Actionscript 3 นี่เป็นเส้นทางที่คนอื่นเคยเหยียบย่ำดังนั้นฉันจึงถามว่าคุณรักษาภาษาทั้งหมดเหล่านี้ไว้ในหัวของคุณได้อย่างไร

3
มีความคิดเห็นเกี่ยวกับชื่อแทนประเภท / คำพ้องความหมาย?
ฉันจะพยายามทำให้ดีที่สุดเพื่อวางกรอบคำถามนี้ในแบบที่ไม่ส่งผลให้เกิดสงครามภาษาหรือรายการเพราะฉันคิดว่าอาจมีคำตอบทางเทคนิคที่ดีสำหรับคำถามนี้ ภาษาที่แตกต่างกันรองรับนามแฝงประเภทเพื่อองศาที่แตกต่าง C # อนุญาตให้พิมพ์นามแฝงประเภทที่จุดเริ่มต้นของไฟล์รหัสแต่ละไฟล์และพวกเขาจะถูกต้องตลอดทั้งไฟล์นั้น ภาษาเช่น ML / Haskell ใช้นามแฝงประเภทอาจจะมากเท่ากับที่ใช้นิยามประเภท C / C ++ มีการเรียงลำดับของ Wild West ด้วยtypedefและ#defineมักจะถูกนำมาใช้แทนกันได้ดูเหมือนกับประเภทนามแฝง การสร้างสมนามประเภทที่คว่ำไม่ก่อให้เกิดข้อพิพาทมากเกินไป: มันทำให้สะดวกในการกำหนดประเภทคอมโพสิตที่อธิบายไว้ตามธรรมชาติโดยภาษาเช่นหรือtype Coordinate = float * floattype String = [Char] ชื่อแบบยาวสามารถสั้นลงได้: using DSBA = System.Diagnostics.DebuggerStepBoundaryAttribute. ในภาษาเช่น ML หรือ Haskell ที่พารามิเตอร์ฟังก์ชันมักไม่มีชื่อนามแฝงประเภทให้เอกสารของตัวเอง ข้อเสียคืออีกเล็กน้อย iffy: นามแฝงสามารถขยายทำให้ยากต่อการอ่านและทำความเข้าใจรหัสหรือเรียนรู้แพลตฟอร์ม Win32 API เป็นตัวอย่างที่ดีโดยมีDWORD = intและHINSTANCE = HANDLE = void*รวมถึงLPHANDLE …

4
การฉีดพึ่งพาอาศัยกันสามารถรวมเข้ากับภาษาได้อย่างไร? [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ฉันได้คิดเล็กน้อยเกี่ยวกับวิธีการฉีดพึ่งพาสามารถบูรณาการโดยตรงในภาษา C # เช่น ฉันคิดวิธีแก้ปัญหาที่เป็นไปได้ฉันอยากฟังความคิดเห็นของคุณ ฉันไม่ได้ใช้กรอบการฉีดพึ่งพาหลายคนดังนั้นอาจมีบางสิ่งที่ฉันมองเห็น อย่างไรก็ตามแนวคิดก็คือสามารถประกาศคุณสมบัติเป็น "ฉีดได้" โดยใช้คำหลัก เมื่อวัตถุถูกยกตัวอย่างและคุณสมบัตินั้นไม่ได้เริ่มต้นผ่านตัวสร้างหรือวัตถุเริ่มต้นมันขอตัวอย่างของคุณสมบัติประเภทนั้นจากบริการระดับโลกบางอย่าง ในทำนองเดียวกันคุณลงทะเบียนเครื่องจัดการสำหรับประเภทที่แตกต่างกับบริการนั้นเพื่อให้คุณสามารถยกตัวอย่างประเภททรัพย์สินที่ฉีด ข้อดีของการใช้สถาปัตยกรรม IMO ประเภทนี้คือความยืดหยุ่นและใช้งานง่าย ข้อเสียคืออาจมีค่าใช้จ่ายในการทำไฮไลต์บางครั้งในแต่ละครั้งที่คุณเริ่มชั้นเรียนที่มีการฉีด จากนั้นอีกครั้งนั่นเป็นเพียงปัญหาสำหรับคลาสที่รับอินสแตนซ์บ่อยในโซลูชันที่มีประสิทธิภาพสูงดังนั้นจึงไม่ควรเป็นปัญหามากนัก บางทีคุณอาจใช้โรงงานบางประเภทในกรณีเหล่านั้น ความคิดปัญหาคำถามความคิดที่ดีกว่า รหัส public class SomeClass { public SomeClass() { //implicit behavior if Animal is not set in constructor or initializer this.Animal = GlobalInjector.Get(this,typeof(Mammal)) } public injectable …

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