คอมพิวเตอร์ Windows อินเทอร์เน็ต

ภาษาโปรแกรมที่ดีที่สุดในโลก ห้าภาษาโปรแกรมที่มีแนวโน้มว่าจะมีอนาคตที่สดใส

JavaScript นั้นดีสำหรับการเพิ่มอินเทอร์แอกทีฟพื้นฐานให้กับหน้าเว็บ แต่เมื่อโค้ดแอปพลิเคชันเว็บของคุณมีโค้ดหลายพันบรรทัด จุดอ่อนของโค้ดก็จะปรากฏชัดเจน นั่นเป็นเหตุผลที่ Google สร้าง Dart ซึ่งเป็นภาษาที่บริษัทเชื่อว่าจะเป็นภาษาแม่ใหม่สำหรับการเขียนโปรแกรมเว็บ

เช่นเดียวกับ JavaScript Dart ใช้ไวยากรณ์และ คีย์เวิร์ดคล้ายกับที่ใช้ในภาษา C อย่างไรก็ตาม ความแตกต่างที่สำคัญอย่างหนึ่งคือในขณะที่ JavaScript ใช้ต้นแบบ วัตถุใน Dart ถูกกำหนดโดยใช้คลาสและอินเทอร์เฟซ เช่นเดียวกับใน C ++ หรือ Java Dart ยังอนุญาตให้โปรแกรมเมอร์กำหนดตัวแปรเพิ่มเติมด้วยประเภทสแตติก แนวคิดคือการทำให้ Dart คุ้นเคย เป็นไดนามิก และยืดหยุ่นเหมือน JavaScript ในขณะเดียวกันก็ช่วยให้นักพัฒนาสามารถเขียนโค้ดได้อย่างรวดเร็วและง่ายต่อการดำเนินการ และเกิดข้อผิดพลาดที่ยากต่อการค้นหา

มีไม่กี่แห่งที่คุณสามารถใช้ Dart ได้ มันถูกออกแบบมาให้ทำงานบนไคลเอนต์หรือบนเซิร์ฟเวอร์ (a la Node.js) แต่วิธีเดียวที่จะเรียกใช้ Dart เวอร์ชันไคลเอนต์คือการคอมไพล์ข้ามไปยัง JavaScript อย่างไรก็ตาม แม้หลังจากนั้น มันจะไม่ทำงานในทุกเบราว์เซอร์ แต่เนื่องจาก Dart ได้รับการเผยแพร่ภายใต้ใบอนุญาต BSD ฟรี ผู้ขายที่ยอมรับข้อกำหนดของ Google จึงสามารถใช้ภาษานี้ในผลิตภัณฑ์ของตนได้ฟรี สิ่งเดียวที่ Google ต้องทำคือโน้มน้าวคนทั้งอุตสาหกรรม


ภาษาการเขียนโปรแกรมภายใต้การศึกษา # 2: Ceylon

Gavin King ปฏิเสธว่า Ceylon ซึ่งเป็นภาษาที่เขาพัฒนาที่ Red Hat ควรกลายเป็น "นักฆ่า Java" King เป็นที่รู้จักกันดีในฐานะผู้สร้างเฟรมเวิร์ก Hibernate Object Relational Mapping สำหรับ Java เขารัก Java แต่ยังคิดว่ายังมีอะไรที่ต้องปรับปรุงอีกมาก

บางสิ่งที่ King ไม่ชอบใน Java คือไวยากรณ์ที่ละเอียดของภาษา การขาดฟังก์ชันระดับเฟิร์สคลาสและลำดับที่สูงกว่า และการขาดการสนับสนุน metaprogramming เขารู้สึกเสียใจเป็นพิเศษที่ไม่มีรูปแบบการประกาศสำหรับการกำหนดข้อมูลที่มีโครงสร้าง ซึ่ง King กล่าวว่า "เทียบเท่า Java กับ XML" ซีลอนตั้งเป้าที่จะแก้ปัญหาเหล่านี้ทั้งหมด

คิงและทีมของเขาไม่มีแผนที่จะสร้างวงล้อขึ้นมาใหม่ จะไม่มีเครื่องเสมือนของ Ceylon คอมไพเลอร์ของ Ceylon จะสร้าง java bytecode ที่สามารถรันบน JVM แต่ซีลอนจะเป็นมากกว่าคอมไพเลอร์ เป้าหมายเชิงกลยุทธ์ ของโครงการนี้คือการสร้างชุดพัฒนาใหม่สำหรับ Ceylon ที่จะมาแทนที่ Java ซึ่ง King กล่าวว่า "บวม" งุ่มง่ามและยังไม่ได้รับการปรับปรุงให้ทันสมัยอย่างทั่วถึง

นี่เป็นงานที่ยาก และจนถึงตอนนี้ Red Hat ยังไม่ได้เปิดตัวยูทิลิตี้ใดๆ สำหรับ Ceylon King กล่าวว่าคอมไพเลอร์จะครบกำหนดในปีนี้ แต่อย่าคาดหวังกับซอฟต์แวร์ใดๆ ที่เขียนด้วย "100% pure Ceylon" ในเร็วๆ นี้


ภาษาโปรแกรมที่ศึกษา # 3: Go

รหัส F # ค่อนข้างคล้ายกับรหัส OCaml แต่มีไวยากรณ์ที่น่าสนใจของตัวเอง ตัวอย่างเช่น เพื่อความสะดวกในการคำนวณทางวิทยาศาสตร์ ชนิดข้อมูลตัวเลขใน F # สามารถเป็นหน่วยได้ F # ยังจัดเตรียมโครงสร้างเพื่ออำนวยความสะดวก I / O แบบอะซิงโครนัส ปรับ CPU ให้ขนานกัน และประมวลผลเอาต์พุตไปยัง GPU

หลังจากระยะเวลาการพัฒนาที่ยาวนานที่ Microsoft Research ขณะนี้ F # ถูกจัดส่งพร้อมกับ Visual Studio 2010 ยังดีกว่าแต่ไม่ครอบคลุมทั่วทั้งองค์กร Microsoft ได้สร้างคอมไพเลอร์ F # และไลบรารีรูทให้ใช้งานได้ภายใต้ลิขสิทธิ์โอเพ่นซอร์ส Apache คุณสามารถเริ่มต้นใช้งานได้ฟรีและแม้กระทั่งใช้งานบนระบบ Mac และ Linux (โดยใช้ Mono runtime)


ภาษาโปรแกรมที่เรียน # 5: Opa

การเขียนโปรแกรมเว็บเป็นเรื่องยากมาก แม้แต่เว็บแอปพลิเคชันที่ง่ายที่สุดยังประกอบด้วยบรรทัดที่เขียนขึ้นในหลายภาษา: HTML และ JavaScript สำหรับไคลเอนต์, Java หรือ PHP สำหรับเซิร์ฟเวอร์, SQL สำหรับฐานข้อมูล ฯลฯ

โอปาไม่ได้แทนที่ภาษาเหล่านี้ทีละภาษา ยิ่งไปกว่านั้น มันพยายามที่จะแทนที่พวกมันทั้งหมดในคราวเดียว ซึ่งแสดงถึงกระบวนทัศน์ใหม่อย่างสมบูรณ์ในการเขียนโปรแกรมเว็บ ในแอปพลิเคชัน Opa อินเทอร์เฟซผู้ใช้ไคลเอ็นต์ ตรรกะของเซิร์ฟเวอร์ และฐานข้อมูล I / O ทั้งหมดเขียนด้วยภาษาเดียวกัน Opa

สิ่งนี้ทำได้โดยการผสมผสานระหว่างกรอบงานฝั่งไคลเอ็นต์และเซิร์ฟเวอร์ คอมไพเลอร์ Opa ตัดสินใจว่าจะรันที่ไหน โปรแกรมนี้(บนไคลเอนต์ เซิร์ฟเวอร์ หรือทั้งสองที่นั่นและที่นั่น) จากนั้นรันโค้ด สำหรับโปรแกรมไคลเอ็นต์ จะแปล Opa เป็นโค้ด JavaScript ที่เหมาะสม รวมถึงการเรียก AJAX

