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

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

10
ทำไมจำนวนผู้ส่ง Git เพิ่มขึ้นอย่างฉับพลันในกราฟ Debian popcon ในปี 2010-01
เกือบทุกบทความที่ฉันได้อ่าน1 การเปรียบเทียบ Git และ Mercurial ดูเหมือนว่า Mercurial จะมีบรรทัดคำสั่ง UX ที่ดีกว่าโดยที่แต่ละคำสั่งถูก จำกัด เพียงหนึ่งแนวคิดเท่านั้น (ต่างจากที่พูดgit checkout) แต่เมื่อถึงจุดหนึ่ง Git ก็เริ่มได้รับความนิยมสูงสุดและจำนวนผู้ส่ง Git บนกราฟ Debian popcon (ดูภาพกราฟด้านล่าง) ระเบิดอย่างแท้จริง ที่มา: Debian เกิดอะไรขึ้นในปี 2010-01 ว่ามีการเปลี่ยนแปลงอย่างกระทันหัน ดูเหมือนว่า GitHub ก่อตั้งขึ้นเร็วกว่านั้นในปี 2008
86 git  history  mercurial 

7
ประวัติของเหตุใดไบต์ถึงแปดบิต?
สิ่งที่กองกำลังทางประวัติศาสตร์ในการทำงานการแลกเปลี่ยนที่จะทำในการตัดสินใจที่จะใช้กลุ่มแปดบิตเป็นหน่วยพื้นฐาน? มีเครื่องใช้ครั้งหนึ่งเคยใช้คำขนาดอื่น แต่วันนี้สำหรับผู้ที่ไม่ใช่แปดคนคุณต้องมองไปที่ชิ้นส่วนพิพิธภัณฑ์ชิปพิเศษสำหรับการใช้งานแบบฝังและ DSP ไบต์วิวัฒนาการมาจากความวุ่นวายและความคิดสร้างสรรค์ในยุคแรก ๆ ของการออกแบบคอมพิวเตอร์อย่างไร ฉันสามารถจินตนาการได้ว่าบิตที่น้อยลงจะไม่มีประสิทธิภาพในการจัดการข้อมูลเพียงพอที่จะทำให้การคำนวณเป็นไปได้ในขณะที่หลาย ๆ คนอาจทำให้ฮาร์ดแวร์มีราคาแพง มีอิทธิพลอื่น ๆ ในการเล่นหรือไม่? เหตุใดแรงเหล่านี้จึงสมดุลกันถึงแปดบิต (BTW ถ้าฉันสามารถเดินทางข้ามเวลาได้ฉันจะกลับไปเมื่อ "ไบต์" ถูกประกาศให้เป็น 8 บิตและโน้มน้าวให้ทุกคนทำให้มันเป็น 12 บิตติดสินบนพวกเขาด้วยเครื่องประดับเล็ก ๆ แห่งศตวรรษที่ 21)
86 history  hardware  byte  bit 

3
ทำไม Python เขียนใน C และไม่ใช่ C ++
ในแบบฝึกหัดของ Python ผู้คนสามารถอ่านได้ว่าการนำ Python ไปใช้ใน C คือ ในทางกลับกันการใช้งาน Python ที่เขียนด้วยภาษา C, (... ) ฉันสงสัยมากว่าทำไม Python เขียนใน C ไม่ใช่ C ++ ฉันต้องการทราบเหตุผลของการตัดสินใจครั้งนี้และคำตอบควรได้รับการสนับสนุนโดยการอ้างอิงทางประวัติศาสตร์ (และไม่ใช่ความคิดเห็นตาม)

10
ทำไมคอมไพเลอร์ตัวแรกเขียนหน้าล่ามตัวแรก
คอมไพเลอร์ตัวแรกเขียนโดย Grace Hopper ในปี 1952 ในขณะที่ล่าม Lisp ถูกเขียนในปี 1958 โดย Steve Russell นักศึกษา John McCarthy การเขียนคอมไพเลอร์ดูเหมือนว่าเป็นปัญหาที่ยากกว่าล่าม ถ้าเป็นเช่นนั้นทำไมคอมไพเลอร์ตัวแรกเขียนหกปีก่อนล่ามคนแรก?

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

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

