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

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

16
จิตใจที่อ่อนเยาว์จำเป็นต้องเรียนรู้แนวคิดตัวชี้?
เหตุใด C master Dennis Ritchie จึงแนะนำพอยน์เตอร์ใน C และทำไมภาษาโปรแกรมอื่น ๆ เช่น VB.NET หรือ Java หรือ C # จึงกำจัดภาษาเหล่านั้น ฉันพบบางจุดใน Google และฉันต้องการฟังความคิดเห็นของคุณด้วย ทำไมพวกเขาถึงกำจัดแนวคิดของตัวชี้ในภาษาสมัยใหม่? ผู้คนพูดว่า C เป็นภาษาพื้นฐานและพอยน์เตอร์เป็นแนวคิดที่ทำให้ C มีพลังและโดดเด่นและทำให้ C ยังคงแข่งขันกับภาษาที่ทันสมัยกว่าได้ แล้วทำไมพวกเขาถึงกำจัดพอยน์เตอร์ในภาษาที่ทันสมัยกว่า คุณคิดว่าความรู้เกี่ยวกับพอยน์เตอร์ยังคงมีความสำคัญต่อโปรแกรมเมอร์ใหม่หรือไม่? ทุกวันนี้ผู้คนกำลังใช้ VB.NET หรือ Java ซึ่งสนับสนุนคุณสมบัติขั้นสูงมากกว่า C (และไม่ใช้แนวคิดตัวชี้) และหลาย ๆ คนอย่างที่ฉันเห็นในตอนนี้ (เพื่อนของฉัน) เลือกภาษาเหล่านี้โดยไม่สนใจ C เนื่องจากสนับสนุนคุณสมบัติขั้นสูง ฉันบอกให้พวกเขาเริ่มต้นด้วย C. พวกเขาบอกว่าเป็นเรื่องเสียที่จะเรียนรู้แนวคิดของพอยน์เตอร์เมื่อคุณทำสิ่งขั้นสูงใน VB.NET หรือ Java …