แน่นอน ด้วยระบบบูรณาการแบบนี้ บางสิ่งที่มหัศจรรย์ควรจะออกมาในที่สุด รันไทม์ Opa รวมเว็บเซิร์ฟเวอร์และระบบการจัดการฐานข้อมูลของตัวเองซึ่งไม่สามารถแทนที่ด้วยทางเลือกอื่นแบบสแตนด์อโลน อย่างไรก็ตาม สิ่งนี้อาจไม่สำคัญนักเนื่องจากความสามารถในการพัฒนาเว็บแอปพลิเคชันที่ขับเคลื่อนด้วยข้อมูลที่ทันสมัยด้วยโค้ดเพียงไม่กี่โหล Opa ให้บริการฟรีและบน ช่วงเวลานี้พร้อมใช้งานสำหรับแพลตฟอร์ม Linux และ Mac OS X แบบ 64 บิต ในขณะที่พอร์ตอื่นๆ ยังอยู่ระหว่างการพัฒนา


ภาษาโปรแกรมที่เรียน # 6: Fantom

คุณต้องการสร้างแอปพลิเคชัน Java หรือ .Net หรือไม่ หากคุณเขียนบน Fantom คุณสามารถเลือกและเปลี่ยนแพลตฟอร์มได้ นี่เป็นเพราะ Fantom สร้างขึ้นเพื่อความคล่องตัวข้ามแพลตฟอร์มตั้งแต่เริ่มต้น โปรเจ็กต์ Fantom ไม่เพียงแต่คอมไพเลอร์ที่สามารถส่งออก bytecode สำหรับทั้ง JVM หรือ .Net CLI เท่านั้น แต่ยังรวมถึงชุดของ API ที่แยก Java และ .Net APIs และสร้างเลเยอร์เพิ่มเติมของการพกพา

มีการวางแผนที่จะเพิ่มความคล่องตัวของ Fantom ต่อไป คอมไพเลอร์จาก Fantom ถึง JavaScript มีอยู่แล้ว และเป้าหมายต่อไปนี้อาจรวมถึงโครงการคอมไพเลอร์ LLVM, Parrot VM และ Objective-C สำหรับ iOS

Fantom มีการแจกจ่ายฟรีภายใต้ Academic Free License 3.0 และพร้อมใช้งานสำหรับแพลตฟอร์ม Windows และ Unix (รวมถึง Mac OS X)


เรียนการเขียนโปรแกรมภาษา # 7: Zimbu

เนื่องจากลักษณะที่ผสมผสานกัน ไวยากรณ์ของ Zimbu จึงมีเอกลักษณ์และเฉพาะเจาะจง แต่ในขณะเดียวกันก็มีคุณลักษณะมากมาย มันใช้นิพจน์และตัวดำเนินการที่คล้ายกับที่ใช้ใน C แต่มีคีย์เวิร์ด ชนิดข้อมูล และโครงสร้างบล็อกของพวกมันเอง รองรับการจัดการหน่วยความจำ เธรด และไปป์ไลน์

ปัญหาเดียวคือการพกพา แม้ว่า Zimbu จะเป็นภาษาที่คอมไพล์แล้ว คอมไพเลอร์ของมันก็สร้างโค้ด ANSI C และไบนารีสามารถสร้างได้บนแพลตฟอร์มที่มีคอมไพเลอร์ C ในตัวเท่านั้น

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


ภาษาโปรแกรมที่ศึกษา # 8: X10

การประมวลผลแบบขนานครั้งหนึ่งเคยเป็นช่องทางเฉพาะของการพัฒนาซอฟต์แวร์ แต่ด้วยการเพิ่มจำนวนโปรเซสเซอร์แบบมัลติคอร์และการคำนวณแบบกระจาย การขนานจึงได้รับความนิยม น่าเสียดายที่ภาษาโปรแกรมปัจจุบันไม่สอดคล้องกับแนวโน้มนี้ นั่นเป็นเหตุผลที่ IBM Research กำลังสร้าง X10 ซึ่งเป็นภาษาที่ออกแบบมาโดยเฉพาะสำหรับสถาปัตยกรรมคู่ขนานสมัยใหม่ซึ่งมีจุดมุ่งหมายเพื่อเพิ่มประสิทธิภาพการทำงานของนักพัฒนา "สิบเท่า"

Parallelism ใน X10 เป็นไปได้ด้วยโมเดลการเขียนโปรแกรม PGAS (โมเดลพื้นที่ที่อยู่ร่วมที่ใช้ร่วมกัน) รหัสและข้อมูลได้รับการจัดสรรในบล็อกและกระจายใน "ช่องว่าง" ที่แตกต่างกัน ดังนั้นจึงอำนวยความสะดวกในการปรับขนาดของโปรแกรมจากต้นแบบแบบเธรดเดียว (หนึ่งช่องว่าง) เป็นแบบมัลติเธรดที่ทำงานบนโปรเซสเซอร์แบบมัลติคอร์ตั้งแต่หนึ่งตัวขึ้นไป (ช่องว่างหลายช่อง ) ในคลัสเตอร์ประสิทธิภาพสูง

รหัส X10 นั้นคล้ายกับ Java มากที่สุด โดยพื้นฐานแล้ว รันไทม์ X10 พร้อมใช้งานทั้งในรูปแบบไฟล์เรียกทำงานแบบฝังและไฟล์คลาสสำหรับ JVM คอมไพเลอร์ X10 สามารถส่งออกซอร์สโค้ด C ++ หรือ Java มีแผนจะพัฒนาไปข้างหน้าเข้ากันได้กับ Java ในอนาคต

ในขณะเดียวกัน ภาษาก็กำลังพัฒนา แม้ว่าจะพัฒนาไปมากแล้วก็ตาม คอมไพเลอร์และรันไทม์พร้อมใช้งานในหลากหลายแพลตฟอร์ม รวมถึง Linux, Mac OS X และ Windows ยูทิลิตีเพิ่มเติมคือสภาพแวดล้อมการพัฒนาเชิงโต้ตอบบน Eclipse (IDE) และดีบักเกอร์ ซึ่งได้รับอนุญาตภายใต้ Eclipse Public License


ภาษาโปรแกรมที่ศึกษา # 9: haXe

หลายภาษาสามารถใช้เขียนโค้ดแบบพกพาได้ คอมไพเลอร์ C พร้อมใช้งานสำหรับสถาปัตยกรรม CPU เกือบทั้งหมด และ Java bytecode จะทำงานทุกที่ที่มี JVM แต่ haXe (ออกเสียงว่า "ฐานสิบหก") เป็นมากกว่าอุปกรณ์พกพา เป็นภาษาหลายแพลตฟอร์มที่สามารถใช้ได้ในสภาพแวดล้อมการทำงานที่หลากหลายตั้งแต่ในตัว

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

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

แต่ก่อนที่คุณจะลงมือทำธุรกิจ คุณต้องตอบคำถามสำคัญหนึ่งข้อให้ตัวเองก่อนว่า ภาษาโปรแกรมสมัยใหม่ภาษาใดจะมีความเกี่ยวข้องในปี 2560 คุณควรใช้เวลาและความพยายามกับภาษาใด มากขึ้นอยู่กับคำตอบที่ถูกต้องที่นี่ - ความซับซ้อนและความเร็วของกระบวนการเรียนรู้ เกณฑ์ขั้นต่ำสำหรับการเข้าสู่กิจกรรมจริง โอกาสทางอาชีพเพิ่มเติม

พื้นที่ที่มีแนวโน้มของการเขียนโปรแกรมและภาษาสำหรับปี 2017