10
เหตุใด C ถึงมีชัยเหนือปาสกาล [ปิด]
ความเข้าใจของฉันคือว่าในปี 1980 และบางทีในปี 1990 เช่นกันปาสคาลและ C ก็ค่อนข้างหัวต่อหัวเป็นภาษาที่ผลิต การตายครั้งสุดท้ายของปาสกาลเป็นเพียงเพราะการเพิกเฉยของบอร์แลนด์เรื่องเดลฟายหรือไม่? หรือมีมากขึ้นเช่นโชคไม่ดีหรืออาจมีบางอย่างผิดปกติกับ Pascal (มีความหวังในการฟื้นฟูหรือไม่) ฉันสนใจในข้อเท็จจริงทางประวัติศาสตร์และการสังเกตการณ์อย่างใดอย่างหนึ่งสามารถสำรองข้อมูลมากกว่าชอบและไม่ชอบ

10
เฟรมเวิร์กเว็บแอ็พพลิเคชันสมัยใหม่มีวิธีการอย่างไรและทำไมจึงพัฒนาเพื่อแยกเส้นทาง URL จากระบบไฟล์
เมื่อเทียบกับเมื่อประมาณ 10 ปีที่แล้วฉันสังเกตเห็นการเปลี่ยนแปลงไปสู่เฟรมเวิร์กโดยใช้รูปแบบการกำหนดเส้นทางที่แยกเส้นทาง URL จากระบบไฟล์ โดยทั่วไปสามารถทำได้ด้วยความช่วยเหลือของรูปแบบตัวควบคุมด้านหน้า กล่าวคือเมื่อก่อนเส้นทาง URL ถูกแมปโดยตรงกับระบบไฟล์และดังนั้นจึงสะท้อนไฟล์และโฟลเดอร์ที่แน่นอนในดิสก์ปัจจุบันเส้นทาง URL ที่แท้จริงจะถูกตั้งโปรแกรมให้นำไปยังคลาสที่ระบุผ่านการกำหนดค่าและไม่สะท้อนไฟล์อีกต่อไป โฟลเดอร์ระบบและโครงสร้างไฟล์ คำถาม เรื่องนี้เกิดขึ้นได้อย่างไรและทำไมเป็นเรื่องธรรมดา? มันเป็นอย่างไรและทำไมจึงตัดสินใจว่ามัน "ดีกว่า" ถึงจุดที่การละทิ้งแนวทางตรงไปยังไฟล์ครั้งหนึ่งเคยเป็นเรื่องธรรมดา? คำตอบอื่น ๆ มีคำตอบที่คล้ายกันที่นี่ซึ่งเป็นแนวคิดเกี่ยวกับเส้นทางและข้อดีและข้อเสียบางประการ: ด้วยกรอบงาน PHP ทำไมแนวคิด "เส้นทาง" จึงถูกใช้? แต่มันไม่ได้กล่าวถึงประเด็นการเปลี่ยนแปลงทางประวัติศาสตร์หรืออย่างไรหรือทำไมการเปลี่ยนแปลงนี้เกิดขึ้นทีละน้อยซึ่งโครงการใหม่ ๆ ทุกวันนี้ค่อนข้างใช้รูปแบบการกำหนดเส้นทางใหม่และการกำหนดทิศทางโดยตรงไปยังไฟล์ล้าสมัยหรือถูกทอดทิ้ง นอกจากนี้ผลประโยชน์และข้อเสียดังกล่าวส่วนใหญ่ดูเหมือนจะไม่สำคัญพอที่จะรับประกันการเปลี่ยนแปลงระดับโลก ประโยชน์เพียงอย่างเดียวที่ฉันเห็นได้จากการเปลี่ยนแปลงนี้คือการซ่อนระบบไฟล์ / โฟลเดอร์จากผู้ใช้ปลายทางและขาด?param=value&param2=valueซึ่งทำให้ URL ดูสะอาดตา แต่นั่นเป็นเหตุผลเดียวที่ทำให้เกิดการเปลี่ยนแปลง? และถ้าใช่ทำไมเหตุผลเหล่านั้นถึงซ่อนอยู่? ตัวอย่าง: ฉันคุ้นเคยกับกรอบ PHP มากที่สุดและเฟรมเวิร์คสมัยใหม่ที่นิยมใช้วิธีกำหนดเส้นทางแบบแยกอิสระ เพื่อให้มันใช้งานได้คุณตั้งค่าการเขียน URL ใหม่ใน Apache หรือเว็บเซิร์ฟเวอร์ที่คล้ายกันซึ่งโดยทั่วไปแล้วการทำงานของแอปพลิเคชันเว็บจะไม่ถูกเรียกผ่านเส้นทาง URL โดยตรงไปยังไฟล์อีกต่อไป Zend Expressive https://docs.zendframework.com/zend-expressive/features/router/aura/ …

