PHP เป็น Programming language หรือ ไม่ ไปพิสูจน์กัน

Sakul Montha
Sep 8, 2018 · 3 min read
PHP

ก่อนจะไปพิสูจน์ ผมขอบอกก่อนเลยว่า บทความนี้ จะไม่พยายามไปชี้นำว่าตกลง PHP เป็น Programming language หรือ ไม่ แต่จะเป็นการไป research ข้อมูลมา เพื่อให้ผู้อ่าน นำไปตีความ หรือ discuss กันต่อไปเอง

PHP History

PHP เป็น server-side scripting language ถูกสร้างมาเพื่อ Web development จุดประสงค์ทั่วไปของมันก็คือ programming language ตัวนึง
เริ่มสร้างในปี 1994 First appeared ปี 1995 นี่ก็ประมาณ 23 ปีมาแล้ว
มีพื้นฐานของภาษา มาจาก ภาษา C
ผู้สร้างคือคุณ Rasmus Lerdorf
มีสัญลักณ์เป็นรูป ช้าง
ปัจจุบันที่ผมเขียนนี่ PHP ก็เดินทางมาจนถึง Major version ที่ 7 หรือ PHP7 แล้ว ref#1

ต้องยอมรับว่า PHP มี Community ที่สูงมาก ลองถาม Programmer 100 คน ต้องมีเกิน 70 คนที่เคยผ่านการใช้งาน PHP มาบ้าง ไม่มากก็น้อย เนื่องจากอะไร อันนี้ผมจะไม่ชี้นำ

ผลงานของ PHP มีตั้งแต่ระดับชนบท ไม่จนถึง ระดับโลกไม่ว่าจะเป็น CMS Wordpress (ไม่แน่ใจตอนนี้ย้ายไปใช้ภาษาอื่นหรือยัง), Facebook เองก็มีการใช้ PHP (เลิกใช้หรือยัง อันนี้ไม่แน่ใจ)

Framework ที่ถูกสร้างขึ้นมาให้ใช้งานก็มีเยอะมาก เช่น Laravel, Symsony, Yii, codeigniter, PHP cake และ อื่น ๆ

เกือบเป็น บทความขายของไปแล้ว ผมไม่ได้มาขายของ PHP มันทำอะไรได้ได้บ้าง ผมจะขอข้ามไปเลยแล้วกันนะครับ

PHP elePHPant

List of programming languages by type

ต้องบอกว่า ปัจจุบัน มีภาษาทางโปรแกรมมิ่ง เยอะมาก ซึ่งเขามี List ของ programming languages แบ่งออกเป็น 49 type ผมไม่ได้เขียนผิดครับ สี่-สิบ-เก้า ไทป์ จากการ research ซึ่งท่านสามารถตามไปดูได้ที่ ref2# ด้านล่างของบทความ ผู้เขียนเองก็เพิ่งรู้ ว่ามี type เยอะขนาดนี้ เรามาดูกันว่า 49 type นั้น มีอะไรกันบ้าง

  1. Array languages
  2. Assembly languages
  3. Authoring languages
  4. Constraint programming languages
  5. Command line interface languages
  6. Compiled languages
  7. Concurrent languages
  8. Curly-bracket languages
  9. Dataflow languages
  10. Data-oriented languages
  11. Decision table language
  12. Declarative languages
  13. Embeddable languages
  14. Educational languages
  15. Esoteric languages
  16. Extension languages
  17. Fourth-generation languages
  18. Functional languages
  19. Hardware description languages
  20. Imperative languages
  21. Interactive mode languages
  22. Interpreted languages
  23. Iterative languages
  24. Languages by memory management type
  25. List-based languages – LISPs
  26. Little languages
  27. Logic-based languages
  28. Machine languages
  29. Macro languages
  30. Metaprogramming languages
  31. Multiparadigm languages
  32. Numerical analysis
  33. Non-English-based languages
  34. Object-oriented class-based languages
  35. Object-oriented prototype-based languages
  36. Off-side rule languages
  37. Procedural languages
  38. Reflective languages
  39. Rule-based languages
  40. Scripting languages
  41. Stack-based languages
  42. Synchronous languages
  43. Shading languages
  44. Syntax handling languages
  45. System languages
  46. Transformation languages
  47. Visual languages
  48. Wirth languages
  49. XML-based languages

แล้วในแต่ละ Type ก็อาจจะมีภาษาที่ซ้ำกัน เนื่องจาก 1 ภาษา ก็เป็นไปได้หลายไทป์

List of PHP by type

เรามาดูกันว่า PHP อยู่ใน Type ไหนบ้าง PHP ของเราติดอยู่ถึง 8 Type มีดังนี้

  1. Curly-bracket languages
  2. Imperative languages
  3. Interpreted languages
  4. Iterative languages
  5. Multiparadigm languages
  6. Object-oriented class-based languages
  7. Reflective languages
  8. Scripting languages