ในการตัดสินใจเลือกภาษาการเขียนโปรแกรมเฉพาะเพื่อศึกษา (อย่างน้อยหนึ่งภาษา) ก่อนอื่นคุณต้องตอบคำถาม: บุคคลอยากทำงานด้านการเขียนโปรแกรมในด้านใด พื้นที่ที่ได้รับความนิยมและพัฒนาอย่างรวดเร็วที่สุดคือ:

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

การเขียนโปรแกรมสำหรับแกดเจ็ต: สมาร์ทโฟน แท็บเล็ต นาฬิกาอัจฉริยะ แว่นตาเสมือนจริง และอื่นๆ นอกจากนี้ยังเป็นกิจกรรมที่น่าสนใจและพัฒนาอย่างรวดเร็ว ผู้คนหลายพันล้านคนทั่วโลกใช้แกดเจ็ต อ่านข่าว ดูวิดีโอ ฟังเพลง และทำสิ่งอื่นๆ มากมาย ฟังก์ชันอิเล็กทรอนิกส์ทั้งหมดนี้เป็นไปได้ด้วยซอฟต์แวร์ที่เขียนมาอย่างดี มักจะมีราคาแพงกว่าตัวอุปกรณ์จริงมาก การเขียนโปรแกรมในพื้นที่นี้ทำกำไรได้มาก เป็นที่น่าสังเกตว่าภาษาโปรแกรมมักใช้ที่นี่ ระดับสูง.

เลือกภาษาไหนดี

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

  • จาวา. ภาษาเขียนโปรแกรมที่หลากหลายและเป็นที่นิยมที่สุด ที่สามารถนำไปใช้พัฒนาทั้งแอพพลิเคชั่นสำหรับคอมพิวเตอร์และอุปกรณ์ต่างๆ โดยเฉพาะอย่างยิ่งสำหรับ Androidระบบปฏิบัติการ มีไวยากรณ์ที่เข้าใจง่าย เรียนรู้ได้ง่ายและรวดเร็ว โปรแกรม Java แรกสามารถเขียนได้หลายสัปดาห์หลังจากเริ่มการฝึกอบรม ลักษณะเด่นที่ทำให้มีแนวโน้มมากคือการใช้สำหรับการเขียนโปรแกรมสำหรับ Android ซึ่งขณะนี้มีการพัฒนาอย่างรวดเร็วมาก
  • ค #. ทางเลือกที่ดีสำหรับผู้ที่ต้องการอุทิศกิจกรรมให้กับการเขียนโปรแกรมระบบคอมพิวเตอร์ เป็นภาษา CI Sharp (C #) ซึ่งเป็นพื้นฐานในการเขียนโปรแกรมส่วนใหญ่สำหรับแพลตฟอร์มและบริการต่างๆ จาก Microsoft สามารถใช้ในการพัฒนาเว็บแอปพลิเคชันโดยใช้ .NET และ Azure ตลอดจนโปรแกรมสำหรับ Windows แอปพลิเคชันทางธุรกิจต่างๆ และสิ่งอื่น ๆ ได้โดยตรง การมี C # นั้นค่อนข้างเหนื่อย แต่มันจะได้ผลในระยะยาว
  • พีพี. หากงานของคุณคือการเขียนสคริปต์คุณภาพสูงและเทมเพลตเชิงโต้ตอบสำหรับทรัพยากรอินเทอร์เน็ตหรือเป็นผู้ดูแลระบบเซิร์ฟเวอร์ซึ่งตอนนี้เป็นอาชีพที่ทำกำไรได้มาก PHP จะเป็น วิธีที่ดีที่สุดให้บรรลุถึงความปราถนาเช่นนั้น ภาษาสมัยใหม่การเขียนโปรแกรมไม่สามารถทำได้หากไม่มีตัวแทนนี้ เขาเรียนรู้ได้อย่างรวดเร็วและง่ายดาย - หากคุณศึกษา PHP อย่างละเอียดและสม่ำเสมอ จากนั้นใน 2-3 ปีคุณสามารถสมัครตำแหน่งที่ดีและเงินเดือนที่เหมาะสมได้

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

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

เกือบ 60 ปีผ่านไปแล้วตั้งแต่ภาษาโปรแกรมระดับสูงภาษาแรกอย่าง Fortran ปรากฏขึ้นในปี 2500 และไม่น่าแปลกใจเลยที่โปรแกรมมิ่งมีความก้าวหน้าอย่างมากในช่วงเวลาที่ยาวนานเช่นนี้ เทคโนโลยีใหม่ได้ปรากฏขึ้น แนวคิดใหม่และกระบวนทัศน์การเขียนโปรแกรมใหม่ และแน่นอน ภาษาใหม่ ตามกฎแล้ว การสร้างภาษาการเขียนโปรแกรมนั้นเกิดจากความต้องการด้านเวลา: งานใหม่มักต้องการเครื่องมือใหม่ๆ ในการแก้ปัญหา ซึ่งจะทำงานได้ดีกว่ารุ่นก่อน ในเรื่องนี้ภาษาใหม่หลายภาษาปรากฏขึ้นทุกปีซึ่งดูดซับสิ่งที่ดีที่สุดที่สะสมมานานหลายทศวรรษของการเขียนโปรแกรมเชิงปฏิบัติและในขณะเดียวกันก็นำสิ่งใหม่มาใช้ บางส่วนมากที่สุด ภาษาที่น่าสนใจโปรแกรมที่ปรากฏตัวขึ้นค่อนข้างเร็ว แต่ได้สร้างตัวเองเป็นเครื่องมือที่ทรงพลังและทันสมัยสำหรับนักพัฒนาแล้วและจะนำมาพิจารณาในบทความนี้

Swift

ภาษาฟรี จุดประสงค์ทั่วไปสร้างโดย โดย Appleสำหรับการพัฒนาสำหรับ iOS และ OS X ภาษาเข้ากันได้กับ Objective-C ซึ่งทำให้สามารถใช้ทั้งสองภาษาในโปรแกรมเดียวได้ การพัฒนาภาษาเริ่มขึ้นในปี 2010 ภายใต้การนำของ Chris Lattner หัวหน้าฝ่ายพัฒนาของ Apple Swift ได้ยืมไอเดียมาจากหลายๆ ที่แล้ว ภาษาที่มีอยู่ทิศทางที่แตกต่างกันมาก: จาก C ++ ถึง Haskell การแนะนำภาษาอย่างเป็นทางการเกิดขึ้นในเดือนมิถุนายน 2014 พร้อมด้วยคู่มือ 500 หน้าเกี่ยวกับวิธีการใช้งาน คุณสามารถทำงานบน Swift ใน Xcode 6 สำหรับสภาพแวดล้อมการเขียนโปรแกรม iOS ภาษาเวอร์ชัน 3.0 เพิ่มการรองรับสำหรับ Linux
ภาษาได้รับมากจาก Objective-C; ในขณะเดียวกันก็อยู่ในตำแหน่งที่ปลอดภัยและเร็วกว่า ตามที่นักพัฒนาโค้ด Swift รันเร็วกว่าโค้ด Objective-C 1.5 เท่า

สับ

ภาษาที่พัฒนาโดย Facebook; มีลักษณะคล้ายกับ PHP รหัสโปรแกรมบนแฮ็กทำงานบนเครื่องเสมือนพิเศษที่รองรับ PHP ด้วย ภาษาเป็นโอเพ่นซอร์ส - แฮ็คเปิดให้ทุกคนที่ต้องการมีส่วนร่วมในการปรับปรุง แม้ว่าภาษาจะใช้ PHP ที่รู้จักกันดี แต่นักพัฒนาก็สามารถสร้างเครื่องมือใหม่ที่มีความน่าเชื่อถือสูงได้อย่างสมบูรณ์สำหรับ การสร้างอย่างรวดเร็วเว็บไซต์และแอปพลิเคชันอื่นๆ ผลลัพธ์ที่ได้นั้นประทับใจ Facebook มากจนโครงการทั้งหมดของบริษัทถูกโอนไปยัง Hack ซึ่งเป็นข้อเท็จจริงที่บ่งบอกตัวมันเอง

