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

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

8
มีเหตุผลที่จะมีประเภทด้านล่างในภาษาการเขียนโปรแกรมหรือไม่?
ประเภทด้านล่างเป็นโครงสร้างที่ปรากฏในทฤษฎีประเภทคณิตศาสตร์เป็นหลัก มันจะเรียกว่าประเภทที่ว่างเปล่า มันเป็นประเภทที่ไม่มีค่า แต่เป็นประเภทย่อยของทุกประเภท หากประเภทส่งคืนของฟังก์ชันเป็นประเภทด้านล่างแสดงว่าไม่ส่งคืน ระยะเวลา บางทีมันอาจจะวนซ้ำไปตลอดกาลหรืออาจจะเป็นข้อยกเว้น อะไรคือสิ่งที่มีประเภทแปลก ๆ นี้ในภาษาการเขียนโปรแกรม? มันไม่ใช่เรื่องธรรมดา แต่มีอยู่ในบางอย่างเช่น Scala และ Lisp

7
ทำไมเครื่องหมายอัฒภาคและจุลภาคสลับกันเป็นลูป
ในหลายภาษา (รายการกว้างจาก C ถึง JavaScript): ,คั่นด้วยจุลภาคคั่น (เช่นfunc(a, b, c)) ขณะที่ อัฒภาค;แยกคำแนะนำตามลำดับ (เช่นinstruction1; instruction2; instruction3) เหตุใดการทำแผนที่นี้จึงย้อนกลับเป็นภาษาเดียวกันสำหรับfor loops : for ( init1, init2; condition; inc1, inc2 ) { instruction1; instruction2; } แทน (สิ่งที่ดูเป็นธรรมชาติสำหรับฉัน) for ( init1; init2, condition, inc1; inc2 ) { instruction1; instruction2; } ? แน่นอนว่าforเป็น (ปกติ) ไม่ทำงาน แต่ข้อโต้แย้ง (เช่นinit, condition, …

3
อะไรคือเอกลักษณ์ของ Node.js [ปิด]
เมื่อไม่นานมานี้มีการสรรเสริญ Node.js มากมาย ฉันไม่ได้เป็นนักพัฒนาซอฟต์แวร์ที่มีความเสี่ยงต่อแอปพลิเคชันเครือข่ายมาก จากความเข้าใจของฉันเกี่ยวกับ Nodes.js จุดแข็งของมันคือ: เรามีเธรดเพียงตัวเดียวที่จัดการการเชื่อมต่อได้หลายตัวซึ่งให้สถาปัตยกรรมแบบอิงเหตุการณ์ อย่างไรก็ตามตัวอย่างเช่นใน Java ฉันสามารถสร้างเพียงหนึ่งเธรดโดยใช้ NIO / AIO (ซึ่งไม่ใช่การปิดกั้น APIs จากความเข้าใจที่เปลือยเปล่าของฉัน) และจัดการการเชื่อมต่อจำนวนมากโดยใช้เธรดนั้นและฉันจัดเตรียมสถาปัตยกรรมที่อิงเหตุการณ์ การจัดการกับลอจิก (ไม่ควรจะยากขนาดนี้หากมีการติดต่อกลับ ฯลฯ )? เนื่องจาก JVM เป็น VM ที่เป็นผู้ใหญ่มากกว่า V8 (ฉันคาดว่ามันจะทำงานได้เร็วขึ้น) และสถาปัตยกรรมการจัดการตามเหตุการณ์ดูเหมือนจะเป็นสิ่งที่ไม่ยากที่จะสร้างฉันไม่แน่ใจว่าทำไม Node.js ดึงดูดความสนใจมาก ฉันพลาดจุดสำคัญบางอย่างหรือไม่?

4
คอมไพเลอร์ C ++ ตัวแรกสามารถเขียนเป็น C ++ ได้อย่างไร?
Stroustrup อ้างว่า Cfront ซึ่งเป็นคอมไพเลอร์ C ++ ตัวแรกเขียนด้วย C ++ ( คำถามที่พบบ่อยของ Stroustrup ) อย่างไรก็ตามเป็นไปได้อย่างไรที่คอมไพเลอร์ C ++ แรกจะถูกเขียนใน C ++ โค้ดที่ประกอบเป็นคอมไพเลอร์จำเป็นต้องถูกคอมไพล์ด้วยและทำให้คอมไพเลอร์ C ++ ตัวแรกไม่สามารถเขียนใน C ++ ได้ใช่ไหม

6
ฉันจะเรียนรู้ Python จากศูนย์ถึงการพัฒนาเว็บได้อย่างไร [ปิด]
ฉันกำลังมองหาการเรียนรู้ Python สำหรับการพัฒนาเว็บ สมมติว่าฉันมีประสบการณ์การพัฒนาเว็บขั้นพื้นฐานด้วย Java (JSP / Servlets) ฉันคุ้นเคยกับการออกแบบเว็บ (HTML, CSS, JS) แนวคิดการเขียนโปรแกรมพื้นฐานและฉันใหม่กับ Python อย่างสมบูรณ์ การเรียนรู้ Python ในรูปแบบที่มีโครงสร้างซึ่งในที่สุดจะนำฉันไปสู่การพัฒนาเว็บไซต์ด้วย Python และ Django ฉันไม่ต้องรีบทำเว็บแอพพลิเคชั่นใน Python ดังนั้นฉันต้องการเรียนรู้อย่างละเอียดเพื่อไม่ให้เกิดช่องว่างในความรู้เกี่ยวกับเทคโนโลยีที่เกี่ยวข้องกับการพัฒนาเว็บใน Python มีหนังสือทรัพยากรหรือเทคนิคใดบ้างที่จะช่วยฉันในความพยายามของฉัน ฉันควรจะอ่าน / อ่านลำดับใด UPDATE: เมื่อฉันพูดว่าการเรียนรู้ในรูปแบบที่มีโครงสร้างฉันหมายถึงการเริ่มต้นจากพื้นฐานแล้วเรียนรู้เนื้อหาขั้นสูงโดยไม่ต้องทิ้งรายละเอียด / คุณสมบัติที่สำคัญที่ Python มีให้ ฉันต้องการทราบวิธีการใช้สิ่งที่ฉันรู้แล้วในการเขียนโปรแกรมกับ Python

28
เมื่อใดที่เหมาะสมในการสร้างภาษาโปรแกรมของฉันเอง
มีประเภทของแอพพลิเคชั่นนักฆ่า, คลาสของปัญหาอัลกอริทึม, ฯลฯ ซึ่งจะดีกว่าในระยะยาวเพื่อสร้างภาษาของตัวเอง? PS: เพื่อให้แน่ใจว่าฉันหมายถึงภาษาการเขียนโปรแกรมใหม่และคอมไพเลอร์ไม่ใช่คอมไพเลอร์ใหม่สำหรับภาษาที่มีอยู่ แก้ไข : ขอบคุณสำหรับคำตอบ คุณสามารถให้ตัวอย่างบางส่วนได้โดยไม่จำเป็นต้องสร้าง DSL หรือกรณีที่ DSL อาจเป็นแนวคิดที่ดีได้หรือไม่?

4
เหตุใดจึงมีบางภาษาที่มี 'โอเปอเรเตอร์' ชนิดตัวแปรอยู่?
ฉันหมายความว่าอย่างนี้: <?php $number1 = 5; // (Type 'Int') $operator1 = +; // (Type non-existent 'Operator') $number2 = 5; // (Type 'Int') $operator2 = *; // (Type non-existent 'Operator') $number3 = 8; // (Type 'Int') $test = $number1 $operator1 $number2 $operator2 $number3; //5 + 5 * 8. var_dump($test); ?> แต่ด้วยวิธีนี้: <?php …

11
ฉันควรเลือก C # บน Java และ C ++ ด้วยเหตุผลใดบ้าง [ปิด]
C # ดูเหมือนว่าจะเป็นที่นิยมในวันนี้ ฉันได้ยินมาว่าวากยสัมพันธ์มันเกือบจะเหมือนกับจาวา Java และ C ++ มีอยู่เป็นเวลานาน ฉันควรเลือก C # บน Java และ C ++ ด้วยเหตุผลใดบ้าง

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

13
เหตุใด C ++ จึงยังคงต้องการสร้างแอพ GUI หนัก ๆ เหนือภาษาไดนามิกล่าสุด [ปิด]
ฉันเห็นว่าแอพส่วนใหญ่ที่รวมเนื้อหา GUI หนัก ๆ มักจะพัฒนาใน C ++ เกม / เบราว์เซอร์ส่วนใหญ่ใช้รหัสใน C ++ เราไม่สามารถพัฒนาแอพ GUI ที่ดีขึ้นด้วยภาษาแบบไดนามิกล่าสุดได้หรือไม่ ฉันรู้ว่าจาวาจะไม่เป็นตัวเลือกที่ดี แต่สิ่งที่เกี่ยวกับภาษาเช่นหลามซึ่งถูกสร้างขึ้นบน C? ภาษาล่าสุดไม่ควรจะดีไปกว่าบรรพบุรุษของพวกเขา? ทำไมเรายังต้องเลือกภาษา C ++ ที่มีอายุมากกว่าภาษาล่าสุด? และฉันอยากจะรู้ว่ามันคืออะไรที่รับผิดชอบใน C ++ สำหรับความเร็วในการประมวลผล GUI ที่ดีขึ้น? ในทางตรงกันข้ามภาษาล่าสุดอื่น ๆ ขาดอะไร?

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

26
ภาษาการเขียนโปรแกรมที่เหลือเชื่อที่สุด? [ปิด]
จากเหตุผลพอสมควรภาษาการเขียนโปรแกรมทั่วไปคุณพบว่าเป็นคนที่ใจร้อนที่สุด? ฉันได้ฟังพอดคาสต์การเขียนโปรแกรมจำนวนมากและใช้เวลาในการเรียนรู้ภาษาใหม่บางอย่างที่กำลังพิจารณาว่าจะเกิดขึ้นและที่สำคัญ ฉันไม่จำเป็นต้องพูดถึงBrainFuckแต่ภาษาใดที่คุณจะพิจารณาว่าเป็นภาษาที่ท้าทายกระบวนทัศน์การเขียนโปรแกรมทั่วไป สำหรับฉันฉันทำหน้าที่บางอย่างและตรรกะ (ตัวอย่างเช่นPrologเขียนโปรแกรมการ ) ในปี 1990 ดังนั้นฉันจึงไม่สามารถพูดได้ว่าฉันพบสิ่งพิเศษที่นั่น ผมห่างไกลจากการเป็นผู้เชี่ยวชาญในนั้น แต่แม้ในวันนี้ใจดัดมากที่สุดภาษาการเขียนโปรแกรมสำหรับฉันเป็นPerl ไม่ใช่เพราะ"Hello World"นั้นยากที่จะนำไปใช้ แต่มีความยืดหยุ่นทางคำศัพท์มากจนการแก้ปัญหาที่ยากที่สุดบางส่วนสามารถย่อยสลายได้ดังนั้นกวีที่ฉันต้องเดินออกจากขั้วเพื่อล้างหัว ฉันไม่ได้บอกว่าฉันจะขายซอฟต์แวร์เชิงพาณิชย์ แต่มีเหตุผลที่ชัดเจนว่า Perl มีชื่อเสียง (ใน) เพียงดูรายการพื้นฐานของหนังสือ ดังนั้นภาษาที่ใช้ในการคิดของคุณที่ส่งเสริมการเขียนโปรแกรมและการปฏิบัติที่ดีขึ้นของคุณคืออะไร?

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

10
ทำไมไม่มีระบบปฏิบัติการภาษาระดับสูง? ภาษาระดับต่ำมีประสิทธิภาพมากขึ้นหรือไม่
โดยไม่ต้องเกรงใจฉันอยากให้คุณพิจารณาความเป็นไปได้ของสิ่งนี้ ระบบปฏิบัติการส่วนใหญ่ในปัจจุบันนี้ใช้ภาษาระดับต่ำ (ส่วนใหญ่ C / C ++) แม้แต่ภาษาใหม่เช่น Android ใช้ JNI และการใช้งานพื้นฐานอยู่ใน C ในความเป็นจริง (นี่เป็นการสังเกตการณ์ส่วนตัว) หลายโปรแกรมที่เขียนใน C ทำงานเร็วกว่าโปรแกรมระดับสูง (เช่น: การส่ง (ไคลเอนต์ bittorrent บน Ubuntu) เป็นจำนวนมากเร็วกว่า Vuze (Java) หรือ Deluge (Python) ) แม้แต่คอมไพเลอร์ไพ ธ อนก็เขียนด้วยภาษา C ถึงแม้ว่า PyPy จะเป็นข้อยกเว้น ดังนั้นมีเหตุผลพิเศษสำหรับเรื่องนี้หรือไม่? ทำไมมันจึงเรียกว่า "ภาษาระดับสูง" ของเราที่มีแนวคิด "OOP" ที่ยอดเยี่ยมไม่สามารถใช้ในการสร้างระบบปฏิบัติการที่มั่นคง? ดังนั้นฉันมี 2 คำถามโดยทั่วไป เหตุใดแอปพลิเคชันที่เขียนด้วยภาษาระดับต่ำจึงมีประสิทธิภาพมากกว่า HLL ที่เป็นคู่กัน …

5
เหตุใด Java จึงไม่พิมพ์ข้อสรุป
ฉันสงสัยอยู่เสมอว่าทำไม Java ไม่พิมพ์ข้อสรุปเนื่องจากภาษาเป็นสิ่งที่มันเป็นและ VM เป็นผู้ใหญ่มาก Google's Go เป็นตัวอย่างของภาษาที่มีการอนุมานประเภทที่ยอดเยี่ยมและลดจำนวนการพิมพ์ที่ต้องทำ มีเหตุผลพิเศษเบื้องหลังคุณสมบัตินี้หรือไม่ที่ไม่ได้เป็นส่วนหนึ่งของ Java?

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