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

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

26
บางคนสามารถหางานเป็นโปรแกรมเมอร์โดยไม่มีการศึกษาได้หรือไม่? [ปิด]
สนใจที่จะรู้จากคนที่มีประสบการณ์มากกว่าถ้าใครบางคนสามารถหางานทำในฐานะโปรแกรมเมอร์โดยไม่ต้องเรียนจบมัธยม พิจารณาว่าบุคคลดังกล่าวเป็นโปรแกรมเมอร์โดยเฉลี่ย ใครบางคนจะพิจารณาให้โอกาสเขาในการสัมภาษณ์หรือไม่? ภาษาที่น่าสนใจคือ python / php / java / c # โปรดตอบสำหรับภูมิภาค / เมือง / ประเทศของคุณเท่านั้น ไม่มีคำตอบ "กลับไปโรงเรียน"

5
ทำไมไพ ธ อนไม่ต้องการคอมไพเลอร์?
แค่สงสัย (ตอนนี้ฉันเริ่มต้นด้วย C ++ ที่ต้องการคอมไพเลอร์) ทำไม Python ไม่ต้องการคอมไพเลอร์? ฉันเพิ่งป้อนรหัสบันทึกเป็นผู้บริหารและเรียกใช้ ใน C ++ ฉันต้องสร้างและสิ่งสนุกอื่น ๆ ทั้งหมด

6
ข้อเสียเปรียบสำหรับการอนุมานประเภทคืออะไร
ดูเหมือนว่าภาษาการเขียนโปรแกรมใหม่ทั้งหมดหรืออย่างน้อยก็เป็นภาษาที่ได้รับความนิยมอย่างมาก แม้จาวาสคริปต์ก็มีประเภทและการอนุมานประเภทแม้ว่าการใช้งานที่หลากหลาย (Acscript, typescript ฯลฯ ) มันดูดีสำหรับฉัน แต่ฉันสงสัยว่ามีการแลกเปลี่ยนหรือทำไมสมมติว่า Java หรือภาษาดีเก่าไม่มีการอนุมานประเภท เมื่อประกาศตัวแปรในGoโดยไม่ระบุประเภทของมัน (ใช้ var โดยไม่มี type หรือ: = ไวยากรณ์) ชนิดของตัวแปรจะถูกอนุมานจากค่าทางด้านขวามือ Dอนุญาตให้เขียนแฟรกเมนต์โค้ดขนาดใหญ่โดยไม่ระบุชนิดซ้ำซ้อนเช่นเดียวกับภาษาไดนามิก ในทางกลับกันการอนุมานแบบคงที่จะอนุมานประเภทและคุณสมบัติของรหัสอื่น ๆ ที่ให้สิ่งที่ดีที่สุดทั้งในโลกที่คงที่และแบบไดนามิก เอ็นจิ้นการอนุมานประเภทในRustค่อนข้างฉลาด มันทำมากกว่าดูประเภทของค่า r ในระหว่างการเริ่มต้น นอกจากนี้ยังมีลักษณะการใช้ตัวแปรหลังจากนั้นอนุมานชนิดของมัน Swiftใช้การอนุมานประเภทเพื่อกำหนดประเภทที่เหมาะสม การอนุมานประเภทช่วยให้ผู้รวบรวมสามารถอนุมานประเภทของนิพจน์เฉพาะโดยอัตโนมัติเมื่อคอมไพล์โค้ดของคุณเพียงแค่ตรวจสอบค่าที่คุณให้ไว้