จูเลีย

ภาษาใหม่สำหรับการคำนวณทางคณิตศาสตร์ ไวยากรณ์ของภาษาได้รับอิทธิพลจาก Matlab และภาษาคณิตศาสตร์อื่นๆ แต่ก็มีความแตกต่างที่สำคัญเช่นกัน ภาษานั้นเขียนด้วย C และ C ++; รหัสโปรแกรมภาษาทำงานบนเครื่องเสมือน LLVM ซึ่ง Julia ติดตั้งคอมไพเลอร์ JIT ต้องขอบคุณการคอมไพล์ทำให้งานแอปพลิเคชั่นมีความเร็วสูงเทียบเท่ากับโปรแกรมที่เขียนด้วย C ++
ภาษารองรับการคำนวณแบบกระจาย การโอเวอร์โหลดฟังก์ชัน และการขนานโค้ด งานหลักของ Julia: ทำงานกับการคำนวณจำนวนมากในขณะที่ยังคงประสิทธิภาพสูง สำหรับวัตถุประสงค์เหล่านี้ ได้มีการเพิ่มการรองรับการประมวลผลแบบคลาวด์ในภาษาด้วย นอกจากอย่างหมดจด ปัญหาทางคณิตศาสตร์ด้วยความช่วยเหลือของ Julia คุณสามารถสร้างโปรแกรมเอนกประสงค์ได้

โผ

ภาษาที่สร้างโดย Google แทน JavaScript เนื่องจาก "ข้อบกพร่องพื้นฐาน" บางอย่างใน JavaScript ที่ไม่สามารถแก้ไขได้ จึงตัดสินใจสร้างภาษาใหม่สำหรับการเขียนโปรแกรมเว็บ ในเวลาเดียวกัน ภาษาต้องถูกสร้างขึ้นให้ใกล้เคียงที่สุดกับภาษาที่มีอยู่ เพื่อทำให้การเปลี่ยนผ่านง่ายขึ้นและสอนผู้มาใหม่ ปัจจุบัน โปรแกรม Dart ดำเนินการในสองวิธี: ผ่าน เครื่องเสมือน Dart VM และโดยการแปลเป็น JavaScript ในอนาคต Dart ถูกกำหนดให้แทนที่ JavaScript เป็นภาษาสากลสำหรับการเขียนโปรแกรมเว็บ

พิมพ์สคริปต์

ภาษาอื่นที่วางตำแหน่งตัวเองแทน JavaScript Anders Hejlsberg ผู้โด่งดัง ผู้แต่ง Delphi, C # และ Turbo Pascal กลายเป็นผู้พัฒนาภาษาใหม่ พิมพ์สคริปต์คือ เปิดลิ้นเข้ากันได้กับจาวาสคริปต์ย้อนหลัง คอมไพเลอร์แปลงโค้ด Type Script เป็น JavaScript ซึ่งเบราว์เซอร์จะดำเนินการ ต่างจาก JS ภาษาใหม่รองรับความเป็นไปได้ทั้งหมดของการเขียนโปรแกรมเชิงวัตถุ เช่นเดียวกับการเชื่อมต่อของโมดูล ความเข้ากันได้ของ Type Script และ JavaScript ช่วยให้สามารถใช้โค้ด JavaScript ที่มีอยู่ในโปรเจ็กต์ Type Script ใหม่ รวมถึงไลบรารี JS ยอดนิยม มีการรองรับกระบวนทัศน์การเขียนโปรแกรมทั่วไป

  • การแปล

หากเราแบ่งภาษาโปรแกรมตามความนิยม ภาษาโปรแกรมจะถูกแบ่งออกเป็นสามระดับ ระดับแรกประกอบด้วยภาษาหลักเช่น Java, JavaScript, Python, Ruby, PHP, C #, C ++ และ Objective-C แม้ว่าภาษาชั้นนำบางภาษาอาจลดลง แต่คุณควรรู้จักอย่างน้อยหนึ่งภาษาหากต้องการหางานทำได้ง่าย


ภาษาระดับรองกำลังพยายามเจาะเข้าสู่กระแสหลัก แต่ยังไม่ถึงความสำเร็จ พวกเขาได้พิสูจน์คุณค่าของตนเองโดยการสร้างชุมชนที่เข้มแข็ง แต่บริษัทไอทีส่วนใหญ่ที่อนุรักษ์นิยมก็ยังไม่ได้ใช้งาน Scala, Go, Swift, Clojure และ Haskell เป็นภาษาที่ฉันจะจัดเป็นระดับที่สอง บางบริษัทใช้ภาษาเหล่านี้เพื่อ บริการส่วนบุคคลแต่การใช้งานอย่างแพร่หลายนั้นหายาก (ยกเว้น Swift ซึ่งเริ่มแซง Objective-C เป็นภาษาหลักสำหรับ iOS) Go และ Swift มีโอกาสที่ดีในการเปลี่ยนจากระดับ 2 เป็นระดับ 1 ภายในสองถึงสามปีข้างหน้า


ภาษาส่วนใหญ่ในระดับแรกนั้นหยั่งรากอย่างแน่นหนาในตำแหน่งของพวกเขา ดังนั้นการสูญเสียภาษาจากตำแหน่งผู้นำจึงใช้เวลานาน และเป็นเรื่องยากมากที่ภาษาในระดับที่สองจะเจาะเข้าไปในกลุ่มแรก


ภาษาที่มีแนวโน้มจากบทความนี้อยู่ในระดับที่สาม และพวกเขาเพิ่งจะเริ่มต้นขึ้น ภาษาบางภาษาอยู่ในระดับที่สามมาหลายปีแล้วโดยที่ไม่ได้รับความนิยม ในขณะที่ภาษาอื่นๆ เข้าสู่ฉากในเวลาเพียงไม่กี่ปี เช่น ภาษาที่จะกล่าวถึงในบทความ

ภาษาที่มีแนวโน้ม: ทำไมห้าเหล่านี้?

ภาษาโปรแกรมห้าภาษาที่จะกล่าวถึงนั้นใหม่มาก (เป็นไปได้ที่คุณจะได้ยินเกี่ยวกับบางภาษาเป็นครั้งแรก) และเห็นได้ชัดว่าพวกเขามีโอกาสที่ดีที่จะบุกเข้าสู่ระดับที่สองในอีก 2-3 ปีข้างหน้า บางทีสักวันหนึ่งในภาษาเหล่านี้จะสามารถบีบภาษาของระดับแรกได้


นี่คือเหตุผลที่เลือกห้าภาษาเหล่านี้สำหรับรายการนี้:


Elm กำลังได้รับความนิยมในชุมชน JavaScript โดยเฉพาะอย่างยิ่งในหมู่ผู้ที่ชื่นชอบการเขียนโปรแกรมเชิงฟังก์ชันซึ่งกำลังเพิ่มขึ้น เช่นเดียวกับ TypeScript หรือ Dart Elm ถูก transpiled เป็น JavaScript


Rust เป็นภาษาโปรแกรมระบบที่ออกแบบมาสำหรับเฉพาะ C และ C ++ ดังนั้นจึงเป็นเรื่องน่าแปลกใจที่เห็นว่าความนิยมของภาษานี้เติบโตขึ้นอย่างรวดเร็วในหมู่นักพัฒนาเว็บ ข้อเท็จจริงนี้จะมีความหมายมากขึ้นเมื่อคุณพบว่าภาษานั้นถูกสร้างขึ้นใน Mozilla ซึ่งต้องการให้ตัวเลือกที่ดีกว่าแก่นักพัฒนาเว็บที่ถูกบังคับให้เขียนโค้ดระดับต่ำ และในขณะเดียวกันก็มีประสิทธิภาพมากกว่า PHP, Ruby, ไพทอนหรือจาวาสคริปต์ Rust ยังได้รับการโหวตให้ดีที่สุดในหมวดหมู่ "เทคโนโลยีโปรด" ในแบบสำรวจของนักพัฒนา StackOverflow ปี 2016 (หมายความว่าผู้ใช้ส่วนใหญ่ต้องการใช้ภาษานี้ต่อไป)