จะเห็นว่า PHP ติดตั้ง 8 คิดเป็น เปอเซ็นต์ก็ 16% อ่าวไม่เกี่ยว


Types of languages

จากข้างบน จะเห็นว่า มี type เยอะมาก ซึ่งจริง ๆ แล้ว ถ้าหากจะให้แบ่งกันให้เข้าได้ได้ง่ายขึ้น จะมีอยู่ด้วยกัน 3 type

  1. Machine language หรือ ภาษาเครื่องนั่นเอง ซึ่งเป็นภาษาที่ประกอบด้วย 0 กับ 1 หรือ bits นั่นเอง
  2. Assembly language ภาษานี้ ดีขึ้นมาหน่อย มีความเป็นมนุษย์มากขึ้น ไม่ต้องใช้แค่ 0 กับ 1 แล้ว แต่ก็ยังสามารถติดต่อกับพวก hardware ได้ตรง ๆ
  3. High-level language เป็นภาษาระดับสูง พวกภาษาที่ไม่ได้ไปต่อกับเครื่องโดยตรง ไม่ได้ต่อกับ CPU register, CPU Cache, I/O port อะไรพวกนี้ ไม่ใช่ว่ามันไปต่อเครื่องไม่ได้นะครับ มันต่อได้ผ่าน compiler ภาษาพวกนี้มีความเป็นมนุษย์มากขึ้นมีการใช้ภาษาที่มนุษย์ทั่วไปอ่านแล้วเข้าใจได้ ซึ่ง C, C++, COBOL, JAVA, C# หรือ PHP ก็อยู่ในระดับนี้

เขียนอีกนิดจะกลายเป็นบทความ programming 101 แล้ว เอาเป็นว่า 3 type ใหญ่นี้ ยัง group ได้อีก โดยที่ จะแบ่งออกได้เป็น 2 หมวด ดังนี้

  1. Low-level language ก็จะมี Machine language กับ Assembly language
  2. High-level language ซึ่งก็ได้กล่าวถึงไปแล้วด้านบน

Interpreter And Compiler

ในเมื่อ PHP จัดอยู่ในหมวด High-level language ดังนั้น เราก็จะมาพูดกันต่อถึง ความแตกต่างของ Interpreter และ Compiler ซึ่งตัวภาษา PHP อยู่ในหมวด Interpreter

Interpreter

  • แปลงคำสั่งหนึ่งชุดพร้อมกัน
  • ใช้เวลาน้อยในการ analyst source code แต่เวลาในการ execute โดยรวมจะช้าลง
  • ไม่มีการสร้าง object ใช้ memory ไม่มาก
  • ทำการ translate โปรแกรมจนกว่าจะเจอข้อผิดพลาดถึงจะหยุด ทำให้การแก้ไขข้อบกพร่องจึงเป็นเรื่องง่าย
  • ภาษาที่เป็น Interpreter นอกจาก PHP ก็ python, ruby และ อื่น ๆ

Compiler

  • แสกนโปรแกรมทั้งหมด แล้วแปลงเป็นภาษาเครื่อง
  • ใช้เวลาเยอะ ในการ analyst source code แต่เวลาในการ execute โดยรวมจะเร็ว
  • มีการสร้าง object มาไว้ใช้งาน จำเป็นต้องใช้ memory มากกว่า
  • จะแสดงข้อผิดพลาด หลังจากแสกนโปรแกรมทั้งหมดเสร็จแล้ว
  • ภาษาที่ใช้ Compiler เช่นพวก C, C++, JAVA

Quote in php.net // Sep 2018

Conclusion

PHP เป็นภาษาที่ครองใจผู้ใช้ทั่วโลก มี community มากมาย คุณสามารถหัดเขียนโปรแกรม จาก PHP ก็ได้ ไม่ว่าคุณจะติดปัญหาอะไร แค่คุณ Search ให้ถูก keyword ผมว่ายังไงก็เจอคนตอบครับ

PHP ประกาศเองว่าตัวเองเป็น scripting language ซึ่งมันก็อยู่ใน 49 type ถูกจัดอยู่ใน High-level language โดยที่เป็น Interpreter

สุดท้ายนี้ ก็ขึ้นอยู่กับท่านผู้อ่านแล้วครับ ว่าตกลงแล้ว PHP เป็น Programming language หรือไม่

ref1# wikipedia.org PHP
ref2# wikipedia.org List_of_programming_languages_by_type
ref3# php.net

Sakul Montha

Written by

Software Engineer Team Lead, a man who’s falling in love with the galaxy.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade