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

คำถามเกี่ยวกับการเปรียบเทียบข้อมูลและวิธีที่มีประสิทธิภาพในการทำให้สำเร็จ

5
Swift จะเร็วกว่า Objective-C มากในการเปรียบเทียบเหล่านี้อย่างไร
แอปเปิ้ลเปิดตัวภาษาโปรแกรมใหม่ของสวิฟท์ที่WWDC14 ในการนำเสนอพวกเขาทำการเปรียบเทียบประสิทธิภาพระหว่าง Objective-C และ Python ต่อไปนี้เป็นรูปภาพของหนึ่งในสไลด์ของการเปรียบเทียบภาษาทั้งสามที่ดำเนินการเรียงลำดับวัตถุที่ซับซ้อน มีกราฟที่น่าทึ่งยิ่งขึ้นเกี่ยวกับการเปรียบเทียบประสิทธิภาพโดยใช้อัลกอริทึมการเข้ารหัสRC4 เห็นได้ชัดว่านี่คือการพูดคุยด้านการตลาดและพวกเขาไม่ได้ลงรายละเอียดเกี่ยวกับวิธีการนำไปใช้ในแต่ละครั้ง ฉันทิ้งฉันสงสัยว่า: ภาษาการเขียนโปรแกรมใหม่จะเร็วขึ้นได้อย่างไร? ผลลัพธ์ Objective-C เกิดจากคอมไพเลอร์ที่ไม่ดีหรือมีบางสิ่งที่มีประสิทธิภาพน้อยกว่าใน Objective-C กว่า Swift หรือไม่? คุณจะอธิบายประสิทธิภาพที่เพิ่มขึ้น 40% ได้อย่างไร ฉันเข้าใจว่าการรวบรวมขยะ / การควบคุมการอ้างอิงอัตโนมัติอาจทำให้เกิดโอเวอร์เฮดเพิ่มเติม

7
การศึกษาภาษาแบบไดนามิกกับแบบคงที่ vs [ปิด]
มีการศึกษาเกี่ยวกับประสิทธิภาพของภาษาที่พิมพ์แบบคงที่และแบบไดนามิกหรือไม่? โดยเฉพาะอย่างยิ่ง: การวัดผลผลิตโปรแกรมเมอร์ อัตราข้อบกพร่อง รวมถึงผลกระทบของการทดสอบหน่วยหรือไม่ ฉันเคยเห็นการถกเถียงกันถึงข้อดีของทั้งสองด้านแล้ว แต่ฉันก็สงสัยว่าใครมีการศึกษาบ้างไหม

24
ทำไมโปรแกรมเมอร์ใช้หรือแนะนำ Mac OS X [ปิด]
ฉันทำงานทั้งบน Mac และ Windows มาระยะหนึ่งแล้ว อย่างไรก็ตามฉันยังคงมีเวลายากที่จะเข้าใจว่าเหตุใดโปรแกรมเมอร์จึงเลือก Mac OS X บน Windows และ Linux อย่างกระตือรือร้น ฉันรู้ว่ามีโปรแกรมเมอร์ที่ชอบ Windows และ Linux แต่ฉันขอให้โปรแกรมเมอร์ที่ใช้ Mac OS X และไม่มีอะไรอื่นเพราะพวกเขาคิดว่า Mac OS X เหมาะสมที่สุดสำหรับโปรแกรมเมอร์ บางคนอาจแย้งว่า Mac OS X นั้นมี UI ที่สวยงามและมีระบบปฏิบัติการที่ดี แต่ Linux ก็สามารถทำได้ ถึงแม้ว่า Windows จะไม่ได้เป็น nix แต่คุณสามารถพัฒนาบนแพลตฟอร์มหรือภาษาใด ๆ ยกเว้น Cocoa / Objective-C เป็นแอพพลิเคชั่นที่มีเฉพาะใน Mac OS …

3
อะไรคือความแตกต่างที่ใหญ่ที่สุดระหว่าง F # และ Scala?
F # และ Scala เป็นทั้ง langugages โปรแกรมการทำงานที่ไม่ได้บังคับให้นักพัฒนาใช้เฉพาะประเภทข้อมูลที่ไม่เปลี่ยนรูป พวกเขาทั้งสองมีการสนับสนุนวัตถุสามารถใช้ไลบรารีที่เขียนในภาษาอื่นและเรียกใช้บนเครื่องเสมือน ดูเหมือนว่าทั้งสองภาษาจะใช้ ML อะไรคือความแตกต่างที่ยิ่งใหญ่ที่สุดระหว่าง F # และ Scala แม้ว่าข้อเท็จจริงที่ว่า F # ได้รับการออกแบบสำหรับ. NET และ Scala สำหรับแพลตฟอร์ม Java?

