การเป็นโปรแกรมเมอร์เป็นกระบวนการสะสมที่สร้างทักษะของคุณวันแล้ววันเล่าและปีแล้วปีเล่า และการเขียนโปรแกรมสามารถสนุกและให้รางวัล (ทั้งทางจิตใจ จิตวิญญาณ และการเงิน) คู่มือนี้ไม่ได้ให้คำมั่นว่าจะให้วิธีง่ายๆ อย่างน่าอัศจรรย์ในการเป็นโปรแกรมเมอร์ และการเรียงลำดับขั้นตอนก็ไม่ศักดิ์สิทธิ์ แต่คุณจะได้ทราบโครงร่างทั่วไปของการเป็นโปรแกรมเมอร์ในสาขาการเขียนโปรแกรมสมัยใหม่
ขั้นตอน
ขั้นตอนที่ 1 เรียนหลักสูตรเบื้องต้นในหนึ่ง (หรือทั้งหมด) ของสาขาวิชาต่อไปนี้:
- ตรรกะ
- คณิตศาสตร์ไม่ต่อเนื่อง
- ภาษาการเขียนโปรแกรม (มีส่วนร่วมในกระบวนทัศน์การเขียนโปรแกรมที่แตกต่างกันโดยเริ่มจากลำดับ/ขั้นตอนไปจนถึงเชิงวัตถุ หลังจากการเขียนโปรแกรมเชิงฟังก์ชันและเชิงตรรกะ ควรใช้ Ruby/ Python/Pascal สำหรับผู้เริ่มต้นและหลังจากเข้าใจดีแล้ว ให้เจาะลึกลงไปใน C++/C#/Java)
เคล็ดลับจากผู้เชี่ยวชาญ
Gene Linetsky, MS
Startup Founder & Engineering Director Gene Linetsky is a startup founder and software engineer in the San Francisco Bay Area. He has worked in the tech industry for over 30 years and is currently the Director of Engineering at Poynt, a technology company building smart Point-of-Sale terminals for businesses.
Gene Linetsky, MS
ผู้ก่อตั้งและผู้อำนวยการด้านวิศวกรรมของสตาร์ทอัพ
อย่ารู้สึกว่าคุณต้องได้รับปริญญาด้านการเขียนโปรแกรม
แม้การเรียนหลักสูตรในภาษาการเขียนโปรแกรมจะมีประโยชน์ แต่ Gene Linetsky วิศวกรซอฟต์แวร์และผู้ก่อตั้งสตาร์ทอัพกล่าวว่า:"
ขั้นตอนที่ 2 เรียนรู้แนวคิดฐานข้อมูล เช่น ตาราง มุมมอง/แบบสอบถาม และขั้นตอน
คุณสามารถใช้แพ็คเกจฐานข้อมูลอย่างง่ายเพื่อทำสิ่งนี้ เช่น:
- MS Access
- DB V
- Fox Pro
- Paradox
- MySQL เป็นฐานข้อมูลที่ดีในการเรียนรู้เพราะฟรี ใช้กันทั่วไป และเข้าถึงฐานข้อมูลได้ทั่วไปด้วยการสืบค้น SQL
ขั้นตอนที่ 3 ตัดสินใจว่าคุณต้องการเป็นโปรแกรมเมอร์ประเภทใด
โปรแกรมเมอร์มักจัดอยู่ในประเภทใดประเภทหนึ่งต่อไปนี้:
- โปรแกรมเมอร์เว็บ
-
โปรแกรมเมอร์แอปพลิเคชันเดสก์ท็อป
- โปรแกรมเมอร์เชิงระบบปฏิบัติการ (OS) (เชื่อมโยงกับระบบปฏิบัติการเดียวหรือชุดระบบปฏิบัติการ)
- โปรแกรมเมอร์ที่ไม่ขึ้นกับแพลตฟอร์ม
- โปรแกรมเมอร์แอพพลิเคชั่นแบบกระจาย
- ห้องสมุด/แพลตฟอร์ม/กรอบงาน/โปรแกรมเมอร์หลัก
-
โปรแกรมเมอร์ระบบ
- โปรแกรมเมอร์เคอร์เนล
- โปรแกรมเมอร์ไดรเวอร์
- โปรแกรมเมอร์คอมไพเลอร์
- นักวิทยาศาสตร์การเขียนโปรแกรม
ขั้นตอนที่ 4 เรียนรู้เทคโนโลยีและภาษาการเขียนโปรแกรมที่เกี่ยวข้องกับสาขาการเขียนโปรแกรมที่คุณเลือก
ส่วนต่อไปนี้จะแบ่งงานสำหรับการเขียนโปรแกรมประเภทต่างๆ
วิธีที่ 1 จาก 6: การเขียนโปรแกรมเว็บ
ขั้นตอนที่ 1 รู้ว่าการเขียนโปรแกรมเว็บเกี่ยวข้องกับอะไร
เว็บแอปพลิเคชันเป็นส่วนประกอบซอฟต์แวร์ที่ออกแบบมาเพื่อทำงานบนสถาปัตยกรรมอินเทอร์เน็ต ซึ่งหมายความว่ามีการเข้าถึงแอปพลิเคชันผ่านซอฟต์แวร์เว็บเบราว์เซอร์ เช่น Firefox หรือ Internet Explorer การสร้างบนสถาปัตยกรรมอินเทอร์เน็ตไม่จำเป็นต้องมีการเชื่อมต่ออินเทอร์เน็ตที่ใช้งานอยู่ หมายความว่าเว็บแอปพลิเคชันสร้างขึ้นจากเทคโนโลยีเว็บมาตรฐานเช่น:
- HTTP
- FTP
- POP3
- SMTP
- TCP
- โปรโตคอล IP
- HTML
- XML
- Coldfusion
- งูเห่า
- JSP
- PHP
- ASP. NET
ขั้นตอนที่ 2 เรียกดูเว็บไซต์ที่หลากหลายเพื่อเรียนรู้ว่าพวกเขามักจะมีลักษณะอย่างไร
(คลิกขวา จากนั้นคลิก View Source หรือกด F12) มองหาความหลากหลายในประเภท/เนื้อหาของเว็บไซต์ ไม่ใช่จำนวนเว็บไซต์ที่เข้าชม โดยทั่วไป คุณจะต้องเข้าชมเว็บไซต์ประเภทใดประเภทหนึ่งต่อไปนี้อย่างน้อยหนึ่งแห่ง:
- ไซต์แสดงตนขององค์กร (บริษัทการค้า องค์กร/องค์กรที่ไม่แสวงหาผลกำไร องค์กรภาครัฐ)
- เครื่องมือสร้างดัชนีเว็บ (เสิร์ชเอ็นจิ้น ไซต์ค้นหาเมตา เครื่องมือค้นหาเฉพาะ ไดเร็กทอรี)
- ไซต์การขุดข้อมูล
- เว็บไซต์ส่วนตัว
- หน้าข้อมูล/สารานุกรม (วิกิ, เอกสารข้อมูล, ข้อกำหนดทางเทคนิค, ไดเรกทอรีรายชื่อคู่มือ, บล็อกและวารสาร, ไซต์ข่าวและสำนักข่าว, สมุดหน้าเหลือง ฯลฯ)
- ไซต์โซเชียล (พอร์ทัลโซเชียล ไซต์บุ๊กมาร์ก ไซต์จดบันทึก)
- ไซต์การทำงานร่วมกัน (รวมถึงหมวดหมู่อื่นๆ ที่กล่าวถึงข้างต้น เช่น Wiki และบล็อก)
ขั้นตอนที่ 3 เรียนรู้เทคนิค/วิธีการระดมความคิดอย่างน้อยหนึ่งอย่าง และซอฟต์แวร์ที่ใช้ในการปรับใช้วิธีการนั้น
ตัวอย่างเช่น การระดมสมองไดอะแกรมและ MS Visio
ขั้นตอนที่ 4 ทำความคุ้นเคยกับโครงสร้างเว็บไซต์
นี่คือการสร้างไดอะแกรมเว็บแนวคิด แผนผังเว็บไซต์ และโครงสร้างการนำทาง
ขั้นตอนที่ 5. เรียนหลักสูตรเร่งรัดเกี่ยวกับการออกแบบกราฟิก
พยายามเรียนรู้แพ็คเกจซอฟต์แวร์แก้ไข/จัดการกราฟิกอย่างน้อยหนึ่งชุด (ไม่บังคับ แต่ขอแนะนำอย่างยิ่ง)
ขั้นตอนที่ 6 เรียนรู้พื้นฐานของโครงสร้างพื้นฐานอินเทอร์เน็ต
ซึ่งรวมถึงการรับแนวคิดพื้นฐานเกี่ยวกับ:
- โปรโตคอลบริการเว็บพื้นฐาน (HTTP, FTP, SMTP และ POP3 หรือ IMAP4)
- ซอฟต์แวร์เว็บเซิร์ฟเวอร์ (ควรเป็นซอฟต์แวร์สำหรับแพลตฟอร์มที่คุณจะใช้งานเป็นส่วนใหญ่)
- ซอฟต์แวร์ท่องเว็บ
- ซอฟต์แวร์เซิร์ฟเวอร์อีเมลและไคลเอนต์
ขั้นตอนที่ 7 เรียนรู้ภาษา HTML และ CSS
คุณอาจต้องการรับแพ็คเกจซอฟต์แวร์ "สิ่งที่คุณเห็นคือสิ่งที่คุณได้รับ (WYSIWYG)" สำหรับการแก้ไข HTML
ขั้นตอนที่ 8 เรียนรู้เทคโนโลยีที่เกี่ยวข้องกับ XML และ XML เช่น XSL และ XPath (ไม่บังคับ แต่แนะนำ)
ขั้นตอนที่ 9 สร้างเว็บไซต์แบบสแตติกอย่างง่าย จนกว่าคุณจะคุ้นเคยและคุ้นเคยกับ HTML
ขั้นตอนที่ 10. เรียนรู้ภาษาสคริปต์ฝั่งไคลเอ็นต์
ผู้ใช้ส่วนใหญ่เรียนรู้ JavaScript บางคนเรียนรู้ VBScript แต่สิ่งนี้เข้ากันไม่ได้กับเบราว์เซอร์ส่วนใหญ่
ขั้นตอนที่ 11 ทำความคุ้นเคยกับภาษาสคริปต์ฝั่งไคลเอ็นต์ที่คุณเรียนรู้
พยายามเข้าถึงศักยภาพของคุณโดยใช้ภาษานั้นเท่านั้น ไปที่ขั้นตอนต่อไปหลังจากที่คุณได้คุ้นเคยกับภาษาสคริปต์ฝั่งไคลเอ็นต์ของคุณเป็นอย่างน้อย
ขั้นตอนที่ 12 เรียนรู้ภาษาการเขียนโปรแกรมฝั่งเซิร์ฟเวอร์อย่างน้อยหนึ่งภาษา
หากคุณเลือกที่จะจำกัดตัวเองให้อยู่ในซอฟต์แวร์เซิร์ฟเวอร์เดียว ให้เรียนรู้ภาษาการเขียนโปรแกรมภาษาใดภาษาหนึ่งที่ซอฟต์แวร์นั้นรองรับ ถ้าไม่ ให้เรียนรู้ภาษาการเขียนโปรแกรมอย่างน้อยหนึ่งภาษาในซอฟต์แวร์เซิร์ฟเวอร์แต่ละตัว
ขั้นตอนที่ 13 สร้างโครงการนำร่อง สำหรับตัวคุณเองหลังจากที่คุณเรียนภาษาโปรแกรมฝั่งเซิร์ฟเวอร์เสร็จแล้ว
ขั้นตอนที่ 14 รับเว็บไซต์ของคุณเองและเริ่มทดลองออนไลน์ภายในหน้าของคุณเอง
วิธีที่ 2 จาก 6: การเขียนโปรแกรมแอปพลิเคชันเดสก์ท็อป
ขั้นตอนที่ 1 รู้ว่าคุณกำลังทำอะไรกับการเขียนโปรแกรมแอปพลิเคชันเดสก์ท็อป
โปรแกรมเมอร์เดสก์ท็อปส่วนใหญ่เขียนโค้ดสำหรับโซลูชันทางธุรกิจ ดังนั้นการได้แนวคิดเกี่ยวกับธุรกิจ โครงสร้างองค์กร และการเงินจะช่วยประหยัดเวลาได้มาก
ขั้นตอนที่ 2 เรียนรู้เกี่ยวกับสถาปัตยกรรมฮาร์ดแวร์คอมพิวเตอร์แบบต่างๆ
หลักสูตรระดับเบื้องต้นในการออกแบบวงจรดิจิทัลและหลักสูตรอื่นในสถาปัตยกรรมคอมพิวเตอร์มีประโยชน์ อย่างไรก็ตาม บางคนมองว่าเป็นขั้นสูงสำหรับจุดเริ่มต้น ดังนั้นการอ่านบทความแนะนำ 2-3 บทความ (เช่น บทความนี้และบทความนี้) อาจเพียงพอ จากนั้นคุณสามารถกลับไปที่ขั้นตอนนี้ได้ในภายหลัง หลังจากที่คุณเรียนรู้ภาษาการเขียนโปรแกรมภาษาแรกของคุณแล้ว
ขั้นตอนที่ 3 เรียนรู้ภาษาโปรแกรมระดับเริ่มต้น (สำหรับเด็ก)
อย่าอายที่จะเรียนรู้ภาษาดังกล่าวเพียงเพราะคุณอายุมากกว่าการถูกเรียกว่า "เด็ก" ตัวอย่างของภาษาโปรแกรมเหล่านี้อาจเป็น Scratch ภาษาโปรแกรมเหล่านี้สามารถบรรเทาความเจ็บปวดในการเรียนรู้ภาษาโปรแกรมแรกของคุณได้อย่างมาก อย่างไรก็ตาม ขั้นตอนนี้เป็นทางเลือก นอกจากนี้ยังสามารถทำได้ก่อนขั้นตอนก่อนหน้า
ขั้นตอนที่ 4 รับคำแนะนำเกี่ยวกับขั้นตอน, เชิงวัตถุ, และ กระบวนทัศน์การเขียนโปรแกรมเชิงฟังก์ชัน
ขั้นตอนที่ 5. เข้าเรียนหลักสูตรเบื้องต้นในภาษาการเขียนโปรแกรมเชิงขั้นตอน
ไม่ว่าคุณจะเลือกภาษาใดในภายหลังเพื่อให้เป็นภาษาที่คุณเลือก มันจะต้องมีการเขียนโปรแกรมเชิงขั้นตอนในระดับหนึ่ง นอกจากนี้ โปรแกรมเมอร์ส่วนใหญ่รายงานขั้นตอนการเขียนโปรแกรมเพื่อให้ง่ายต่อการใช้เป็นจุดเริ่มต้นในการทำความเข้าใจแนวคิดการเขียนโปรแกรมโดยทั่วไป
ขั้นตอนที่ 6 เรียนรู้เทคนิคการสร้างแบบจำลองขั้นสูงอย่างน้อยหนึ่งอย่าง เช่น UML หรือ ORM
ขั้นตอนที่ 7 เริ่มเขียนคอนโซลขนาดเล็กหรือแอปพลิเคชันที่คล้ายคอนโซล
คุณสามารถใช้แบบฝึกหัดย่อยทั่วไปในหนังสือภาษาโปรแกรมได้ สำหรับสิ่งนี้ ให้เลือกเครื่องมือสำหรับเขียนโปรแกรมในภาษาโปรแกรมที่คุณเขียน
ขั้นตอนที่ 8 ลงเรียนหลักสูตรขั้นสูงในภาษาโปรแกรมที่คุณเลือก
ตรวจสอบให้แน่ใจว่าคุณเข้าใจแนวคิดต่อไปนี้เป็นอย่างดี และคุณสามารถนำไปใช้ได้อย่างง่ายดายก่อนที่จะดำเนินการต่อไป:
- การป้อนข้อมูลและการส่งออกข้อมูลให้กับผู้ใช้โปรแกรม
- โฟลว์ตรรกะและโฟลว์การดำเนินการของโปรแกรมในภาษาขั้นตอน
- ประกาศ กำหนด และเปรียบเทียบตัวแปร
- โครงสร้างการเขียนโปรแกรมแบบแยกสาขา เช่น if..then..else และ select/switch..case
- โครงสร้างการวนซ้ำ เช่น while..do, do..while/until, for..next
- ไวยากรณ์ภาษาโปรแกรมของคุณสำหรับการสร้างและเรียกโพรซีเดอร์และฟังก์ชัน
- ชนิดข้อมูลและการจัดการข้อมูลเหล่านั้น
- ประเภทข้อมูลที่ผู้ใช้กำหนด (บันทึก/โครงสร้าง/หน่วย) และการใช้งาน
- หากภาษาของคุณรองรับฟังก์ชันโอเวอร์โหลด โปรดเข้าใจ
- วิธีการเข้าถึงหน่วยความจำของภาษาที่คุณเลือก (ตัวชี้ การแอบดู ฯลฯ)
- หากภาษาของคุณรองรับโอเปอเรเตอร์โอเวอร์โหลด โปรดเข้าใจ
- หากภาษาของคุณรองรับตัวชี้ตัวแทน/ฟังก์ชัน โปรดทำความเข้าใจ
ขั้นตอนที่ 9 ใช้เทคนิคขั้นสูงที่คุณได้เรียนรู้
ขั้นตอนที่ 10. เข้าเรียนหลักสูตรเบื้องต้นในภาษาการเขียนโปรแกรมอย่างน้อยหนึ่งภาษาในอีกกระบวนทัศน์การเขียนโปรแกรมอื่น
ขอแนะนำให้เรียนรู้ภาษาการเขียนโปรแกรมหนึ่งภาษาสำหรับแต่ละกระบวนทัศน์ และโปรแกรมเมอร์ขั้นสูงส่วนใหญ่มักจะเริ่มต้นด้วยภาษาหนึ่ง ทำงานชั่วขณะหนึ่งโดยใช้ความรู้และฝึกฝน จากนั้นจึงเรียนรู้อีกภาษาหนึ่งในภายหลัง หลังจากที่คุณมีจริงแล้ว - ประสบการณ์ชีวิตในการเขียนโปรแกรม ลองใช้พื้นที่ภาษาใดภาษาหนึ่งต่อไปนี้:
- กระบวนทัศน์การเขียนโปรแกรมลอจิก
- กระบวนทัศน์การเขียนโปรแกรมการทำงาน
- กระบวนทัศน์เชิงวัตถุ
ขั้นตอนที่ 11 ลองเปรียบเทียบสองภาษาโปรแกรมที่คุณเรียนมา
ประเมินจุดแข็งและจุดอ่อนของแต่ละคน โดยปกติจะทำโดย:
- นำตัวอย่างง่ายๆ ของงานแรกๆ ของคุณในภาษาการเขียนโปรแกรมแรกและเขียนใหม่โดยใช้ภาษาโปรแกรมที่สอง
- สร้างโครงการใหม่และลองใช้ทั้งสองภาษา บางครั้ง คุณอาจไม่สามารถใช้งานโปรเจ็กต์ในภาษาใดภาษาหนึ่งได้ ทั้งนี้ขึ้นอยู่กับทางเลือกของโปรเจ็กต์และภาษาของคุณ!
- การเขียนสูตรเปรียบเทียบหรือตารางสรุปการเปรียบเทียบระหว่างโครงสร้างที่คล้ายคลึงกันในสองภาษาและคุณลักษณะเฉพาะของแต่ละภาษา
- ลองหาวิธีเลียนแบบคุณลักษณะเฉพาะของหนึ่งในสองภาษาโดยใช้ภาษาอื่น
ขั้นตอนที่ 12 เรียนรู้แนวคิดการเขียนโปรแกรมด้วยภาพโดยใช้ภาษาใดภาษาหนึ่งที่คุณเรียนรู้
ภาษาโปรแกรมเกือบทั้งหมดมีเวอร์ชัน/ไลบรารีที่สนับสนุนการเขียนโปรแกรมด้วยภาพ และอื่นๆ ที่สนับสนุนการเขียนโปรแกรมคอนโซลหรือคอนโซล สามารถทำได้โดย:
- รับข้อมูลเบื้องต้นเกี่ยวกับการเขียนโปรแกรมที่ขับเคลื่อนด้วยเหตุการณ์ การเขียนโปรแกรมด้วยภาพส่วนใหญ่จะอาศัยการจัดการเหตุการณ์และเหตุการณ์ในระดับหนึ่ง (โดยใช้ภาษาโปรแกรมที่คุณเลือก)
- ลองใช้ซอฟต์แวร์เดสก์ท็อปให้มากที่สุดและทำความเข้าใจว่าซอฟต์แวร์ทำอะไรได้บ้าง บริษัทพัฒนาซอฟต์แวร์ส่วนใหญ่มีผลิตภัณฑ์เวอร์ชันทดสอบเบต้าซึ่งคุณสามารถใช้ทดสอบซอฟต์แวร์ได้ ให้ up-to-date เกี่ยวกับความก้าวหน้าของส่วนต่อประสานผู้ใช้
- อ่านบทความหรือบทช่วยสอนเกี่ยวกับส่วนต่อประสานกราฟิกกับผู้ใช้
ขั้นตอนที่ 13 เริ่มใช้ความรู้ของคุณกับโครงการซอฟต์แวร์ขนาดเล็กที่คุณออกแบบ
ลองใช้ความเชี่ยวชาญด้านการเขียนโปรแกรมของคุณกับปัญหาที่คุณเผชิญในชีวิตประจำวัน ตัวอย่างเช่น เขียนโปรแกรมที่เปลี่ยนชื่อไฟล์เป็นจำนวนมาก เปรียบเทียบไฟล์ข้อความด้วยสายตา คัดลอกชื่อไฟล์ในไดเร็กทอรีไปยังไฟล์หน่วยความจำ/ข้อความ และอื่นๆ เช่นนั้น ให้มันง่ายในตอนแรก
ขั้นตอนที่ 14. สร้างโครงการรับปริญญาเสมือนจริง
ทำสิ่งนี้ให้เสร็จโดยใช้เทคนิคการเขียนโปรแกรมด้วยภาพที่คุณได้เรียนรู้มาจนถึงตอนนี้
ขั้นตอนที่ 15. ขยายความเข้าใจของคุณเกี่ยวกับเฟรมเวิร์กภาพ/ไลบรารี/แพ็คเกจที่คุณเคยเรียนรู้มาก่อนด้วยการเรียนหลักสูตรขั้นสูง ให้ความสนใจเป็นพิเศษกับรายละเอียด และเรียนรู้เคล็ดลับและลูกเล่นเพิ่มเติมสำหรับเฟรมเวิร์กของคุณจากแหล่งข้อมูลออนไลน์
ขั้นตอนที่ 16. ค้นหาแพ็คเกจ/ไลบรารีอื่น ๆ ขององค์ประกอบภาพสำหรับภาษาการเขียนโปรแกรมของคุณและเรียนรู้
ขั้นตอนที่ 17. เรียนหลักสูตรกราฟิก (ไม่ใช่การออกแบบกราฟิก)
มันจะมีประโยชน์มากสำหรับโปรแกรมเมอร์ที่ต้องการเขียนองค์ประกอบส่วนต่อประสานผู้ใช้ที่น่าดึงดูด
ขั้นตอนที่ 18. พิจารณาเป็นโปรแกรมเมอร์เกม (ไม่บังคับ)
การเขียนโปรแกรมเกมส่วนใหญ่ถือเป็นการเขียนโปรแกรมเดสก์ท็อป หากคุณตั้งใจจะเป็นโปรแกรมเมอร์เกม คุณจะต้องเรียนรู้เพิ่มเติมเกี่ยวกับการเขียนโปรแกรมเกมหลังจากเสร็จสิ้นขั้นตอนเหล่านี้ หลักสูตรกราฟิกเป็นสิ่งจำเป็นสำหรับโปรแกรมเมอร์เกม และภาษาที่สองที่เลือกในขั้นตอนก่อนหน้าควรเป็นภาษาการเขียนโปรแกรมเชิงตรรกะ/การทำงาน (ควรเป็น Prolog หรือ Lisp)
วิธีที่ 3 จาก 6: การเขียนโปรแกรมแอปพลิเคชันแบบกระจาย
ขั้นตอนที่ 1 จัดการกับการเขียนโปรแกรมแอปพลิเคชันแบบกระจาย
หลายคนมองว่าการเขียนโปรแกรมแอปพลิเคชันแบบกระจายเป็นหนึ่งในสิ่งที่ยากที่สุดในการเรียนรู้และต้องการความรู้ที่หลากหลายในด้านเทคโนโลยีคอมพิวเตอร์และการสื่อสาร
ขั้นตอนที่ 2 ทำความรู้จักกับระบบโทรศัพท์และฮาร์ดแวร์อย่างรวดเร็ว
ขั้นตอนนี้เป็นทางเลือก อย่างไรก็ตาม มันมีประโยชน์มากในการทำความเข้าใจโครงสร้างเครือข่าย
ขั้นตอนที่ 3 ทำความคุ้นเคยกับสถาปัตยกรรมฮาร์ดแวร์และอุปกรณ์เครือข่าย เช่น ฮับ สวิตช์ และเราเตอร์
ขั้นตอนที่ 4 เรียนหลักสูตรเกี่ยวกับโปรโตคอลเครือข่ายและสิ่งจำเป็น
คุณต้องมีความเข้าใจที่ดีเกี่ยวกับโมเดล Open Systems Interconnection (OSI), Ethernet, IP, TCP, UDP และ HTTP ก่อนที่คุณจะเริ่มเขียนโปรแกรมแอปพลิเคชันแบบกระจาย
ขั้นตอนที่ 5. เรียนรู้ภาษา XML และทำความคุ้นเคยกับมัน
ขั้นตอนที่ 6 เริ่มต้นด้วยการเรียนรู้ภาษาสคริปต์ของเชลล์
สำหรับการเขียนโปรแกรมบน Windows นั่นจะเป็นสคริปต์ใดๆ ก็ตามที่ทำงานร่วมกับ Windows Scripting Host สำหรับการเขียนโปรแกรมบน Linux สคริปต์ Bash และ Perl ก็เพียงพอแล้ว แนะนำให้ใช้ JavaScript ในทั้งสองแพลตฟอร์มด้วยเหตุผลดังต่อไปนี้:
- รองรับโดยโฮสต์สคริปต์เกือบทั้งหมดในระบบปฏิบัติการใด ๆ (Windows Scripting Host รองรับ JavaScript โดยค่าเริ่มต้น ลีนุกซ์ส่วนใหญ่มีแพ็คเกจสำหรับรองรับคอนโซลสคริปต์ JavaScript)
- นักพัฒนาหลายคนถือว่าเรียนรู้ได้ง่ายขึ้น
- มีไวยากรณ์ที่ได้รับ ALGOL ซึ่งจะทำให้คุณคุ้นเคยกับภาษาโปรแกรมอื่น ๆ อีกมากมายเมื่อคุณต้องการเลือกภาษาการเขียนโปรแกรมที่สอง (C, C ++, C #, Java และ J# ทั้งหมดมีไวยากรณ์ที่ได้รับ ALGOL)
- โดยการเรียนรู้ JavaScript คุณทำความคุ้นเคยกับการเขียนสคริปต์ฝั่งไคลเอ็นต์ของหน้าเว็บซึ่งเป็นโบนัสผลข้างเคียง!
ขั้นตอนที่ 7 ใช้เฉพาะการเขียนโปรแกรมตามขั้นตอนโดยใช้ภาษาสคริปต์ที่คุณเลือกในตอนแรก
หลังจากนั้น คุณสามารถใช้เทคนิคการเขียนโปรแกรมขั้นสูงและกระบวนทัศน์ตามภาษาสคริปต์ของคุณและสิ่งที่สนับสนุน ภาษาสคริปต์ทั้งหมดมีลักษณะการเขียนโปรแกรมเชิงขั้นตอนในบางระดับ
ขั้นตอนที่ 8 ใช้ภาษาสคริปต์ที่คุณเรียนรู้เพื่อเขียนสคริปต์ที่ดำเนินการสื่อสารระหว่างเครื่อง
เรียนรู้สิ่งที่จำเป็นสำหรับการทำเช่นนั้น สื่อสารง่ายๆก็พอ
ขั้นตอนที่ 9 ทำการถ่ายโอนไปยังภาษาสคริปต์/การเขียนโปรแกรมบนเดสก์ท็อป
โดยเฉพาะภาษาที่มีหลายกระบวนทัศน์ เช่น Python แนะนำให้รู้จักภาษาที่สองอย่างง่ายๆ โปรแกรมเมอร์ส่วนใหญ่ถือว่า Java เป็นภาษาที่เลือกได้ด้วยเหตุผลหลายประการ อย่างไรก็ตาม C # กำลังได้รับโมเมนตัมอย่างรวดเร็วในด้านนี้ แนะนำให้ใช้ Java และ C# ด้วยเหตุผลดังต่อไปนี้:
- พวกเขาเป็นภาษาการเขียนโปรแกรมเชิงวัตถุซึ่งป้องกันโปรแกรมเมอร์ในทีมขนาดใหญ่จากรายละเอียดการนำไปใช้เนื่องจากทั้งคู่สนับสนุนส่วนประกอบ (หน่วยของรหัส คอมไพล์ล่วงหน้า ที่ทำงานบางอย่างและสามารถใช้ในโปรแกรมอื่นได้)
- รองรับการเขียนโปรแกรมที่ขับเคลื่อนด้วยเหตุการณ์ เช่นเดียวกับ OO และการเขียนโปรแกรมตามขั้นตอนในบางระดับ
- กรอบงานที่ภาษาสร้างขึ้นนั้นมีการกระจายโดยธรรมชาติ (ในกรณีของ Java)
- ความพร้อมใช้งานของแพ็คเกจสำเร็จรูปจำนวนมากที่จัดการกับระบบเครือข่าย ทั้งแบบโอเพนซอร์สโค้ดและแพ็คเกจในตัวเฟรมเวิร์ก สิ่งนี้ทำให้โปรแกรมเมอร์สร้างงานของผู้อื่นได้ง่ายขึ้น
ขั้นตอนที่ 10. เน้นไปที่คุณสมบัติหลักของภาษามากขึ้น โดยเฉพาะคุณสมบัติที่รองรับระบบเครือข่าย
ให้ความสนใจน้อยลงกับองค์ประกอบอินเทอร์เฟซผู้ใช้ เช่น เอาต์พุต การออกแบบหน้าต่างและเทคนิค และองค์ประกอบอินเทอร์เฟซผู้ใช้
ขั้นตอนที่ 11 เรียนหลักสูตรการออกแบบแอปพลิเคชันแบบกระจายและสถาปัตยกรรม
ซึ่งสามารถทำได้โดยใช้หนังสือ บทเรียนออนไลน์ หรือหลักสูตรวิชาการ อย่างไรก็ตาม การทำความเข้าใจสถาปัตยกรรมของแอปพลิเคชันแบบกระจายและแนวคิดของแอปพลิเคชันนั้นเป็นสิ่งจำเป็น
ขั้นตอนที่ 12 เรียนรู้เกี่ยวกับการสร้างส่วนประกอบและบริการที่ให้บริการโดยใช้ภาษาโปรแกรมที่คุณเลือก
ขั้นตอนที่ 13 เรียนรู้เทคโนโลยีต่อไปนี้อย่างน้อยหนึ่งอย่าง
ขอแนะนำให้คุณรู้จักพวกเขาทั้งหมดเป็นอย่างน้อย โปรแกรมเมอร์แอปพลิเคชั่นแบบกระจายส่วนใหญ่ไม่ได้หยุดที่หนึ่งหรือสองภาษาโปรแกรม แต่เรียนรู้ภาษาการเขียนโปรแกรมอย่างน้อยหนึ่งภาษาในแต่ละระบบปฏิบัติการ นั่นเป็นเพราะว่าถ้าคุณต้องการให้แอปพลิเคชันของคุณ "แจกจ่าย" คุณควรจัดเตรียมเวอร์ชันของแอปพลิเคชันนี้อย่างน้อยสำหรับระบบปฏิบัติการหลักแต่ละระบบ
- สถาปัตยกรรมนายหน้าขอวัตถุทั่วไป (CORBA)
- โปรโตคอลการเข้าถึงวัตถุอย่างง่าย (SOAP)
- JavaScript แบบอะซิงโครนัสและ XML (AJAX)
- แบบจำลองวัตถุคอมโพเนนต์แบบกระจาย (DCOM)
- . NET ระยะไกล
- XML Web Services
วิธีที่ 4 จาก 6: ไลบรารี/แพลตฟอร์ม/เฟรมเวิร์ก/การเขียนโปรแกรมหลัก
ขั้นตอนที่ 1 รู้ว่าการเขียนโปรแกรมหลักคืออะไร
โปรแกรมเมอร์หลักเป็นเพียงโปรแกรมเมอร์ขั้นสูงที่ทำการถ่ายโอนจากแอปพลิเคชันการเขียนโปรแกรมไปยังหน่วยรหัสการเขียนโปรแกรมเพื่อใช้โดยโปรแกรมเมอร์คนอื่น
ขั้นตอนที่ 2 เรียนรู้ภาษาการเขียนโปรแกรมที่รองรับการสร้างส่วนประกอบ/แพ็คเกจที่นำกลับมาใช้ใหม่ได้ หากคุณยังไม่ได้ดำเนินการ
ขั้นตอนที่ 3 ลงเรียนหลักสูตรขั้นสูงใน UML และ ORM
นักพัฒนาห้องสมุดส่วนใหญ่ใช้อย่างใดอย่างหนึ่งหรือทั้งสองอย่าง
ขั้นตอนที่ 4 เข้าเรียนหลักสูตรวิศวกรรมซอฟต์แวร์
ขั้นตอนที่ 5 เรียนรู้เทคนิคและแนวคิดการเขียนโปรแกรมแบบโมดูลาร์ อิงส่วนประกอบ เชิงวัตถุ และเหตุการณ์เป็นอย่างน้อย
ยิ่งคุณครอบคลุมกระบวนทัศน์การเขียนโปรแกรมและภาษามากเท่าไหร่ คุณก็ยิ่งประสบความสำเร็จมากขึ้นในฐานะโปรแกรมเมอร์ไลบรารี/แพ็คเกจ
ขั้นตอนที่ 6 เรียนรู้เพิ่มเติมเกี่ยวกับระบบปฏิบัติการและเฟรมเวิร์กการเขียนโปรแกรมต่างๆ ที่รองรับโดยระบบปฏิบัติการเหล่านี้
ขั้นตอนที่ 7 มุ่งเน้นความพยายามในการเรียนรู้ของคุณบนเฟรมเวิร์กที่ไม่ขึ้นกับแพลตฟอร์ม ภาษาโปรแกรม และเทคโนโลยี
ขั้นตอนที่ 8 หากภาษาการเขียนโปรแกรมที่คุณเรียนรู้จนถึงตอนนี้มี ANSI/ISO/IEEE/รุ่นมาตรฐาน W3C ควบคุมมาตรฐาน
พยายามใช้รหัสมาตรฐานทุกครั้งที่ทำได้
ขั้นตอนที่ 9 พยายามเลียนแบบไลบรารีที่เรียบง่ายและสร้างขึ้นแล้ว โดยเฉพาะอย่างยิ่งไลบรารีโอเพนซอร์ซ
สิ่งนี้มีประโยชน์ในช่วงเริ่มต้นของการเป็นโปรแกรมเมอร์ห้องสมุด/แพ็คเกจ เริ่มต้นด้วยแพ็คเกจง่ายๆ เช่น การแปลงหน่วยและแพ็คเกจการคำนวณทางวิทยาศาสตร์ระดับกลาง หากคุณเป็นนักศึกษาวิทยาลัย ให้ใช้หลักสูตรที่ไม่ใช่การเขียนโปรแกรมของคุณโดยพยายามนำสมการและแกนหลักทางวิทยาศาสตร์ไปใช้เป็นห้องสมุด
ขั้นตอนที่ 10 ค้นหาและลองใช้แพ็คเกจโอเพ่นซอร์สในสาขาการเขียนโปรแกรมของคุณ
ดาวน์โหลดไบนารี/ไฟล์เรียกทำงานของแพ็คเกจก่อน ลองใช้และค้นหาจุดแข็งและจุดอ่อนของมัน หลังจากที่คุณทำเสร็จแล้ว ให้ดาวน์โหลดแหล่งที่มาและลองหาวิธีการทำ พยายามสร้างไลบรารีหรือบางส่วนของไลบรารีเหล่านั้นขึ้นใหม่ ขั้นแรก ให้ทำหลังจากที่คุณเห็นโค้ดแล้ว และหลังจากนั้น ก่อนที่คุณจะเห็นโค้ด ในระยะต่อมา ให้ลองปรับปรุงห้องสมุดเหล่านั้น
ขั้นตอนที่ 11 เรียนรู้วิธีต่างๆ ที่ใช้ในการแจกจ่ายและปรับใช้ส่วนประกอบกับโปรแกรมเมอร์
- โดยปกติ โปรแกรมเมอร์ไลบรารี/แพ็คเกจมักจะคิดซ้ำๆ และ/หรือวนซ้ำถึงปัญหาทั้งหมดที่พวกเขานำเสนอพยายามคิดว่าแต่ละปัญหาเป็นปัญหาเล็กๆ น้อยๆ (เป็นลำดับของงานที่ง่ายกว่า) หรือเป็นกระบวนการซ้ำๆ ในการลดขอบเขตของปัญหาให้เหลือขอบเขตที่เล็กลง แล้วซ้อนขอบเขตเหล่านั้นเข้าด้วยกัน
- โปรแกรมเมอร์ห้องสมุด / แพ็คเกจมักจะพูดทั่วไป นั่นคือเมื่อนำเสนอปัญหาเฉพาะอย่างง่าย ๆ พวกเขามักจะคิดถึงปัญหาทั่วไปมากขึ้นและพยายามแก้ปัญหาทั่วไปนั้นซึ่งจะแก้ปัญหาที่เล็กกว่าโดยอัตโนมัติ
วิธีที่ 5 จาก 6: การเขียนโปรแกรมระบบ
ขั้นตอนที่ 1 ทำความเข้าใจว่าการเขียนโปรแกรมระบบเกี่ยวข้องกับอะไร
โปรแกรมเมอร์ระบบจัดการกับวิทยาศาสตร์ของการเขียนโปรแกรมไม่ใช่การใช้งานเฉพาะของมัน อย่าผูกตัวเองกับแพลตฟอร์มเฉพาะ
ขั้นตอนที่ 2 ทำตามสามขั้นตอนแรกสำหรับ Desktop Applications Programmers
ขั้นตอนที่ 3 เข้าเรียนหลักสูตรเบื้องต้นในพีชคณิตเชิงเส้น
ขั้นตอนที่ 4 ลงเรียนวิชาแคลคูลัส
ขั้นตอนที่ 5. ลงเรียนวิชาลอจิกและ/หรือคณิตศาสตร์แบบไม่ต่อเนื่อง
ขั้นตอนที่ 6. แนะนำตัวเองให้รู้จักกับระบบปฏิบัติการเปล่าต่างๆ
สามารถทำได้โดย:
- รับแนวคิดเกี่ยวกับวิธีการติดตั้งระบบปฏิบัติการ
- เรียนรู้วิธีติดตั้งระบบปฏิบัติการต่างๆ บนพีซีหนึ่งเครื่อง (เป็นทางเลือก แต่แนะนำ)
- การติดตั้งระบบปฏิบัติการมากกว่าหนึ่งระบบ ห้ามติดตั้งแพ็คเกจช่วยเหลือใดๆ บนระบบ ให้ใช้ฟังก์ชันการทำงานเปล่าที่ให้มาโดยระบบปฏิบัติการแทน
ขั้นตอนที่ 7 เข้าเรียนหลักสูตร (หรืออ่านหนังสือ) เกี่ยวกับสถาปัตยกรรมฮาร์ดแวร์คอมพิวเตอร์
ขั้นตอนที่ 8 พัฒนาความเข้าใจเกี่ยวกับแพลตฟอร์มฮาร์ดแวร์คอมพิวเตอร์ต่างๆ
ขั้นตอนที่ 9 ทำความคุ้นเคยกับภาษาแอสเซมบลีของแพลตฟอร์มฮาร์ดแวร์/ระบบปฏิบัติการที่คุณเลือก
คุณจะได้เรียนรู้การประกอบแพลตฟอร์ม/ระบบอื่นๆ ในภายหลัง
ขั้นตอนที่ 10. เรียนรู้ภาษา ANSI C และ C++ พร้อมกับแนวคิดของการเขียนโปรแกรมเชิงขั้นตอน
ขั้นตอนที่ 11 ทำความเข้าใจและฝึกฝนไลบรารีมาตรฐาน C/C++ บนแพลตฟอร์มที่เลือก
ให้ความสนใจเป็นพิเศษกับ Standard Template Library (STL) และ Active Template Library (ATL)
ขั้นตอนที่ 12 ค้นหาแหล่งข้อมูล หนังสือ และหลักสูตรออนไลน์เพื่อทำความเข้าใจ C-flavor ของแพลตฟอร์มเฉพาะของคุณ
ขั้นตอนที่ 13 ฝึกสร้างโค้ดขั้นสูงด้วย C และ C++
ขั้นตอนที่ 14 เรียนรู้การประกอบขั้นสูงเพิ่มเติม
ขั้นตอนที่ 15. เข้าเรียนหลักสูตรในการออกแบบระบบปฏิบัติการ
ขั้นตอนที่ 16 ค้นหาและอ่านเอกสารเกี่ยวกับแพลตฟอร์มที่คุณเลือก
สิ่งนี้จะง่ายกว่าถ้าคุณเลือกระบบปฏิบัติการที่ใช้ Unix เข้าใจระบบที่คุณจะใช้งานในภายหลังได้เป็นอย่างดี
ขั้นตอนที่ 17 ฝึกฝนความรู้ที่ได้รับ
ขั้นแรกให้สร้างยูทิลิตี้ระบบขนาดเล็ก มักจะมีประโยชน์ในการ:
- พยายามสร้างเครื่องมือขนาดเล็กที่มีอยู่แล้วในระบบของคุณ
- กำลังพยายามพอร์ตยูทิลิตี้ที่มีอยู่ในระบบปฏิบัติการอื่นให้กับคุณ
ขั้นตอนที่ 18. เรียนภาษาตามลำดับที่เป็นประโยชน์มากที่สุด
นี่เป็นที่เดียวที่ภาษาการเขียนโปรแกรมแรกมีความสำคัญ เรียนรู้ ANSI C ก่อน ไม่ใช่ C++ ไม่ใช่ C# ไม่ใช่ Java และไม่ใช่ D จากนั้นจึงเรียนรู้ C++
-
การจำกัดภาษาแรกไว้ที่ C และ C เพียงอย่างเดียวเนื่องจากการเขียนโปรแกรมระบบต้องการให้โปรแกรมเมอร์คุ้นเคยกับแนวคิดต่อไปนี้:
- การรวบรวมซอร์สโค้ดจริงและเต็มรูปแบบ
- ไฟล์เอาต์พุตอ็อบเจ็กต์ระดับต่ำ
- การเชื่อมโยงไบนารี
- การเขียนโปรแกรมภาษาเครื่อง/แอสเซมบลีระดับต่ำ บางคนกล่าวว่าภาษาซีเป็นการปลอมแปลง/ง่ายต่อการเรียนรู้การประกอบ นอกจากนี้ยังรองรับการแทรกรหัสภาษาแอสเซมบลีในโค้ดเมื่อใดก็ตามที่คุณต้องการและเป็นเพียงขั้นตอน (เช่นแอสเซมบลี)
วิธีที่ 6 จาก 6: วิทยาศาสตร์การเขียนโปรแกรม
ขั้นตอนที่ 1 รู้ว่านักวิทยาศาสตร์ด้านการเขียนโปรแกรมทำอะไร
นักวิทยาศาสตร์ด้านการเขียนโปรแกรมเป็นโปรแกรมเมอร์ที่ล้ำหน้ามาก ซึ่งแทนที่จะทำงานพัฒนาแอปพลิเคชัน ทำงานเกี่ยวกับการพัฒนาเทคโนโลยีคอมพิวเตอร์ เช่น การเข้ารหัส ภาษาโปรแกรม และอัลกอริธึมการทำเหมืองข้อมูล ระดับนี้แทบจะเป็นไปไม่ได้เลยหากไม่มีการศึกษาและการอุทิศตนทางวิชาการ
ขั้นตอนที่ 2 สะสมความรู้ทางวิทยาศาสตร์เทียบเท่าปริญญาวิทยาการคอมพิวเตอร์สี่ปี
สามารถทำได้โดย:
- รับปริญญาทางวิชาการจริง (ซึ่งมักจะเกิดขึ้น)
- รับโครงร่างหลักสูตรสำหรับปริญญาดังกล่าวจากมหาวิทยาลัยสมัยใหม่แห่งใดแห่งหนึ่งและลงเรียนหลักสูตรด้วยตนเองหรือแยกเป็นรายวิชา สิ่งนี้สามารถทำได้ในทางทฤษฎี แต่เส้นทางที่แนะนำเป็นเส้นทางแรก
ขั้นตอนที่ 3 ตัดสินใจเลือกสาขาวิชาเฉพาะ
ยิ่งเจาะจงยิ่งดี ขึ้นอยู่กับความชอบของคุณ อย่างไรก็ตาม ต่อไปนี้คือรายการหัวข้อหลักบางหัวข้อในวิทยาการโปรแกรมคอมพิวเตอร์:
- การออกแบบอัลกอริทึม (เช่น การค้นหา การเรียงลำดับ การเข้ารหัส การถอดรหัส และการตรวจจับข้อผิดพลาดในการสื่อสารเป็นตัวอย่างบางส่วน)
- ภาษาการเขียนโปรแกรม/การออกแบบคอมไพเลอร์/การเพิ่มประสิทธิภาพ
- สาขาปัญญาประดิษฐ์ (การรู้จำรูปแบบ, การรู้จำคำพูด, การประมวลผลภาษาธรรมชาติ, โครงข่ายประสาทเทียม)
- วิทยาการหุ่นยนต์
- การเขียนโปรแกรมทางวิทยาศาสตร์
- ซูเปอร์คอมพิวเตอร์
- การออกแบบ/การสร้างแบบจำลองโดยใช้คอมพิวเตอร์ช่วย (CAD/CAM)
- ความเป็นจริงเสมือน
- คอมพิวเตอร์กราฟิก (คอมพิวเตอร์กราฟิกมักจะสับสนอย่างผิด ๆ กับการออกแบบกราฟิกหรือการออกแบบส่วนต่อประสานกราฟิกกับผู้ใช้ คอมพิวเตอร์กราฟิกเป็นสาขาของการศึกษาวิธีการแสดงและจัดการกราฟิกในระบบคอมพิวเตอร์)
ขั้นตอนที่ 4 พิจารณารับปริญญาทางวิชาการที่สูงขึ้น
คุณอาจต้องการศึกษาต่อระดับปริญญาโทหรือปริญญาเอก