30
คุณต้องการมีฟีเจอร์อะไรใน PHP? [ปิด]
เนื่องจากเป็นช่วงเทศกาลวันหยุดและทุกคนต้องการสิ่งนี้ฉันสงสัย - ฟีเจอร์ภาษาที่คุณต้องการจะเพิ่มใน PHP คืออะไร? ฉันสนใจคำแนะนำ / ความปรารถนาที่เป็นประโยชน์สำหรับภาษานี้ โดยการปฏิบัติฉันหมายถึง: สิ่งที่สามารถทำได้ในทางปฏิบัติ (ไม่ใช่: "ฉันหวังว่า PHP จะเดาว่ารหัสของฉันหมายถึงอะไรและแก้ไขข้อบกพร่องสำหรับฉัน" หรือ "ฉันหวังว่าโค้ดใด ๆ จะทำงานภายใต้ 5ms") บางสิ่งที่ไม่ต้องการเปลี่ยน PHP เป็นภาษาอื่น (ไม่ใช่: "ฉันหวังว่าพวกเขาจะลบเครื่องหมาย $ และใช้พื้นที่แทนวงเล็บปีกกา" หรือ "ฉันหวังว่า PHP ถูกคอมไพล์พิมพ์แบบสแตติกและมี # อยู่ในชื่อ") สิ่งที่ไม่ต้องการทำลายรหัสที่มีอยู่ทั้งหมด (ไม่ใช่: "ลองเปลี่ยนชื่อ 500 ฟังก์ชั่นและเปลี่ยนลำดับพารามิเตอร์สำหรับพวกเขา") สิ่งที่ไม่เปลี่ยนภาษาหรือบางแง่มุมที่น่าสนใจของมัน (ไม่ได้ "ผมต้องการมีส่วนขยายเพื่อรองรับการ XYZ โปรโตคอล" หรือ "ฉันหวังว่าข้อผิดพลาด # 12345 ได้รับการแก้ไขในที่สุด") บางสิ่งที่มากกว่าคำพูดโวยวาย (ไม่ใช่: "ฉันหวังว่า …

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

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

6
ทำไมความนิยมของไพ ธ อนจึงเกิดขึ้นอย่างรวดเร็ว? [ปิด]
ปรากฏงูใหญ่ครั้งแรกในปี 1991 แต่มันก็ค่อนข้างที่ไม่รู้จักจนถึงปี 2004 หากการจัดอันดับ TIOBEปริมาณที่มีความหมายอะไร เกิดอะไรขึ้น? อะไรทำให้ความสนใจในภาษาเก่า 13 ปีนี้ต้องผ่านหลังคา มีเหตุผลที่ Python ไม่ได้พิจารณาว่าเป็นคู่แข่งที่แท้จริงของ Perl ในทศวรรษแรกของการมีชีวิตอยู่หรือไม่? มีเหตุผลหรือไม่ที่ Python ไม่ได้อยู่ในความสับสนต่อเนื่องไปอีกสิบปี? โดยส่วนตัวฉันคิดว่า Python เป็นภาษาที่ดีมากและฉันดีใจที่ฉันไม่ใช่คนเดียว แต่มันไม่ได้มีการสำรองข้อมูลขององค์กรหรือคุณสมบัตินักฆ่าที่จะอธิบายการเพิ่มขึ้นอย่างฉับพลันของความเกี่ยวข้อง ไม่มีใครรู้เรื่องนี้บ้าง?

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

13
วัตถุใน OOP จำเป็นต้องแสดงถึงเอนทิตีหรือไม่?
วัตถุต้องแสดงถึงนิติบุคคลหรือไม่ โดยนิติบุคคลที่ผมหมายถึงสิ่งที่ชอบProduct, Motorเป็นParkingLotฯลฯ ทางกายภาพหรือแม้กระทั่งวัตถุแนวคิดที่ชัดเจนไม่ใช่ทางกายภาพ - บางสิ่งบางอย่างที่กำหนดไว้อย่างดีกับข้อมูลหลักบางอย่างชัดเจนที่อยู่ในวัตถุและบางฟังก์ชั่น / วิธีการ ที่ทำงานอย่างชัดเจนกับข้อมูลหลัก ตัวอย่างเช่นฉันสามารถมีวัตถุของ a Demon, นิติบุคคลในตัวเองหนึ่งในจินตนาการและอาจไม่ใช่ทางกายภาพ แต่ยังคงเป็นนิติบุคคล วัตถุสามารถเป็นเพียงชุดของวิธีการชุดของขั้นตอนทั่วไปที่เชื่อมโยงกับเป้าหมายทั่วไปได้หรือไม่ ตัวอย่าง: สามารถเรียกคลาสได้MotorOperationsหรือMotorActionsในกรณีที่ไม่มีเอนทิตี แต่วิธีการภายในคลาสสามารถทำสิ่งต่าง ๆ ได้ getMotorDataFromHTMLForm () getMotorManufacturers () selectMotorFromUserRequirements ($ ต้องการ) canMotorCanHandleOperatingConditions ($ เงื่อนไข) computePowerConsumptionForMotor ($ ID) โดยทั่วไปคลาสจะถูกกำหนดให้เป็นศูนย์กลางข้อมูลของการดำเนินการกับออบเจ็กต์ + กับข้อมูล ดังนั้นสำหรับ a Motorอาจมีตัวแปรยนต์บางอย่างที่เกี่ยวข้องกับข้อมูลจำเพาะของมอเตอร์และอาจมีการดำเนินการที่รวมข้อมูลเหล่านั้นเพื่อสร้างบางสิ่งบางอย่าง ในกรณีของฉันมันเหมือนกับว่าฉันมีคลาสที่มีการดำเนินงานเกี่ยวกับ data + data ที่ส่งผ่านคลาสไม่มี data centric สำหรับ "Motor Operations" นอกเหนือจากข้อมูลชั่วคราวที่ส่งผ่านคลาส …

11
การเขียนโปรแกรมโดยทั่วไปกลายเป็นเรื่องง่ายต่อการอ่านเขียนและทำความเข้าใจเมื่อคุณได้รับประสบการณ์หรือไม่? [ปิด]
ฉันเป็นผู้เริ่มต้นในการเขียนโปรแกรมและฉันอ่านหนังสือศึกษาอ่านบทความและอะไรก็ตาม ฉันได้รับผลลัพธ์ที่ยอดเยี่ยมตั้งแต่ฉันเริ่มเรียนรู้การเขียนโปรแกรมและเมื่อฉันเป็นผู้เริ่มต้นฉันเคยคิดว่าฉันรู้ทุกอย่างเกี่ยวกับการเขียนโปรแกรม แต่เมื่อฉันเรียนรู้มากขึ้นฉันก็รู้ว่าฟิลด์นี้ยากแค่ไหน แต่ไม่ thats จุด). ทุกวันนี้ฉันได้เขียนซอฟต์แวร์ที่ใช้งานได้และฉันได้เรียนรู้พื้นฐานของ 3 ภาษาและฉันเป็นสื่อกลางในภาษาเดียว เมื่อฉันดูสิ่งต่าง ๆ ขั้นสูงเช่น MYSQL หรือการเขียนโปรแกรม OpenGL หรือแม้แต่รหัส Visual Studio C ++ มันทำให้ฉันปวดหัวและแม้กระทั่งการแสดงภาพซอร์สโค้ด HTML ของเว็บไซต์จำนวนมาก (ซอร์สโค้ดส่วนใหญ่บนเว็บไซต์ที่เห็นโดย Google chrome ดูเหมือนยุ่งมาก ) ทำให้ฉันสับสนถึงขีด จำกัด ของสมอง ทุกอย่างดูเรียบง่ายในตอนแรก แต่เมื่อมองไปที่สิ่งที่ก้าวหน้าเหล่านี้มันทำให้ฉันสงสัยว่าจะเรียนรู้ได้มากแค่ไหน คำถามสั้น ๆ คือถ้าสิ่งเหล่านี้กลายเป็นที่ชัดเจนกับโปรแกรมเมอร์ในขณะที่เขาก้าวหน้าในอาชีพของเขา หัวข้อที่ซับซ้อนตามที่ระบุไว้ข้างต้น (OpenGL, MySQL, ไซต์ html ขั้นสูง) กลายเป็นเรื่องง่ายต่อการอ่านเขียนและทำความเข้าใจเมื่อคุณเรียนรู้มากขึ้นหรือแค่ซับซ้อนขึ้นเมื่อคุณไป คุณจะต่อสู้กับความรู้สึกนี้ว่าคุณเป็นมดในโลกแห่งการเขียนโปรแกรมได้อย่างไร