7
ASP.NET MVC สามารถทำอะไรได้บ้างและ Ruby on Rails ไม่สามารถทำได้? [ปิด]
ASP.NET MVC และ Rails มีพื้นที่การใช้งานที่คล้ายกันสร้างขึ้นรอบ ๆ สถาปัตยกรรมเดียวกันทั้งเฟรมเวิร์กค่อนข้างใหม่และโอเพ่นซอร์ส ดังนั้นในฐานะที่เป็นโปรแกรมเมอร์ Rails ที่ฉันอยากรู้ ASP.NET MVC สามารถทำอะไรได้บ้างและ Ruby on Rails ไม่สามารถทำได้และวีซ่ากลับกัน?

8
มีเครื่องมือในการกำหนดรหัสที่คล้ายคลึงกันหรือไม่ [ปิด]
ฉันไม่ได้พูดถึงเครื่องมือต่าง ๆ ฉันต้องการตรวจสอบว่าโครงการมีรหัสที่อาจได้รับ "refactored" จากโครงการอื่นหรือไม่ อาจเป็นไปได้ว่าชื่อฟังก์ชันชื่อตัวแปรและอะไรที่จะเปลี่ยนไป เงื่อนไขอาจถูกย้อนกลับเป็นต้น
37 tools  comparison 

7
เหตุใดภาษาหลักส่วนใหญ่จึงไม่สนับสนุนไวยากรณ์“ x <y <z” สำหรับการเปรียบเทียบแบบบูลีน 3 ทาง
หากฉันต้องการเปรียบเทียบตัวเลขสองตัว (หรือเอนทิตีที่มีการจัดลำดับที่ดีอื่น ๆ ) ฉันจะทำเช่นx &lt; yนั้น ถ้าผมต้องการเปรียบเทียบสามของพวกเขา, x &lt; y &lt; zนักเรียนพีชคณิตโรงเรียนมัธยมจะแนะนำพยายาม โปรแกรมเมอร์ในตัวฉันจะตอบกลับด้วย "ไม่นั่นไม่ถูกต้องคุณต้องทำx &lt; y &amp;&amp; y &lt; z" ภาษาส่วนใหญ่ที่ฉันพบเจอดูเหมือนจะไม่สนับสนุนไวยากรณ์นี้ซึ่งเป็นเรื่องแปลกเพราะมันเป็นเรื่องธรรมดาในวิชาคณิตศาสตร์ Python เป็นข้อยกเว้นที่น่าสังเกต JavaScript ดูเหมือนข้อยกเว้น แต่จริงๆแล้วเป็นเพียงผลพลอยได้ที่โชคร้ายของลำดับความสำคัญของผู้ปฏิบัติงานและการแปลงโดยนัย ใน Node.js, 1 &lt; 3 &lt; 2ประเมินเพราะมันจริงๆtrue(1 &lt; 3) &lt; 2 === true &lt; 2 === 1 &lt; 2 ดังนั้นคำถามของฉันคือ: เหตุใดจึงx &lt; y …

11
Java vs. C # - เปอร์สเปคทีฟการทำงาน [ปิด]
หากคุณมีประสบการณ์หลายปีในการทำงานกับ Java และประสบการณ์หลายปีในการทำงานกับ C # และ. NET ฉันจะให้ความคิดเห็นของคุณเกี่ยวกับความแตกต่างของประสิทธิภาพการพัฒนาซอฟต์แวร์ระหว่างสองสภาพแวดล้อมนี้ ลูกค้าคนหนึ่งของเรากำลังพิจารณาที่จะเปลี่ยนโซลูชันซอฟต์แวร์ที่มีอยู่ ในฐานะที่เป็นทดแทนจะต้องมีประมาณ 10 - 15 ปีคนทำงานตัวเลือกสำหรับ Java หรือ. NET บนพื้นฐานของความแตกต่างของการผลิตระหว่างพวกเขาอาจมีอิทธิพลต่อการลงทุนที่จำเป็นและเวลาในการตลาดอย่างมีนัยสำคัญ คุณจะสามารถให้เราเป็นตัวบ่งชี้ถึงความแตกต่างของประสิทธิภาพการพัฒนาซอฟต์แวร์ระหว่าง Java และ C # /. NET หรือไม่ ฉันต้องการรับคำตอบดังนี้: ประสบการณ์ของฉันขึ้นอยู่กับประสบการณ์ X ปีที่ทำงานกับ Java และประสบการณ์ X ปีที่ทำงานกับ C # /. NET Java มีประสิทธิภาพเพิ่มขึ้น X% แล้ว C # .NET หรือ C # /. NET …

16
ฟีเจอร์ที่มีประโยชน์ที่สุดของ VIM ที่ไม่ได้มาตรฐานใน IDE [ปิด]
ฉันกำลังพิจารณาว่าฉันควรเริ่มใช้ VIM อีกครั้งแทนที่จะเป็น IDE หรือไม่ ฟีเจอร์ที่มีประโยชน์ที่สุดของ VIM ที่ไม่ได้มาตรฐานใน IDE คืออะไร
30 ide  vim  comparison 

