#1 tech recruiter in thailand

Computer Programming ในปัจจุบัน แตกต่างจาก 20 ปีที่แล้ว?

See the original English version of this article here

คุณ Sedat Kapanoglu เขียนบทความนี้ขึ้นมา เนื่องจากเขาได้เห็นคำถามที่ว่า Computer Programming ในปัจจุบัน แตกต่างจาก 20 ปีที่แล้ว อย่างไรบ้าง ใน Quora จากนั้นเขาก็เริ่มคิดคำตอบว่ามันน่าจะมีอะไรบ้าง  และต่อไปนี้ก็คือการเปลี่ยนแปลงบางส่วนที่เขาสังเกตเห็นได้ในช่วง 20 ปีที่ผ่านมา (โดยไม่ได้เรียงลำดับตามช่วงเวลาใด ๆ) ซึ่งเป็นความเห็นส่วนตัวของเขาเท่านั้น

Programming Concepts บางอย่างซึ่งส่วนใหญ่เป็นทฤษฎีเมื่อ 20 ปีที่แล้ว ได้กลายเป็น Mainstream รวมถึง Functional Programming Paradigms หลาย ๆ อย่างเช่น Immutability, Tail Recursion, Lazily Evaluated Collections, Pattern Matching, First Class Functions และเหมือนจะมีการดูถูกใครก็ตามที่ไม่รู้จักและไม่ใช้งานพวกมัน

Desktop Software ในปัจจุบัน หมายถึง Web Page ที่ Bundle กับ Browser

Object-Oriented Programming (OOP) ได้สูญเสียความน่าเชื่อถือไปพอสมควร แม้ว่ามันจะเป็น Programming Model ที่ยังได้รับความนิยมอยู่ Trait-base Programming Model ใหม่ ๆ เริ่มมีการใช้อย่างแพร่หลายในภาษาสมัยใหม่ อย่าง Go, Rust และ Swift ซึ่ง Composition เริ่มเป็นที่ต้องการมากกว่า Inheritance

คุณอาจยังไม่ได้รับการพิจารณาให้เป็น Programmer อย่างเป็นทางการ จนกว่าคุณจะเข้าร่วมงาน Conference ที่ต้องจ่ายเงิน 2,000 เหรียญ และแชร์ภาพ Selfie จากที่นั่น

เนื่องจากมีการเติบโตและเพิ่มขึ้นเป็นอย่างมากของ Multi-Processor CPUs ทำให้ Parallel Programming มักจะมีการรองรับในระดับของ Programming Language มากกว่าการเรียกใช้ OS แบบดั้งเดิมเมื่อ 20 ปีที่แล้ว มันนำมาซึ่ง Asynchronous Programming Primitives (async/await), Parallel Coroutines อย่าง goroutines ในภาษา Go หรือ Channels ใน D, Composability Semantics อย่าง Observables กับ Reactive Programming

Pixel ไม่ใช่หน่วยวัดหลักที่สำคัญมากอีกแล้ว

Garbage Collection ได้กลายเป็นวิธีการทั่วไปในการเขียน Program ที่ปลอดภัย แต่ Model ความปลอดภัยที่ใหม่กว่าก็เกิดขึ้น อย่างเช่น Lifetime Semantics ของ Rust และ Snarky Jokes ใน Code Reviews

Devices กว่า 3 พันล้านเครื่องที่ใช้งาน Java ซึ่งจำนวนดังกล่าวยังคงไม่เปลี่ยนแปลงในช่วง 10 ปีที่ผ่านมา

Package Management Ecosystem เป็นสิ่งจำเป็นสำหรับ Programming Language ในขณะนี้ ผู้คนไม่ต้องการเจอกับความยุ่งยากในการค้นหา, Download และ Installing Libraries อีกต่อไป ซึ่ง 20 ปีที่แล้วเราเคยเยี่ยมชม Web Sites, Download Zip Files, Copy พวกมันไปยัง Locations ที่ถูกต้อง, เพิ่มลงใน Paths ใน Build Configuration และภาวนาว่าพวกมันจะใช้การได้