11
ทำไม String ถึงไม่เปลี่ยนรูปใน Java?
ฉันไม่เข้าใจเหตุผลของมัน ฉันมักจะใช้คลาส String เหมือนนักพัฒนาอื่น ๆ แต่เมื่อฉันแก้ไขค่าของมันอินสแตนซ์ใหม่ของ String ที่สร้างขึ้น สิ่งที่อาจเป็นสาเหตุของการไม่เปลี่ยนรูปแบบสำหรับคลาส String ใน Java? ฉันรู้ว่ามีทางเลือกบางอย่างเช่น StringBuffer หรือ StringBuilder มันเป็นเพียงความอยากรู้

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

5
Python ตีความหรือเรียบเรียงหรือไม่?
นี่เป็นเพียงความสงสัยในขณะที่ฉันอ่านเกี่ยวกับภาษาที่แปลและเรียบเรียง Rubyไม่ต้องสงสัยเลยว่าเป็นภาษาที่ตีความเนื่องจากซอร์สโค้ดถูกประมวลผลโดยล่าม ณ จุดดำเนินการ ในทางตรงกันข้ามCเป็นภาษาที่รวบรวมเป็นหนึ่งจะต้องรวบรวมซอร์สโค้ดแรกตามเครื่องแล้วดำเนินการ ผลลัพธ์นี้เป็นการดำเนินการที่รวดเร็วยิ่งขึ้น ตอนนี้มาที่Python : รหัสหลาม ( somefile.py ) เมื่อนำเข้าสร้างไฟล์ ( somefile.pyc ) ในไดเรกทอรีเดียวกัน ให้เราบอกว่าการนำเข้าจะทำในเปลือกหลามหรือโมดูล django หลังจากนำเข้าฉันเปลี่ยนรหัสเล็กน้อยและดำเนินการฟังก์ชั่นที่นำเข้าอีกครั้งเพื่อค้นหาว่ามันยังคงใช้รหัสเดิมอยู่ สิ่งนี้ชี้ให้เห็นว่าไฟล์ * .pyc เป็นไฟล์ไพ ธ อนที่คอมไพล์เหมือนกับไฟล์ที่สร้างขึ้นหลังจากการคอมไพล์ไฟล์ C ถึงแม้ว่าฉันจะไม่สามารถเรียกใช้ไฟล์ * .pyc ได้โดยตรง เมื่อดำเนินการไฟล์ python (somefile.py) โดยตรง (./somefile.py หรือ python somefile.py) จะไม่มีการสร้างไฟล์. pyc และรหัสจะถูกดำเนินการตามที่ระบุถึงพฤติกรรมที่ตีความ สิ่งเหล่านี้แนะนำให้รวบรวมรหัสไพ ธ อนทุกครั้งที่มีการนำเข้าในกระบวนการใหม่เพื่อสร้าง. pyc ในขณะที่มันถูกตีความเมื่อดำเนินการโดยตรง ดังนั้นฉันควรใช้ภาษาประเภทใด ตีความหรือรวบรวม? และประสิทธิภาพของมันเปรียบเทียบกับภาษาที่แปลและเรียบเรียงได้อย่างไร …