18
เมื่อไหร่ที่คุณเรียกตัวเองว่าเก่งภาษา X
สิ่งนี้กลับไปสู่การสนทนาที่ฉันมีกับแฟนสาวของฉัน ฉันพยายามบอกเธอว่าฉันรู้สึกไม่เพียงพอในภาษาการเขียนโปรแกรม (C ++) เพื่อเรียกตัวเองว่าดี จากนั้นเธอก็ถามฉันว่า "อืมคุณคิดว่าตัวเองดีพอเมื่อไหร่?" นั่นเป็นคำถามที่น่าสนใจ ฉันไม่รู้จะบอกเธอยังไง ดังนั้นฉันถามคุณ สำหรับภาษาการเขียนโปรแกรมกรอบงานหรืออะไรทำนองนั้นเมื่อคุณถึงจุดหนึ่งคุณนั่งลงดูที่สิ่งที่คุณทำและพูดว่า "เฮ้ฉันจริง ๆ แล้วค่อนข้างดีนะ" คุณให้คำจำกัดความว่า "ดี" อย่างไรเพื่อที่คุณจะได้บอกคนอื่นอย่างตรงไปตรงมาว่า "ใช่ฉันเก่งใน X" นอกจากนี้คุณถึงข้อสรุปเหล่านี้โดยเปรียบเทียบสิ่งที่ผู้อื่นสามารถทำได้หรือไม่ ข้อมูลเพิ่มเติม ฉันได้อ่านเอกสารมาตรฐานเกี่ยวกับวิธีการที่ใช้เวลาหมื่นชั่วโมงก่อนที่คุณจะเป็นผู้เชี่ยวชาญในสนาม (อุปกรณ์ประกอบฉากสำหรับทุกคนที่รู้ว่าสิ่งที่เรียกว่ากระดาษนี้อีกครั้ง) ฉันได้อ่านบทความต่าง ๆ จาก Coding Horror เกี่ยวกับการสัมภาษณ์ผู้คน บางคนพูดว่า "ไม่สามารถทำงานนอกกรอบได้" ดังนั้นพวกเขาอาจจะ "ดี" สำหรับกรอบนั้น แต่ไม่เป็นอย่างอื่นในภาษา มันเป็นเรื่องจริงเหรอ?

10
มีเหตุผลใดที่ภาษาการเขียนโปรแกรมส่วนใหญ่ไม่มี '!>' (ไม่มากกว่า) และ '! <' (ไม่น้อยกว่า) ตัวดำเนินการหรือไม่
ฉันสงสัยว่ามีเหตุผลใด - หรือถ้ามันเป็นแค่อุบัติเหตุของประวัติศาสตร์ - ว่าไม่มี!&gt;และ!&lt;ตัวดำเนินการในภาษาการเขียนโปรแกรมส่วนใหญ่ ? a &gt;= b (เป็นมากกว่าหรือเท่ากับข)อาจจะเขียนเป็น!(a &lt; b) (เป็นขไม่น้อย)a !&lt; bที่เท่าเทียมกัน คำถามนี้ทำให้ฉันหลงเมื่อฉันอยู่ในระหว่างการสร้างรหัสการสร้างต้นไม้แสดงออกของฉันเอง ภาษาโปรแกรมส่วนใหญ่มีa != bผู้ประกอบการสำหรับ!(a=b)ดังนั้นทำไมไม่!&gt;และ!&lt;? UPDATE: !&lt;(ไม่น้อยกว่า) ออกเสียงได้ง่ายกว่า&gt;=(มากกว่าหรือเท่ากับ) !&lt;(ไม่น้อยกว่า) พิมพ์สั้นกว่า&gt;=(มากกว่าหรือเท่ากับ) !&lt;(ไม่น้อยกว่า) ง่ายต่อการเข้าใจ *มากกว่า&gt;=(มากกว่าหรือเท่ากับ) * เนื่องจากORเป็นตัวดำเนินการแบบไบนารีที่คุณสมองจำเป็นต้องใช้ตัวถูกดำเนินการสองตัว (ตัวคูณเท่ากับ) ในขณะที่ตัวNOTดำเนินการแบบเอกเทศและสมองของคุณจำเป็นต้องทำงานด้วยตัวถูกดำเนินการตัวเดียว (น้อยกว่า)


