นั่งกินข้าวกับ PM ตอนเลิกงาน

นั่งคุยกันจนมาถึงหัวข้อนี้ ผมบอกว่าการเขียนโปรแกรมเป็นศิลปะ

พี่เอ็ม(PM :D) บอกว่าไม่ใช่ การเขียนโปรแกรมคือการแก้โจทย์ มันไม่มีอะไรเป็นศิลปะ
นั่งคุยกันนาน ยกเหตุผลต่างๆนาๆ

แล้วผมก็
อยากรู้ว่าโปรแกรมเมอร์คนอื่น มีใครมองการเขียนโปรแกรมเป็นศิลปะ หรือว่าไม่เป็นศิลปะบ้าง

Hiring! บริษัทที่น่าสนใจ

Carmen Software company cover
Carmen Software
Hotel Financial Solutions
Next Innovation (Thailand) Co., Ltd. company cover
Next Innovation (Thailand) Co., Ltd.
We are web design with consulting & engineering services driven the future stronger and flexibility.
KKP Dime company cover
KKP Dime
KKP Dime บริษัทในเครือเกียรตินาคินภัทร
Kiatnakin Phatra Financial Group company cover
Kiatnakin Phatra Financial Group
Financial Service
Fastwork Technologies company cover
Fastwork Technologies
Fastwork.co เว็บไซต์ที่รวบรวม ฟรีแลนซ์ มืออาชีพจากหลากหลายสายงานไว้ในที่เดียวกัน
Thoughtworks Thailand company cover
Thoughtworks Thailand
Thoughtworks เป็นบริษัทที่ปรึกษาด้านเทคโนโยลีระดับโลกที่คว้า Great Place to Work 3 ปีซ้อน
Iron Software company cover
Iron Software
Iron Software is an American company providing a suite of .NET libraries by engineer for engineers.
CLEVERSE company cover
CLEVERSE
Cleverse is a Venture Builder. Our team builds several tech companies.
Nipa Cloud company cover
Nipa Cloud
#1 OpenStack cloud provider in Thailand with our own data center and software platform.
Bangmod Enterprise company cover
Bangmod Enterprise
The leader in Cloud Server and Hosting in Thailand.
CIMB THAI Bank company cover
CIMB THAI Bank
MOVING FORWARD WITH YOU - CIMB is the leading ASEAN Bank
Bangkok Bank company cover
Bangkok Bank
Bangkok Bank is one of Southeast Asia's largest regional banks, a market leader in business banking
MuvMi (Urban Mobility Tech Co.,Ltd.) company cover
MuvMi (Urban Mobility Tech Co.,Ltd.)
Shape the future of urban mobility towards affordable, clean, and safe solutions
T.N. Digital Solution Co., Ltd. company cover
T.N. Digital Solution Co., Ltd.
TNDS has been involving in every first move of banking’s major digital transformation.
KBTG - KASIKORN Business-Technology Group company cover
KBTG - KASIKORN Business-Technology Group
KBTG - "The Technology Company for Digital Business Innovation"
Siam Commercial Bank Public Company Limited company cover
Siam Commercial Bank Public Company Limited
"Let's start a brighter career future together"
Icon Framework co.,Ltd. company cover
Icon Framework co.,Ltd.
Global Standard Platform for Real Estate แพลตฟอร์มสำหรับธุรกิจอสังหาริมทรัพย์ครบวงจร มาตรฐานระดับโลก
REFINITIV company cover
REFINITIV
The Financial and Risk business of Thomson Reuters is now Refinitiv
H LAB company cover
H LAB
Re-engineering healthcare systems through intelligent platforms and system design.
The Gang Technology Co., Ltd. company cover
The Gang Technology Co., Ltd.
We're a Digital Agency that helps our customers transform their business into digital with ease.
LTMH company cover
LTMH
LTMH มุ่งเน้นการพัฒนาผลิตภัณฑ์ที่สามารถช่วยพันธมิตรของเราให้บรรลุเป้าหมาย
Seven Peaks company cover
Seven Peaks
We Drive Digital Transformation
Wisesight (Thailand) Co., Ltd. company cover
Wisesight (Thailand) Co., Ltd.
The Best Choice For Handling Social Media · High Expertise in Social Data · Most Advanced and Secure
MOLOG Tech company cover
MOLOG Tech
We are Modern Logistic Platform, Specialize in WMS, OMS and TMS.
Data Wow Co.,Ltd company cover
Data Wow Co.,Ltd
We enable our clients to realize increased productivity by solving their most complex issues by Data
LINE Company Thailand company cover
LINE Company Thailand
LINE, the world's hottest mobile messaging platform, offers free text and voice messaging + Call
LINE MAN Wongnai company cover
LINE MAN Wongnai
Join our journey to becoming No.1 food platform in Thailand

