Built-in function
Built-in function คือฟังก์ชันที่มีมาในภาษาโปรแกรมนั้น ๆ โดยฟังก์ชันเหล่านี้ถูกเขียนไว้ให้พร้อมใช้ทันทีที่เราเขียนโค้ด ฟังก์ชันเหล่านี้มักถูกออกแบบมาเพื่อช่วยให้เขียนโปรแกรมได้สะดวกและรวดเร็วมากขึ้น
ในภาษา PHP, Java, C, และ Python
สำหรับนับจำนวนอีลีเมนต์ในอาร์เรย์
สำหรับพิมพ์ข้อความไปยัง console
สำหรับการแสดงผลบน console
สำหรับหาความยาวของลิสต์หรือสตริง
สำหรับหาผลรวมของออบเจ็กต์ที่เป็น iterable
มีฟังก์ชันจำนวนมากให้ใช้งาน เช่น การจัดการเกี่ยวกับสตริง, อาร์เรย์ เป็นต้น
PHP ถูกออกแบบมาสำหรับงานบนเว็บเป็นหลัก และฟังฟังก์ชันอาจจะไม่ได้โดนออกแบบมาเพื่อทำงานที่ซับซ้อน
ฟังก์ชันใน Java มีความยืดหยุ่นสูงและรองรับแนวคิด OOP (Object-Oriented Programming)
มี libraries จำนวนมากที่ให้เลือกใช้ built-in functions
การใช้งานฟังก์ชันต้องผ่านการสร้างออบเจ็กต์หรือคลาสซึ้งเป็นเรื่องยากสำหรับมือใหม่
การแสดงผลผ่าน console ต้องการการเขียนโค้ดที่ยาวโดยใช้ System.out.print()
ฟังก์ชันใน C มีประสิทธิภาพสูงและทำงานในระดับล่างของระบบ (low-level)
ฟังก์ชันพื้นฐานมีความเรียบง่าย ทำให้เข้าใจได้ง่ายและควบคุมการทำงาน
C ไม่มีฟังก์ชันที่ซับซ้อนหากต้องการจะใช้งานจะต้องเขียนขึ่นมาใหม่เอง
ข้อผิดพลาดในการใช้งานฟังก์ชันที่เกี่ยวข้องกับหน่วยความจำซึ่งอาจทำให้โปรแกรมทำงานผิดพลาดหรือล่ม (crash) ได้
ข้อดี
มีฟังก์ชันในตัวจำนวนมากและใช้งานง่าย ไม่จำเป็นต้องมีการประกาศชนิดข้อมูล
หมาะสำหรับการพัฒนาโปรแกรมทั้งในเชิงธุรกิจ วิทยาศาสตร์ และ AI/ML เพราะมีlibraries จำนวนมากรองรับ
อ่านง่ายและเหมาะกับมือใหม่
ประสิทธิภาพการทำงานต่ำกว่าภาษา C หรือ Java เนื่องจากเป็นภาษาระดับสูง
ในบางกรณีที่มีการจัดการทรัพยากรเยอะ ๆ อาจไม่เหมาะเท่าภาษาที่จัดการหน่วยความจำด้วยตนเอง เช่นภาษา ตะกูล C เป็นต้น
วิธีใช้เรียกใช้
ยกตัวอย่างฟังก์ชัน "หาความยาวของสตริง" ของภาษา PHP, Java, C, และ Python โดยยกตัวอย่างคำว่า "Hello, World!"
// strlen() ใน PHP
$string = "Hello, World!";
$length = strlen($string);
echo $length; // Output: 13
//String.length() ใน Java
public class Main {
public static void main(String[] args) {
String string = "Hello, World!";
int length = string.length();
System.out.println(length); // Output: 13
}
}
// strlen() ใน C
#include <stdio.h>
#include <string.h>
int main() {
char string[] = "Hello, World!";
int length = strlen(string);
printf("%d\n", length); // Output: 13
return 0;
}
จะเห็นได้ว่าทุกภาษาจะได้ Output คือ 13 อธิบายได้ว่า ความยาวของคำว่า"Hello, World!" คือ 13 (รวมช่องว่างและเครื่องหมาย)
strlen() ใน PHP ใช้ในการหาความยาวของสตริง โดยนับจำนวนอักขระในสตริงแล้วคืนค่าจำนวนอักขระกลับมา ซึ่งรวมถึงช่องว่างและเครื่องหมายต่าง ๆ ด้วย
ฟังก์ชัน length() เป็นเมธอดที่ใช้ในการหาความยาวของสตริง โดยจะคืนค่าความยาวของสตริงในรูปแบบ int
strlen() เป็นฟังก์ชันจากไลบรารี <string.h> ที่ใช้ในการหาความยาวของสตริงโดยไม่รวม null character ('\0')
len() ใน Python เป็นฟังก์ชัน built-in ที่ใช้ในการหาความยาวของออบเจ็กต์ที่รองรับ (เช่น สตริง, ลิสต์, ทูเพิล) โดยจะส่งค่าความยาวกลับมา
สรุปความแตกต่างในภาษา PHP, Java, C, และ Python
ภาษา
ฟังก์ชัน
การทำงาน
ข้อดี
ข้อเสีย
ใช้ได้กับสตริงใน PHP เท่านั้น
ใช้งานง่ายสำหรับเว็บแอปพลิเคชัน
ใช้ใน OOP ต้องเรียกจากออบเจ็กต์
ใช้งานใน OOP และการจัดการสตริงได้อย่างปลอดภัย
จำเป็นต้องเรียกใช้ผ่านออบเจ็กต์เท่านั้น
ประสิทธิภาพสูงและทำงานระดับ low-level
ใช้กับสตริง, ลิสต์, และออบเจ็กต์อื่นๆ
ใช้งานง่าย ครอบคลุมออบเจ็กต์หลายประเภท
ประสิทธิภาพอาจต่ำเมื่อเทียบกับภาษา C
Python Standard Library Documentation
https://docs.python.org/3/library/functions.html
https://docs.python.org/3/library/functions.html#len
PHP Official Documentation
https://www.php.net/manual/en/function.strlen.php
https://www.php.net/manual/en/functions.internal.php
https://docs.oracle.com/javase/8/docs/api/java/lang/String.html#length--
https://www.programiz.com/java-programming/library/string/length
https://www.javatpoint.com/java-function
https://www.geeksforgeeks.org/methods-in-java/
C Standard Library Documentation (ISO C90/C99/C11)
https://en.cppreference.com/w/c/header
https://en.cppreference.com/w/c/string/byte
https://en.cppreference.com/w/c/string/byte