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

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

15
ต้นแบบในภาษาระดับที่สูงขึ้นเป็นเรื่องปกติหรือไม่? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ขณะนี้ฉันกำลังเล่นกับความคิดที่จะเริ่มดำเนินการในโครงการที่เกินความสามารถในการเขียนโปรแกรมปัจจุบันของฉันในภาษาที่ฉันมีประสบการณ์ในโลกแห่งความเป็นจริงเพียงเล็กน้อยใน (C) มันจะมีค่าสำหรับการสร้างต้นแบบในภาษาระดับสูงกว่าที่ฉันคุ้นเคย (เช่น Perl / Python / Ruby / C #) เพียงเพื่อฉันจะได้รับการออกแบบโดยรวมหรือไม่ ในที่สุดผลิตภัณฑ์สุดท้ายนั้นมีความอ่อนไหวด้านประสิทธิภาพ (เป็นเครื่องมือฐานข้อมูล) ดังนั้นตัวเลือกของ C แต่ฉันกลัวว่าการรู้ว่า C ดีจะทำให้ฉันสูญเสียป่าไปสำหรับต้นไม้ ในขณะที่ค้นหาคำถามที่คล้ายกันฉันสังเกตเห็นเพื่อนคนหนึ่งพูดถึงว่าโปรแกรมเมอร์ใช้ต้นแบบใน Prolog แล้วเหวี่ยงมันออกไปในแอสเซมเบลอร์

3
คำถามเกี่ยวกับรูปแบบการออกแบบมัณฑนากร Newbie
ฉันอ่านบทความการเขียนโปรแกรมและกล่าวถึงรูปแบบของมัณฑนากร ฉันเขียนโปรแกรมมาซักพัก แต่ไม่มีการศึกษาหรือการฝึกอบรมอย่างเป็นทางการ แต่ฉันพยายามเรียนรู้เกี่ยวกับรูปแบบมาตรฐานและเช่นนั้น ดังนั้นฉันจึงค้นหามัณฑนากรและพบบทความ Wikipediaอยู่ ตอนนี้ฉันเข้าใจแนวคิดของรูปแบบมัณฑนากร แต่ตอนนี้ฉันสับสนเล็กน้อย: ยกตัวอย่างเช่นพิจารณาหน้าต่างในระบบหน้าต่าง ในการอนุญาตให้เลื่อนเนื้อหาของหน้าต่างเราอาจต้องการเพิ่มแถบเลื่อนแนวนอนหรือแนวตั้งลงตามความเหมาะสม สมมติว่าหน้าต่างแสดงโดยอินสแตนซ์ของคลาสหน้าต่างและสมมติว่าคลาสนี้ไม่มีฟังก์ชันการทำงานสำหรับการเพิ่มแถบเลื่อน เราสามารถสร้างคลาสย่อย ScrollingWindow ที่จัดเตรียมไว้หรือเราสามารถสร้าง ScrollingWindowDecorator ที่เพิ่มฟังก์ชันนี้ให้กับวัตถุหน้าต่างที่มีอยู่ ณ จุดนี้การแก้ปัญหาอย่างใดอย่างหนึ่งจะดี ทีนี้สมมติว่าเราต้องการความสามารถในการเพิ่มเส้นขอบให้กับหน้าต่างของเราด้วย คลาส Window ดั้งเดิมของเราไม่สนับสนุน ขณะนี้คลาสย่อย ScrollingWindow มีปัญหาเนื่องจากได้สร้างหน้าต่างชนิดใหม่อย่างมีประสิทธิภาพ หากเราต้องการเพิ่มการรองรับชายแดนให้กับหน้าต่างทั้งหมดเราต้องสร้างคลาสย่อย WindowWithBorder และ ScrollingWindowWithBorder เห็นได้ชัดว่าปัญหานี้แย่ลงเมื่อมีการเพิ่มคุณสมบัติใหม่ทุกอย่าง สำหรับโซลูชันมัณฑนากรเราเพียงสร้าง BorderedWindowDecorator ใหม่ - ที่รันไทม์เราสามารถตกแต่งหน้าต่างที่มีอยู่ด้วย ScrollingWindowDecorator หรือ BorderedWindowDecorator หรือทั้งสองอย่างตามที่เราเห็นสมควร ตกลงเมื่อพวกเขาบอกว่าจะเพิ่มเส้นขอบให้กับหน้าต่างทั้งหมดทำไมไม่เพียงเพิ่มฟังก์ชันการทำงานลงในคลาสหน้าต่างดั้งเดิมเพื่ออนุญาตให้มีตัวเลือก วิธีที่ฉันเห็นคือ subclassing เป็นเพียงการเพิ่มฟังก์ชั่นเฉพาะให้กับคลาสหรือแทนที่เมธอดคลาส หากฉันต้องการเพิ่มฟังก์ชันการทำงานให้กับวัตถุที่มีอยู่ทั้งหมดเหตุใดฉันจึงไม่ปรับเปลี่ยน superclass ให้ทำเช่นนั้น มีอีกบรรทัดในบทความ: รูปแบบมัณฑนากรเป็นอีกทางเลือกหนึ่งของการทำคลาสย่อย การจัดคลาสย่อยเพิ่มลักษณะการทำงาน ณ …

12
มันมีค่าอ่านข้อกำหนดภาษา? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ฉันสงสัยว่ามันคุ้มค่าที่จะอ่านข้อมูลจำเพาะภาษา / เอกสารมาตรฐาน (เช่นJava Language Specification ) ถ้าคุณจะไม่เขียนคอมไพเลอร์ / ล่ามสำหรับภาษาหรือสิ่งที่คล้ายกัน? ฉันเข้าใจว่าการอ่านหนังสือดังกล่าวไม่ควรเป็นภาษาแรกของใครก็ตาม แต่มันอาจเป็นวิธีที่ดีในการเรียนรู้รายละเอียดปลีกย่อยของมัน คุณเคยใส่ใจและคนอื่น ๆ ควร?

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

14
ภาษาสคริปต์มีผลอย่างไรต่อโปรแกรมเมอร์จูเนียร์ [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ฉันได้พูดคุยกับอาจารย์คนหนึ่งของฉันเมื่อวันก่อน เราได้อภิปรายถึงผลกระทบที่ภาษาสคริปต์ที่ง่ายกว่า(เช่น Python หรือ Ruby) ที่มีต่อโปรแกรมเมอร์ผู้น้อย เขาแย้งว่าภาษาสคริปต์ทำให้เกิดเทคนิคการเขียนโค้ดที่เลอะเทอะเพราะผู้เริ่มต้นไม่เข้าใจสิ่งที่เกิดขึ้น "ภายใต้ประทุน" นอกจากนี้เขายังอ้างถึงตัวอย่างอื่น ๆ ว่าภาษาสคริปต์มักทำให้โปรแกรมเมอร์ละเลยความกังวลเกี่ยวกับประสิทธิภาพการจัดการหน่วยความจำความซับซ้อนในการปฏิบัติงานเป็นต้น ฉันเป็นที่ถกเถียงกันว่าภาษาระดับต่ำกว่าอาจจะมากเกินไปสำหรับบางคนและพวกเขาอาจยอมแพ้ก่อนที่พวกเขาจะพัฒนาความหลงใหลในการเขียนโปรแกรม เมื่อฉันเริ่มเรียนรู้การเขียนโปรแกรมภาษาแรกของฉัน (C) ฉันไปถึงพอยน์เตอร์และเลิกเพราะแนวคิดยากเกินไป (ในการป้องกันตัวฉันอายุแค่ 14 ปี) หากไม่ใช่สำหรับ Java ฉันอาจไม่ได้เป็นโปรแกรมเมอร์! ถ้าฉันเริ่มต้นด้วยภาษาที่เรียบง่ายขึ้นแล้วขุดลึกฉันรู้สึกว่าฉันจะไม่ยอมแพ้และฉันจะได้เรียนรู้มากพอ ๆ กับที่ฉันเริ่มต้นด้วย C. ชั้นเรียนจบลงก่อนที่ทั้งสองฝ่ายจะได้รับการสำรวจอย่างเต็มที่ มาถึงจุดนี้ฉันได้เทศนาว่าผู้เริ่มต้นควรเริ่มต้นด้วยภาษาสคริปต์แล้วขุดลึกลงไป แต่หลังจากการสนทนาฉันเริ่มสงสัยว่านี่เป็นความคิดที่ผิดพลาดหรือไม่ ดังนั้นภาษาสคริปต์มีผลกระทบอะไรกับโปรแกรมเมอร์รุ่นเยาว์

14
ประสิทธิภาพของภาษาการเขียนโปรแกรมช้าลงหรือไม่ [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการถกเถียงอภิปรายโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน6 ปีที่ผ่านมา นี่คือวิธีที่ฉันเห็น มีรหัสเครื่องและทุกอย่างที่คอมพิวเตอร์ต้องการเพื่อใช้งานบางอย่าง คอมพิวเตอร์ไม่สนใจภาษาการเขียนโปรแกรม ไม่สำคัญว่ารหัสเครื่องมาจาก Perl, Python หรือ PHP ภาษาการเขียนโปรแกรมไม่ได้ให้บริการคอมพิวเตอร์ พวกเขาให้บริการโปรแกรมเมอร์ ภาษาการเขียนโปรแกรมบางภาษาทำงานช้ากว่าภาษาอื่น แต่ก็ไม่จำเป็นเพราะมีบางอย่างผิดปกติ ในหลายกรณีมันเป็นเพราะพวกเขาทำสิ่งต่าง ๆ ที่โปรแกรมเมอร์จะต้องทำ (เช่นการจัดการหน่วยความจำ) และการทำสิ่งเหล่านี้พวกเขาดีกว่าในสิ่งที่พวกเขาควรจะทำ - ให้บริการโปรแกรมเมอร์ ดังนั้นประสิทธิภาพการทำงานที่ช้าลงของภาษาการเขียนโปรแกรมจริงๆเป็นสิ่งที่ไม่ดี?

16
วันนี้คุณจะใช้ C สำหรับโครงการซอฟต์แวร์หรือไม่? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ถ้าใช่คุณจะใช้ที่ไหนและทำไม หากไม่มีโปรดอธิบายเหตุผลที่ C ไม่เป็นที่ยอมรับของคุณ

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

11
ภาษาแบบไดนามิกถูกตีความเสมอหรือไม่
มองไปที่ภาษาไดนามิกส่วนใหญ่ (ถ้าไม่ใช่ทั้งหมด) (เช่น Python, PHP, Perl และ Ruby) พวกมันจะถูกตีความทั้งหมด ช่วยแก้ให้ด้วยนะถ้าฉันผิด. มีตัวอย่างของภาษาแบบไดนามิกที่ผ่านขั้นตอนการรวบรวมหรือไม่ ภาษาไดนามิกมีความเหมือนกันกับภาษาที่ตีความหรือไม่

6
อะไรที่ทำให้กำไรขั้นพื้นฐาน [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา ในปี 1970 ชายคนหนึ่งชื่อ Bill Gates ได้พัฒนาล่ามสำหรับภาษาเบสิก จากความเข้าใจของฉันเขาสามารถชักชวนคนที่รับผิดชอบ บริษัท ไมโครคอมพิวเตอร์ให้รวมโปรแกรมล่ามไว้ในไมโครคอมพิวเตอร์ทุกเครื่องที่เขาขาย เห็นได้ชัดว่าสิ่งนี้ทำให้เกตส์มีโชค สิ่งที่ฉันไม่เข้าใจคือเหตุผลว่าทำไมการเขียนโปรแกรมภาษาจึงไม่เป็นผลกำไรในทุกวันนี้ ปัจจัยอะไรในอดีตที่ผ่านมาทำให้พวกเขาทำกำไรได้แต่วันนี้ไม่ได้ ?

4
ทำไม mod (%) เป็นผู้ดำเนินการทางคณิตศาสตร์ขั้นพื้นฐานในภาษาการเขียนโปรแกรมหลายภาษา?
มีเหตุผลประวัติศาสตร์หรืออย่างอื่นทำไมผู้ประกอบการโมดูลัสเป็นส่วนหนึ่งของผู้ประกอบการมาตรฐานขนาดเล็กในสิ่งที่ดูเหมือนว่าหลายภาษา? (+, -, *, /และ%สำหรับ Java และ C ด้วย**ใน Ruby และ Python) ดูเหมือนจะแปลกที่จะรวม mod เป็น "พื้นฐาน" (ไม่ต้องเคาะมันฉันใช้มันมากมาย แต่ฉันยังใช้การยกกำลัง, ค่าสัมบูรณ์, พื้น / เพดานหรืออื่น ๆ - ดูเหมือนว่ามีประโยชน์และจำเป็น) นี่เป็นการตัดสินใจแบบเก่าในข้อกำหนดบางอย่างที่ Java, C, Ruby และ Python ติดตามหรือภาษาที่สืบทอดมาทั้งหมดหรือไม่ เท่าที่ผมสามารถบอกได้มากที่สุดภาษาเสียงกระเพื่อมรวมเฉพาะและ+, -, /* ในตอนแรกฉันสงสัยว่า mod นั้นง่ายต่อการนำไปใช้ในระดับไบนารี่ (หรือว่าจะทำให้เกิดความแตกต่างเกี่ยวกับการตัดสินใจเกี่ยวกับสิ่งที่ควรจะเป็นโอเปอเรเตอร์ "พื้นฐาน" และสิ่งที่ไม่ควร?) แต่ดูเหมือนว่า มันใช้กันทั่วไปในการเขียนโปรแกรมมากกว่าที่ฉันคิดหรือเปล่า?

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

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

4
วิธีการตรวจสอบว่าภาษาการเขียนโปรแกรมเป็น verbose หรือสั้น ๆ ?
การเขียนโปรแกรมภาษามักจะสามารถอธิบายเป็นverboseหรือสั้น จากความเข้าใจของฉันภาษา verbose นั้นง่ายต่อการอ่านและเข้าใจในขณะที่ภาษาสั้น ๆ นั้นกระชับและเรียบร้อย แต่อ่านยากขึ้น ควรมีสิ่งอื่นที่ต้องพิจารณาในคำจำกัดความหรือไม่ ดูเหมือนว่าภาษาการเขียนโปรแกรมที่ได้รับความนิยมส่วนใหญ่ในปัจจุบันมีความละเอียดมากและคำศัพท์สองคำนี้ใช้เพื่ออธิบายภาษาว่ามีมากกว่าหรือน้อยกว่าเมื่อเทียบกับภาษาอื่น เราจะตรวจสอบได้อย่างไรว่าภาษาการเขียนโปรแกรมนั้นมีความละเอียดมากกว่า / อีกคำหนึ่งมากกว่า? ตัวอย่าง: Cb มากกว่า verbose มากกว่า Java หรือไม่

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

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