Kotlin มีมาประมาณห้าปีแล้ว แต่เฉพาะปีนี้เท่านั้นที่มันมาถึงเวอร์ชัน 1.0 ที่พร้อมสำหรับการผลิต แม้ว่าจะยังไม่ได้รับความนิยมของ Scala, Groovy หรือ Clojure - สามภาษาที่ได้รับความนิยมและเป็นผู้ใหญ่มากที่สุด (นอกเหนือจาก Java) สำหรับ JVM - มันโดดเด่นจากภาษา JVM อื่น ๆ อีกมากมายและดูเหมือนว่าพร้อมที่จะ มาแทนที่ผู้นำกลุ่มนี้ ... ภาษามีต้นกำเนิดมาจาก JetBrains (ผู้สร้าง IntelliJ IDEA IDE ยอดนิยม) ดังนั้นจึงได้รับการออกแบบโดยเน้นที่ประสิทธิภาพการทำงานของนักพัฒนา


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


Elixir ยังได้รับแรงบันดาลใจจากระบบนิเวศของ Ruby แต่แทนที่จะพยายามสร้างประโยชน์ที่คล้ายกับ C กลับมุ่งเน้นไปที่การสร้างระบบที่มีความพร้อมใช้งานสูงและตอบสนองได้ดี เช่น สิ่งที่ Rails มีปัญหาตามคำวิจารณ์ Elixir บรรลุผลประโยชน์เหล่านี้ด้วย Erlang VM ซึ่งมีชื่อเสียงที่มั่นคงซึ่งสร้างขึ้นจากความสำเร็จ 25 ปีในอุตสาหกรรมโทรคมนาคม Phoenix (เว็บเฟรมเวิร์กสำหรับ Elixir) พร้อมด้วยระบบนิเวศขนาดใหญ่และเฟื่องฟู ทำให้ภาษานี้น่าดึงดูดยิ่งขึ้น


ตอนนี้ดูว่าสี่ในห้าภาษานี้ปีนบันไดความนิยมได้อย่างไร (ตามข้อมูล StackOverflow และ GitHub):




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

Elm

Elm เป็นภาษาการเขียนโปรแกรมเชิงฟังก์ชันที่เน้นการใช้งานที่คอมไพล์เป็นโค้ด JavaScript ที่มีประสิทธิภาพสูง คุณสามารถใช้มัน ร่วมกับ JavaScript เพื่อสร้าง อินเทอร์เฟซผู้ใช้ในอินเตอร์เน็ต. ข้อได้เปรียบหลักของ Elm เหนือ JavaScript คือ ความน่าเชื่อถือ ความสะดวกในการบำรุงรักษา และเน้นที่ความสนุกในการเขียนโปรแกรม เฉพาะเจาะจงมากขึ้น:

  • ไม่มีข้อยกเว้นรันไทม์:รหัส Elm มีชื่อเสียง ไม่เคยโยนข้อยกเว้นที่รันไทม์... ไม่ใช่เลย "undefined ไม่ใช่ฟังก์ชัน"
  • คอมไพเลอร์ชนิดในตำนาน:คอมไพเลอร์ Elm บ่อยๆ ชื่นชมสำหรับรายงานข้อผิดพลาดที่เป็นประโยชน์มากที่สุดในบรรดาการแข่งขัน "ถ้ามันคอมไพล์ มันก็มักจะใช้ได้" เป็นความเชื่อทั่วไป แม้กระทั่งหลังจากการปรับโครงสร้างครั้งใหญ่แล้ว ทำให้โครงการ Elm ขนาดใหญ่ดูแลรักษาง่ายกว่าโครงการ JS ที่สมน้ำสมเนื้อ
  • การกำหนดเวอร์ชันเชิงความหมาย: elm-package บังคับใช้เวอร์ชันความหมายโดยอัตโนมัติ หากผู้สร้างแพ็คเกจพยายามทำการเปลี่ยนแปลง API โดยไม่เพิ่มหมายเลขเวอร์ชันหลัก elm-package จะตรวจพบสิ่งนี้และปฏิเสธที่จะเผยแพร่ เวอร์ชั่นใหม่บรรจุุภัณฑ์. ไม่มีตัวจัดการแพ็คเกจที่รู้จักกันดีอื่น ๆ ที่บังคับใช้การกำหนดเวอร์ชันเชิงความหมายอย่างน่าเชื่อถือ
  • รวดเร็วและใช้งานได้จริง: Elm เป็นภาษาที่ใช้งานได้จริงซึ่งรับรองว่าไม่มีการกลายพันธุ์หรือผลข้างเคียง สิ่งนี้ไม่เพียงแต่ให้ความสามารถในการปรับขนาดที่ยอดเยี่ยมสำหรับโค้ด Elm เท่านั้น แต่ยังช่วยให้แสดง UI ของแอปพลิเคชันได้เร็วกว่า React, Angular หรือ Ember
  • เครื่องมือที่ทรงพลัง: elm-format จัดรูปแบบซอร์สโค้ดตามมาตรฐานชุมชน ไม่มีการโต้เถียงกันเกี่ยวกับอนุสัญญาการเข้ารหัสอีกต่อไป เพียงกดปุ่ม "บันทึก" ในตัวแก้ไข โค้ดของคุณก็ดูสวยงาม elm-test มาพร้อมกับ "แบตเตอรี่" เพื่อรองรับทั้งหน่วยและการทดสอบแบบสุ่ม elm-css ให้คุณเขียนโค้ด Elm ที่คอมไพล์เป็นไฟล์ css ได้ ดังนั้นคุณจึงสามารถแบ่งโค้ดระหว่างแอปพลิเคชันและสไตล์ชีตของคุณได้ เพื่อให้แน่ใจว่าค่าคงที่ของคุณจะไม่มีการซิงค์

รหัส Elm ยังสามารถโต้ตอบกับ JavaScript นั่นคือ คุณสามารถฉีดเข้าไปในโค้ด JS ของคุณในปริมาณเล็กน้อย และคุณยังสามารถใช้ระบบนิเวศ JS ขนาดใหญ่ได้โดยไม่ต้องสร้างวงล้อขึ้นใหม่

Kotlin