ทีม Software Development ในปัจจุบัน จะเกี่ยวข้องกับสมาชิกในทีมทุกคน ที่อยู่ร่วมในพิธีกรรมด้วยการยืนเป็นเวลา 15 นาทีในตอนเช้า และวาดสัญลักษณ์บางอย่างที่ไม่มีใครเข้าใจลงบนแผ่น Post-it

Tool ของภาษาต่าง ๆ เกิดขึ้นมากมายในปัจจุบัน ซึ่ง Programming Language มักจะเป็น Compilers และอาจเป็น Debuggers ทุกวันนี้พวกมันมักจะมาพร้อมกับ Linter, Source Code Formatter, Template Creators, ความสามารถในการ Update ตัวเอง และ List ของ Arguments ที่คุณสามารถใช้ในการถกเถียงกับภาษาอื่น ๆ ที่เป็นคู่แข่ง

ต้องขอขอบคุณที่ Adobe Flash ซึ่งถือเป็นวิธีเดียวที่จะให้การ Interact บน Web มีความราบรื่น ไม่มีอยู่อีกต่อไปแล้ว ตอนนี้เราต้อง Develop บน 3 Platforms ที่แตกต่างกันด้วย Programming Model ที่แตกต่างกันอย่างสิ้นเชิงเพื่อให้สามารถ Interact ใน Level เดียวกันได้

IDEs และ Programming Languages ดูจะยิ่งห่างกันมากขึ้นเรื่อย ๆ เมื่อ 20 ปีที่แล้ว IDE ได้รับการพัฒนาขึ้นเป็นพิเศษสำหรับแต่ละภาษา เช่น Eclipse สำหรับ Java, Visual Basic, Delphi สำหรับ Pascal และอื่น ๆ แต่ตอนนี้เรามี Text Editors อย่าง VS Code ที่สามารถรองรับ Programming Language ต่าง ๆ ได้

ปัจจุบัน Code จะต้อง Run อยู่เบื้องหลังอย่างน้อย 3 ระดับของ Virtualization ส่วน Code ที่ไม่สามารถทำได้แบบนั้น ถือเป็นสิ่งที่ไม่จำเป็นอีกต่อไป

ปัจจุบัน Cross-Platform Development ถือเป็นสิ่งที่เป็น Standard ไปแล้ว เพราะมีสถาปัตยกรรมที่หลากหลาย เช่น Mobile Devices, Cloud Servers, Embedded IoT Systems ซึ่งเมื่อเทียบกับ 20 ปีที่แล้ว มันใช้ได้เฉพาะบน PC เท่านั้น

การ Run Code บนเครื่อง Local เป็นสิ่งที่ไม่ค่อยจะทำกันแล้ว

Documentation อยู่บนโลก Online ไปแล้ว และมันถูกเรียกว่า Google ไม่มี Offline Documentation อีกต่อไปแล้ว แม้ว่าจะมี แต่คงไม่มีใครรู้อะไรเกี่ยวกับมัน

Tutorial อาจยังไม่ใช่ตัวช่วยอย่างแต่จริง หากมันไม่ใช่ Video Recording ที่จะช่วยทำให้เราเข้าใจได้มากยิ่งขึ้นมากกว่ามากกว่าแค่เป็น Text

สมัยก่อนที่ยังไม่มี StackOverflow การถามคำถามเกี่ยวกับ Programming ส่วนใหญ่ จะเป็นการถามเอาจากเพื่อนร่วมงาน

ผู้คนมีการ Develop Software บน Macs

Internet Connectivity ถือเป็นเรื่องปกติทั่วไป และ Offline ถือเป็นเรื่องผิดปกติ ซึ่งพวกมันตรงกันข้ามเมื่อเทียบกับสมัยก่อน

Security ถือเป็นสิ่งที่เราต้องคิดถึงมันให้มากขึ้นในปัจจุบัน

Mobile Devices สามารถแสดง Web Pages ปกติทั่วไปได้ ดังนั้น จึงไม่จำเป็นต้องสร้าง WAP Pages แยกต่างหากใน Separate Subdomain อีกต่อไป แต่เราสามารถสร้าง Mobile Pages ใน Separate Subdomain แทน

ปัจจุบันเรามัก Open Sources ทุกอย่าง ยกเว้น Code นั้นมันไม่ดีมากพอที่จะบอกให้คนอื่นได้รู้ได้เห็น

