Visual Basic เป็นคนแปลก ๆ ใน. NET ใหม่

ในบล็อกโพสต์เมื่อสัปดาห์ที่แล้ว Microsoft ได้ให้รายละเอียดเกี่ยวกับการเปลี่ยนแปลงพื้นฐานเกี่ยวกับวิธีการพัฒนาภาษา. NET ถือเป็นข่าวดีสำหรับนักพัฒนา C # และ F # แต่ในขณะที่ Microsoft ให้ความสำคัญกับการเปลี่ยนแปลงที่มีความหมายสำหรับ Visual Basic แต่อนาคตในระยะยาวของภาษาที่เคารพนับถือดูเหมือนจะไม่ค่อยแน่นอน

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

การเปลี่ยนไปใช้. NET ซึ่งเป็นรากฐานสำหรับกลยุทธ์การพัฒนาของ Microsoft นั้นมีความหมายสำหรับภาษาใหม่ ๆ เช่น C # แต่ก็หมายถึงการเปลี่ยนแปลงของ Visual Basic ซึ่งรหัสนั้นไม่สามารถโยกย้ายจาก Visual Basic เก่าไปยัง VB.NET ใหม่ได้อย่างง่ายดาย

นับเป็นการเปลี่ยนแปลงที่ท้าทายสำหรับนักพัฒนาและ Visual Basic เริ่มสูญเสียความคิดที่จะแบ่งปันภายในการพัฒนาองค์กรและภายใน Microsoft ถึงกระนั้น Microsoft ก็สัญญาว่าจะให้ C # และ VB.NET ซิงค์กัน คุณลักษณะที่สร้างขึ้นสำหรับ C # จะกลายเป็นส่วนหนึ่งของ Visual Basic ซึ่งทั้งสองภาษาพัฒนาร่วมกัน เหตุผลก็คือพวกเขามักจะใช้สำหรับงานเดียวกันและมีลักษณะพื้นฐานที่เหมือนกัน: ทั้งภาษาที่พิมพ์อย่างรุนแรงและภาษาเชิงวัตถุที่ทำงานกับเครื่องมือเดียวกัน

Visual Basic และ C #: ความแตกต่างใหม่กำลังจะมาถึง

ด้วยการประกาศเมื่อสัปดาห์ที่แล้ววิวัฒนาการร่วมนั้นหายไป Microsoft จะปล่อยให้สองภาษาไปในทางที่แตกต่างกันโดยเริ่มจาก Visual Basic 15 ที่จะเปิดตัวเร็ว ๆ นี้

ไม่ใช่การหย่าร้างที่น่าแปลกใจ ความนิยมของ C # เติบโตขึ้นอย่างก้าวกระโดดในขณะที่ Visual Basic ได้ลดระดับลงอย่างช้าๆจนแทบจะหายไปจากเรดาร์ของไซต์สืบค้นการเขียนโปรแกรมยอดนิยมเช่น Stack Overflow กรณีการใช้งานที่มีการเปลี่ยนแปลงเกินไป: Visual Basic จะยังคงมุ่งเน้นตัวอย่างลูกค้าเซิร์ฟเวอร์เดิมในขณะที่ C # ได้กลายเป็นเครื่องมือสำหรับnใช้งานบนเว็บสามชั้นทำงานในเมฆและในสถานที่ ด้วยแอปที่สร้างขึ้นเพื่อทำงานกับเว็บและระบบคลาวด์มากขึ้นเรื่อย ๆ จึงไม่น่าแปลกใจที่ C # จะกลายเป็นตัวเลือกแรกสำหรับหลายโครงการ

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

Visual Basic ยังมีรูปแบบการออกแบบแบบเปิด แต่มีลำดับความสำคัญที่แตกต่างจาก C # มันรองรับชุดย่อยของคุณสมบัติของ C # ในบิลด์ปัจจุบันซึ่งเป็นส่วนหนึ่งของตัวเลือกรุ่นของ Visual Studio 2017

เนื่องจาก C # ยังคงแตกต่างจาก Visual Basic เราจะได้เห็นทั้งสองภาษาพัฒนาแยกกันแม้ว่าจะสามารถทำงานร่วมกันได้ ทั้งสองอย่างควรยังคงอยู่ที่. NET API เหมือนกันและทั้งสองจะยังคงเป็นส่วนหนึ่งของเครื่องมือ Visual Studio

การเปลี่ยนแปลงเหล่านี้มีความหมายอย่างไรสำหรับนักพัฒนาองค์กร

ในขณะนี้มีองค์กรน้อยมากที่จะทำเกี่ยวกับความแตกต่างที่กำลังจะมาถึงนี้

แต่ในอนาคตจะมีขอบเขตสำหรับการทำงานข้ามแพลตฟอร์มใน Visual Basic อย่างแน่นอนเนื่องจากจะต้องรองรับชุดไลบรารีคลาสพื้นฐานของ. NET Standard ควบคู่ไปกับ. NET Framework ที่คุ้นเคย แม้ว่าโค้ดบางโค้ดจะเป็นแบบพกพา แต่ก็ไม่ใช่โค้ด Visual Basic ทั้งหมดที่จะสามารถข้ามจากไลบรารีชุดหนึ่งไปยังอีกชุดที่เล็กกว่าได้ เป็นไปได้ว่าโค้ดที่มีอยู่จะยังคงอยู่บน Windows อย่างหมดจดและในแอปพลิเคชันภายในองค์กรเท่านั้น

