คำถามติดแท็ก history

สำหรับคำถามเกี่ยวกับประวัติของการเขียนโปรแกรมและการคำนวณ

3
เมื่อใดและทำไมพอยน์เตอร์จึงเริ่มมองว่ามีความเสี่ยง
ดูเหมือนว่ามีการเปลี่ยนแปลงอย่างค่อยเป็นค่อยไปในการคิดเกี่ยวกับการใช้พอยน์เตอร์ในภาษาการเขียนโปรแกรมซึ่งกลายเป็นที่ยอมรับกันโดยทั่วไปว่าพอยน์เตอร์นั้นถือว่ามีความเสี่ยง การพัฒนาทางประวัติศาสตร์อะไรสำหรับการเปลี่ยนแปลงในความคิดนี้ มีเหตุการณ์เฉพาะน้ำเชื้อการวิจัยหรือการพัฒนาอื่น ๆ หรือไม่? ตัวอย่างเช่นการมองเพียงผิวเผินย้อนกลับไปที่การเปลี่ยนจาก C เป็น C ++ เป็น Java ดูเหมือนว่าจะแสดงแนวโน้มที่จะเสริมและแทนที่ตัวชี้ทั้งหมดด้วยการอ้างอิงทั้งหมด อย่างไรก็ตามห่วงโซ่ที่แท้จริงของเหตุการณ์อาจมีความซับซ้อนและซับซ้อนมากกว่านี้และไม่ได้เรียงตามลำดับ คุณสมบัติที่ทำให้เป็นภาษาหลักเหล่านั้นอาจมีต้นกำเนิดที่อื่นอาจนานมาก่อน หมายเหตุ: ฉันไม่ได้ถามเกี่ยวกับประโยชน์ที่แท้จริงของพอยน์เตอร์เทียบกับการอ้างอิงกับสิ่งอื่น ฉันมุ่งเน้นไปที่เหตุผลสำหรับการเปลี่ยนแปลงที่เห็นได้ชัดนี้
18 history  pointers 

1
ความคิดในการ 'เรียก' ฟังก์ชั่นมาจากไหน?
ฉันสงสัยอยู่เสมอว่าเพราะเหตุใดคนหนึ่งจึงเรียกใช้ฟังก์ชั่นซึ่งตรงข้ามกับการใช้งานมัน การค้นหาของ Google สำหรับการfunction call etymologyและเงื่อนไขที่คล้ายกันผลัดกันขึ้นไม่มีอะไรที่มีประโยชน์, วิกิพีเดียไม่ได้พูดถึงมันพจนานุกรมออนไลน์มีทั้งรายการที่ทุกคนหรือไม่ส่วนนิรุกติศาสตร์ ความคิดในการ 'เรียก' ฟังก์ชั่นมาจากไหน?

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

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

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

4
เหตุใด C ++ มาตรฐานจึงไม่ใช้เทมเพลตนิพจน์
เป็นความเข้าใจของฉันหรือไม่ว่าเทมเพลตนิพจน์เป็นเทคนิคถูกค้นพบอย่างมีนัยสำคัญก่อนมาตรฐาน C ++ ดั้งเดิมในปี 1998 เหตุใดพวกเขาจึงไม่ใช้เพื่อปรับปรุงประสิทธิภาพของคลาสมาตรฐานเช่นstd::stringและสตรีม
17 c++  history 

13
คุณลักษณะใดที่สนับสนุนการวิวัฒนาการของ Pascal
ฉันกำลังรวบรวมประวัติโดยละเอียดของภาษาปาสคาลและมีรายละเอียดบางอย่างที่ฉันขาดหายไป มีคุณสมบัติมากมายในปัจจุบันที่เราให้สิทธิ์ คุณลักษณะใดที่สนับสนุนการวิวัฒนาการของปาสกาลอย่างมีนัยสำคัญและทำไมจึงมีความหมาย ฉันกำลังมองหาคุณสมบัติภาษาไม่ใช่คุณสมบัติแพลตฟอร์มหรือกรอบงาน เช่นผู้ให้บริการมากไปหรือพารามิเตอร์เริ่มต้น แต่ไม่สนับสนุน Linux หรือเครื่องมือ Rich Text ใหม่ ฉันรู้ว่ามีรสชาติที่แตกต่างกันเล็กน้อยของ Pascal (Delphi, Free Pascal, Oxygene, Quick Pascal, Apple Pascal และอื่น ๆ ) และพวกเขาแนะนำคุณสมบัติเดียวกันในเวลาที่ต่างกันและขนานกัน ไม่เป็นไร ฉันกำลังดูภาษาปาสคาลโดยรวมและเมื่อเหตุการณ์สำคัญเกิดขึ้น (วันที่รุ่น ฯลฯ )
17 history  delphi  pascal 