5
อินสแตนซ์อาจเท่ากับอินสแตนซ์อื่นที่เป็นประเภทเฉพาะเจาะจงมากกว่าหรือไม่
ฉันได้อ่านบทความนี้: วิธีการเขียนวิธีที่เท่าเทียมกันในชวา โดยพื้นฐานแล้วจะมีวิธีแก้ปัญหาสำหรับวิธีเท่ากับ () ที่รองรับการสืบทอด: Point2D twoD = new Point2D(10, 20); Point3D threeD = new Point3D(10, 20, 50); twoD.equals(threeD); // true threeD.equals(twoD); // true แต่มันเป็นความคิดที่ดี? อินสแตนซ์ทั้งสองนี้ดูเหมือนจะเท่ากัน แต่อาจมีรหัสแฮชที่แตกต่างกันสองแบบ ไม่ผิดหรอกเหรอ? ฉันเชื่อว่าสิ่งนี้จะสำเร็จได้ดีกว่าโดยการคัดเลือกตัวถูกดำเนินการแทน
25 java  c#  scala  comparison 

2
อัลกอริทึมเพื่อผสานสองอาร์เรย์ที่เรียงลำดับด้วยจำนวนการเปรียบเทียบขั้นต่ำ
ป.ร. ให้ไว้สองอาร์เรย์เรียง, BประเภทTที่มีขนาดnและม. ฉันกำลังมองหาอัลกอริทึมที่ผสานสองอาร์เรย์เข้ากับอาร์เรย์ใหม่ (ขนาดสูงสุด n + m) หากคุณมีการเปรียบเทียบราคาถูกนี่ค่อนข้างง่าย เพียงนำจากอาเรย์ที่มีอิลิเมนต์แรกที่ต่ำที่สุดจนกระทั่งหนึ่งหรือทั้งสองอาร์เรย์ถูกสำรวจอย่างสมบูรณ์จากนั้นเพิ่มอิลิเมนต์ที่เหลือ บางสิ่งเช่นนี้/programming/5958169/how-to-merge-two-sorted-arrays-into-a-sorted-array อย่างไรก็ตามสถานการณ์การเปลี่ยนแปลงเมื่อเปรียบเทียบสององค์ประกอบจะมีราคาแพงกว่าการคัดลอกองค์ประกอบจากแถวแหล่งที่มาที่ไปยังอาร์เรย์เป้าหมาย ตัวอย่างเช่นคุณอาจมีอาร์เรย์ของจำนวนเต็มหรือสตริงที่มีความแม่นยำตามอำเภอใจซึ่งการเปรียบเทียบอาจมีราคาค่อนข้างสูง เพียงสมมติว่าการสร้างอาร์เรย์และองค์ประกอบการคัดลอกนั้นฟรีและสิ่งเดียวที่มีค่าใช้จ่ายคือการเปรียบเทียบองค์ประกอบ ในกรณีนี้คุณต้องการที่จะผสานสองอาร์เรย์มีจำนวนต่ำสุดของการเปรียบเทียบองค์ประกอบ นี่คือตัวอย่างบางส่วนที่คุณควรจะทำได้ดีกว่าอัลกอริธึมการผสานอย่างง่าย: a = [1,2,3,4, ... 1000] b = [1001,1002,1003,1004, ... 2000] หรือ a = [1,2,3,4, ... 1000] b = [0,100,200, ... 1000] มีบางกรณีที่อัลกอริทึมการผสานอย่างง่ายจะเหมาะสมที่สุดเช่น a = [1,3,5,7,9,....,999] b = [2,4,6,8,10,....,1000] ดังนั้นอัลกอริธึมจึงควรลดระดับลงอย่างงดงามและทำการเปรียบเทียบสูงสุด n + m-1 ในกรณีที่อาร์เรย์ถูกอินเตอร์ลีบหรืออย่างน้อยก็ไม่ได้แย่ลงอย่างมีนัยสำคัญ สิ่งหนึ่งที่น่าจะทำได้ดีสำหรับรายการที่มีขนาดใหญ่ต่างกันคือใช้การค้นหาแบบไบนารีเพื่อแทรกองค์ประกอบของอาร์เรย์ขนาดเล็กลงในอาร์เรย์ที่ใหญ่กว่า …

3
Node.js แตกต่างจากเฟรมเวิร์กฝั่งเซิร์ฟเวอร์อื่นอย่างไร
ฉันสังเกตเห็นว่า Node.js ได้รับความนิยมมากและฉันเห็นผู้คนหลายคนทำโครงการขนาดเล็กในนั้น ฉันได้ดูรายการข้อดีและข้อเสียเพื่อรับทราบว่า Node.js สามารถทำอะไรได้บ้าง แต่ฉันยังไม่ชัดเจนว่ามันแตกต่างจากเทคโนโลยีด้านเซิร์ฟเวอร์ที่เป็นผู้ใหญ่กว่าอย่างเช่น PHP, Perl หรือ Ruby บน ทางรถไฟ อะไรคือสิ่งที่ทำให้ Node.js แตกต่างจากทางเลือกปัจจุบันและทำไม?

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