ในฐานะนักพัฒนาคุณจะต้องเลือกระหว่างการนำโค้ด Visual Basic ไปใช้กับแพลตฟอร์มที่ใหม่กว่าผ่าน. NET Standard หรือย้ายไปใช้ภาษาเช่น C # ที่มีเฟรมเวิร์กและอุปกรณ์เป้าหมายที่หลากหลายกว่า

เนื่องจาก. NET Standard มีไว้สำหรับแพลตฟอร์ม. NET ทั้งหมดจึงเป็นอีควอไลเซอร์ที่สำคัญ อย่างไรก็ตามไม่จำเป็นสำหรับภาษา. NET ทั้งหมด แม้ว่า Visual Basic จะต้องใช้ในระบบที่ไม่มี. NET Framework เต็มรูปแบบ แต่ C # จะสามารถจัดการกับแพลตฟอร์มเช่น. NET Core ได้โดยตรงโดยเข้าถึง API ของมัน นอกจากนี้ยังช่วยให้อนุพันธ์ C # เช่น Unity สนับสนุน API เฉพาะของตนเองได้ง่ายขึ้น

C # พร้อมรองรับ. NET Framework บน Windows และโอเพ่นซอร์ส. NET Core (ทำงานบนเซิร์ฟเวอร์นาโนและในคอนเทนเนอร์) จะกลายเป็นตัวเลือกแรกสำหรับระบบคลาวด์และสำหรับแอปพลิเคชันมือถือในขณะที่รูปแบบการเขียนโปรแกรมฟังก์ชัน F # จะเหมาะสำหรับบริการทางการเงิน และแอปพลิเคชันที่อาศัยการเรียนรู้ของเครื่อง

ตัวขับเคลื่อนที่ชัดเจนสำหรับการเปลี่ยนแปลงเหล่านี้คือการเข้าซื้อกิจการ Xamarin ของ Microsoft Microsoft ต้องการชุดเครื่องมือข้ามแพลตฟอร์มเพื่อรองรับอุปกรณ์พกพาที่หลากหลายโดยที่ Windows Mobile ไม่ได้รับส่วนแบ่งการตลาดขององค์กรตามที่หวังไว้ แม้แต่ในพื้นที่ที่เป็นมิตรกับ Windows Mobile เช่นสหราชอาณาจักร iOS และ Android ก็มีตลาดมากกว่า 80 เปอร์เซ็นต์ นักพัฒนาของ Microsoft ที่ต้องการสร้างส่วนหน้าสำหรับอุปกรณ์เคลื่อนที่สำหรับแอปพลิเคชันของตนจะต้องใช้เครื่องมือเช่น Xamarin เพื่อกำหนดเป้าหมายไปยังแพลตฟอร์มมือถือที่โดดเด่น

ด้วย Xamarin ที่มุ่งเน้นไปที่ C # Microsoft ต้องทำให้ชัดเจนว่า C # เป็นภาษา. NET ชั้นหนึ่งในอนาคต แม้ว่าจะไม่ชัดเจนในการประกาศภาษาล่าสุดของ Microsoft แต่ก็มีนัยอย่างยิ่ง

คุณควรจัดการกลยุทธ์ภาษาขององค์กรอย่างไร

นี่ไม่ใช่การลาก่อน Visual Basic แต่ถึงเวลาแล้วที่คุณจะต้องรู้ว่าคุณอยู่ที่ไหนและคุณต้องการอยู่ที่ไหน แอปพลิเคชัน Visual Basic ที่มีอยู่สามารถพัฒนาต่อไปได้ แต่เมื่อแพลตฟอร์ม. NET พื้นฐานมีการพัฒนาคุณควรคาดหวังว่าจะมีเพียง. NET API บางส่วนเท่านั้นที่พร้อมใช้งานสำหรับนักพัฒนา Visual Basic ของคุณ แม้ว่าจะไม่เป็นปัญหาในระยะสั้น แต่คุณควรเตรียมพร้อมสำหรับการย้ายข้อมูลระยะยาวไปยัง C # หรือ F # โดยเฉพาะอย่างยิ่งหากคุณกำลังวางแผนเกี่ยวกับประสบการณ์ผู้ใช้มือถือหรือข้ามแพลตฟอร์มสำหรับแอปพลิเคชันของคุณ

ดูเหมือนชัดเจนว่าทางเลือกที่ดีที่สุดในการหลีกเลี่ยงหนี้ทางเทคนิคคือการให้ C # เป็นลำดับความสำคัญของการพัฒนาใหม่ C # มีการสนับสนุนชั้นหนึ่งและรูปแบบการออกแบบที่ขับเคลื่อนโดยผู้ใช้ นอกจากนี้ยังเป็นหัวใจสำคัญของการพัฒนาข้ามแพลตฟอร์มของ Microsoft และ Universal Windows Platform นั่นหมายความว่าคุณสามารถเขียนตรรกะทางธุรกิจได้ครั้งเดียวจากนั้นส่งมอบประสบการณ์ผู้ใช้ที่กำหนดเองสำหรับเว็บ Windows 10, iOS, Android และ MacOS นอกจากนี้ยังมีความคล้ายคลึงกันทางภาษาเพียงพอที่นักพัฒนาควรจะสามารถทำการเปลี่ยนได้อย่างง่ายดายโดยหยิบคุณสมบัติใหม่ ๆ หลังจากการฝึกอบรมครั้งแรก