9
ทำไมภาษาที่จำเป็น / OO ที่เป็นที่รู้จักกันดีส่วนใหญ่อนุญาตให้เข้าถึงประเภทที่สามารถแสดงถึงค่า 'ไม่มีอะไร' ได้โดยไม่ จำกัด
ผมได้อ่านเกี่ยวกับ (UN) ความสะดวกสบายของการมีnullแทน Maybe(ตัวอย่าง) หลังจากที่ได้อ่านบทความนี้ , ผมเชื่อว่ามันจะดีกว่าที่จะใช้Maybe (หรือบางสิ่งบางอย่างที่คล้ายกัน) อย่างไรก็ตามฉันรู้สึกประหลาดใจที่เห็นว่าภาษาการเขียนโปรแกรมเชิงวัตถุหรือเชิงวัตถุที่มีชื่อเสียง "ยังคงใช้อยู่null(ซึ่งอนุญาตการเข้าถึงชนิดที่ไม่ถูกตรวจสอบซึ่งสามารถแสดงถึงค่า 'ไม่มีอะไร') และMaybeส่วนใหญ่จะใช้ในภาษาโปรแกรมเชิงฟังก์ชัน ตัวอย่างเช่นดูรหัส C # ต่อไปนี้: void doSomething(string username) { // Check that username is not null // Do something } มีบางอย่างมีกลิ่นไม่ดีที่นี่ ... ทำไมเราควรตรวจสอบว่าข้อโต้แย้งนั้นเป็นโมฆะหรือไม่ เราไม่ควรคิดว่าทุกตัวแปรมีการอ้างอิงไปยังวัตถุหรือไม่? อย่างที่คุณเห็นปัญหาคือว่าโดยนิยามตัวแปรเกือบทั้งหมดสามารถมีการอ้างอิงที่เป็นโมฆะ เกิดอะไรขึ้นถ้าเราสามารถตัดสินใจว่าตัวแปรใดเป็น "โมฆะ" และไม่ได้? นั่นจะช่วยเราได้มากในขณะที่ทำการดีบั๊กและมองหา "NullReferenceException" ลองจินตนาการว่าโดยค่าเริ่มต้นไม่มีประเภทอาจมีอ้างอิงโมฆะ แทนที่จะเป็นเช่นนั้นคุณจะระบุอย่างชัดเจนว่าตัวแปรสามารถมีการอ้างอิงที่เป็นโมฆะได้เฉพาะในกรณีที่คุณต้องการ นั่นคือความคิดเบื้องหลังบางที หากคุณมีฟังก์ชั่นที่ในบางกรณีล้มเหลว (ตัวอย่างเช่นการหารด้วยศูนย์) คุณสามารถส่งกลับMaybe<int>ระบุอย่างชัดเจนว่าผลลัพธ์อาจเป็น int แต่ยังไม่มีอะไร! นี่คือเหตุผลหนึ่งที่ต้องการบางทีอาจจะแทนที่จะเป็นโมฆะ …

6
การใช้ภาษาโปรแกรมที่ Google [ปิด]
ฉันเคยได้ยินว่า Google ใช้ Python, Java และ C ++ แต่สิ่งที่ฉันไม่รู้ก็คือวิธีการใช้ภาษาการเขียนโปรแกรมแต่ละภาษา ฉันหมายถึง Python, Java และ C ++ ที่ใช้กับ Google ทำไมพวกเขาถึงไม่เกิน 3 ภาษาการเขียนโปรแกรมเมื่อ 1 ภาษาเพียงพอ มีใครรู้บ้าง

