
زبانهاي برنامهنويسي اکسپرس، تنها به VB، VC#، VC++، و VJ# محدود ميشود. در حوزه نرمافزارهاي وب هم Visual Web Developer و Visual C# و Visual Basic حضور دارند.
در مورد مستندها، نسخه اکسپرس کتابخانه کامل MSDN را ندارد، و 210 مگابايت کتابخانههاي پايه و تنها خلاصهاي از MSDN را دارد. اما مهم نيست؛ MSDN بهطور آنلاين در اختيار همگان است.
در نرمافزار Visual Web Developer، تنها فرق اکسپرس با دو نسخه ديگر اين است که طراحي ويندوز فرم ندارد. و طراح فرمهاي تحت وبش نيز بهطور برعکس در بخش ويندوزي قابل دسترسي نيست.
براي برنامهنويسي با موبايل بايد بهسراغ نسخههاي استاندارد يا حرفهاي برويد. همچنين در نسخه اکسپرس، طراح کلاس، Object Test Bench و کنترل سورس کد وجود ندارد. همچنين نميتوانيد نرمافزارهاي آفيس را گسترش بدهيد و کامپايلر 64 بيتي هم در آن وجود ندارد. همچنين با SQL Server 2005 بهطور يکپارچه نيست و بايد به آن متصل شويد.
در غير از اين موارد، نسخه اکسپرس بسيار شبيه به نسخه استاندارد و حتي حرفهاي است. با اين تفاوت که اگر در ايران نبوديم، بايد مبلغ زيادي را صرف مجوز و هزينههاي مرتبط با آن ميکرديم در صورتي که نسخه اکسپرس رايگان، سبک و کار راه بيانداز است.
منبع : کلیک
در 5 سال آينده مواردي كه در ادمه برشمرده خواهند شد، نقش بسيار مهمي را در دنياي برنامه نويسي و جهت گيريهاي آن ايفا خواهند كرد (براي مثال اگر براي شما اين سؤال مطرح است كه هدف از WCF ، REST services ، سيلورلايت 3 و غيره چيست، اين مقالهي كوتاه را مطالعه نمائيد) :
الف) Object Relational Mapping
ORM يكي از بازيگرهاي واضح خواهد بود. خصوصا پروژهاي مانند Fluent NHibernate با ويژگيهاي زير:
ب) نرم افزار به عنوان سرويس ( Software as a Service يا SaaS )
نرم افزار به عنوان سرويس يك مفهوم تجاري است كه در آن مصرف كننده بر اساس نيازهايش هزينهي يك نرم افزار را خواهد پرداخت. بر اين اساس برنامه نويسي در زمينههاي طراحي و مديريت دست خوش تغييرات عمدهاي ميشود. شايد نيازي به ذكر نباشد كه حتي مايكروسافت نيز در حال برنامه ريزي براي اين نوع از توسعه است.
پرداختن به SaaS نيازمند يك سري از ويژگيها است:
ج) پردازش ابري
پردازش ابري شبيه به آنچيزي كه مايكروسافت Azure ارائه ميدهد، نيز يكي از نتايج مفهوم تجاري SaaS است. تمركز پردازش ابري بر روي ارائهي وب سرورها، مكانهاي ذخيره داده و امثال آن است. به اين صورت شما ديگر درگير تهيه و پرداخت هزينه جهت راه اندازي ديتاسنتر ويژهي خود نخواهيد شد و بسياري از هزينههاي شما كاهش خواهند يافت. بهره برداري تجاري گسترده از اين روش با توجه به توسعهي فريم وركهاي ويژهي اين نوع پردازشها، آموزش و غيره ، بين سالهاي 2010 و 2015 شروع خواهد شد.
د) اجراي موازي
پردازش ابري اثرات خاص خودش را بر روي دنياي نرم افزار و برنامه نويسي خواهد گذاشت. اين طبيعت توزيع شده سبب خواهد شد كه در آينده از برنامه نويسيهاي چند ريسماني و مسايل همزماني حاصل از آنها بيشتر بشنويد و نهايتا معماري برنامهها به سمت استفاده از روشهاي زير سوق خواهند يافت:
ه) برنامههاي غني وب يا Rich Internet Applications
Rich Internet Applications يا RIA نقش مهمي را در SaaS بازي خواهند كرد و هدفگيري مايكروسافت در اين باره ارائه Silverlight 3.0 و Microsoft .NET RIA Services است. هر چند اين موارد راه طولاني (يكي دو ساله) را در پيش خواهند داشت تا به حد استانداردهاي لازم برسند اما حركتهاي مهمي در اين زمينه به شمار ميروند.
منبع : vahidnasiri.blogspot.com
مقایسهای تطبیقی بین جاوا و داتنت