สำหรับผมแล้วการเขียนโปรแกรมเป็นงานศิลปะครับ มันเป็นการสร้างสรรค์ที่งดงาม ทั้งความงดงามภายนอก(รูปแบบการเขียน) และความงดงามภายใน(ประสิทธิภาพ) ต่างก็เป็นสิ่งที่น่าหลงไหลอย่างยิ่ง ผมเชื่อว่าทุกศาตร์ในโลกนี้ล้วนก็เป็นศิลปะเช่นกัน ^^

ในอดีตสมัยยังไม่มี OOP การเขียนโปรแกรมถือเป็นงานศิลปะในการแก้ปัญหาครับ แต่ยุคนี้ไม่ใช่แล้ว ตั้งแต่มีวิชา Software Engineer ครับ การเขียนโปรแกรมเลยกลายเป็นงานวิทยาศาสตร์แทน

มันเป็นกรรมครับ

ทำอะไรเอาไว้ก็ต้องใช้กรรม เคยเขียนโค้ดไว้ปีก่อน วันนี้ต้องมีการแก้ไขโค้ด เปิดโค้ดมา ... อ้าว ... ตอนนั้นทำไมตรูเขียนแบบนี้เนี่ย แล้วส่วนนี้มันทำอะไรหว่า

เข้าเรื่อง

มันเป็นศาสตร์และศิลป์ครับ ส่วนตัวผมชอบเขียนให้มี readability สูง เว้นวรรค, indent อย่างดี ให้รู้ว่าโค้ดนี้อยู่ block นี้

เคยมั้ยครับต้องแก้ code ของคนอื่นที่ติดกันเป็นพรืด (vb) ไม่มี indent กว่าจะไล่จบว่า if นี้ไปจบที่ไหน do นี้ของ loop ไหนหาแทบตาย

บางคนเขียน if แบบไม่ปิด end if อีก ไล่กันไปเถอะครับ ตาแฉะ

PaPaSEK Thu, 19/01/2012 - 21:24

In reply to by mr_tawan

ฮา ... จริงๆ แล้วผมแก้ด้วยการใส่ Comment ครับ คือช่วงที่เป็นพนักงานใหม่ก็เลยอีโก้กับตัวเองจัดๆ พยายามเขียนโค้ดให้มันลึกล้ำ ไปๆ มาๆ มันกลายเป็น "ลึกลับ" ไปซะอย่างนั้น

จริงๆ แล้วผมเคยอ่านเล่มนี้ด้วยนะครับ The art of computer programming แต่อ่านไปได้ไม่เยอะครับ รู้สึกว่าตัวเองไม่เหมาะกับหนังสือแบบนี้อย่างแรง

ปล.หลายครั้งผมแอบหวังว่า Playground-Soft จะเปิดซอร์สนะ อิอิ

ก็เปิดแทบทุกตัวแหละครับ อ่านดี ๆ 555

ปล. หนังสือเล่มที่ผมแนะนำเขียนเอาไว้ว่า ไม่ควรเขียน comment ถ้าไม่จำเป็น เพราะการเขียน comment เป็นการแสดงออกว่าโค๊ดที่เราเขียนยังไม่ดีพอที่จะอ่านแล้วเข้าใจได้ว่าโค๊ดทำอะไรครับ

เจ็บไหม ? เรามารณรงค์เลิกการเขียนคอมเม้นท์ แล้วมาเขียนโค๊ดที่เข้าใจได้ง่ายตั้งแต่ต้นกันดีกว่า !

สำหรับผมต้องเขียนครับ เพราะโปรแกรมทางฝั่งโกดังต้องมีการเปลี่ยนแปลงตามความต้องการของลูกค้าที่ค่อนข้างบ่อย