6
พื้นที่สาธารณะของ Java เป็นเพียงข้อบกพร่องทางประวัติศาสตร์ที่น่าเศร้าในการออกแบบ ณ จุดนี้หรือไม่? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา ดูเหมือนว่าจะเป็น Java orthodoxy ณ จุดนี้ว่าโดยทั่วไปไม่ควรใช้เขตข้อมูลสาธารณะสำหรับสถานะวัตถุ (ฉันไม่เห็นด้วยจำเป็น แต่นั่นไม่เกี่ยวข้องกับคำถามของฉัน) ระบุว่ามันจะถูกต้องหรือไม่ที่จะบอกว่าจากที่เราอยู่ทุกวันนี้เป็นที่ชัดเจนว่าสาขาสาธารณะของ Java เป็นข้อผิดพลาด / ข้อบกพร่องของการออกแบบภาษาหรือไม่ หรือมีการโต้แย้งเหตุผลว่าพวกเขาเป็นส่วนที่มีประโยชน์และมีความสำคัญของภาษาแม้วันนี้? ขอบคุณ! อัปเดต:ฉันรู้เกี่ยวกับวิธีที่หรูหรากว่าเช่นใน C #, Python, Groovy เป็นต้นฉันไม่ได้มองหาตัวอย่างเหล่านั้นโดยตรง ฉันแค่สงสัยจริงๆว่ายังมีใครบางคนอยู่ในหลุมหลบภัยพูดพึมพำว่าเขตข้อมูลสาธารณะที่ยอดเยี่ยมเป็นอย่างไรและฝูงทั้งหมดเป็นเพียงแค่แกะ ฯลฯ อัปเดต 2:เขตข้อมูลสาธารณะสุดท้ายคงที่ชัดเจนเป็นวิธีมาตรฐานในการสร้างค่าคงที่สาธารณะ ฉันอ้างถึงการใช้ฟิลด์สาธารณะสำหรับสถานะวัตถุ (แม้แต่สถานะที่ไม่เปลี่ยนรูปแบบ) ฉันคิดว่ามันดูเหมือนว่ามีข้อบกพร่องในการออกแบบที่ควรใช้ฟิลด์สาธารณะสำหรับค่าคงที่ แต่ไม่ใช่สำหรับรัฐ ... กฎของภาษาควรมีการบังคับใช้โดยธรรมชาติด้วยไวยากรณ์ไม่ใช่ตามแนวทาง