Kotlin เป็นภาษาที่พิมพ์แบบสแตติกซึ่งกำหนดเป้าหมายไปที่ JVM และ JavaScript Kotlin ถือกำเนิดขึ้นจากความต้องการ JetBrains ซึ่งกำลังมองหาภาษาใหม่ในการพัฒนากล่องเครื่องมือ (ซึ่งส่วนใหญ่เขียนด้วยภาษา Java) สิ่งที่จะช่วยให้พวกเขาใช้ codebase ที่มีอยู่และในขณะเดียวกันก็แก้ปัญหาบางอย่างที่ Java ได้ก่อขึ้น และเป็นแนวทางแก้ไขข้อบกพร่องทั่วไปเหล่านี้ที่เกิดขึ้นเมื่อเขียนได้อย่างแม่นยำ ซอฟต์แวร์กำหนดคุณลักษณะส่วนใหญ่ของ Kotlin

  • ความรัดกุม:ลดจำนวนรหัสสำเร็จรูปที่จำเป็นในการแสดงโครงสร้างบางอย่าง
  • ความเก่งกาจ:สร้างภาษาที่เหมาะกับงานอุตสาหกรรมทุกประเภท ไม่ว่าจะเป็นเว็บ การพัฒนามือถือ, แอปพลิเคชันเดสก์ท็อปหรือเซิร์ฟเวอร์
  • ความปลอดภัย:ให้ภาษาจัดการข้อผิดพลาดทั่วไปที่เกี่ยวข้องกับปัญหาเช่นข้อยกเว้นการอ้างอิงที่เป็นโมฆะด้วยตัวมันเอง
  • ปฏิสัมพันธ์:อนุญาตให้ภาษาโต้ตอบกับฐานโค้ด ไลบรารี และเฟรมเวิร์กของ Java ที่มีอยู่ เพื่อให้คุณสามารถนำไปใช้และใช้ประโยชน์จากผลลัพธ์ของการลงทุนของคุณได้อย่างค่อยเป็นค่อยไป
  • เครื่องมือ: JetBrains สร้างเครื่องมือและทำให้พวกเขาเชื่อว่างานประจำหลายๆ อย่างสามารถเป็นแบบอัตโนมัติได้ และนำไปสู่การพัฒนาที่มีประสิทธิภาพและประสิทธิผลมากขึ้น ดังนั้น ภาษาควรอนุญาตให้ใช้เครื่องมือเสริมได้อย่างง่ายดาย