ถ้าไม่ comment ไว้จะทำให้จำไม่ได้เลยว่าไอ้ที่เปลี่ยนมา 10 ครั้งนี่ทำไปเพราะอะไร

เคยมีกรณีพิพาทระหว่างบริษัทฯ กับลูกค้า ลูกค้าบอกว่าทำไมโปรแกรมของเราทำงานผิด บลาๆๆ ผมนั่งไล่โค้ดเจอ comment บอกรายละเอียดไว้เลยว่าแก้ไขโค้ดวันไหน เพราะอะไร ลูกค้าชื่ออะไรเป็นคนขอ อ้างอิงอีเมล์ไหน

CVS, Versioning, Version Control เป็นเรื่องที่ผมติดค้างตัวเองมานานมากเลยครับ ผมยังไม่ได้เริ่มศึกษาเลย การทำ Version control ของผมห่วยมากๆ

ยอมรับผิดเต็มๆ ครับ

ใช้ git แล้วจะหนุกหนานครับ ไม่แน่ใจว่าจะพัฒนาแยกไหมก็แตก branch แตกไปแตกมา สับสนไม่รู้จะ merge ตัวไหนดีก็กลับมาไล่อ่าน commit ได้ มันหนุกหนานมากๆ ผมใช้ท้อถอยกิต (TortoiseGit)

เขียนเองใช้เองก็ไม่มีปัญหาอะไรที่จะไม่ comment ครับ แต่ถ้าเป็นซอฟท์แวร์ที่ต้องใช้งานยาวๆ ยังไงก็ต้องมีอยู่ดี ไม่งั้นล่ะก็ประสาทกินขอรับ -*-

ผมรณรงค์ให้เขียน Doc ดีๆ ผมไม่แน่ใจกับภาษาอื่น แต่อย่าง PHP ผมเขียนบน Netbeans เวลาจะเขียน Lib ใหม่ ต้องเขียน PHPDoc แนบมันทุก Method เลยทีเดียว เพราะเวลาใช้ Autocomplete มันจะสะดวกมาก พัฒนาไว รวมถึงเราไม่ต้องไปไล่โค้ดว่ามันเป็น method อะไร รับค่าอะไร คืนค่าอะไร ไม่งั้นปวดหัวตาย

ทุกวันนี้ใช้ Codeigniter นี้แทบไม่เปิด User Guide ไม่เปิด PHP.net เพราะ Autocomplete+PHPDoc นี้แหละ

เรื่อง Comment ผมยังมองว่าจำเป็นในบางครั้ง โดยเฉพาะกับคนที่ไม่ได้ใช้ IDE เพราะจะไล่กันไม่ถูกเลยว่าส่วนนี้รับค่าจากไหนมา เป็นชนิดแบบไหน แล้วเราจะไม่สามารถควบคุม Error ที่จะเกิดขึ้นได้เลย

ผมก็แนวๆนี้
เขียน comment เฉพาะ code ประหลาดๆ ที่มีเหตุผลรองรับเช่น performance
ส่วน code ปกติเขียนเป็น self documente

เวลาตั้งชื่อ method หรือ variable นี่ตั้งยาวๆให้อ่านออกไปเลย

สรุป ใช้เวลาทำงานมากขึ้น -_-"
หวังว่าชินแล้วจะเผางานได้ไว เช่นเดิม

แต่ก็มีข้อดี คือไม่ต้องแก้กรรมบ่อย 55

ศิลปะในเชิงของผมมันรวมหมดเลยนะครับ

คือมันต้องมีทุกอย่างรวมอยู่ในนั้น มันถึงจะเรียกได้ว่า "งานศิลปะ"

เหมือนกับ code ของ Drupal ซึ่งผมดูแล้วก็รู้สึกได้ว่า "นี่แหละงานศิลปะ"

WordPress เว้นซะงงครับ แต่ว่าผมถือว่า WordPress งดงามในด้านความกะทัดรัดของโค้ดนะครับ แล้วก็กินทรัพยากรต่ำ

Drupal นี่ติดตั้งแชร์โฮสท์หลายๆ ที่ไม่ได้นะครับ มันคาที่เลย

