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

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

5
ทำไม“ charset” ถึงมีความหมายว่า“ การเข้ารหัส” ในการใช้งานทั่วไป?
สิ่งที่ทำให้ฉันสับสนมานานคือซอฟต์แวร์จำนวนมากใช้คำว่า "charset" และ "encoding" เป็นคำพ้องความหมาย เมื่อผู้คนอ้างถึงยูนิโค้ด "เข้ารหัส" พวกเขามักจะหมายถึงชุดกฎสำหรับการแสดงอักขระยูนิโค้ดเป็นลำดับของไบต์ - เช่น ASCII หรือ UTF-8 ดูเหมือนว่าสมเหตุสมผลและเป็นธรรมชาติ แนวคิดคือคุณกำลัง "เข้ารหัส" อักขระเหล่านั้นเป็นไบต์โดยใช้ ruleset ที่ระบุ เนื่องจากบางครั้ง rulesets เหล่านั้นให้ความสามารถในการ "เข้ารหัส" เซ็ตย่อยบางส่วนของอักขระยูนิโค้ดทั้งหมดคุณอาจจินตนาการว่า "charset" - ย่อมาจาก 'set of characters' - จะหมายถึงชุดของอักขระ Unicode - โดยไม่คำนึงถึงวิธีการ อักขระเหล่านั้นถูกเข้ารหัส การเข้ารหัสจึงหมายถึงชุดอักขระ (การเข้ารหัสเช่น ASCII ซึ่งมีกฎสำหรับการเข้ารหัสอักขระ 128 ตัวเท่านั้นจะเชื่อมโยงกับชุดอักขระของอักขระ 128 ตัว) แต่ชุดอักขระไม่จำเป็นต้องมีการเข้ารหัส (เช่น UTF-8, UTF -16 และ …

1
เหตุใด Apache จึงมีเครื่องมือสองแบบสำหรับการสร้างและการจัดการการพึ่งพา
Apache มีเครื่องมือสองแบบแยก: Apache Maven Apache Ant + Apache Ivy พวกเขาดูเหมือนจะเติมทั้งช่องเดียวกัน ฉันมีสองคำถาม: สิ่งที่เป็นไฮไลท์ของความแตกต่างที่สำคัญระหว่างสองเครื่องมือ? ฉันแน่ใจว่าบทความที่ยาวมาก ๆ สามารถเขียนได้เกี่ยวกับความแตกต่างระหว่างสองเรื่องนี้ฉันไม่ได้มองหารายละเอียดมากขนาดนั้นหรือฉันกำลังมองหาข้อโต้แย้งแบบอัตนัยในการเลือกข้อใดข้อหนึ่ง ประวัติความเป็นมาของการเขียนโปรแกรม - มันเกิดขึ้นได้อย่างไรว่า Apache พัฒนาขึ้นเพื่อสร้างเครื่องมือสองชุดที่แยกจากกันโดยสิ้นเชิง

1
ทำไม GCC ใช้ไวยากรณ์ AT&T เป็นค่าเริ่มต้น
ฉันคิดว่าชื่อกล่าวมันทั้งหมด :) มีเหตุผลในทางปฏิบัติที่เฉพาะเจาะจงหรือไม่ (ฉันคิดว่าส่วนใหญ่เป็นประวัติศาสตร์ แต่ฉันไม่สามารถหาได้ด้วยตนเอง) ทำไม GCC ใช้ไวยากรณ์ AT & T / GAS หมายเหตุ: ฉันรู้ว่านี่เป็นเพียงค่าเริ่มต้นและคุณสามารถเปลี่ยนได้ หมายเหตุ 2: ฉันพบว่า "ไวยากรณ์ของ Intel" สามารถอ่านได้มากขึ้นด้วยเหตุนี้มันจึงทำให้ฉันประหลาดใจ
9 history  assembly  gcc 