Kotlin เป็นและมักจะนำไปใช้ได้จริง - มองหาปัญหาทั่วไปที่เรามักพบเมื่อเขียนโค้ดและพยายามช่วยแก้ไข มันทำงานเหมือนด้ายสีแดงผ่านคุณสมบัติภาษาต่างๆ เช่น:

  • Null-safe โดยค่าเริ่มต้น:ประเภทของ Kotlin นั้นไม่มีค่าเป็นโมฆะโดยค่าเริ่มต้น ซึ่งหลีกเลี่ยงข้อยกเว้นการอ้างอิง / ตัวชี้ค่า null ที่น่ารำคาญ
  • คณะผู้แทนชั้นหนึ่ง:ความสามารถในการมอบหมายฟังก์ชันการทำงานของสมาชิกคลาสให้กับฟังก์ชันภายนอก ทำให้ง่ายต่อการใช้ซ้ำและปรับปรุงองค์ประกอบ
  • ข้อตกลง:ชุดของข้อตกลงที่อนุญาตให้คุณเขียนโค้ดที่สื่อความหมายได้ ปูทางสำหรับ DSL ที่พิมพ์อย่างเข้มงวด ซึ่งปรับปรุงความสามารถในการอ่านและทำให้การจัดองค์ประกอบใหม่ง่ายขึ้น
    html (หัว (ชื่อ (+ "การเข้ารหัส XML ด้วย Kotlin")) เนื้อหา (p (+ "นี่คือ HTML บางส่วน"))

Kotlin 1.0 เปิดตัวในเดือนกุมภาพันธ์ 2559 หลังจากกว่าห้าปีของการพัฒนาและการทดสอบอย่างกว้างขวางในโครงการจริง ปัจจุบันมีผลิตภัณฑ์ JetBrains มากกว่าสิบรายการที่ใช้ Kotlin นอกจากนี้ยังใช้โดยบริษัทต่างๆ เช่น Amex, NBC Digital, Expedia และ Gradle


ที่จะได้รับ ข้อมูลเพิ่มเติมเยี่ยมชม kotlinlang.org


ส่วนนี้เขียนขึ้น

1. เมื่อเลือกภาษาการเขียนโปรแกรมสำหรับโปรเจ็กต์ ทางเลือกจะเกิดขึ้นระหว่างสองด้าน - เพื่อเลือกเครื่องมือเก่าที่ผ่านการพิสูจน์แล้วหรือใหม่ สวยงาม ใช้งานได้จริง แต่มีการทดสอบเพียงเล็กน้อย ดังนั้นจึงไม่น่าเชื่อถือ สิ่งที่ฉลาดที่สุดในสถานการณ์นี้คืออะไร? วิธีแก้ปัญหาแต่ละข้อมีความเสี่ยงอะไรบ้าง และจะจัดการกับมันอย่างไร?

Igor Zilberg, SmartHead
ควรเลือกเครื่องมือตามความเพียงพอของงานและการมีอยู่ของทีมงานที่มีประสบการณ์ซึ่งคุ้นเคยกับเครื่องมือที่เลือก ความเสี่ยงในการทำงานกับเครื่องมือใหม่จะลดลงโดยการวิจัย การสร้างการพิสูจน์แนวคิด และการมีส่วนร่วมของที่ปรึกษาที่มีประสบการณ์ เทคโนโลยีใหม่ต้องได้รับการศึกษาอย่างต่อเนื่อง แต่จะนำไปใช้ก็ต่อเมื่อเหมาะสมกับงานเฉพาะมากกว่า

Alexander Makarchuk, qb
สำหรับธุรกิจ แนวคิดของ "ภาษาที่สวยงาม" ไม่มีอยู่จริง คุณสามารถเดิมพันในภาษาใหม่ที่ยังไม่ทดสอบได้ก็ต่อเมื่อมีการรับประกันว่าโครงการจะมี USP พิเศษที่ลูกค้าสามารถสัมผัสได้ และที่สำคัญที่สุดคือพวกเขาต้องการจ่ายเงิน หากตรงตามเงื่อนไขนี้ คุณสามารถเลือกภาษาใหม่ได้ แต่คุณจะต้องรับความเสี่ยงทั้งหมดที่เกี่ยวข้อง

Grigory Nikonov, แอคทิส วันเดอร์แมน
แน่นอนว่ามันขึ้นอยู่กับโครงการและวุฒิภาวะของภาษานั้นเอง หากโปรเจ็กต์อนุญาตหรือการใช้ภาษาเป็นข้อกำหนดเบื้องต้น และมีไลบรารีหัวเรื่องที่จำเป็น มีความเป็นไปได้ค่อนข้างมากที่จะอนุญาตให้ทำการทดสอบ ความเสี่ยงนั้นชัดเจน: หลุมพรางที่สามารถสะดุดได้ครึ่งทาง การลดความเสี่ยงเหล่านี้ให้เหลือน้อยที่สุดก็ชัดเจนเช่นกัน: ถ้าเป็นไปได้ ให้ทำการวิจัยก่อนเริ่มโครงการ และตรวจสอบให้แน่ใจว่าอย่างน้อยต้องมีการสนับสนุนภาษาในฟอรัมหรือจากผู้ผลิต

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

Alexey Fedorov, "เพื่อนร่วมชั้น"
คำตอบขึ้นอยู่กับระยะเวลาที่วางแผนไว้ของโครงการเป็นอย่างมาก หากนี่เป็นโปรเจ็กต์ทำเองขนาดเล็กที่ต้องทำให้เสร็จอย่างรวดเร็ว มอบและลืมมันไปเถอะ คุณสามารถเลือกสิ่งที่คุณต้องการได้ หากเป็นโครงการขนาดใหญ่เป็นเวลาหลายปี จะดีกว่าที่จะเลือกเทคโนโลยีที่ได้รับการพิสูจน์แล้วซึ่งคุณสามารถจ้างผู้เชี่ยวชาญจำนวนที่คุณต้องการได้ เพื่อประเมินจำนวนผู้เชี่ยวชาญในเทคโนโลยีเฉพาะที่มีอยู่ในภูมิภาคของคุณ ก็เพียงพอที่จะใช้บริการที่เหมาะสมใดๆ เช่น LinkedIn หรือ HeadHunter จากนั้นคุณต้องดูข้อกำหนดที่ไม่ทำงาน: โหลด ความปลอดภัย ความทนทานต่อข้อผิดพลาด ฯลฯ

2. อะไรคือปัจจัยสำคัญที่ทำให้มั่นใจว่าภาษาสามารถและควรใช้ในการผลิต?

Igor Zilberg, SmartHead
ไม่มีใครและไม่มีอะไรให้การค้ำประกันในโลกนี้ เราอาศัยประสบการณ์และแนวปฏิบัติที่ดีที่สุดของเรา

Alexander Makarchuk, qb
มีคุณลักษณะหลักสามประการที่ระบุว่าเป็นประโยชน์และปลอดภัยในการใช้ภาษาใดภาษาหนึ่งโดยเฉพาะ ประการแรก การมีอยู่ของชุมชน "ที่มีชีวิต" ในภาษานี้ ประการที่สอง การมีอยู่ของกรณีที่ประสบความสำเร็จ และประการที่สาม การสนับสนุนภาษาโดยผู้ขายรายใหญ่

Grigory Nikonov, แอคทิส วันเดอร์แมน
การมีอยู่ของไลบรารีหัวเรื่องและกรอบงาน "ผู้ใหญ่" ชุมชนอินเทอร์เน็ตที่ใช้งานอยู่ซึ่งให้คำแนะนำในการแก้ปัญหา การไม่มีบทวิจารณ์เชิงลบเกี่ยวกับความเสถียรและประสิทธิภาพของแอปพลิเคชันขั้นสุดท้าย

อเล็กซี่ เปอร์เซียอฟ, มิคาอิล พาร์เฟนยุก, ADV
ปัจจัยต่างๆ ได้แก่ ชุมชนของภาษาที่กำหนด จำนวนโครงการที่ดำเนินการ จำนวนนักพัฒนา ฯลฯ เวอร์ชันที่ใช้งานจริงในภาษาใหม่และดิบจะซ่อนปัญหาการสนับสนุนที่สำคัญไว้

Alexey Fedorov, "เพื่อนร่วมชั้น"
การรับประกันอย่างเป็นทางการสามารถสำรองได้โดยสัญญาเท่านั้น หากมีผู้ขายที่จริงจัง (เช่น Oracle, SAP, IBM) ที่รับประกันเช่นว่าเทคโนโลยีของเขาจะได้รับการสนับสนุนเป็นเวลา 10 ปีข้างหน้าและมีการลงนามในสัญญาการสนับสนุนที่เกี่ยวข้องกับผู้ขายรายนี้ในหลักการ คุณสามารถพิจารณาการรับประกันบางอย่างได้ ... ปัญหาคือราคานี้มักจะมีราคาแพงมาก และคุณภาพของการสนับสนุนจากผู้ขายรายใหญ่มักจะน่าขยะแขยง

ดังนั้นจึงมีการนำแนวทางปฏิบัติที่แตกต่างออกไปในโลกในช่วงไม่กี่ปีที่ผ่านมา - โอเพ่นซอร์ส หากคุณมีเครื่องมือโอเพนซอร์ส (ภาษา เฟรมเวิร์ก ฐานข้อมูล หรืออะไรก็ตาม) กับโอเพ่นซอร์ส รหัสแหล่งที่มาวิธีนี้จะช่วยให้คุณรับประกันได้ว่าหากพบข้อบกพร่องในเครื่องมือนี้อย่างกะทันหัน ในกรณีร้ายแรง คุณสามารถแก้ไขข้อผิดพลาดนี้ด้วยมือของคุณเอง เป็นคุณสมบัติของโซลูชันโอเพนซอร์ซที่ฉันถือว่าเป็นกุญแจสำคัญสำหรับธุรกิจในปัจจุบัน

3. จะทำอย่างไรถ้านักพัฒนาหรือแม้แต่นักพัฒนาหลายคนแนะนำให้เปลี่ยนภาษาการเขียนโปรแกรม แต่สถานการณ์แสดงให้เห็นว่าความปรารถนาของพวกเขาไม่ได้รับการสนับสนุนจากความต้องการทางธุรกิจที่เพียงพอสำหรับเทคโนโลยี?

Igor Zilberg, SmartHead
นักพัฒนาไม่มีข้อกำหนดทางธุรกิจ ธุรกิจนำเสนอพวกเขา อย่างไรก็ตาม ธุรกิจขึ้นอยู่กับคุณภาพของโค้ดที่นักพัฒนาเขียน ดังนั้น หากนักพัฒนาต้องการใช้เทคโนโลยีที่ไม่เหมาะกับการแก้ปัญหาทางธุรกิจอย่างชัดเจน ก็ต้องโน้มน้าวนักพัฒนาหรือเปลี่ยนแปลงมัน นักพัฒนาที่เพียงพอและมีประสบการณ์สามารถเข้าใจข้อกำหนดของธุรกิจและนำโซลูชันที่เหมาะสมที่สุดไปใช้กับพวกเขาได้ เราไม่มีปัญหาดังกล่าว ในทางปฏิบัติของเรา สิ่งที่ตรงกันข้ามเกิดขึ้นบ่อยกว่า: ลูกค้าแทนที่จะกำหนดข้อกำหนดทางธุรกิจ มีอิทธิพลต่อการเลือกเทคโนโลยี (มักจะส่งผลเสียต่อการปฏิบัติตามข้อกำหนดของเขาเอง)

Alexander Makarchuk, qb
หากการเปลี่ยนไปใช้ภาษาใหม่ไม่ได้รับการสนับสนุนโดยข้อโต้แย้งที่จับต้องได้ และไม่รับประกันถึงข้อได้เปรียบที่ร้ายแรงสำหรับโครงการ ก็ไม่มีความจำเป็น แต่แน่นอนว่านักพัฒนาจำเป็นต้องอธิบายเรื่องนี้เพื่อไม่ให้ทีมงานรู้สึกว่าไม่ได้ฟังพวกเขา

Grigory Nikonov, แอคทิส วันเดอร์แมน
ยึดมั่นในนโยบายอนุรักษ์นิยมและไม่เปลี่ยนภาษาโดยไม่มีเหตุผลอันสมควร จะมีอีกโครงการหนึ่งให้ลองใช้ภาษาใหม่อยู่เสมอ

อเล็กซี่ เปอร์เซียอฟ, มิคาอิล พาร์เฟนยุก, ADV
คุณสามารถพบนักพัฒนาได้เพียงครึ่งทางเท่านั้น ในกรณีของโครงการภายใน หรือหากเขียนขึ้นเพื่อฝึกอบรมทีม ในกรณีนี้ ความเสี่ยงของความล้มเหลวมีน้อย และในกรณีของความล้มเหลว ประสบการณ์ที่เป็นประโยชน์จะถูกนำไปข้างหน้าสำหรับอนาคต มิฉะนั้น ธุรกิจจะไม่ชื่นชมความสมบูรณ์แบบของนักพัฒนา

Alexey Fedorov, "เพื่อนร่วมชั้น"
ก่อนอื่นควรถามว่าอะไรเป็นพื้นฐานสำหรับแนวคิดในการเปลี่ยนภาษา มันจะให้อะไร? ข้อดีและข้อเสียคืออะไร? ค่าใช้จ่ายของการเปลี่ยนแปลงดังกล่าวคืออะไรและกรอบเวลาคืออะไร? ความเสี่ยงคืออะไร?

หากคำตอบที่คุณได้รับเหมาะสมกับคุณจากมุมมองทางธุรกิจ ให้ดำเนินการต่อไป หากคุณไม่พอใจ คุณต้องพยายามบอกนักพัฒนาว่าทำไมคุณปฏิเสธพวกเขา

4. ค่าใช้จ่ายในการเปลี่ยนจากภาษาหนึ่งไปเป็นอีกภาษาหนึ่งจะคุ้มค่าเมื่อใด

Igor Zilberg, SmartHead
เป็นไปไม่ได้ที่จะประมาณการต้นทุนของการเปลี่ยนแปลงแพลตฟอร์มและผลประโยชน์ที่เกี่ยวข้องนอกบริบทของโครงการ การตัดสินใจดังกล่าวสามารถทำได้บนพื้นฐานของวิธีการโดยเจตนาภายในกรอบของโครงการเฉพาะ และไม่อยู่บนพื้นฐานของความคิดเห็นหรือกฎ "สากล" ใดๆ

Alexander Makarchuk, qb
เมื่อสิ่งนี้จะนำมาซึ่งผลกำไรที่จับต้องได้ ทั้งทางตรงและทางอ้อม อันเนื่องมาจากการปรากฏตัวของ USP ใหม่ในโครงการ ซึ่งจะทำให้ผลิตภัณฑ์สามารถแข่งขันได้มากขึ้น

Grigory Nikonov, แอคทิส วันเดอร์แมน
ในกรณีที่การใช้ภาษาใหม่ทำให้สามารถเพิ่มประสิทธิภาพห่วงโซ่ชีวิตทั้งหมดของหัวข้อได้อย่างมีนัยสำคัญ: ตั้งแต่การออกแบบ การพัฒนาและการทดสอบแอปพลิเคชันไปจนถึงการใช้งานและการปรับปรุงและการปรับปรุงที่ตามมาเนื่องจากคุณสมบัติของภาษาและ ระบบนิเวศรอบตัวมัน

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

Alexey Fedorov, "เพื่อนร่วมชั้น"
เมื่อคุณและเพื่อนร่วมงานมีคำตอบที่ชัดเจนสำหรับคำถามข้างต้น

5. คุณคิดว่ามีการแบ่งแยกที่ใช้ภาษาสำหรับงานเฉพาะหรือไม่? ถ้าเป็นเช่นนั้นคุณเห็นได้อย่างไร? อาจมีภาษาเกิดขึ้นหรือมีอยู่แล้วที่จะเปลี่ยนแปลงสถานการณ์และเข้าควบคุมนักพัฒนาส่วนใหญ่?

Igor Zilberg, SmartHead
แน่นอนว่ามีการใช้งานทั่วไปสำหรับแพลตฟอร์มต่างๆ (ไม่ใช่ภาษา) ตัวอย่างเช่น Java และ .NET สำหรับแอปพลิเคชันหรือบริการทางธุรกิจที่ค่อนข้างใหญ่ Node.js สำหรับมัลติเธรดและการส่งข้อความ ทั้งหมดไม่สามารถระบุได้ อย่างไรก็ตาม ขอบเขตเหล่านี้มีความไม่ชัดเจนมาก และยังขึ้นอยู่กับภูมิภาคอีกด้วย ตัวอย่างเช่น ในสหรัฐอเมริกา มีประสบการณ์การใช้งานที่แตกต่างกันเล็กน้อย "แฟชั่น" และการใช้งานแพลตฟอร์มทั่วไปมากกว่าของเรา

Alexander Makarchuk, qb
ในอีกด้านหนึ่ง มีการแบ่งภาษาที่เป็นที่ยอมรับตามแอปพลิเคชัน แต่ในทางกลับกัน ปัจจัยระดับภูมิภาคและต้นทุนมีความสำคัญมาก: ค่าใช้จ่ายในการเข้าสู่เทคโนโลยี การสนับสนุน ฯลฯ เกี่ยวกับการเกิดขึ้นของภาษาใหม่ จำเป็นต้องสังเกตสิ่งต่อไปนี้ ในช่วงไม่กี่ปีที่ผ่านมา ระดับของการสื่อสารเพิ่มขึ้นอย่างมาก และภาษาโปรแกรมก็เหมือนกัน บางทีอาจเป็นการปฏิวัติต่อไปในการสื่อสารที่จะนำมาซึ่งเทคโนโลยีการพัฒนาใหม่ทั้งหมด

Grigory Nikonov, แอคทิส วันเดอร์แมน
โดยหลักการแล้วมีการแบ่งดังนี้: C และ C ++ มักใช้สำหรับการพัฒนาระดับต่ำ Java และ C # ถือเป็นภาษาเอนกประสงค์ที่เหมาะสำหรับงานที่หลากหลายตั้งแต่ตรรกะทางธุรกิจไปจนถึง แอปพลิเคชั่นมือถือ... Python, Ruby และ PHP มุ่งเน้นที่การพัฒนาเว็บเป็นหลัก JavaScript บนแอปพลิเคชันเบราว์เซอร์ ฉันไม่คิดว่าการเปลี่ยนแปลงที่รุนแรงในพื้นที่นี้เป็นไปได้แม้ว่าบางครั้งแฟชั่นสำหรับภาษาและกรอบงานจะเปลี่ยนไป - ตัวอย่างเช่นตอนนี้ภาษา Go เริ่มได้รับความนิยม

อเล็กซี่ เปอร์เซียอฟ, มิคาอิล พาร์เฟนยุก, ADV
ใช่. บางสิ่งจะนำไปใช้ได้ดีกว่าใน ภาษาที่แตกต่างกันเนื่องจากความเร็วในการทำงานและความสะดวกในการใช้งาน ตัวอย่างเช่น ในโครงการ php เนื่องจาก "ความช้า" ของภาษา คุณสามารถใช้การแชทใน Node หรือตัวรวบรวมใน Java ได้ - ผลลัพธ์จะดีกว่า

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

Alexey Fedorov, "เพื่อนร่วมชั้น"
ภาษาโปรแกรมสมัยใหม่ส่วนใหญ่ที่เรารู้ว่าเป็นแบบมัลติฟังก์ชั่น กล่าวคือ พวกเขาสามารถตัดสินใจได้แตกต่างกันมาก

สำหรับภาษาใหม่ ใช่ ภาษาดังกล่าวอาจปรากฏขึ้น แต่เนื่องจากความเฉื่อยที่ค่อนข้างรุนแรงของอุตสาหกรรม ฉันไม่คิดว่าในอีก 5 ปีข้างหน้าจะมีคนผลัก Java และ C / C ++ ออกจากแท่น ถ้าฉันเลือก "ม้า" บางชนิด ฉันจะใช้ JavaScript วันนี้เราเห็นการเติบโตอย่างมากในอุตสาหกรรมทุกอย่างที่เกี่ยวข้องกับ JavaScript กรอบเกิดเหมือนเห็ดหลังฝนตก โฆษณาทางอินเทอร์เน็ตเกี่ยวกับเทคโนโลยีนี้มีขนาดใหญ่มาก มาดูกันว่าทั้งหมดนี้นำไปสู่อะไร

6. โปรแกรมเมอร์ควรเป็น DevOps (มีทักษะของโปรแกรมเมอร์และผู้ดูแลระบบ) หรือไม่? จะทำอย่างไรกับความจริงที่ว่าโปรแกรมเมอร์ส่วนใหญ่ปฏิเสธที่จะพัฒนาความสามารถและรับผิดชอบในด้านนี้?

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

7. คุณควรใช้ไมโครเซอร์วิสในโครงการของคุณหรือไม่?

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

8. นักพัฒนาจำเป็นต้องสามารถทำงานร่วมกับเทคโนโลยีเว็บและภาษาสมัยใหม่ได้หลากหลายหรือไม่?

อเล็กซี่ เปอร์เซียอฟ, มิคาอิล พาร์เฟนยุก, ADV
ในช่วงไม่กี่ปีที่ผ่านมา ส่วนหน้ามีการก้าวกระโดดครั้งใหญ่ ในขณะที่ภาษาฝั่งเซิร์ฟเวอร์นั้น การพัฒนานั้นไม่ค่อยเด่นชัดนัก แน่นอนว่านักพัฒนาซอฟต์แวร์ต้องรู้พื้นฐานของพื้นที่ที่เกี่ยวข้อง แต่เป็นไปไม่ได้ที่จะเป็นกูรูในภาษาฝั่งเซิร์ฟเวอร์และในภาษาฝั่งไคลเอ็นต์ ทุกคนต้องทำสิ่งของตนเองและเป็นมืออาชีพอย่างแท้จริง