Tags:

ไม่รู้เอาไว้ไหนดี เอามาไว้นี่แล้วกัน

ก็อยากทราบครับว่าภาษาไหนบ้างเป็นภาษาไดนามิค และมีวิธีแยกยังไง มีข้อดีข้อเสียอะไรต่างกับภาษาทั่วไปบ้างครับ

Get latest news from Blognone
By: 7ingN0ngN0i on 9 January 2009 - 10:26 #79802

ตรงที่ไดนามิกไม่ต้องกำหนดชนิดของตัวแปรครับ

By: anu
Contributor
on 9 January 2009 - 10:45 #79810

อ่านบางที่หมายถึง dynamic code โดยเปลี่ยนโค้ดได้ทุกครั้งที่มีการรันโดยไม่ต้องคอมไพล์ใหม่เหมือน static...

มันจะมีพวกกึ่งๆ ประเภท Java กับ .NET ที่เปลี่ยน Code เป็นข้อมูลอีกชุดนึง ทำให้เอาไปรันได้ไวกว่า dynamic ทั่วไป โดยที่ยังคงคุณสมบัติของ dynamic อยู่

รอคำตอบจากผู้รู้อีกที

By: risc on 9 January 2009 - 13:44 #79846

dinamic type คือ ภาษาที่ไม่ต้องกำหนด type ในการประกาศตัวแปรเช่น
php,python ,etc.
static type คือ ภาษาที่ต้องกำหนด type ในการประกาศตัวแปรเช่น c,c++,java, etc.

ไม่รู้หมายถึง dynamic type หรือเปล่า อ่านเพิ่มเติมได้ที่ Dynamic_programming_language

-------------------------------------------
แสวงหามิใช่เพราะรอคอย เชี่ยวชาญมิใช่เพราะโอกาส ชำนาญมิใช่เพราะโชคช่วย
"ดังนี้แล้วลิขิตฟ้าหรือจะสู้มานะตน"
chonlatee

By: JavaDevil
iPhoneUbuntuIn Love
on 9 January 2009 - 21:52 #79898

เท่าที่ผมรู้คือภาษา Dynamic Language จะมีความยืดหยุ่นในตัวมันมากพอสมควรโดยที่สามารถเปลี่ยนแปลงชนิดของข้อมูลขณะ runtime จนอาจถึงเปลี่ยนแปลงระบบภายในของ Class หรือ Function ได้ด้วย
ข้อดีของมันคือเขียนน้อยทำงานได้เหมือนกัน ข้อเสียช้ากว่าพวก static และถ้าเขียนผิดนั่งร้องให้เลยหาที่แก้ลำบาก

By: bow_der_kleine
WriterAndroidUbuntu
on 10 January 2009 - 06:06 #79941
bow_der_kleine's picture

Dynamic Type กับ Static Type ก็ตามคนอื่นว่าครับ

แต่ใน Dynamic Type มันยังแบ่งเป็น Strong Type กับ Weak Type ได้อีก

  • Strong Type คือ ก่อนที่จะเรียก Operation หรือ Method มันจะตรวจชนิดของตัวแปร หรือคลาสก่อน (เช่น เอา List มาบากกับ Integer ไม่ได้) ภาษาที่เป็น Dynamic Strong Type ได้แก่ Python, Ruby

  • Weak Type คือ มันไม่ตรวจสอบอะไรเลย ภาษาที่เป็น Dynamic Weak Type ได้แก่ Perl, PHP

เรื่องความยากง่ายในการ Implement ภาษาทั้งแบบ Weak Type และ Strong Type ไม่ต่างกันมาก แต่ Strong Type ดีบักง่ายกว่ามาก

ข้อดีข้อเสียของ Dynamic Type นอกจากเรื่องความเร็ว กับความสะดวกในการเขียนโปรแกรม ที่คุณ JavaDevil ว่ามาแล้วที่ผมพอนึกออกก็มี

  • ภาษา Dynamic สร้าง IDE ได้ยากกว่า => ไม่ค่อยมีเครื่องมือในการ refactoring
  • ภาษา Dynamic ไม่ต้องคอมไพล์ ลดขั้นตอนในการพัฒนาซอพท์แวร์ไปได้หนึ่งขั้น
  • การนำ Library หรือโมดูลมาใช้ในภาษา Dynamic ทำได้ง่ายกว่า

แต่หลัก ๆ จะเลือก Dynamic หรือ Static Type (หากมีโอกาสเลือก) ประเด็นความเร็วกับ เวลาในการ coding ก็มักถูกนำมาเป็นประเด็นหลักครับ โดยประมาณ Dynamic Type จะใช้เวลาในการพัฒนาโปรแกรมน้อยกว่าประมาณ 5 เท่า แต่ช้ากว่าประมาณ 10-40 เท่า แต่ทุกอย่างขึ้นกับงาน และ Algorithm

BioLawCom.De

By: lunargone
Android
on 21 February 2009 - 08:06 #86507

โอ้! กะลังสงสัยเหมือนกัน
เคยแต่ใช้แต่ไม่เคยสนใจว่ามันต่างกันยังไง แจ่มมากๆ

By: KillerNay
iPhoneAndroidBlackberry
on 3 March 2009 - 14:39 #88261
KillerNay's picture

มีแต่คนบอกว่า dynamic ลดขั้นตอน.... ลองทำแล้วยุ่งยากชมัด