Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Ruby

การเขียนโปรแกรม Ruby: ปลดล็อกโปรเจกต์หลากหลายและการใช้งานปฏิบัติจริง

ภาษาโปรแกรมมิ่ง Ruby มีการใช้งานปฏิบัติจริงมากมาย

แตที่นี่คือสิ่งสำคัญ...

หลายคนถูกดึงดูดสู่ Ruby เพราะ Ruby on Rails Rails เป็นเฟรมเวิร์ก ชุดเครื่องมือที่ช่วยให้คุณสร้างเว็บไซต์ หรือแอปพลิเคชันเว็บ ได้ง่ายและเร็วกว่า หากคุณต้องเริ่มจากศูนย์

นั่นดีแล้ว

แต Ruby เป็นภาษาโปรแกรมมิ่งที่สวยงามด้วยตัวมันเอง และหลังจากที่คุณใช้เวลากับมันบ้าง คุณจะตกหลุมรัก!

ตอนนี้คำถามคือ...

Ruby จำกัดเพียงสิ่งที่ Rails ทำได้ไหม?

ไม่!

เลยไม่

Ruby เป็นภาษาโปรแกรมมิ่งทั่วไป (general programming language)

ในทฤษฎี คุณสามารถทำอะไรก็ได้ที่คุณต้องการด้วย Ruby

ตอนนี้:

ว่าจะยากแค่ไหนในการทำสิ่งหนึ่ง นั้นเป็นเรื่องอื่น

มันขึ้นอยู่กับ gems และไลบรารีที่มีอยู่ เพราะ gems เหล่านี้ทำงานหนักให้คุณมาก

สิ่งที่คุณสามารถทำได้กับ Ruby

นี่คือตัวอย่างบางอย่าง หากคุณต้องการแรงบันดาลใจ:

  • Full-stack web development
  • Web scraping & crawling
  • Static website generators
  • Command-line media player (ใช้ FFI + libVLC) และเครื่องมือบรรทัดคำสั่งอื่นๆ
  • Automation, Backup & DevOps tools
  • Servers
  • Parsing, data cleaning & filtering
  • API Clients (เช่น Twitter API หรือ Github API)
  • Report generators (PDF, HTML, CSV)

นี่คือรายการที่ดี!

คุณสามารถทำทั้งหมดนี้และส่งมอบในระดับ production ได้

น้อยกว่าปฏิบัติจริง แตยังทำได้:

  • Games (gosu / Ruby2D)
  • Data science
  • Machine Learning & AI

สิ่งเหล่านี้คุณทำได้ส่วนใหญ่สำหรับโปรเจกต์ส่วนตัวและสนุก

สิ่งอื่นๆ?

คุณยังทำได้ แตจะใช้งาน มากกว่า โค้ด และความรู้เฉพาะทางมากขึ้น

โปรเจกต์ Ruby โอเพนซอร์สยอดนิยม

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

โปรเจกต์เหล่านี้ทั้งหมดมี 4k+ Github Stars

Rails apps:

  • https://github.com/postalhq/postal (Email inbox)
  • https://github.com/huginn/huginn (Event notifications)
  • https://github.com/discourse/discourse (Forum software)
  • https://github.com/gitlabhq/gitlabhq (Web-based git interface, เหมือน Github)

Non-rails apps:

  • https://github.com/puma/puma/ (Rack application server)
  • https://github.com/hashicorp/vagrant (Developer environments ผ่าน Virtual Machines)
  • https://github.com/sparklemotion/nokogiri (HTML / XML parsing)
  • https://github.com/opal/opal (เขียน Javascript ด้วย Ruby)
  • https://github.com/Homebrew/brew (macOS package manager)
  • https://github.com/fluent/fluentd (Logging unification tool)

มีโปรเจกต์ที่ทำด้วย Ruby หลายพันโปรเจกต์ แตพวกนี้จะช่วยให้คุณได้ไอเดียว่าคุณสามารถทำอะไรได้กับภาษาโปรแกรมมิ่งนี้

สรุป

หากคุณต้องการบีบตัวเลขของพาย (3.14159...) ให้เร็วที่สุดและได้ประสิทธิภาพสูงสุดจากฮาร์ดแวร์ของคุณ คุณไม่ควรใช้ Ruby

แตคุณก็ไม่ควรใช้ภาษา interpreted อื่นใดสำหรับงานนั้นเช่นกัน

เช่น PHP หรือ Python

เพราะพวกมันแบ่งปันข้อจำกัดเดียวกันหลายอย่าง

เพื่อบีบประสิทธิภาพสูงสุด คุณอาจต้องลงมาจนถึง ASM (Assembly Language) ซึ่งเป็นภาษาที่ใกล้ที่สุดกับการพูดเป็น 1 และ 0 กับคอมพิวเตอร์ของคุณ

นี่คือสิ่งสำคัญ...

มี trade-off (การแลกเปลี่ยน) สำหรับทุกอย่าง

หากคุณต้องการความง่ายในการใช้งาน และความเป็นมิตรกับโปรแกรมเมอร์ คุณต้องจ่ายด้วยประสิทธิภาพบางส่วน

ไม่มีทางหลบหนี

ด้วยความคิดนี้ในใจ หากคุณต้องการสร้างเว็บไซต์เต็มรูปแบบ เครื่องมือช่วยเหลือทุกประเภท เช่น การสำรองข้อมูลอัตโนมัติ รายงาน generators, crawlers, calculators ทุกประเภท, API clients ฯลฯ หรือเพียงแค่เริ่มต้นในโลกโปรแกรมมิ่งและสนุกมาก

Ruby เหมาะสำหรับคุณ!

มันอยู่ในการพัฒนาต่อเนื่อง เรียนรู้ง่าย และคุณหาช่วยเหลือได้เสมอหากคุณติดขัด

ทำไมไม่ลองดู?

ผมคาดหวังว่าจะได้เห็นโปรเจกต์ที่มหัศจรรย์ที่คุณสร้างด้วย Ruby!