สำหรับผมมันคืองานดนตรี ที่มีท่วงทำน้องแห่งเสียงคีย์บอร์ด กรีดร้องออกเป็นโน๊ต(โค๊ด) ได้อย่างลงตัวและสวยงาม โอ้มายยยก๊ออออด เออเรอ อีกแหละ.....

การเขียนโปรแกรมจาก flow เป็นการแก้โจทย์

การออกแบบ flow โปรแกรมเป็นศิลปะ

แก้ flow ที่ไม่เคลียใช้ทั้งศาสตร์และศิลป

tamujin Thu, 19/01/2012 - 01:11

ผมเป็น programmer แต่ผมรู้สึกว่าผมไร้ซึ่งศิลปะมากๆ พยายามฝึกอยู่คับ ผมคิดว่าการเขียนโปรแกรมมันหลักตายตัวนะครับ ไม่ใช่ศิลปะ ศิลปะที่ผมคิดคือ โปรแกรมของผมจะต้องเป็นยังไงบ้าง วาดฝันน่ะครับว่ามันต้องทำอย่างโน้นอย่างนี้ได้ ทุกครั้งที่เขียนโปรแกรมผมนึกอยู่อย่างเดียวว่ามันเป็นวิธีที่ดีที่สุดหรือป่าว แสดงว่ามันมีคำตอบของมันอยู่แค่เราหาไม่เจอ ผมถือว่ามันไม่ใช่ศิลปะคับ

ถ้าโจทย์เดียวกันแต่เขียนได้ 10 รูปแบบ

คนที่เขียนได้ดีที่สุด และงดงามที่สุด ใกล้เคียงทฤษฎีที่สุด แถมทำงานในทางปฏิบัติได้มีประสิทธิภาพมากที่สุด

แบบนี้ไม่เรียกว่างานศิลปะหน่อยเหรอครับ

คงมีแต่โปรแกรมเมอร์ที่อาจจะคิดว่า เขียนโปรแกรมเป็นศิลปะ

แต่คนอื่น รวมถึงคนที่สั่งให้โปรแกรมเมอร์เขียน ไม่มีใครมองแบบนั้นครับ

โปรแกรมที่ดีต้องอยู่บนวิศวกรรม ที่ยอดเยียมซึ่งตรงข้ามกับศิลปะโดยสิ้นเชิง

โปรแกรมที่ดี efficiency ต้อง 100% โดยที่กิน resource ให้น้อยที่สุด และไม่มี waste

  • การแก้โจทย์ปัญหาคือเป้าหมาย ไม่ว่าเครื่องมือ,เครื่องใช้ใดๆ ถูกสร้างสรรค์ขึ้นมาย่อมมีเป้าหมายในการใช้งาน ดินสอ, หนังสือ, จรวด, ดาวเทียม
  • รายละเอียดทั้งภายนอกและภายในถ้าใส่ใจและพิถีพิถันกับมันสิ่งนั้นก็เป็นศิลปะขึ้นมาได้
  • วิศวกรรมและทั้งประติมากรรมใดๆ ที่สร้างอย่างไร้ศิลปก็มักจะเลือนหายไปตามเวลา
  • มีแต่วิศวกรรมและประติมากรรมที่หลอมรวมกับศิลปะอย่างลงตัวที่โดดเด่นจนเป็นที่จดจำข้ามกาลเวลา

อาหารที่ไม่มีใครกล้าตักเพราะรูปลักษณ์เหลือทน ก็หมดโอกาสจะแสดงรสชาติและคุณค่าในตัวอาหารจานนั้นไปแล้ว แม้รสชาติและคุณค่าจะวิเศษล้ำเลิสแค่ไหนก็ตาม