1
แหล่งดั้งเดิมของ `(เมล็ด * 9301 + 49297) อัลกอริธึม% 233280` แบบสุ่มหรือไม่
หากคุณค้นหาตัวอย่างของการสร้างตัวสร้างตัวเลขแบบสุ่ม (หลอก) คุณจะพบสิ่งเช่นนี้ (ตัวอย่างเฉพาะhttp://indiegamr.com/generate-repeatable-random-numbers-in-js/ ): // the initial seed Math.seed = 6; // in order to work 'Math.seed' must NOT be undefined, // so in any case, you HAVE to provide a Math.seed Math.seededRandom = function(max, min) { max = max || 1; min = min || 0; Math.seed = …
9 history  random 

3
เหตุใด Quicksort จึงเรียกว่า“ Quicksort”
ประเด็นของคำถามนี้ไม่ได้เป็นการอภิปรายถึงข้อดีของอัลกอริทึมการเรียงลำดับอื่น ๆ - แน่นอนว่ามีคำถามอื่น ๆ อีกมากมายที่ทำเช่นนี้ คำถามนี้เกี่ยวกับชื่อ เหตุใด Quicksort จึงเรียกว่า "Quicksort" แน่นอนว่ามันเป็น "เร็ว" ส่วนใหญ่ แต่ไม่เสมอไป ความเป็นไปได้ของการเสื่อมสภาพไปยัง O (N ^ 2) เป็นที่รู้จักกันดี มีการแก้ไข Quicksort มากมายที่ช่วยลดปัญหานี้ แต่กรณีที่นำกรณีที่แย่ที่สุดมาสู่ O (n log n) ที่รับประกันจะไม่เรียกว่า Quicksort อีกต่อไป (เช่น Introsort) ฉันแค่สงสัยว่าทำไมอัลกอริธึมการเรียงลำดับที่รู้จักกันดีทั้งหมดนี่เป็นสิ่งเดียวที่สมควรได้รับชื่อ "ด่วน" ซึ่งไม่ได้อธิบายว่าอัลกอริทึมทำงานอย่างไร แต่เร็วแค่ไหน (ปกติ) การรวมกันเรียกว่าเพราะมันรวมข้อมูล Heapsort เรียกว่าเพราะใช้ฮีป Introsort ได้รับชื่อจาก "Introspective" เนื่องจากตรวจสอบประสิทธิภาพของตัวเองเพื่อตัดสินใจว่าเมื่อใดที่จะเปลี่ยนจาก Quicksort เป็น Heapsort ในทำนองเดียวกันสำหรับคนที่ช้ากว่า …

2
ใครเป็นคนแรกที่ประกาศเกียรติคุณฟังก์ชันคำสั่งซื้อที่สูงขึ้นและ / หรือพลเมืองชั้นหนึ่ง?
ฉันเข้าใจมานานแล้วว่าก่อนที่ Haskell, O'Caml หรือ LISP หน้าที่การสั่งงานที่สูงขึ้นจะเป็นวิชาวิจัยทางวิชาการและในวิชาคณิตศาสตร์Schönfinkel (ในปี 1967) และ Haskell Curry (ในปี 1968) ได้ใช้เทคนิคเช่น currying แต่ ก่อนหน้านี้มีให้ในภาษาการเขียนโปรแกรมใด ๆ Scheme ตาม Wikipediaเป็นภาษาแรกที่แนะนำฟังก์ชั่นการสั่งซื้อที่สูงขึ้นอย่างเหมาะสมในฐานะพลเมืองชั้นหนึ่ง แต่มีใครบ้างที่เราสามารถให้ความคิดดั้งเดิมได้ บางทีโบสถ์อลองโซผู้คิดค้นแลมบ์ดาแคลคูลัสในทศวรรษ 1930? โดยเฉพาะอย่างยิ่งใครเป็นผู้นิยามคำนิยามต่อไปนี้ซึ่งฉันเห็นในการถอดความหลายเรื่องในหนังสือหลายเล่มและแหล่งข้อมูลออนไลน์ ฟังก์ชั่นจะถือว่าเป็นลำดับที่สูงขึ้นเมื่อใช้ฟังก์ชันอื่นเป็นอาร์กิวเมนต์หรือเมื่อส่งคืนฟังก์ชัน ฟังก์ชันใด ๆ ที่ไม่รับฟังก์ชั่นเป็นอาร์กิวเมนต์หรือเป็นชนิดส่งคืนจะเรียกว่าฟังก์ชันลำดับแรก

2
ทำไมวิธีการเข้าถึงจากข้อมูลจำเพาะ JavaBean กลายเป็นมาตรฐานสำหรับการพัฒนา Java?
JavaBeans ข้อมูลจำเพาะอธิบาย JavaBean เป็น Java Bean เป็นส่วนประกอบซอฟต์แวร์ที่สามารถนำกลับมาใช้ใหม่ที่สามารถจัดการได้ด้วยเครื่องมือสร้างภาพ เนื่องจากส่วนใหญ่ของบรรทัดของรหัสที่เขียนดูเหมือนจะไม่มีอะไรเกี่ยวข้องกับการสร้างภาพในเครื่องมือสร้างทำไมข้อมูลจำเพาะ JavaBean จึงเป็น "วิธี" ในการเขียนรหัสเชิงวัตถุ? ฉันต้องการละทิ้ง getter / setter แบบดั้งเดิมเพื่อสนับสนุนFluent Interfacesตลอดรหัสไม่เพียง แต่ในผู้สร้าง แต่กลัวที่จะทำเช่นนี้เนื่องจากนี่ไม่ใช่วิธีการเขียนโค้ดเชิงวัตถุใน Java
9 java  history 

3
อะไรคือผลกระทบทางประวัติศาสตร์ของเที่ยวบิน 501 ของ Ariane 5
การสลายตัวของจรวด Ariane 5 37 วินาทีหลังจากเปิดตัวครั้งแรกในการเดินทางครั้งแรกของเธอ ( เที่ยวบิน 501 ) โดยทั่วไปเรียกว่าหนึ่งในข้อบกพร่องซอฟต์แวร์ที่แพงที่สุดในประวัติศาสตร์1 : องค์การอวกาศยุโรปใช้เวลา 10 ปีและ 7 พันล้านเหรียญสหรัฐเพื่อผลิต Ariane 5 ซึ่งเป็นจรวดยักษ์ที่สามารถขว้างดาวเทียมขนาดสามตันหนึ่งคู่ขึ้นสู่วงโคจรในแต่ละครั้งที่มีการเปิดตัวและตั้งใจที่จะทำให้ยุโรปมีอำนาจสูงสุดในธุรกิจอวกาศ ทั้งหมดที่ใช้ในการระเบิดนั้นจรวดน้อยกว่าหนึ่งนาทีในการเดินทางครั้งแรกเมื่อเดือนมิถุนายนที่ผ่านมาซากปรักหักพังที่ลุกเป็นไฟในป่าโกงกางของเฟรนช์เกียนาเป็นโปรแกรมคอมพิวเตอร์ขนาดเล็ก หนึ่งข้อผิดพลาดหนึ่งความผิดพลาด ในบรรดาบรรทัดรหัสประมาททั้งหมดที่บันทึกในบันทึกย่อของวิทยาการคอมพิวเตอร์อันนี้อาจมีประสิทธิภาพมากที่สุด จากการสัมภาษณ์ผู้เชี่ยวชาญด้านจรวดและการวิเคราะห์ที่เตรียมไว้สำหรับเอเจนซี่อวกาศเส้นทางที่ชัดเจนจากข้อผิดพลาดทางคณิตศาสตร์ไปจนถึงการทำลายล้างทั้งหมดเกิดขึ้น การเปลี่ยนแปลงที่สำคัญอะไรบ้างที่ความล้มเหลวของ 501 ในเที่ยวบินและการตรวจสอบในภายหลังเป็นแรงบันดาลใจในการวิจัยระบบที่สำคัญด้านความปลอดภัยและการทดสอบซอฟต์แวร์ ฉันไม่ได้มองหาคำอธิบายของข้อผิดพลาด แต่สำหรับคำอธิบายเกี่ยวกับผลกระทบทางประวัติศาสตร์ของข้อบกพร่องในแง่ของการวิจัยที่ได้รับแรงบันดาลใจจากหรือเกี่ยวข้องโดยตรงกับการสอบสวนความล้มเหลว ตัวอย่างเช่นบทความนี้สรุป: เราได้ใช้การวิเคราะห์แบบคงที่เพื่อ: ตรวจสอบการเริ่มต้นของตัวแปร จัดเตรียมรายการที่ละเอียดของข้อขัดแย้งการเข้าถึงข้อมูลที่อาจเกิดขึ้นสำหรับตัวแปรที่แชร์ แสดงรายการข้อผิดพลาดรันไทม์ที่อาจเกิดขึ้นอย่างละเอียดจาก Ada semantics สำหรับความรู้ของเรานี่เป็นครั้งแรกที่ใช้เทคนิคการวิเคราะห์แบบบูล - อิงและไม่ใช่แบบบูลีน - ใช้ในการตรวจสอบโปรแกรมอุตสาหกรรม ในทำนองเดียวกันกระดาษนี้(PDF)บันทึก: การวิเคราะห์โปรแกรมเชิงสถิตที่เป็นนามธรรมถูกนำมาใช้เพื่อการวิเคราะห์เชิงสถิตของซอฟต์แวร์ ADA แบบฝังของตัวเรียกใช้ Ariane 5 และ ARD ตัววิเคราะห์โปรแกรมแบบสแตติกมีจุดมุ่งหมายที่การตรวจจับอัตโนมัติของความเป็นไปได้, ศักยภาพ, …
9 testing  history  bug 

1
ใครเป็นคนแรกที่สร้างหรือทำให้เป็นที่นิยม XMLHTTPRequest / MSXML ดั้งเดิม
ฉันพยายามที่จะเข้าใจต้นกำเนิดของ AJAX และคิดว่า MSXML และ XMLHTTPRequest เป็นวัตถุที่เริ่มต้นมันทั้งหมด สิ่งใดมาก่อนและ / หรือกลายเป็นวิธีการลดการสร้างเพจแบบไดนามิก

5
พื้นฐานทางประวัติศาสตร์ของการใช้ Javascript ในการเขียนโปรแกรมเว็บคืออะไร?
ฉันมาจากภูมิหลังทางวิทยาศาสตร์ที่เราใช้ Python บ่อยๆ ตอนนี้ฉันเริ่มที่จะเริ่มต้นด้วยการพัฒนาเว็บฉันพบว่าตัวเองสงสัยอยู่ตลอดเวลาว่าทำไม JavaScript เป็นภาษาฝั่งไคลเอ็นต์หลักบนเว็บ ความเด่นของ JavaScript คืออุบัติเหตุในอดีตหรืออย่างอื่นหรือไม่ นอกจากนี้ฉันอยากรู้อยากเห็นหากมีอุปสรรคใด ๆ ในการรวม Python เข้ากับสคริปต์ฝั่งไคลเอ็นต์
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.