16
ฉันกำลังเขียนเกี่ยวกับไวยากรณ์ภาษา มีภาษาใดบ้างที่มีพารามิเตอร์ใดวางอยู่ภายในชื่อเมธอด?
ใน JavaScript: function getTopCustomersOfTheYear(howManyCustomers, whichYear) { // Some code here. } getTopCustomersOfTheYear(50, 2010); ใน C #: public List<Customer> GetTopCustomersOfTheYear(int howManyCustomers, int whichYear) { // Some code here } List<Customer> customers = GetTopCustomersOfTheYear(50, 2010); ใน PHP: public function getTopCustomersOfTheYear($howManyCustomers, $whichYear) { // Some code here } $customers = getTopCustomersOfTheYear(50, 2010); มีภาษาใดบ้างที่สนับสนุนไวยากรณ์นี้: …

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


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

4
ภาษาการเขียนโปรแกรมกำหนดฟังก์ชั่นอย่างไร
ภาษาการเขียนโปรแกรมกำหนดและบันทึกฟังก์ชัน / วิธีอย่างไร ฉันกำลังสร้างภาษาการเขียนโปรแกรมตีความใน Ruby และฉันพยายามคิดวิธีการประกาศใช้ฟังก์ชั่น แนวคิดแรกของฉันคือการบันทึกเนื้อหาของการประกาศในแผนที่ ตัวอย่างเช่นถ้าฉันทำสิ่งที่ชอบ def a() { callSomething(); x += 5; } จากนั้นฉันจะเพิ่มรายการลงในแผนที่ของฉัน: { 'a' => 'callSomething(); x += 5;' } ปัญหานี้คือว่ามันจะกลายเป็นแบบเรียกซ้ำเพราะฉันจะต้องเรียกparseวิธีการของฉันบนสตริงซึ่งจะโทรparseอีกครั้งเมื่อพบdoSomethingและจากนั้นฉันก็จะหมดพื้นที่สแต็คในที่สุด ดังนั้นภาษาที่ตีความจะจัดการกับสิ่งนี้ได้อย่างไร

15
ควรที่จะกลับไปมาระหว่างภาษาการเขียนโปรแกรมสองภาษาหรือไม่? [ปิด]
ฉันเขียน PHP ค่อนข้างมากมาเกือบสองปีแล้ว ตอนนี้ฉันกำลังพัฒนา. NET (ส่วนใหญ่ c #) อย่างไรก็ตามบางครั้งฉันกลับไปและทำ php คำถามหลักของฉันคือฉันควรทำสิ่งนี้ต่อไปหรือไม่ฉันควรพัฒนาใน C # ต่อไปหรือไม่? สิ่งนี้จะเป็นอันตรายต่อฉันในระยะยาวหรือไม่ (คุณคิดว่าเป้าหมายหลักของฉันคือการไม่เป็นผู้ค้าขายทุกคน) หรือเป็นวิธีปฏิบัติที่ดีที่จะทำ

13
เหตุใดจึงมีความกลัวอย่างมากในการเลือกภาษา“ ผิด” เพื่อเรียนรู้? [ปิด]
อาจเป็นเพียงฉัน แต่ในฐานะนักเรียน CS ปัจจุบันฉันได้เจอคำถามมากมายในเว็บไซต์นี้และที่อื่น ๆ ที่ไม่ใช่แค่ "ฉันควรใช้ภาษาใดกับ x" แต่ยังมี "ใครยังใช้ภาษา Y หรือไม่" ชั้นเรียน CS แรกของฉันได้รับการสอนใน Scheme ซึ่งหากฉันไม่เข้าใจผิดจะไม่ถูกใช้อย่างกว้างขวาง (อย่างน้อยก็เมื่อเปรียบเทียบกับภาษาอย่าง Java, PHP, Python และอื่น ๆ ) เพื่อนร่วมชั้นหลายคนคิดว่าต้องเรียนรู้ภาษาที่พวกเขาจะไม่ต้องใช้อีก แต่ฉันก็ไม่เข้าใจเลยว่าความกลัวของการเรียนรู้ภาษาที่ได้รับความนิยมน้อยลงนั้นมาจากไหน ไม่ฉันไม่สามารถใช้ Scheme ในงานใด ๆ ที่ฉันได้รับ แต่ฉันไม่เสียใจที่ได้เรียนรู้ที่จะใช้มัน (แม้ว่าจะเป็นมือใหม่ แต่ก็ไม่เชิงลึกมากในภาคการศึกษาหนึ่ง) ฉันกำลังเรียนหลักสูตรเสิร์ชเอ็นจิ้นในเทอมนี้ ซึ่งทำใน Perl และอีกครั้งฉันเห็นเพื่อนร่วมชั้นบ่นเกี่ยวกับการเลือกภาษา ฉันสามารถเข้าใจได้ว่ามีภาษาที่ชื่นชอบและไม่ชอบคนอื่น แต่ทำไมบางคนถึงทำงานอย่างหนักเพื่อเรียนรู้มันตั้งแต่แรก? คุณสามารถเรียนรู้ภาษาที่ "ผิด" ได้จริงหรือ? การเรียนรู้อะไรไม่เหมือน Scheme หรือ Haskell การออกกำลังกายทางจิตที่ดีถ้าไม่มีอะไรอื่นและอย่างน้อยก็มีประโยชน์ที่จะได้รับวิธีการแก้ปัญหาที่แตกต่างกันใช่ไหม

13
ทำไมภาษาโปรแกรมไม่จัดการปัญหาซิงโครนัส / อะซิงโครนัสโดยอัตโนมัติ?
ฉันไม่ได้พบแหล่งข้อมูลมากมายเกี่ยวกับสิ่งนี้: ฉันสงสัยว่ามันเป็นไปได้ / เป็นความคิดที่ดีที่จะสามารถเขียนโค้ดแบบอะซิงโครนัสในแบบซิงโครนัส ตัวอย่างเช่นนี่คือโค้ด JavaScript บางอย่างที่ดึงจำนวนผู้ใช้ที่เก็บในฐานข้อมูล (การดำเนินการแบบอะซิงโครนัส): getNbOfUsers(function (nbOfUsers) { console.log(nbOfUsers) }); มันคงจะดีถ้าได้เขียนอะไรแบบนี้: const nbOfUsers = getNbOfUsers(); console.log(getNbOfUsers); console.logและเพื่อให้คอมไพเลอร์โดยอัตโนมัติจะดูแลการรอคอยสำหรับการตอบสนองแล้วรัน มันจะรอให้การดำเนินการแบบอะซิงโครนัสเสร็จสมบูรณ์ก่อนที่ผลลัพธ์จะต้องถูกนำไปใช้ที่อื่น เราจะใช้สัญญาการติดต่อกลับน้อยลงอย่างมาก async / รอหรืออะไรก็ตามและไม่ต้องกังวลว่าผลลัพธ์ของการดำเนินการจะพร้อมใช้งานทันทีหรือไม่ ข้อผิดพลาดจะยังคงสามารถจัดการได้ (ได้nbOfUsersรับจำนวนเต็มหรือข้อผิดพลาด?) โดยใช้ลอง / จับหรือสิ่งที่ชอบตัวเลือกเช่นในภาษาสวิฟท์ มันเป็นไปได้? มันอาจเป็นความคิดที่น่ากลัว / ยูโทเปีย ... ฉันไม่รู้

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

14
มันเป็นไปได้ที่จะรวมภาษาการเขียนโปรแกรม?
ฉันได้เขียนโปรแกรมมาระยะหนึ่งแล้วฉันได้เขียนโปรแกรมพื้นฐานบางอย่างและฉันต้องการเรียนรู้ต่อไป ฉันมาถึงจุดที่คุณไม่รู้ว่าจะเรียนต่อไปอย่างไรและฉันต้องการถามคำถามเกี่ยวกับความอยากรู้ของฉันเอง คำถามสั้น ๆ คือถ้าคุณสามารถรวมภาษาการเขียนโปรแกรมหลายภาษาเป็น 1 ผล? ตัวอย่างเช่นรหัสนี้สามารถเป็นไปได้? <html> cout << "Hello world!"; </html> หรือ import java.util.Scanner; cout << "Insert a number from 1 to 10"; Scanner n = new Scanner(System.in); System.out.println("The value you entered was" +n.newLine()); นี่เป็นคำถามที่โง่ แต่ฉันไม่รู้ว่าเป็นไปได้หรือไม่ดังนั้นฉันจึงถาม ในคำถามนี้ฉันสังเกตเห็นว่าเขาใช้รหัส Python ในรหัส html หากตัวอย่างข้างต้นของฉันเป็นไปไม่ได้เขาจะทำอย่างไร

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