6
เหตุใดจึงเลือกก่อนหน้าจากในแบบสอบถาม SQL [ปิด]
นี่เป็นสิ่งที่รบกวนฉันมากที่โรงเรียน ห้าปีที่แล้วเมื่อฉันเรียนรู้ SQL ฉันมักจะสงสัยว่าทำไมเราระบุเขตข้อมูลที่เราต้องการและจากที่ที่เราต้องการ ตามความคิดของฉันเราควรเขียน: From Employee e Select e.Name เหตุใดจึงต้องพูดตามนี้ Select e.Name -- Eeeeek, what does e mean? From Employee e -- Ok, now I know what e is ฉันใช้เวลาหลายสัปดาห์เพื่อทำความเข้าใจกับ SQL และฉันรู้ว่าองค์ประกอบจำนวนมากถูกใช้ไปโดยลำดับที่ไม่ถูกต้อง มันเหมือนกับการเขียนใน C #: string name = employee.Name; var employee = this.GetEmployee(); ดังนั้นฉันคิดว่ามันมีเหตุผลทางประวัติศาสตร์ ทำไม?
67 sql  history  syntax 

1
Dijkstra ทำหน้าที่อะไรให้อาสาสมัครซึ่งถูกกล่าวถึงในกระดาษ“ The Humble Programmer” ของเขา?
ในกระดาษ "Humble Programmer" ของ Dijkstraเขากล่าวว่าเขาได้ให้ปัญหาแก่อาสาสมัครเพื่อแก้ปัญหา: “ ฉันใช้การทดลองเขียนโปรแกรมเล็กน้อยกับอาสาสมัครที่มีประสบการณ์จริง ๆ แต่มีบางอย่างที่ไม่ได้ตั้งใจและไม่คาดคิดเกิดขึ้น อาสาสมัครของฉันไม่พบวิธีแก้ไขที่ชัดเจนและงดงามที่สุด จากการวิเคราะห์อย่างใกล้ชิดสิ่งนี้กลับกลายเป็นว่ามีแหล่งที่มาทั่วไป: ความคิดของพวกเขาเกี่ยวกับการทำซ้ำนั้นเชื่อมโยงอย่างแน่นแฟ้นกับความคิดของตัวแปรควบคุมที่เกี่ยวข้องที่จะก้าวขึ้นมา วิธีแก้ปัญหาของพวกเขามีประสิทธิภาพน้อยลงโดยไม่จำเป็นต้องเข้าใจยากและใช้เวลานานมากในการค้นหาพวกเขา” ปัญหาที่ Dijkstra ให้กับอาสาสมัครคืออะไร การแก้ปัญหาคืออะไร?

6
ทำไมเครื่องหมายลบ '-' โดยทั่วไปจะไม่โอเวอร์โหลดในลักษณะเดียวกับเครื่องหมายบวก
เครื่องหมายบวก+จะใช้สำหรับการเพิ่มและสำหรับการต่อสายอักขระ แต่สหายของมัน: เครื่องหมายลบ-, โดยทั่วไปจะไม่เห็นการตัดแต่งสตริงหรือกรณีอื่นนอกเหนือจากการลบ อะไรคือเหตุผลหรือข้อ จำกัด สำหรับสิ่งนั้น พิจารณาตัวอย่างต่อไปนี้ใน JavaScript: var a = "abcdefg"; var b = "efg"; a-b == NaN // but a+b == "abcdefgefg"