با اين وجود به كارخود با اين زبان ادامه ميدادند، اما بسياري از شركتها محصولات متنوعي براي اين زبان به بازار عرضه كردند تا كار برنامهنويسان را با اين زبان راحتتر و لذتبخشتر كنند، اما شركت Zend كه يكي از پيشگامان يا بهتر است بگوييم در صدر توسعهدهندگان زبان php بوده است كاملترين و توانمندترين ابزار براي php را كه در حقيقت يك IDE تمام و كمال براي اين زبان بهشمار ميرود يعني Zend Studio را به بازار نرمافزار عرضه كرد.

تاريخچه
عبارت PHP سرنام عبارت "صفحه خانگي شخصي1" است. پيدايش PHP به سال 1995 بازميگردد، زماني که يک توسعهدهنده نرمافزار مستقل به نام راسموس لردورف2 يک اسکريپت Perl/CGI نوشت که او را از تعداد بازديدکنندگان وب سايت شخصياش مطلع ميساخت. اسکريپت او انجام دو وظيفه را برعهده داشت: گزارشگيري از اطلاعات بازديدکننده از سايت و شمارش تعداد کاربران. در آن زمان وب، به فرمي که اکنون ما آن را ميشناسيم، هنوز بسيار جوان بود و ابزارهايي از اين نوع هنوز پا بهعرصه وجود نگذاشته بودند. بنابراين اکثر کاربراني که از سايت لردورف بازديد ميکردند، با ارسال نامههاي الکترونيکي از وي درخواست ميکردند که اسکريپتهاي خود را براي آنها بفرستد. به اين ترتيب لردروف شروع به ارسال اين اسکريپتها تحت عنوان صفحه خانگي شخصي يا PHP كرد.
نرم افزار یکی از ارکان مهم فناوری اطلاعات و ارتباطات در عصر حاضر است . گرچه نرم افزار در گذشته نيز همواره حائز اهمیت بوده است ، ولی در ساليان اخير به دليل گسترش اينترنت و ظهور نسل جديدی از برنامه های کامپيوتری موسوم به برنامه های وب ، نگاه به نرم افزار و انتظار از آن در جهت تامين طيف گسترده ای از خواسته ها تغيير و رشد چشمگيری يافته است . به همين دليل است که در دنيای نرم افزار هر روز تحولات مهمی اتفاق می افتد و فناوری های جديدی قدم در اين عرصه می گذارند .
ظهور فناوری LINQ ( برگرفته شده از Language-INtegrated Query ) تلاشی است در اين راستا که با هدف تحول در نحوه دستیابی به منابع داده ( صرفنظر از نوع منبع داده ) ، مطرح شده است .
پس از مطرح شدن هر گونه فناوری در عرصه نرم افزار ، طراحان و پياده کنندگان با سه پرسش اساسی مواجه می گردند : این فناوری چيست ؟ چه کار می کند ؟ و چرا ما به آن نیاز داريم ؟ در این مقاله و سایر مقالاتی که در ادامه بر روی سایت منتشر خواهد شد ، سعی خواهیم کرد به سه پرسش فوق در ارتباط با فناوری LINQ پاسخ دهيم .
مقدمه
کد و داده دو عنصر اساسی در نرم افزار می باشند که هر یک دارای جایگاه تعريف شده مختص به خود است . یکی از فعالیت های مهم در زمان پياده سازی نرم افزار ، نوشتن کد مورد نیاز جهت دستيابی به داده است . برای نوشتن کد ، پياده کنندگان می توانند از زبان های برنامه نویسی مختلفی استفاده کنند . انتخاب زبان برنامه نویسی به عوامل متعددی نظیر نوع رفتار برنامه ، پيش زمينه و دانش پياده کنندگان ، مهارت های تیم پياده کننده ، نوع سیستم عامل و سياست های سازمان بستگی دارد . صرفنظر از این که پياده کنندگان چه زبانی را برای نوشتن کد انتخاب می نمایند ، در زمان پياده سازی نرم افزار به دفعات مجبور خواهیم بود که با داده سرو کار داشته باشیم . داده می تواند بر روی ديسک ، جداولی در بانک اطلاعاتی و يا اسناد XML ذخيره شده باشد . در برخی موارد لازم است که با تمامی نوع های اشاره شده در یک برنامه سرو کار داشته باشیم . فراموش نکنيم که مديريت داده برای هر پروژه نرم افزاری یک باید است .
پياده کنندگان نرم افزار در زمان نوشتن کد و تولید امکانات مورد نياز در هر يک از لایه های متفاوت ( با توجه به نوع معماری نرم افزار ) ، همواره این پرسش را با خود مطرح می نمایند که محيط پياده سازی و یا فريمورک هائی نظیر دات نت چه امکاناتی را در اختيار آنها خصوصا" در زمان کار با داده قرار می دهند . به عبارت دیگر ، يک سيستم عامل چگونه می تواند نياز پياده کنندگان نرم افزار را پوشش دهد و چه امکانات و پتانسيل هائی را در اختيار علاقه مندان به طراحی و پياده سازی نرم افزار قرار می دهد .
دات نت به عنوان یکی از فريمورک های پياده سازی نرم افزار در سالیان اخير ، امکانات متعددی را جهت کار با داده در اختيار پياده کنندگان نرم افزار قرار می دهد . LINQ ، تلاشی است جهت يکپارچگی عميق تر و بیش تر بین زبان های برنامه نویسی و داده . در واقع LINQ مشتمل بر مجموعه ای از عملگرهای query استاندارد است که معماری لازم جهت حرکت ، فيلترينگ و اجرای عملیات بر روی تقريبا" هر نوع منبع داده نظیر XML ، بانک های اطلاعاتی رابطه ای و اشياء درون حافظه را فراهم می نماید .
قبل از هر چيز اجازه دهيد ببينيم LINQ چيست ؟
با توجه به اين كه برنامه هاي تحت داس رابط ضعيفي نسبت به ويندوز و لينوكس و... دارند ما حداقل بايد برنامه هايمان را به ماوس مجهز كنيم تا اين نقص تا حدودي برطرف شود. مخصوصا اگر بخواهيم يك برنامه گرافيكي بنويسيم برنامه مان بدون ماوس غير قابل استفاده خواهد بود. خب بهتره بريم سر اصل مطلب. در اين مقاله فعال كردن ماوس در زبان C توضيح داده شده. البته ما ماوس را با استفاده از وقفه ها كه در تمام كامپيوترهاي IBM يكي هستند فعال مي كنيم و كدهاي ارائه شده با كمي تغيير در پاسكال و بيسيك نيز كار خواهند كرد. اگر شما با زبان C آشنايي نداريد ممكن است اين كدها برايتان ناآشنا باشند. پس بهتر است از خواندن اين مقاله صرفنظر كنيد. البته ممكن است به زودي آموزش C و ++C را نيز در اين سايت بگذاريم. ابتدا براي اين كه از ماوس استفاده كنيم بايد بفهميم كه درايور ماوس نصب شده يا نه؟ اگر نصب نشده باشد نمي توان ماوس را فعال كرد. براي اين كار از تابع شماره 00hex از وقفه 33hex استفاده مي كنيم. اگر قبلا با وقفه ها كار كرده باشيد حتما مي دانيد كه شماره تابع وقفه در ثبات AH قرار مي گيرد ولي توابع 33hex به جاي AH از AX استفاده مي كنند. يعني براي فراخواني اين وقفه شماره تابع آن را در ثبات AX قرار مي دهيم. پس از فراخواني اين وقفه اگر مقدار ثبات AX برابر 0000hex باشد يعني درايور ماوس نصب نشده و ما نميتوانيم از ماوس استفاده كنيم. پس از اين كار بايد نشانگر ماوس را د ر صفحه ظاهر كنيم. نشانگر ماوس دقيقا در وسط صفحه ظاهر خواهد شد. اگر در حالت متني باشيم اين نشانگر به صورت يك مستطيل و اگر در حالت گرافيكي باشيم نشانگر به صورت يك فلش كوچك نشان داده خواهد شد. براي ظاهر كردن كافي است از تابع شماره 01 وقفه 33h استفاده كنيم. برنامه زير هم درايور ماوس را تشخيص داده و هم آن را در حالت متني نشان ميدهد:
#include
#include
#include
#include
void main()
{ union REGS r;
clrscr();
r.x.ax= 0;
int86(0x33,&r,&r);
if(r.x.ax==0)
{
printf("No Mouse Available.....");
getch();
exit(1);
}
r.x.ax=1;//place 01 in AX register
int86(0x33,&r,&r);//showing the mouse pointer
printf(“press any key to exit…”);
getch();
}
اشاره :
كدام زبان برنامهنويسي را انتخاب كنم؟ از كدام نوع ديتابيس استفاده كنم؟ اينها سؤالات قديمي و تاحدودي كليشهاي هستند. با اين حال خواندن يكي دو مقاله جالب در اينترنت باعث شد، طرح مجدد اين موضوع هميشگي را خالي از فايده ندانم.
دوستان علاقه مند به برنامه نويسي SQL و ORACLE می تونن به لینکهاي زیر مراجعه کنند .
اصول برنامه نويسي
اشاره :
در اين مقاله قصد دارم يكي از مباحث جديد در مهندسي نرمافزار را به صورت مختصر توضيح دهم. در يادداشتهاي بعدي نيز سعي خواهم كرد اصول و روش هاي آن را شرح دهم. اين مدل توليدي نرمافزار را بارها در پروژههاي نرمافزاري كه مديريت و اجرا كردهام اعمال كردم و تجربه نشان داده است كه خيلي از مواقع اين روش توانسته است گوي سبقت را از روشهاي معمول و متداول بربايد.
Agile Software Development
در طراحي يك نرمافزار رعايت اصول استاندارد طراحي، استفاده از الگوهاي آماده و بهرهگيري از روشهاي نوين بسيار مهم است، ولي نكته مهم اين است كه در اصل كاربران، باعث ميشوند يك پروژه نرمافزاري به نتيجه برسد. يعني فناوري و پروسه استفاده شده، در حقيقت در رده دوم اهميت قرار دارند.
بسياري از ما با پروژههاي نرمافزارياي كه بدون هيچگونه اصولي تهيه ميشوند، مواجه شدهايم و ديدهايم كه كار با اين گونه پروژهها تا چه اندازه مشكل است. در اين پروژهها مشكلات عمدهاي كه پيش ميآيند عبارتند از: عدم توانايي توليدكنندگان در تشخيص نيازهاي كاربران، وجود ايرادها و error هاي تكراري، تأخير در ارائه محصول و... . از طرف ديگر، مشتريان اينگونه نرمافزارها از عدم دقت در ارائه برنامه زمانبندي دقيق از طرف طراحان سيستم، كيفيت كمِ نرمافزارهاي توليدي و افزايش هزينهها شكايت دارند.
در اين پروژهها برنامهنويسان ساعتهاي زيادي را صرف تهيه نرمافزاري مي كنند كه مملو از مشكل است و تلاش آنان چنان كه بايد، مؤثر نيست. وقتي با اين مشكلات مواجه ميشويم، به اين فكر ميافتيم كه بايد در كار خود روش و رويهاي درست داشته باشيم كه فعاليتهاي مربوط به پروژه در آن مشخص و منظم باشد، نيازهاي كاربران در آن مشخص باشد و خروجي نرمافزار و محصولات پروژه با موفقيت توليد شوند.
براي اين كار ميتوانيم به تجربيات كسب شده در پروژههاي گذشته خود مراجعه كنيم و فعاليتهاي موفقي كه در آن پروژهها انجام شده است را دوباره انجام دهيم و از كارهايي كه باعث مشكل در آن پروژهها گشتهاند، پرهيز كنيم. البته نميتوانيم با اين كار از وجود مشكل در نرمافزار خود مطمئن باشيم؛ زيرا مشكلات، چه بخواهيم چه نخواهيم، بروز خواهند كرد و از آن جايي كه در كار رويهاي ثابت نداريم و تنها از تجربيات قديمي خود استفاده ميكنيم، نميتوانيم انتظار داشته باشيم كه نرمافزارهاي ما بدون اشكال باشند؛ زيرا ممكن است با مشكلي برخورد كنيم كه تا به حال با آن برنخوردهايم و تجربهاي در رفع آن نداريم.
اوايل سال 2001 تعدادي از محققان و صاحبنظران نرمافزار، گروهي به نام Agile Alliance را تشكيل دادند كه توانست راهحلي براي تيمهاي نرمافزاري پيدا كند تا به سرعت و با كيفيت بالا نرم افزار توليد كنند و بتوانند اگر تغييري در قسمتي از نرمافزار به وجود آمد، آن را كنترل كنند و اصلاحات لازم را اعمال نمايند. آنها مدعي هستند كه راه بهتري براي توليد نرمافزار پيشنهاد كردهاند كه كار ما برنامهنويسان را آسان كرده است.
آنها چند اصل مهم را به عنوان مانيفيست يا بيانيه خود در نظر گرفتهاند. از جمله: اهميت نقش اعضاي تيم در پروژه نرمافزاري، توليد مستندات مناسب براي نرمافزار، اهميت نقش كاربران سيستم و استفاده از آنها در مراحل ساخت نرمافزار، و توانايي اعمال تغييرات در نرمافزار در تمامي مراحل توليدي آن.
منبع : ماهنامه شبکه