จากประสบการณ์ของตัวผมเอง ผมเคยได้ยินมาเหมือนกันว่า "การเขียนโปรแกรมคืองานศิลปะ" แต่ไม่เคยเจอกับตัวเอง จนกระทั่งวันหนึ่งผมสามารถเข้าใจโค้ดของระบบตัวหนึ่งที่เขียนด้วย Java (เป็น Spring + Hibernate) ได้เห็นการออกแบบ Class และ Interface อย่างมีชั้นเชิง ได้เห็นวิธีการสื่อสารกันของ Object แต่ละตัว รูปแบบการส่งสารรับสารมันพริ้วเหมือนสายน้ำไหล ผมได้แต่นั่งนิ่ง ดื่มด่ำกับความงามที่เห็นตรงหน้า นับแต่นั้นมาผมก็เชื่ออย่างสนิทใจว่าเราสามารถใส่ศิลปะลงไปในโค้ดโปรแกรมได้ นี่เป็นการเห็นความงามครั้งแรก ซึ่งเป็นความงามจากการออกแบบระบบ ไม่ใช่ความงามของตัวภาษา Java

โลกศิลปะของผมถูกสั่นสะเทือนอีกครั้งเมื่อผมได้มารู้จักกับภาษา Ruby ... ข้างล่างนี้คือโค้ดภาษา Ruby ที่ถูกไวยากรณ์

for you in my_girlfriends
  kiss me if you.want?
  10.times { make_love me } unless you.menstruating?
end

นี่คือตัวอย่างความงามทางไวยากรณ์ของภาษา Ruby ที่สะกดผมในครั้งแรกที่เห็น ยิ่งพอมีโอกาสได้อ่านโค้ดโปรแกรมหลายๆ ตัวที่เขียนโดยคนที่ออกแบบซอฟต์แวร์เป็นและเข้าใจ Ruby จริงๆ ก็ยิ่งทำให้ผมหลงรักภาษา Ruby มากขึ้นเรื่อยๆ ผลผลิตจากความงามนี้ได้กลายมาเป็นความคิดสร้างสรรค์และแรงบันดาลใจให้นักพัฒนาจำนวนหนึ่ง จนเป็นที่มาของ Ruby on Rails และพันธมิตรอีกจำนวนมหาศาล

จริงอยู่ว่าการเขียนโปรแกรมคือการแก้โจทย์ปัญหา แต่เราก็สามารถแก้ปัญหาอย่างมีชั้นเชิงทางศิลปะได้นี่นา ดูเหมือนว่าจะเราจะเข้าใจความสัมพันธ์ระหว่าง "ระบบระเบียบ" กับ "ความงาม" ผิดไปนะครับ

ศิลปะในความหมายแบบง่ายๆ หมายถึง "ความงาม" ไม่ว่าจะงามทางหู ตา จมูก ลิ้น กาย ก็เรียกศิลปะได้ทั้งนั้น จุดสำคัญคือมันเข้าถึงใจเราหรือเปล่า

"Beauty is in the eye of the beholder" งามไม่งามมันก็ขึ้นอยู่กับคนมองล่ะครับ ศิลปะมันคือความสามารถในการเข้าถึงและเข้าใจ อย่างน้อยก็มีผมคนหนึ่งที่ไม่เห็นความงามในหนังของพี่เจ้ย หรือแม้แต่ภาพวาดของแวนโก๊ะ

ขอบคุณที่อ่านจนจบ พอดีอยากเขียนแสดงความคิดเห็นมากๆ :)

อ่านแล้วนึกถึง The Tao Of Programming
ตอนที่ปรมจารย์เขียนโปรแกรมพลิ้วไหวดั่งสายน้ำ ราบลื่นประดุจสายลมโชย และคอมไพล์ทีเดียวผ่านประหนึ่งพระเจ้ากำหนดไว้แล้ว

คำเดียวกันแหละครับ เค้าตั้งใจด้วย เพราะการรักษาเป็นศิลปะ ไม่มีถูกหรือผิด หมอสองคนก็จัดฟันได้ไม่เหมือนกัน

เขียนโปรแกรมเป็นงาน สถาปัตยกรรม ครับ เพราะรวมทั้ง วิศวกรรม และ ศิลปกรรม เข้ามาด้วยกัน คล้ายๆสร้างตึกหลังนึงน่ะครับ

การเขียนโปรแกรมเป็นศิลปะ มันมีความสวยงามของ architecture ของเฟรมเวิร์ก, ความเป็นระเบียบเรียบร้อยในการเพิ่มเติมเสริมความสามารถ, ปัญหาเดียวกันสามารถมี solution ได้หลายแบบ แต่ละแบบสะท้อนถึงภูมิปัญญา,ประสบการณ์,ทักษะของผู้พัฒนา