ปัจจุบันมีผู้หญิง คนผิวสี และ LGBT ที่เก่ง ๆ มากมายใน Industry นี้ ต้องขอบคุณทุกคนที่ช่วยกันต่อต้านเรื่องการเลือกปฏิบัติ แม้จะยังพูดได้ไม่เต็มปากในเรื่องของ ความเท่าเทียมกัน แต่มันก็ดีกว่าสมัยก่อนมาก

การ Hack เป็นสิ่งที่เกิดขึ้นและพบเห็นได้บ่อยในปัจจุบัน การทำ User Data รั่วไหล มักหลีกเลี่ยงด้วยการเขียน Blog Post ที่แนะนำให้เปลี่ยน Password แทน

การเป็น Programmer ที่ทำงานแบบ Remote ช่วยทำให้ชีวิตง่ายขึ้น ซึ่งต้องขอบคุณ Technology อย่าง Video Conferencing, Ubiquitous Internet Access และ Keurigs

เราไม่ใช้ IRC ในการสื่อสารกันอีกต่อไป เราชอบที่จะใช้ Slack มากกว่า เพราะเราไม่ต้องการพิมพ์ Server Address

ปัจจุบันเรา Run Programs บน Graphics Cards

Project ของคุณจะไม่มีมูลค่าทางธุรกิจเลยในปัจจุบัน เว้นแต่จะมี Blockchain และ AI มาเกี่ยวข้อง แม้ว่าจะมี Centralized และ Rule-based Version ที่เร็วและมีประสิทธิภาพมากกว่าก็ตาม

ด้วยเหตุผลบางอย่าง 1 Gigabyte ถือเป็นพื้นที่เก็บข้อมูลที่ไม่สามารถใช้ได้อย่างเพียงพอในปัจจุบัน

เนื่องจากการโจมตีแบบ Side-Channel ทำให้เราไม่สามารถไว้วางใจ Physical Processor ได้อีกต่อไป

สัดส่วนสำคัญของ Programming มักเกิดขึ้นตอนเล่นเกม Foosball Table (ฟุตบอลโต๊ะ)

ตั้งแต่เรามี CPUs ที่ทำงานอย่างรวดเร็ว การคำนวณเชิงตัวเลขที่ทำใน Python จะทำได้ช้ากว่าใน Fortran ดังนั้น การคำนวณเชิงตัวเลข โดยทั่วไปแล้วจะใช้เวลาที่ไม่ต่างกันกับเมื่อ 20 ปีก่อน

การสร้าง Programming Language ใหม่ หรือแม้แต่การสร้าง Hardware ใหม่ ถือเป็นสิ่งที่ทำเป็นงานอดิเรกไปเสียแล้ว

Unit Testing ดูจะกลายเป็นสิ่งที่ถูกกล่าวถึงกันเกินจริงไปหน่อย และมันก็เหมือนกับสิ่งที่มีประโยชน์อื่น ๆ ทั่วไป ประโยชน์ของมันถูกประเมินค่าสูงเกินไป และสักวันมันอาจกลายเป็นเรื่องของความเชื่อไปอย่างหลีกเลี่ยงไม่ได้

การเก็บ Password ในรูปแบบ Text ธรรมดา ๆ นั้นถือเป็นสิ่งที่ไม่เป็นที่ยอมรับ แต่เราก็ยังทำเช่นนั้นอยู่

ISM Technology Recruitment Ltd. (#1 Tech Recruiter in Thailand) เราเชี่ยวชาญในธุรกิจ IT Recruitment & IT Outsourcing โดยเฉพาะ เปิดทำการกว่า 30 ปี มีพนักงานทุกสายและทุกระดับทางด้าน IT ที่ได้ร่วมงานกับลูกค้าองค์กรใหญ่ที่มีชื่อเสียงและบริษัทข้ามชาติมากมาย หากคุณเป็นคน IT ที่อยากทำงานท้าทายและร่วมงานกับองค์กรชั้นนำ สามารถฝากประวัติการทำงาน (Resume) ของคุณไว้กับ ISM ได้ที่ https://www.ismtech.net/submit-your-resume แล้วคุณจะพบว่าอนาคตและโอกาสก้าวหน้ากำลังรอคุณอยู่

Source: https://medium.com/

en