- James Gosling คือผู้สร้าง Java และได้รับการยกย่องว่าเป็น อัจฉริยะเชิงปฏิบัติที่ส่งอิทธิพลต่อการประมวลผลยุคใหม่ตลอด 30 ปี
- เขาเติบโตมาในสภาพแวดล้อมที่ยากจน และ เรียนรู้การเขียนโปรแกรมด้วยการประกอบคอมพิวเตอร์จากชิ้นส่วนในกองขยะ โดย การเรียนรู้ด้วยตนเอง นี้ได้สะท้อนอยู่ในปรัชญาการออกแบบภาษาของเขาในเวลาต่อมา
- ช่วงเวลาที่ Sun Microsystems ซึ่ง ความขี้เล่นและนวัตกรรมอยู่ร่วมกัน ได้กลายเป็นรากฐานของความคิดสร้างสรรค์และการสร้างวัฒนธรรมทางเทคนิคในแบบฉบับของ Gosling
- ล่าสุดเขาได้แสดง ความสงสัยอย่างมากต่อเครื่องมือ Generative AI และกระแส AI พร้อม ย้ำว่าความสำคัญของการศึกษาด้านการเขียนโปรแกรมกลับยิ่งเพิ่มขึ้น
- เคล็ดลับที่ทำให้ Java อยู่รอดไม่ใช่ความหวือหวา แต่คือ ปรัชญาการออกแบบเชิงปฏิบัติที่ยึดมั่นเรื่องความเสถียร ความเข้ากันได้ย้อนหลัง และประสิทธิภาพการทำงานของนักพัฒนาอย่างเคร่งครัด
Java at 30: The Genius Behind the Code That Changed Tech
- Java คือ ภาษาวัตถุเชิงนามธรรมระดับสูงแบบใช้งานทั่วไป ที่ครบรอบ 30 ปีในวันที่ 23 พฤษภาคม และยังคงเป็นเทคโนโลยีหลักที่ขับเคลื่อนระบบหลากหลายขนาดมาจนถึงปัจจุบัน
- เบื้องหลังการถือกำเนิดของ Java คือ สัญชาตญาณเชิงสร้างสรรค์และเซนส์ทางเทคนิคแบบปฏิบัติของ James Gosling
- Gosling เริ่มต้นจากการเป็น วัยรุ่นชาวแคนาดาที่พึ่งพาตัวเองสูง ซึ่งเก็บชิ้นส่วนจากถังขยะมาประกอบคอมพิวเตอร์ ก่อนเติบโตเป็นโปรแกรมเมอร์ระดับโลก
- ปรัชญา “เขียนครั้งเดียว รันได้ทุกที่” คือสัญลักษณ์ของ Java และต่อมากลายเป็น แนวคิดด้านภาษาที่นำไปสู่การเปลี่ยนแปลงพื้นฐานของวิธีพัฒนาซอฟต์แวร์
- ตลอดเส้นทางอาชีพ Gosling ผสมผสานความเป็นเลิศทางเทคนิค ความขี้เล่น และจริยธรรมที่ชัดเจนเข้าด้วยกัน จนกลายเป็น ภาพแทนของนักพัฒนาที่มีอิทธิพลต่อการก่อรูปวัฒนธรรมคอมพิวติ้งสมัยใหม่อย่างต่อเนื่อง
James Gosling: The Brilliant Mind Behind Java
- James Gosling ไม่ได้เป็นเพียง ‘บิดาแห่ง Java’ แต่ยังเป็น อัจฉริยะผู้ถ่อมตัวที่อธิบายแนวคิดซับซ้อนให้เข้าใจได้อย่างเป็นธรรมชาติ
- ในวาระครบ 30 ปีของการสร้าง Java เขาได้ย้อนมองเส้นทางเทคโนโลยีของตน พร้อมทบทวน วิวัฒนาการของภาษาและวัฒนธรรมการพัฒนา
The Path To Programming: Resourceful Beginnings
- ในวัยเด็กที่ต้องอยู่ท่ามกลางความยากจนอย่างหนัก Gosling มี ประสบการณ์เก็บโทรทัศน์จากถังขยะมาปลุกปั้นความคิดสร้างสรรค์ด้านเทคนิค
- คอมพิวเตอร์เครื่องแรกของเขาประกอบขึ้นจากแร็กรีเลย์ที่ถูกทิ้งจากชุมสายโทรศัพท์ ซึ่งเป็น สัญลักษณ์ของเซนส์ด้านกลไกและทักษะการประกอบที่โดดเด่นตั้งแต่อายุยังน้อย
- การได้ไปเยี่ยมศูนย์คอมพิวเตอร์ของมหาวิทยาลัย Calgary และหลงใหลในหน้าจอ ไฟกะพริบ และอุปกรณ์เทป คือจุดเริ่มต้นของ ความอยากรู้อยากเห็นด้านการเขียนโปรแกรมที่ติดตัวตลอดชีวิต
- เขาเรียนรู้ด้วยตนเองจากการคุ้ยการ์ดเจาะรูเพื่อให้ได้รหัสผ่าน และในช่วงมัธยมก็เขียนโปรแกรมวิเคราะห์ข้อมูลดาวเทียมให้ภาควิชาฟิสิกส์ของมหาวิทยาลัย พร้อม สะสมประสบการณ์การสนุกกับการเขียนโปรแกรมแบบมีรายได้
- ประสบการณ์เขียนโปรแกรมยุคแรกของเขาครอบคลุมทั้ง PL/1 บน IBM mainframe, Fortran, ภาษาแอสเซมบลีของ PDP-8 และโค้ดบน CDC 6400 เขาเอ่ยอย่างเรียบ ๆ ว่า “ช่วงหน้าร้อนผมรับงานพัฒนา COBOL compiler” ทั้งที่นั่นเป็นงานที่โปรแกรมเมอร์มากประสบการณ์จำนวนมากยังมองว่ายากจะรับมือ
Academia to Industry: Finding His Way
- Gosling อธิบายโลกวิชาการว่าเป็น “ห้องแล็บที่ใช้แรงงานบัณฑิตศึกษาราคาถูก” ซึ่งสะท้อน มุมมองตรงไปตรงมาที่ให้ความสำคัญกับการใช้งานจริงมากกว่าทฤษฎี
- ระหว่างเรียนปริญญาเอกที่ Carnegie Mellon เขาก็ทำงานที่สตาร์ตอัปไปพร้อมกัน สั่งสมประสบการณ์จากโลกจริง ก่อนกลับมาปิดจบการศึกษา เป็น เส้นทางอาชีพที่ยืดหยุ่นและเดินคู่กันระหว่างอุตสาหกรรมกับวิชาการ
- งานแรกของเขาคือที่ IBM Research แต่เขาให้ความเห็นว่าเป็น “บริษัทที่ทุ่มเทให้กับการยิงเท้าตัวเอง” แสดงถึง ท่าทีวิเคราะห์องค์กรและกลยุทธ์เทคโนโลยีอย่างเยือกเย็น
- ประสบการณ์ช่วงแรกเหล่านี้ภายหลังกลายเป็น พื้นฐานความเข้าใจวัฒนธรรมองค์กรที่ยึดโลกจริงเป็นศูนย์กลาง ซึ่งส่งผลต่อวิธีทำงานของเขาที่ Sun Microsystems
The Sun Days: Innovation and Pranks
- เมื่อพูดถึงความทรงจำที่สนุกที่สุดที่ Sun, Gosling ยกให้ โปรเจกต์แกล้งวัน April Fools’ ขนาดใหญ่ที่จัดขึ้นทุกปี เป็นอันดับต้น ๆ พร้อมรำลึกถึงวัฒนธรรมองค์กรที่ความคิดสร้างสรรค์และความสนุกอยู่ร่วมกัน
- หนึ่งในตัวอย่างการแกล้งที่โดดเด่นคือการทำแท่นลอย Ferrari ไว้กลางสระ ซึ่งสะท้อน อารมณ์ขันที่ใช้ทักษะแก้ปัญหาทางวิศวกรรมและการทำงานเป็นทีม
- อีกครั้งหนึ่งพวกเขาสร้างสนามกอล์ฟ 1 หลุมในห้องทำงาน CEO พร้อมหญ้าเทียม บังเกอร์ และ water hazard ซึ่งถูกกล่าวถึงว่าเป็น ความพยายามสุดสร้างสรรค์ที่ผสานเทคโนโลยีกับการเล่นสนุก
- Gosling จดจำ Sun ว่าเป็น “สภาพแวดล้อมอันหาได้ยากที่เปิดพื้นที่ให้ทั้งความเป็นเลิศทางเทคนิคและความคิดสร้างสรรค์แบบขี้เล่น” และสิ่งนี้ก็กลายเป็น รากฐานของวิธีคิดในการแก้ปัญหาและทัศนคติต่อเทคโนโลยีของเขา
Java: Creating a Legacy That Changed Everything
- การเดินทาง 30 ปีของ Java สำหรับ Gosling คือ ความสำเร็จที่เป็นตัวแทนที่สุดและจุดเปลี่ยนสำคัญของชีวิตด้านเทคโนโลยี
- เขากล่าวถึง ความพึงพอใจอย่างลึกซึ้งต่ออิทธิพลที่ทิ้งไว้ในระบบนิเวศนักพัฒนา ทุกครั้งที่มีคนเข้ามาบอกตามท้องถนนว่า “ผมมีอาชีพได้เพราะ Java”
- ฟีเจอร์อย่าง lambda และ generic เป็นสิ่งที่เขาอยากใส่มาตั้งแต่แรก แต่ได้เลื่อนจังหวะการนำเข้ามาตาม ปรัชญาการออกแบบที่ว่า “จะไม่ใส่มันด้วยวิธีที่ผิด”
- สำหรับการดูแล Java ของ Oracle เขามองว่า “ทำได้ดีกว่าที่คาด” และย้ำว่าในความเป็นจริง การมีส่วนร่วมและแรงสนับสนุนอย่างต่อเนื่องจากชุมชนคือบทบาทสำคัญ
- Java ได้พัฒนาตัวเองให้เหมาะกับสภาพแวดล้อมแบบคลาวด์ พร้อมความก้าวหน้าในด้านการรองรับ multicore, การจัดการหน่วยความจำ และการปรับปรุง GC จนไปถึง ระดับความสมบูรณ์ทางเทคนิคที่ “ยอดเยี่ยมจริง ๆ”
Beyond Java: Ventures After Sun
- หลัง Sun ถูก Oracle เข้าซื้อ Gosling พักช่วงสั้น ๆ ก่อนเข้าร่วม Google แต่ก็ ลาออกใน 6 เดือนแล้วย้ายไป Liquid Robotics
- ที่นั่นเขาพัฒนาระบบควบคุมหุ่นยนต์ทะเลอัตโนมัติ และได้สัมผัส สภาพการทำงานที่มีเอกลักษณ์ ซึ่งเทคโนโลยีผสานกับธรรมชาติ รวมถึงงานที่ต้องดำน้ำตื้นในฮาวาย
- เขาเข้าร่วมโปรเจกต์ตรวจวัดอุณหภูมิน้ำทะเลในอาร์กติกและแอนตาร์กติก แต่ด้วยการที่งานวิจัยสิ่งแวดล้อมขาดเงินทุน จึงเกิด ความขัดแย้งกับโครงสร้างสตาร์ตอัปที่ขับเคลื่อนด้วย VC
- เมื่อแรงกดดันให้หันไปสู่ภาคกลาโหมเพิ่มขึ้น เขาจึงลาออกด้วยเหตุผลทางจริยธรรม แล้วไปร่วมงานที่ AWS ในโปรเจกต์ Greengrass และเครื่องมือสำหรับนักพัฒนา สะท้อน การเลือกเส้นทางอาชีพที่คำนึงทั้งความสนใจทางเทคนิคและมาตรฐานทางจริยธรรม
On Open Source and Industry Trends: Cutting Through the Hype
- Open source ถูกอธิบายว่าไม่ได้เป็นเพียงเครื่องมือร่วมพัฒนา แต่เป็น ระบบนิเวศหลายมิติที่ทำงานทั้งในฐานะความสัมพันธ์กับนักพัฒนา กลยุทธ์การตลาด และโมเดลการยอมรับแบบ bottom-up
- สำหรับเทรนด์ low-code และ no-code เขามองว่าเป็นข้ออ้างที่ถูกพูดซ้ำมาตั้งแต่ยุค COBOL พร้อมแสดงความสงสัยว่าเป็น แนวทางเฉพาะทางที่มีข้อจำกัดเมื่อใช้กับโดเมนที่ซับซ้อน
- เขาบอกว่าปัญหาของ AI และ machine learning ไม่ได้อยู่ที่ตัวเทคโนโลยี แต่อยู่ที่ชื่อเรียก พร้อมวิจารณ์คำศัพท์ว่า คำว่า “advanced statistical techniques” สะท้อนแก่นแท้ได้มากกว่า
- เขามองว่า AI เป็นเพียงเครื่องมือ ไม่ควรถูกเข้าใจผิดว่าเป็นสิ่งมีชีวิตอิสระ และควรถูกมองเป็น เครื่องมือระดับสูงที่ช่วยเสริมมนุษย์มากกว่าจะคุกคามแรงงานมนุษย์
Developer Tools and Preferences: Embracing Progress
- Gosling ใช้ NetBeans IDE เป็นเครื่องมือหลักในการพัฒนา และแสดง จุดยืนสนับสนุน open source ภายใต้ Apache License รวมถึงชุมชนที่คึกคัก
- เขาแสดง ความเสียดายต่อท่าทีปฏิเสธความก้าวหน้าทางเทคโนโลยี ของนักพัฒนาที่ยังยึดติดกับ Vi หรือเครื่องมือจากยุค 70–80
- แม้เขาจะยังใช้ Vi บ้างเพราะรันได้ทุกที่ แต่ใน สภาพแวดล้อมพัฒนาแบบจริงจัง เขาสนับสนุนการใช้ IDE สมัยใหม่อย่างชัดเจน
The JVM Vision: From Academic Concept to Global Standard
- แนวคิดเริ่มต้นของ Java Virtual Machine (JVM) มาจาก การทดลองเรื่องฟอร์แมตการแจกจ่ายที่เป็นกลางต่อสถาปัตยกรรม และงานวิจัยด้านการแปลชุดคำสั่ง ที่ Gosling คิดไว้ตั้งแต่สมัยเรียนบัณฑิตศึกษา
- ต่อมาแนวคิดนี้พัฒนาไปเป็น เทคโนโลยีแพลตฟอร์มรันไทม์อเนกประสงค์ ที่ไม่เพียงรองรับ Java แต่ยังเปิดให้หลายภาษาทำงานบนฮาร์ดแวร์หลากหลายได้
- ปรัชญา ‘Write once, run anywhere’ เคยถูกปัดตกในฐานะหัวข้อวิทยานิพนธ์ปริญญาเอกเพราะขาดฐานคณิตศาสตร์รองรับ แต่ท้ายที่สุดก็กลายเป็น เทคโนโลยีเชิงปฏิบัติที่พลิกโฉมสภาพแวดล้อมการพัฒนาซอฟต์แวร์ทั่วโลก
More Recent Work: Bridging IoT Gaps at AWS
- ที่ AWS, Gosling เข้าร่วมพัฒนา Greengrass ซึ่งเป็นเฟรมเวิร์กแอปพลิเคชัน IoT โดยถ่ายทอด แนวทางทางเทคนิคที่ทำให้ปัญหาซับซ้อนเรียบง่ายลงอย่างสง่างาม
- มันช่วย abstract งาน boilerplate ที่เกิดซ้ำระหว่างการ deploy และการ operate เช่น OTA update, การควบคุมระยะไกล, telemetry, ความน่าเชื่อถือของเครือข่าย, ความปลอดภัย และการจัดการการยืนยันตัวตน
- โค้ดฝั่งอุปกรณ์ถูกเปิดเป็น open source เพื่อกระตุ้น การมีส่วนร่วมจากชุมชนในการพอร์ตไปยังแพลตฟอร์มที่ Amazon ไม่ได้ให้ความสำคัญเป็นลำดับแรก เช่น RISC-V
- ต่อมาอีกโปรเจกต์เครื่องมือพัฒนาที่เขาเข้าร่วมต้องหยุดชะงักเพราะกระแส AI สะท้อน ปัญหาของความสับสนที่ขับเคลื่อนด้วยกระแส มากกว่าความจริงแท้ทางเทคนิค
AI Skepticism
- ในบทสัมภาษณ์ล่าสุด Gosling ใช้คำว่า “ส่วนใหญ่เป็นเรื่องหลอกลวง” กับการปฏิวัติ AI พร้อมแสดง มุมมองเชิงสงสัยที่มอง AI เป็นคำทางการตลาดที่เป็นพิษเป็นพิเศษ
- แม้จะยอมรับว่าเป็นเทคโนโลยีที่น่าประทับใจในเชิงคณิตศาสตร์ เขาก็ชี้ว่า ชื่อ AI เองคือ ปัญหาที่บิดเบือนสาระของสิ่งที่แท้จริงแล้วเป็นเทคนิคสถิติขั้นสูง
- เขาวิพากษ์กระแส AI ที่ขับเคลื่อนโดย venture capital ว่าเป็น “แหล่งรวมของนักต้มตุ๋นและพวกปั่นกระแสเกินจริง” พร้อม ตำหนิแนวโน้มการมุ่งหากำไรระยะสั้นจาก exit มากกว่าประโยชน์ใช้สอยทางเทคโนโลยีจริง
- เขาเตือนว่าเม็ดเงินลงทุนด้าน AI ส่วนใหญ่สุดท้ายจะ “ถูกดูดลงหลุมดำ” เป็น คำเตือนต่อกระแสเงินทุนที่วิ่งตามแฟชั่นโดยไร้ความยั่งยืน
Is It a Vibe? AI Coding Tools: Impressive Demos, Limited Utility
- เครื่องมือเขียนโค้ดแบบ Generative AI สร้างความประทับใจแรกได้แรง แต่มี โครงสร้างที่ไปต่อไม่ได้เมื่อโจทย์ซับซ้อนขึ้นเพียงเล็กน้อย
- เครื่องมือเหล่านี้ทำได้เพียงขูดตัวอย่างโค้ดที่มีอยู่แล้วมาทำซ้ำ ขณะที่ ปัญหาที่น่าสนใจจริงมักเป็นของใหม่เสมอ จึงไม่เข้ากับเครื่องมือที่ยืนอยู่บนการทำซ้ำ
- ในสภาพแวดล้อมการพัฒนาสำหรับผู้เชี่ยวชาญ โค้ดที่เป็นแพตเทิร์นมักถูกรวมลงเป็นไลบรารีอยู่แล้ว ทำให้ การสร้างโค้ดด้วย AI ชนกับความต้องการที่แท้จริงของงานพัฒนาในเชิงโครงสร้าง
- Gosling ให้นิยามประโยชน์ที่แท้จริงของ AI ว่าเป็น เครื่องมือค้นหาที่ช่วยทำงานเอกสารซึ่งไม่มีใครอยากทำ และเน้นคุณค่าในฐานะ ผู้ช่วยเฉพาะทางสำหรับอธิบายวิธีใช้ API
Java’s Evolution: Language Features and Runtime Improvements
- การเปลี่ยนแปลงล่าสุดของภาษา Java เช่น type inference และการปรับปรุงรูปแบบการประกาศอาร์เรย์ ถูกมองว่าเป็น การขยายฟีเจอร์ที่มีประโยชน์และช่วยเพิ่มความสะดวกในการพัฒนา
- อย่างไรก็ตาม Gosling เน้นว่าพัฒนาการที่น่าประทับใจที่สุดของ Java อยู่ที่ คุณภาพที่ดีขึ้นของสภาพแวดล้อมรันไทม์ JVM และ standard library
- JVM รุ่นใหม่แสดง ประสิทธิภาพการรันที่ “น่าทึ่ง” ทั้งในด้านคุณภาพโค้ด ประสิทธิภาพของ thread และ garbage collection
- เขาระบุว่ามีประสิทธิภาพกว่า C ที่อิง
malloc ในแง่การจัดการหน่วยความจำและความสามารถในการคาดการณ์ประสิทธิภาพ พร้อมกล่าวถึง ศักยภาพในการปรับจูนให้เวลาหยุดของ GC ลดลงเหลือระดับไม่กี่มิลลิวินาที
- JVM ในปัจจุบันถูกประเมินว่าเป็น สภาพแวดล้อมรันไทม์สมรรถนะสูงที่รับมือกับพื้นที่หน่วยความจำขนาดมหาศาลอย่างน่าเหลือเชื่อได้อย่างเสถียร
Programming Languages for Critical Infrastructure
- เมื่อถูกถามว่าควรใช้ภาษาอะไรเขียนระบบควบคุมการจราจรทางอากาศของ FAA ใหม่ Gosling ตอบปฏิเสธสมมติฐานของคำถามว่า “มันเหมือนเลือกค้อนก่อนสร้างบ้าน”
- เขาย้ำว่าต้องเข้าใจคุณลักษณะของโดเมนปัญหาให้ชัดก่อน เช่น ระบบสื่อสาร กฎระเบียบระหว่างประเทศ เส้นทางการบิน และการหลีกเลี่ยงการชน แล้วจึงค่อยเลือกเทคโนโลยี
- อย่างไรก็ตาม เขาก็เสริมว่า สำหรับระบบขนาดใหญ่ที่ความน่าเชื่อถือมีความสำคัญสูง Java สามารถเป็นตัวเลือกที่แข็งแกร่งได้
The Future of Programming in an AI World
- แม้ AI จะพัฒนาไปไกลแค่ไหน การเขียนโปรแกรมก็ยังคงเป็นทักษะจำเป็น และ Gosling ระบุว่า ถ้ามีลูก เขาจะสอนให้เขียนโค้ดอย่างแน่นอน
- เขาวิจารณ์คำกล่าวของผู้บริหาร Big Tech ที่ว่า AI จะมาแทนนักพัฒนามนุษย์ ว่าเป็นเพียง การข่มขู่เชิงป้องกันตัวเพื่อเพิ่มความเข้มข้นของแรงงาน
- เขาเสนอว่า การเข้าใจระบบอย่างแท้จริงยังต้องอาศัยความสามารถด้านการเขียนโปรแกรม และ แม้เครื่องจักรจะช่วยแทนบางส่วนได้ แต่มนุษย์ก็ยังต้องรักษาฐานความเข้าใจทางเทคนิคเอาไว้
Java’s Longevity Secret
- Gosling อธิบายว่าเหตุผลที่ Java อยู่รอดมาได้เกิน 30 ปีคือ พลังในการแก้ปัญหาจริง การเคารพผู้ใช้ ความเข้ากันได้ย้อนหลัง การเพิ่มผลิตภาพ และปรัชญาที่เน้นความน่าเชื่อถือ
- Java ย้ำความสำคัญของประโยชน์ใช้สอยที่สม่ำเสมอมากกว่าการวิ่งตามกระแสของภาษาใหม่ ๆ และ ปรัชญาการออกแบบที่ยึดโลกจริง เน้นผลลัพธ์มากกว่าสไตล์ นี้มีประสิทธิภาพอย่างยิ่งในสภาพแวดล้อมองค์กร
- จากมุมมองที่ว่า ซอฟต์แวร์ “ต้องทำงานได้อย่างถูกต้องเสมอ” Java จึงยังคงเป็น เครื่องมือวิศวกรรมที่ซื่อตรงและใช้งานได้จริง
Oracle’s Stewardship: Better Than Expected
- Gosling กล่าวถึงการดูแล Java ของ Oracle หลังการเข้าซื้อ Sun Microsystems ว่า “ทำได้ดีกว่าที่คิดไว้มาก” พร้อม แสดงความประหลาดใจต่อผลงานที่เกินความคาดหมาย
- ตอนแรกเขากังวลเรื่อง ‘การปล้นชิงและการทำลาย’ จากพฤติกรรมในอดีต แต่สิ่งที่เกิดขึ้นจริงคือ Oracle ไม่ได้ขัดขวางทีม Java และยังคุ้มครองมันไว้ ทำให้เขา ประเมินเชิงบวกต่อความเป็นอิสระและการบริหารที่เน้นเทคโนโลยี
- แม้จะชี้ว่าการสนับสนุนด้านงบประมาณยังไม่มากพอ แต่เขาก็ให้คะแนนสูงกับ โครงสร้างที่เปิดให้อิสระแก่ทีมเทคนิคโดยปราศจากการแทรกแซงจากองค์กร
Crab Lovers Unite!
- Gosling บอกเสมอว่าเขาอยากร่วมงานกับคนที่อยากนั่งกินข้าวด้วย สะท้อน ท่าทีที่ให้ความสำคัญกับเกณฑ์การทำงานร่วมกันที่ยึดคนเป็นศูนย์กลาง
- ผู้สื่อข่าวบันทึกช่วงเวลาที่บังเอิญพบ Gosling ที่ร้านปูชื่อดัง Thanh Long ในซานฟรานซิสโก เป็น ฉากหนึ่งที่บุคคลระดับตำนานแห่งวงการเทคโนโลยีปรากฏตัวในชีวิตประจำวันอย่างธรรมดา
- จากนั้นทั้งสองได้กินปูและพูดคุยกัน พร้อมนัดหมายว่าจะกลับมาพบกันที่เดิมอีกครั้ง ส่งต่อ ความอบอุ่นของปฏิสัมพันธ์แบบมนุษย์ที่ไปไกลกว่าตัวเทคโนโลยี
13 ความคิดเห็น
ผมเองก็คิดว่า ในบรรดาภาษาแบบ static type ภาษาที่ใช้งานได้สะดวกและสบายที่สุดก็คือ Java
อย่างไรก็ตาม ในแง่การพัฒนาเชิงอเนกประสงค์และใช้งานได้จริง การเขียนแอปที่มี GUI สำหรับผู้ใช้ปลายทางด้วย Java ไม่ใช่ตัวเลือกที่ดีนัก (ถ้ามองในมุมนั้น การจับคู่ระหว่าง C# + .NET ถือว่าดีที่สุด)
เมื่อพิจารณาจากข้อดีของ Java ผมคิดว่าการนำไปใช้ทางฝั่งแบ็กเอนด์หรือมิดเดิลแวร์เป็นกรณีที่เหมาะสมที่สุดในเชิงปฏิบัติ
ยังไงก็ตาม เพราะเป็นภาษาที่พอมีโอกาสได้ใช้เป็นครั้งคราวก็สามารถหยิบมาจัดการได้อย่างไม่กดดัน เลยดูเหมือนว่าจะเหลือประสบการณ์ที่ดีอยู่มากกว่า
เรื่องเล่าว่าเขาแยกชิ้นส่วนทีวีจากกองขยะแล้วเริ่มเขียนโปรแกรม ฟังดูเหมือนเป็นจุดเริ่มต้นของตำนานจริง ๆ เลยครับ
เป็นความจริงที่ว่าหลังจาก Java เป็นต้นมา ภาษาต่าง ๆ ก็เริ่มให้ความสำคัญกับประสิทธิภาพในการพัฒนามากขึ้น
ก่อนหน้านั้น C++ ที่ถูกใช้งานบ่อยก็ยังน่าหวาดหวั่นแม้แต่แค่อ่านอยู่จนถึงทุกวันนี้ โดยเฉพาะเวลาต้องไปแตะโปรเจ็กต์ที่ดำเนินมายาวนาน
ผมเห็นด้วยได้ยากกับคำกล่าวที่ว่าจาวาให้ความสำคัญกับประสิทธิภาพการทำงานของนักพัฒนา
มีภาษาไหนอีกไหมที่พัฒนามาจนต้องพึ่งพา IDE อย่างลึกซึ้งเท่าจาวา?
ผมคอมเมนต์ไปอย่างหุนหันพลันแล่นนะครับ
การพึ่งพา IDE อย่างมากเป็นปัญหาของ ecosystem ของ Java ที่พัฒนาไปแบบไม่อุดมคติ
ไม่ใช่ปัญหาในระดับการออกแบบ
พูดกันตรง ๆ ว่าตอนนี้เวลาพัฒนา Java ก็ไม่จำเป็นต้องใช้ผลิตภัณฑ์ของ JetBrains ก็ได้
แต่ทุกคนก็ใช้กันแบบนั้นอยู่ดี
แล้วถ้าดูรายชื่อภาษาโปรแกรมมิงในยุคที่ Java ออกมา จะเห็นว่าส่วนใหญ่เป็นภาษาที่มีการพึ่งพาแพลตฟอร์ม หรือก็คือมี implementation ที่ผูกกับ OS อยู่มาก
Java ต่างหากที่แสดงให้เห็นทิศทางที่ภาษาต่าง ๆ อย่าง Node, Python และ C# จะมุ่งไป คือการรันบน OS ที่หลากหลายได้ด้วยโค้ดชุดเดียว
พอมาถึงยุคปัจจุบัน ความเข้ากันได้ที่ทำให้โค้ดชุดเดียวรันได้บน OS ที่หลากหลายกลายเป็น "สามัญสำนึก" ไปแล้ว
> พูดกันตรง ๆ ตอนนี้ต่อให้พัฒนา Java ก็ไม่ได้จำเป็นต้องใช้ผลิตภัณฑ์ของ JetBrains เสมอไป
ตรงส่วนนี้... ค่อนข้างเห็นด้วยได้ยากนิดหน่อยนะ ฮือ...
ตอนนี้มันอาจกลายเป็นเรื่องธรรมดาไปแล้ว
แต่ในช่วงที่ Java ออกมาใหม่ ๆ แค่การรองรับหลายแพลตฟอร์มได้อย่างเสถียรโดยไม่ต้องมีการบิลด์ใหม่ ก็ช่วยเพิ่มประสิทธิภาพการทำงานได้มากพอสมควร! ไม่ใช่หรือครับ
เมื่อเทียบกับภาษาก่อนยุค Java ก็ดูเหมือนว่าจะมีประสิทธิภาพในการพัฒนาที่ดีกว่า
c++ > c# >= java
C# >= Java > C++
ความคิดเห็นจาก Hacker News
java.util.concurrentหรือ JCToolsมีสาวก C# แฝงตัวอยู่ตรงกลางนะ