แต่การพัฒนาระบบมันเป็น commercial art มันต้องจบในเวลา,ในงบประมาณที่ลูกค้า,กับเจ้านายพอใจ จะเอาเรื่องนี้มาเป็นสาเหตุให้นั่งรอบิลด์อารมณ์ อันนี้ไม่ได้

และถึงแม้องค์ความรู้การสร้างซอฟท์แวร์มันเป็นเรื่องใหม่ เกิดขึ้นไม่เกิน 50 ปีมานี้ ไม่เหมือนกับการก่อสร้างต่างๆ แต่ปัจจุบันการพัฒนาซอฟท์แวร์มันเริ่มมีองค์ความรู้ วิชาการมาจับ จนเริ่มเป็นศาสตร์ไปแล้วครับ (software engineering)

เช่นกัน ศิลปินหลายคน ถ้าไม่ใช่ท็อปจริงๆ มันก็ต้องศิลปะเชิงพาณิชย์ครับ คนเราต้องกินต้องใช้จะอุดมการณ์จ๋า จะรอให้ความคิดตกผลึก,รอแรงบันดาลใจ,เขียนงานเพื่อความพอใจของตัวเองแต่ไม่เป็นที่ต้องการของตลาดหรือลูกค้า,ฯลฯ ไปตลอดก็จะไม่มีกินเอา

เป็นอย่างไม่ต้องสงสัย. ศิลปกรรมในการเขียนให้อ่านง่ายและใช้งานได้อย่างปลอดภัย + วิศวกรรมในการสร้างทำงานให้เครื่องจักรมันทำงานไวๆและให้มีบั๊คน้อยสุด.

+1 ครับ

สร้างบ้านโดยที่ไม่มีสถาปนิก ก็สร้างได้ อยู่ได้ แต่ใช้ไปแล้วไม่มีความสุข
การเขียนโปรแกรมก็เช่นกัน ถ้าไม่มีการ design flow ของระบบ เขียนต่อกันไปเรื่อยๆจนโค้ดบวม ก็เหมือนบ้านที่มันรก ไม่น่าอยู่

มันเป็นศิลป์ครับ คือ ไม่ใช่แค่ศาสตร์ หรือแค่การแก้ปัญหา การตัดสินใจหลาย ๆ อย่างจะต้องเอาเหตุผลมาชั่งน้ำหนักกัน เราไม่สามารถที่จะเอาทฤษฎีหรือกฎข้อไหนมาใช้แล้วสามารถแก้ปัญหาได้หมดทุกข้อ การเลือกเอากฎหรือวิธีการ (methodology) มาใช้เป็นศิลปะครับ เป็นศิลปะขั้นสูงเลยด้วยซ้ำ จริงๆ แล้ว

มันอยู่ที่ว่า .. เราจะทำให้มันเป็นการสร้างสรรค์(ศิลปะ) หรือว่า จะทำให้เราเป็นเหมือน กรรม(กร) .. ก็ได้ครับ
แต่ควรเลือกอย่างแรกครับ ^^

ผมมองว่าโดยเนื้องานการโปรแกรมคือศาสตร์ แต่ "คน" เขียนโปรแกรมต่างหากที่ทำให้มันเป็นศิลป์

ต่อให้งานนั้นมันมี requirement ที่ตายตัว เขียนตามนั้นเป๊ะๆก็จบงานได้ แต่ถ้าคนเขียนโปรแกรมเพิ่มรายละเอียดของงานเล็กน้อยเช่น เพิ่ม animation ให้สวยงามขึ้น หรือปรับแต่ง interface ให้ผู้ใช้งานได้ง่ายขึ้น ผมว่ามันคือส่วนที่เป็นศิลป์ที่ทำให้โปรแกรมเมอร์แต่ละคนแตกต่างกัน

อ่า ... คิดเหมือนกัน ตอนกำลังนั่งให้ห้องน้ำก็คิดแบบนี้ครับ

คือการเขียนโปรแกรมไม่ใช่ศิลปะ แต่การเขียนให้ดี (วิธีการ, algorithm) นั่นแหละคือศิลปะ