1
หนังสือและเรื่องราวเกี่ยวกับวัฒนธรรมการเขียนโปรแกรมโดยเฉพาะในยุค 80 / ต้นยุค 90 [ปิด]
ปิด. คำถามนี้อยู่นอกหัวข้อปิดหัวข้อไม่ยอมรับคำตอบในขณะนี้ ปิดให้บริการใน5 ปีที่ผ่านมา ** คำตอบของคำถามนี้เป็นความพยายามของชุมชน แก้ไขคำตอบที่มีอยู่เพื่อปรับปรุงโพสต์นี้ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ฉันสนุกไปกับหนังสือเกี่ยวกับวัฒนธรรมของแฮ็กเกอร์และดำเนินธุรกิจซอฟต์แวร์ในยุค 80 และ 90 ด้วยเหตุผลบางอย่างสิ่งที่ดูเหมือนน่าตื่นเต้นมากขึ้นแล้ว ตัวอย่างคือ: Microserfs (Douglas Coupland) Accidental Empires (Robert X. Cringely เกือบจะสมบูรณ์ (WE Peterson ออนไลน์!) โคเดอร์เนทที่ทำงาน (Peter Seibel) วันนี้ฉันเป็นผู้ประกอบการและโปรแกรมเมอร์ ย้อนกลับไปในยุค 80 ฉันเป็นเด็กแฮ็คที่เจาะระบบ DOS TSR และเขียนรหัส GWBasic / QBasic ในยุค 90 ฉันเป็นนักศึกษามหาวิทยาลัย CS ซึ่งประสบกับการเติบโตของอินเทอร์เน็ตทั่วโลก เมื่ออ่านหนังสือเหล่านี้ที่ดำเนินธุรกิจซอฟต์แวร์ดูสนุกสนานกว่าที่เป็นอยู่ทุกวันนี้ สิ่งที่เคยเป็นเรื่องง่ายกว่ามากโอกาสดูเหมือนจะอยู่ทุกหนทุกแห่งและผู้ที่เพิ่งเริ่มต้นดูเหมือนจะทำงานกับปัญหาที่แท้จริงมากขึ้น (ประดิษฐ์สเปรดชีตเขียนโปรแกรมประมวลผลคำในแอสเซมบลีบน 6 แพลตฟอร์มที่แตกต่างกัน) ไม่มีใครแบ่งปันความรู้สึกเหล่านี้หรือไม่ …
17 books  history  culture 

3
ทำไมคำสั่ง“ ฆ่า” จึงเรียกว่า
เหตุใดจึงตัดสินใจเรียกkillคำสั่ง "ฆ่า" ฉันหมายความว่าใช่ยูทิลิตี้นี้มักจะใช้เพื่อยุติกระบวนการ แต่มันสามารถนำมาใช้เพื่อส่งสัญญาณใด ๆ มันสับสนเล็กน้อยใช่ไหม อาจมีเหตุผลทางประวัติศาสตร์บางอย่าง ทั้งหมดที่ฉันรู้จากman killคำสั่งนี้ปรากฏในเวอร์ชัน 3 AT&T UNIX

1
ภาษาโปรแกรมใดที่ใช้เครื่องหมายเปอร์เซ็นต์ (%) เพื่อหมายถึงโมดูโล / ส่วนที่เหลือมา
ภาษาโปรแกรมใดที่ใช้เครื่องหมายเปอร์เซ็นต์ (%) เพื่อหมายถึงโมดูโล / ส่วนที่เหลือมา โพสต์ก่อนหน้า1 นี้อธิบายว่ามีการเลือกสัญลักษณ์% เนื่องจากมีเครื่องหมายสแลชที่ชาญฉลาดสำหรับการดำเนินการที่เกี่ยวข้องกับการหาร นอกจากนี้ยังกล่าวถึงอิทธิพลของการใช้สัญลักษณ์ C อย่างไรก็ตามฉันไม่แน่ใจว่ามันมีต้นกำเนิดใน C. ภาษาการเขียนโปรแกรม B เป็นตัวตั้งต้นของ C และฉันพบคู่มือผู้ใช้สำหรับ B (PDF, หน้า 12) ที่ระบุว่า: ตัวดำเนินการ% แสดงโมดูโล หากตัวถูกดำเนินการทั้งคู่เป็นบวกผลลัพธ์จะถูกต้อง มันไม่ได้กำหนดไว้เป็นอย่างอื่น คู่มือผู้ใช้นั้นลงวันที่ 1972 แม้ว่าประมาณเมื่อ C ปรากฏ มันทำให้ในทางทฤษฎีมีความเป็นไปได้ที่จะมีต้นกำเนิดใน C แต่กลับไปที่ B. แล้วฉันยังไม่สามารถหาข้อมูลจำเพาะสำหรับภาษาอื่น ๆ ก่อนหน้านี้เพื่อแสดงการใช้สัญลักษณ์% ซึ่งฉันเชื่อว่าคำถามนี้ไม่ซ้ำกัน: คำถามนั้นถามว่าทำไมการดำเนินการแบบโมดูโลจึงเป็นพื้นฐานฉันถามเมื่อสัญลักษณ์โดยเฉพาะปรากฏว่าหมายถึงโมดูโล่

6
เหตุใดเราจึงใส่ฟังก์ชันสมาชิกส่วนตัวไว้ในส่วนหัว
คำตอบสำหรับสาเหตุที่เราใส่ตัวแปรสมาชิกส่วนตัวในส่วนหัวของ C ++ คือขนาดของคลาสจะต้องเป็นที่รู้จักในจุดที่มีการประกาศอินสแตนซ์เพื่อให้คอมไพเลอร์สามารถสร้างรหัสที่เหมาะสมเกี่ยวกับการย้ายสแต็ก ทำไมเราต้องใส่สมาชิกส่วนบุคคลไว้ในหัว? แต่มีเหตุผลใดที่จะประกาศฟังก์ชั่นส่วนตัวในคำจำกัดความของชั้นเรียน? ทางเลือกจะเป็นสำนวน pimpl เป็นหลัก แต่ไม่มีทิศทางฟุ่มเฟือย คุณสมบัติภาษานี้เป็นมากกว่าข้อผิดพลาดในอดีตหรือไม่?
16 c++  history 

1
std :: vector <bool> มาได้อย่างไร
ทุกวันนี้นักพัฒนา C ++ ทุกคนยอมรับว่าstd::vector&lt;bool&gt;มันเป็นความผิดพลาดเพราะมันไม่ใช่การหลอกลวงและกรณีการใช้งานของมันนั้นทับซ้อนกับสิ่งเหล่านั้นstd::bitsetอยู่ดี คะแนนเป็นมาตรฐานได้อย่างไร มันเป็นความขัดแย้งในเวลา? อะไรคือข้อโต้แย้งหลักที่สนับสนุน?
15 c++  history  stl 

2
ใครเป็นโปรแกรมเมอร์คนแรก?
มีความเห็นพ้องกันในหมู่นักประวัติศาสตร์ว่าใครเป็นโปรแกรมเมอร์คนแรกบ้างไหม? ถ้าเป็นเช่นนั้นใครเป็นใครและพวกเขากำลังเขียนโปรแกรมอะไรอยู่ ฉันคิดว่ามันน่าสนใจมากที่จะรู้เพิ่มเติมเกี่ยวกับผู้บุกเบิกการเขียนโปรแกรมไม่ว่าพวกเขาจะตั้งโปรแกรมบนเครื่องที่ตั้งโปรแกรมได้หรือว่าพวกเขาได้ออกแบบเครื่องเองเพื่อทำงานด้านการคำนวณ
15 history 


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