5
มีความสัมพันธ์ระหว่างขนาดของโครงการและความเข้มงวดของภาษาหรือไม่
การอธิบายถึงความแตกต่างระหว่างความเข้มงวดของภาษาและกระบวนทัศน์ต่อเพื่อนร่วมงานของฉันฉันจึงยืนยันว่า: ภาษาที่ทนทานเช่นภาษาที่มีการเปลี่ยนแปลงและถูกตีความใช้ดีที่สุดสำหรับต้นแบบและโครงการขนาดเล็กหรือเว็บแอปพลิเคชันขนาดกลาง เมื่อเลือกภาษาไดนามิกที่หรูหราเช่น Python หรือ JavaScript ที่มี Node.js ประโยชน์คือ: การพัฒนาที่รวดเร็ว ลดรหัสสำเร็จรูป ความสามารถในการดึงดูดโปรแกรมเมอร์หนุ่มสาวผู้สร้างสรรค์ที่หนี“ ภาษาองค์กร” เช่น Java ภาษาที่พิมพ์ / เรียบเรียงแบบสแตติกเหมาะที่สุดสำหรับแอปพลิเคชันที่ต้องการความเข้มงวดสูงกว่าเช่นแอพที่สำคัญต่อธุรกิจหรือแอพสำหรับแอพขนาดกลางถึงขนาดใหญ่ กระบวนทัศน์และรูปแบบที่รู้จักกันดีพัฒนามานานหลายทศวรรษ ความง่ายในการตรวจสอบแบบคงที่ ความสามารถในการค้นหานักพัฒนามืออาชีพจำนวนมากที่มีประสบการณ์มานานหลายทศวรรษ ภาษาที่เข้มงวดเช่น Haskell, Ada หรือเทคนิคต่าง ๆ เช่นสัญญา Code ใน C # นั้นดีกว่าสำหรับระบบที่ให้ความปลอดภัยมากกว่าความยืดหยุ่น (แม้ว่า Haskell จะมีความยืดหยุ่นสูงมาก) เช่นระบบที่มีความสำคัญต่อชีวิตและระบบซึ่งคาดว่าจะเสถียรมาก ประโยชน์คือ: ความสามารถในการจับข้อบกพร่องให้ได้มากที่สุดในเวลารวบรวม ความง่ายในการตรวจสอบแบบคงที่ ความง่ายในการพิสูจน์อย่างเป็นทางการ อย่างไรก็ตามโดยดูที่ภาษาและเทคโนโลยีที่ใช้สำหรับโครงการขนาดใหญ่โดย บริษัท ขนาดใหญ่, ดูเหมือนว่าการยืนยันของฉันเป็นสิ่งที่ผิด ตัวอย่างเช่น Python ใช้สำหรับระบบขนาดใหญ่เช่น YouTube หรือแอปพลิเคชันอื่น ๆ …

7
นี่เป็นภาษาแอสเซมบลีหรือไม่
ในวัยเด็กของฉันฉันเคยเขียนโปรแกรมเกี่ยวกับเครื่องคิดเลขโซเวียตMK-61 มีทะเบียนปฏิบัติการสี่ตัว (X, Y, Z, T) และที่เก็บข้อมูล 15 รายการ โปรแกรมอาจมี 105 ขั้นตอน ในขณะที่ฉันจำได้มันมีคำสั่งเช่น: สลับการลงทะเบียน X และ Y Shift register (Z ถึง T, Y ถึง Z, X ถึง Y) คัดลอกจากที่เก็บข้อมูลทะเบียน (1..15) ถึง X คัดลอกจาก X ไปยังที่เก็บข้อมูลการลงทะเบียน (1..15) ถ้า X <0 ให้ไปที่ขั้นตอนของโปรแกรม ## ดำเนินการ (+, -, *, /) โดยใช้ค่า X และ Y …

9
คอมไพเลอร์ตัวแรกทำยังไง?
ฉันมักจะสงสัยในสิ่งนี้และบางทีฉันต้องการบทเรียนประวัติศาสตร์ที่ดีเกี่ยวกับภาษาการเขียนโปรแกรม แต่เนื่องจากคอมไพเลอร์ส่วนใหญ่ในปัจจุบันทำใน C คอมไพเลอร์ตัวแรกที่สร้างขึ้น (AKA ก่อนหน้า C) หรือแปลภาษาทั้งหมดแค่ไหน? เมื่อพูดถึงเรื่องนี้ฉันยังไม่เข้าใจว่าภาษาแอสเซมบลีตัวแรกได้ทำอะไรฉันเข้าใจว่าภาษาแอสเซมบลีนั้นคืออะไร แต่ฉันไม่เห็นว่าพวกเขาใช้ภาษาแอสเซมบลีครั้งแรกได้อย่างไร คำสั่ง (เช่นmov R21) หรือ w / e ตั้งค่าให้เทียบเท่าไบนารี?

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

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