จริง ๆ ก็แทบทุกอย่างแหละครับ ที่วิธีการมันเป็นศาสตร์ แต่การเลือกใช้วิธีการมันเป็นศิลป์

คนที่สามารถใช้ศิลป์ได้อย่างมีประสิทธิภาพนั่นแหละครับคืออัจฉริยะ ลำพังมีแค่ศาสตร์มันไม่เพียงพอ

พูดได้โดนใจมากครับ อยากจะกระโดดจูบสักที

คือผมคิดคำอธิบายแบบนี้ไม่ออก นี่แหละสิงที่พยายามจะบอก

คนวาดงานศิลป์คิดว่าไงครับ

ปล.ผมชอบงานสีน้ำของคุณลิงใจดีมากๆ ติดตามใน exteen มานาน แต่ช่วงหลังเห็นยุคแรกเริ่มกำลังหายไปหลายคน

ไม่แน่ใจครับ ชั่วโมงบินไม่สูงพอ

แต่ JavaScript, CSS, HTML5 เนี่ย ก็อาร์ทดีนะ

PaPaSEK Fri, 20/01/2012 - 23:14

In reply to by Bank14

JavaScript กับ Ruby นี่เขียนแล้วทำให้มองทุกอย่างเป็น object ได้ดีมากๆ เลยครับ ส่วนตัวชอบ JavaScript และมีท่าน John Resig เป็น idol ของวงการ JavaScript

เคยอ่านเจอเรื่อง How To Write Unmaintainable Code
ไม่รู้ว่าชีวิตจริงจะมีคนเขียนให้ได้ตาม concept พวกนี้ได้หรือเปล่า

ส่วนเรื่องศิลปะในการเขียน มันเป็นความลุ่มลึกและไหลลื่นของระเบียบวิธีการทั้งในเบื้องหน้าและ
เบื้องหลังที่กลั้นกรองมาจากกึ๋นของคนเรา
จะเขียนอย่างไรถึงจะหมดจด?
จะเขียนอย่างไรให้สั้นที่สุดแต่ทำงานเร็วที่สุด?
เขียนอย่างไรให้ตัวโค้ตสามารถมีชีวิตอยู่ได้อีก 10 ปี โดยไม่มีใครมาแก้มันอีก?
กี่ครั้งที่เราต้องนั่งคิดๆๆ แก้ปัญหาชนิดที่ว่าอ้อมโลก เขียนโค๊ต100 บรรทัด เพื่อให้ได้ผลลัพธ์อันเดียว?

สุดท้ายผมมองว่า มันคือศาสตร์(กฏเกณท์ ระเบียบวิธี เทคนิคต่างๆ ที่สั่งสมถ่ายทอดกันมาเป็น 10ๆ ปี และไม่มีวันผิด)
และศิลป์(ความเป็นเอกเทศของแนวทางการเขียน ลูกเล่นต่างๆที่คิดเขียนกันขึ้นมาจากประสบการณ์ที่สั่งสม โดยมีพื้นฐานมาจากศาสตร์ ) ที่ไม่ต่างอะไรจากเพลง jazz การเล่นเป็นวงไม่ต่างอะไรจากการเขียนเป็นทีม ทุกคนมีลีลาเป็นของตัวเอง
แต่สามารถบรรเลงประสานกันได้อย่างลงตัว

ศิลปะ มันอยู่เหนือเหตุและผล และไม่ต้องการคำอธิบายใดๆ

หึหึ......"เขียนโปรแกรม ฉันจะเขียนอย่างนี้ มีปัญหามั้ย ของเธออยากเขียนอะไรแบบไหนมันก็เรื่องเธอ

แต่เธอต้องแก้เออเร่อในแบบที่ฉันเขียนมาอย่างนี้ให้คอมไพล์ได้ เข้าใจมั้ย !!!"

อาร์ตมว๊ากกกกกกกกกกกกกก

เคยโดนมั้ยล่ะ หนุ่มๆ หึหึ

ในเชิงทรัพย์สินทางปัญญา ซอฟต์แวร์ถือเป็นงานวรรณกรรมไม่ใช่เหรอครับ (ผมเคยอ่านเจอนานแล้วนะ ถ้าผิดพลาดขออภัย)