14
ประวัติการใช้“ foo” และ“ bar” ในซอร์สโค้ดคืออะไร?
ทำไมตัวอย่างโค้ดจำนวนมากโดยเฉพาะบทช่วยสอนใช้ชื่อ "Foo" และ "Bar" บ่อยครั้ง มันเกือบจะเป็นมาตรฐาน ตัวอย่างเช่น: void foo(char* bar) { printf("%s", bar); }

14
ทำไมกลไกการป้องกันการฉีด SQL ถึงวิวัฒนาการไปในทิศทางของการใช้คิวรีแบบพารามิเตอร์
วิธีที่ฉันเห็นการโจมตีด้วยการฉีด SQL สามารถป้องกันได้โดย: คัดกรองกรองเข้ารหัสการป้อนข้อมูลอย่างระมัดระวัง (ก่อนแทรกลงใน SQL) การใช้คำสั่งที่เตรียมไว้ / แบบสอบถามแบบใช้พารามิเตอร์ ฉันคิดว่ามีข้อดีข้อเสียสำหรับแต่ละข้อ แต่เหตุใด # 2 จึงถูกถอดออกและได้รับการพิจารณาว่ามีวิธีการป้องกันการฉีดยามากหรือน้อย มันปลอดภัยกว่าและมีแนวโน้มที่จะเกิดข้อผิดพลาดน้อยลงหรือมีปัจจัยอื่น ๆ อีกหรือไม่? ตามที่ฉันเข้าใจถ้าใช้ # 1 อย่างถูกต้องและข้อควรระวังทั้งหมดได้รับการดูแลมันจะมีประสิทธิภาพเท่ากับ # 2 ฆ่าเชื้อโรคกรองและเข้ารหัส มีความสับสนในส่วนของฉันระหว่างสิ่งที่เป็นฆ่าเชื้อ , การกรองและการเข้ารหัสความหมาย ฉันจะบอกว่าสำหรับวัตถุประสงค์ของฉันทั้งหมดข้างต้นสามารถพิจารณาตัวเลือก 1. ในกรณีนี้ผมเข้าใจว่าการฆ่าเชื้อและการกรองมีศักยภาพในการแก้ไขหรือยกเลิกการป้อนข้อมูลในขณะที่การเข้ารหัสจะเก็บรักษาข้อมูลตามที่เป็นแต่ถอดรหัส อย่างถูกต้องเพื่อหลีกเลี่ยงการโจมตีของการฉีด ฉันเชื่อว่าการหลีกเลี่ยงข้อมูลถือได้ว่าเป็นวิธีการเข้ารหัส พารามิเตอร์การสืบค้นเทียบกับการเข้ารหัสห้องสมุด มีคำตอบที่แนวคิดของparameterized queriesและencoding librariesที่ได้รับการปฏิบัติแทนกันได้ แก้ไขฉันถ้าฉันผิด แต่ฉันรู้สึกว่าแตกต่างกัน ความเข้าใจของฉันคือว่าencoding librariesไม่ว่าพวกเขาจะมีศักยภาพในการปรับเปลี่ยน SQL "โปรแกรม" ได้ดีเพียงใดเพราะพวกเขากำลังทำการเปลี่ยนแปลง SQL เองก่อนที่มันจะถูกส่งไปยัง RDBMS Parameterized queries ในอีกทางหนึ่งส่งโปรแกรม SQL …


3
นิรุกติศาสตร์ของ "String"
ดังนั้นจึงเห็นได้ชัดว่าสตริงของสิ่งต่าง ๆ เป็นลำดับของสิ่งต่าง ๆ และลำดับของอักขระ / ไบต์ / ฯลฯ อาจจะเรียกว่าสตริงเช่นกัน แต่ใครเป็นคนแรกที่เรียกพวกเขาว่าสตริง? และเมื่อ? และในบริบทใดที่มันติดอยู่ ฉันสงสัยเกี่ยวกับเรื่องนี้เสมอ

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