قطعه كد 1

LINQ؛ زبان دوست داشتني
كارشناسان طراحي زبان‌هاي برنامه‌نويسي در شركت مايكروسافت مدتي است براي پيدا كردن يك راه‌حل براي اين مسئله، روي زبان لينك كار مي‌كنند. اين زبان البته يك زبان جديد برنامه‌نويسي در كنار سي‌شارپ و ويژوال بيسيك نيست، بلكه يك syntax است كه درون كدهاي برنامه به كار گرفته مي‌شود. (قطعه كد 1)

اين قطعه كد به قدري گويا است كه حتي كسي كه برنامه‌نويس نيست نيز متوجه معني آن مي‌شود. تاكنون به‌كارگيري چنين منطقي در زبان‌هاي برنامه‌نويسي شي‌گرا سابقه نداشته است. اين syntax خيلي به منطق و زبان انسان شبيه است. به همين دليل استفاده از آن باعث ساده شدن زبان برنامه‌نويسي مي‌شود.

تيم توسعه پلتفرم دات‌نت در مايكروسافت برهمين‌اساس در حال طراحي و توسعه دو API براي زبان LINQ است. يكي از اين‌ها مجموعه DLINQ است كه براي پياده سازي زبان لينك روي ADO.NET به كار مي‌رود. ديگري XLINQ ناميده شده كه براي امكان‌پذير ساختن استفاده از منطق لينك روي XML به كار مي‌رود.

كوشش بر اين است كه syntax برنامه‌نويسي در هر دو مورد مشابه زبان SQL باشد. به گونه‌اي كه برنامه‌نويسي بدون توجه به اين‌كه از كدام API زبان لينك استفاده مي‌كند، به يك شيوه بتواند با داده‌ها كاركند.اين APIها قرار است در چارچوب دات‌نت 3 (نسخه نهم زبان ويژوال بيسيك و نسخه سوم زبان سي شارپ) به‌كار گرفته شوند.

يكي از اهدافي كه اين تيم از به‌‌كارگيري منطق لينك در زبان‌هاي برنامه نويسي دات‌نت دنبال مي‌كند، امكان‌پذير ساختن اشكال زدايي از عبارات Query است.

اگر برنامه‌نويس باشيد، حتماً مي‌دانيد كه تمام قسمت‌هاي يك كد منهاي عبارات Query كه به صورت رشته‌هاي متني مي‌آيند، قابل اشكال‌زدايي يا Debugging هستند. قرارگرفتن عبارات Query به صورت مقادير متني داخل سورس كد، عملاً اشكال‌زدايي از آن‌ها را دشوار مي‌كند. با به‌كارگيري منطق زبان لينك اين مشكل به مقدار زيادي حل مي‌شود؛ زيرا Queryها به‌جاي اين‌كه به صورت مقادير متني نوشته شوند، بخشي از سورس كد هستند. به همين دليل اين تكنيك Language Integrated Query نامگذاري شده است.

تيم توسعه دات نت حتي به اين موضوع فكر كرده است كه استفاده از ابزار Intellisense در ويرايشگر كد ويژوال استوديو بتواند روي زبان لينك مانور دهد. اين چيزي است كه عملاً روي API متعلق به بخش‌هاي DLINQ و XLINQ اتفاق مي‌افتد. در نتيجه برنامه‌نويس مي‌تواند كد LINQ را كامپايل نمايد و در صورت بروز خطا آن را اشكال‌زدايي كند.استفاده از XLINQ برنامه‌نويسان را از به‌كارگيري منطق XQuery كه گاهي گيج‌كننده است، معاف مي‌كند؛ ضمن اين‌كه براي كاركردن با داده‌ها در ADO.NET و لايه Business Tier مي‌توانيد از همان منطق و رهيافت زبان SQL در بانك‌اطلاعات استفاده كنيد.