PDA

View Full Version : گفتگو: Visual Studio 2008 یا 2005 ؟!!



مهران رسا
چهارشنبه 13 شهریور 1387, 09:38 صبح
سلام .

دیروز مجموعه VS2008 رو خریداری کردم . بعد از اتمام عملیات نصب که خیلی هم طول کشید وارد محیط اون شدم . :گریه: با تمام کنترل ها و پنجره های فوق العاده ای که داشت ازش نا امید شدم . چرا اینقدر سنگین و کند ؟!!

به غیر از اون پروسه ای که کلی از CPU رو در اختیار خودش قرار میداد ، با IDE خیلی کندی روبرو شدم . برای مثال رفتن از محیط Desgin به محیط کد نویسی با وقفه عذاب آوری انجام میشد .

حالا با این مسائل میشه یه جورایی کنار اومد . چیزی که بیشتر از همه من رو دل سرد کرد حجم و نوع فایل اجرایی بود . فایل اجرایی ایجاد شده حجیم و کند ... اصلاً در زمان اجرا فایل اجرایی کنترل ها به رنگ های دیگه در میان . مثلاً برچسبی که رنگ خاکستری رو براش در نظر گرفته بودم . در زمان اجرا از طریق فایل exe ابتدا به رنگ سفید در میومد و بعد از 0.5 ثانیه به حالت عادی بر میگشت . یه نکته دیگه اینکه با بالا رفتن تعداد جزئی کنترل های روی فرم ، حجم فایل exe به طرز فجیحی بالا میره . در صورتی که در VB 6 حجم برنامه تا زمانی که از تصاویر استفاده نشه تغییر آنچانی نداره .

راهنمایی کنید لطفاً . من شیفته امکانات VS2008 شدم ولی با محیط سنگین اون چه باید کرد ؟

و در آخر تفاوت VS2008 و 2005 چیه ؟ واینکه کدامیک رو برای برنامه نویسی NET. انتخاب کنم ؟


این هم فایل اجرایی ساخته شده توسط VB 2008و مشابه همون در VB6 ..

(ببخشید Visual Studio رو اشتباه نوشتم)

milade
چهارشنبه 13 شهریور 1387, 09:45 صبح
سلام
در مورد سرعت خود میکروسافت پیشنهاد 2.80 gh به بالا رو داده و ram 1gb به بالا
خوب یکی از بهترین امکاناتش .net 305 هست و امکاناتی که به خاطر .net3.5 افزوده شده(تو نصب مشاهده می شد)
سرعتش چرا کنده؟
چون هنگام اجرا 200 کلوبایت ram رو می گیره که هر چی فایل بیشتری باز کنی باهاش اندازه فایل رو بهش اضافه کن
خلاصه چارش ارتقا سیستمه
بای

علیرضا مداح
چهارشنبه 13 شهریور 1387, 10:33 صبح
سلام دوست عزیز،
مسلما" با بالا رفتن امکانات و تجهیز و پیشرفته تر شدن ابزارها و نرم افزارهای برنامه نویسی و توسعه برنامه های کاربردی ، به سیستمی با پیکربندی مناسب نیاز است و این روند همچنان ادامه خواهد داشت ،
اضافه شدن تکنولوزی هایی نظیر WPF ، WCF ، WF ، LINQ و غنی تر شدن .Net Framework در نگارش 3.5 ، اضافه شدن ویژگیهای کاربردی و جالب به C-Sharp و Visual Basic.Net ، اضافه شدن ویژگی ADO.Net Entity Framework در VS2008 SP1 و ... همگی توجیه کافی برای سوییچ کردن به VS2008 را فراهم می آورند ، کافیست که مطالعه ی اصولی و منطقی در این زمینه ها انجام شود و در آن زمان نیاز به آنها را احساس خواهید نمود ،/

مهران رسا
چهارشنبه 13 شهریور 1387, 11:43 صبح
ببخشید فراموش کردم مشخصات سیستمم رو بگم .

CPU : 3.2 Full
Ram : 1 GB

آیا قواعد کد نویسی در Visual Studio 2005 و 2008 متفاوت هست ؟! به نظر شما برای من که تازه وارد دنیای .NET شدم 2005 مناسب تر است یا 2008 ؟!!

saman_itc
چهارشنبه 13 شهریور 1387, 14:10 عصر
بستگی داره چه نوع برنامه ای مینویسی.و چه نوعی میخواهی بعد ها بنویسی
vb6 رو با vb2005 مقایسه کن.
به نظرم vs2008 بیشتر تو web خودشو نشون میده تا تو app
یه روزی همه باید بریم 2008

مهران رسا
چهارشنبه 13 شهریور 1387, 14:19 عصر
بستگی داره چه نوع برنامه ای مینویسی.و چه نوعی میخواهی بعد ها بنویسی

فعلاً app و در آینده تحت وب ...
در ضمن چون قبلاً VB 6 کار کردم سرعت برام خیلی مهمه !


یک استاد عزیزی زحمت بکشه در مورد اینکه چرا سرعت فایل های اجرایی VB.NET اینقدر پایین هست به طور کامل توضیح بده ...

ممنونم

.:KeihanCPU:.
چهارشنبه 13 شهریور 1387, 15:08 عصر
سلام منم همین امروز بسته Visual Studio .net رو گرفتم
منم قبلا با Vb6 برنامه مینوشتم و الان میخ.ام کار با .NET رو هم فرا بگیرم
یه سوال برام پیش اومده
برای بالا اومدن برنامه هایی که با VisualBasic.NET 2008 نوشته میشن در کامپیوتر دیگه چه ورژنی از Framework لازمه؟در مورد 2003 چطور؟
ضمنا میخواستم بدونم ورژن 1.1 به همراه ویندوز نصب میشه؟

saina2006
چهارشنبه 13 شهریور 1387, 15:56 عصر
برای 2008 بنا به انتخابت فرق میکنه چون موقع ساخت پروزه میتونی انتخاب کنی از چه فریم ورکی استفاده کنه 2,3,3.5 اما 2003 از 1.1 استفاده میکنه و موقع نصب ویندوز هم هیچ FrameWork نصب نیست
سرعت پایین هم به خاطر اینه که در هنگام اجرای پروژه کدهای IL به کد ماشین تبدیل میشوند و یکی از مزایاش هم اینه که بسته به نوع CPU و سیستم متفاوت نیست

.:KeihanCPU:.
چهارشنبه 13 شهریور 1387, 16:08 عصر
اما در کامپیوتر من قبل از نصب VS در این پوشه 1.1 رو داشتم

C:\WINDOWS\Microsoft.NET

مهران رسا
چهارشنبه 13 شهریور 1387, 18:31 عصر
کسی هست که VS2005 رو به 2008 ترجیح بده ؟! لطفاً دلیلش رو هم بگه ...

.:KeihanCPU:.
چهارشنبه 13 شهریور 1387, 18:37 عصر
من فکر میکنم برای اجرای برنامه هایی که با 2008 نوشته شدن نسخه بالاتری از Framework لازمه

saina2006
چهارشنبه 13 شهریور 1387, 18:46 عصر
من فکر میکنم برای اجرای برنامه هایی که با 2008 نوشته شدن نسخه بالاتری از Framework لازمه
توی پست قبلی هم گفتم که موقع ساخت پروژه اید انتخاب کنی و بالاتر از 3.5 هم که نیست

.:KeihanCPU:.
چهارشنبه 13 شهریور 1387, 18:51 عصر
توی پست قبلی هم گفتم که موقع ساخت پروژه اید انتخاب کنی و بالاتر از 3.5 هم که نیست
میشه بگی از کجا باید انتخاب کنم
این انتخاب باید قبل از نوشتن برنامه شروع بشه و یا وقتی تمام شد؟

مهران رسا
چهارشنبه 13 شهریور 1387, 18:54 عصر
یعنی تغییر نسخه Framework باعث تغییر سرعت فایل اجرایی میشه ؟!!

اوبالیت به بو
چهارشنبه 13 شهریور 1387, 18:54 عصر
شما اول پروژتون رو ذخيره مي كنيد و بعد شروع به ساختش مي كنيد.

mostafaaa
چهارشنبه 13 شهریور 1387, 20:14 عصر
میشه بگی از کجا باید انتخاب کنم
این انتخاب باید قبل از نوشتن برنامه شروع بشه و یا وقتی تمام شد؟
وقتی میخوای یه پروژه جدید ایجاد کنی بالای سمت راست پنجره New Project میتونی نسخه FrameWork رو انتخاب کنی.
اگه پروژه رو هم قبلا مثلا با 3.5 هم ایجاد کرده باشی از مسیر زیر میتونی تغییرش بدی
Project Properties>Compile>Advanced compile option
موفق باشید

.:KeihanCPU:.
چهارشنبه 13 شهریور 1387, 20:22 عصر
یعنی تغییر نسخه Framework باعث تغییر سرعت فایل اجرایی میشه ؟!!

نه نمیشه ولی اگه برنامه شما به ورژن 3 نیاز داشته باشه دیگه رو هر سیستمی اجرا نمیشه مگر با نصب Framework

مهران رسا
چهارشنبه 13 شهریور 1387, 20:52 عصر
نه نمیشه ولی اگه برنامه شما به ورژن 3 نیاز داشته باشه دیگه رو هر سیستمی اجرا نمیشه مگر با نصب Framework

FrameWork 3 چه مزایایی نسبت به نسخه های پایین تر داره ؟

saina2006
چهارشنبه 13 شهریور 1387, 21:05 عصر
FrameWork 3 چه مزایایی نسبت به نسخه های پایین تر داره ؟
با یک سرچ توی سایت مایکروسافت اطلاعات کاملی بدست میاری البته دنبال 3.5 باش
برای مثال دنبال LINQ باش که توی 2 نیست

.:KeihanCPU:.
چهارشنبه 13 شهریور 1387, 23:31 عصر
FrameWork 3 چه مزایایی نسبت به نسخه های پایین تر داره ؟

دقیقا نمیدونم اما از کتابخانه های بیشتری بهره میبره,دست برنامه نویس باز تره
البته اینا رو من میدونم چیزای دیگه ای هم هست

__H2__
پنج شنبه 14 شهریور 1387, 02:55 صبح
سلام
امکانات نسخه VS2008 خیلی بیشتر و جذاب تر شده، اگر توانستم در یک پست کوتاه به اختصار این امکانات کامپایلی جدید را توضیح میدهم.

اصولاً با وجود نسخه جدید دلیل بر استفاده از نسخه های قدیمی نیست
حال میخواهد VS6 با VS7 باشد یا VS8 با VS9.

خصوصاً که به قول یکی از دوستان همین سایت، مایکروسافت در 2008 نسخه 2005 را شخم نزده!!!!
شما به راحتی و با امکانات کامپایلی خیلی بالاتر میتوانید تحت همان Framework2 هم کدنویسی کنید.

اگر هم امکانات کلاسی جدید از جمله قدرت بی نظیر LINQ را خواستیدمیتوانید به راحتی به Framework3.5 سوییچ کنید.

پیشنهاد میکنم SQLServer2008 را هم اگر نیاز داشتید و توانستید تهیه کنید و قبل از نصب VS2008 نصبش کنید.

y.saied
پنج شنبه 14 شهریور 1387, 10:00 صبح
سلام
امکانات نسخه VS2008 خیلی بیشتر و جذاب تر شده، اگر توانستم در یک پست کوتاه به اختصار این امکانات کامپایلی جدید را توضیح میدهم.

اصولاً با وجود نسخه جدید دلیل بر استفاده از نسخه های قدیمی نیست
حال میخواهد VS6 با VS7 باشد یا VS8 با VS9.

خصوصاً که به قول یکی از دوستان همین سایت، مایکروسافت در 2008 نسخه 2005 را شخم نزده!!!!
شما به راحتی و با امکانات کامپایلی خیلی بالاتر میتوانید تحت همان Framework2 هم کدنویسی کنید.

اگر هم امکانات کلاسی جدید از جمله قدرت بی نظیر LINQ را خواستیدمیتوانید به راحتی به Framework3.5 سوییچ کنید.

پیشنهاد میکنم SQLServer2008 را هم اگر نیاز داشتید و توانستید تهیه کنید و قبل از نصب VS2008 نصبش کنید.

با سلام ، دوست عزيز
اگه ممكنه بفرمائيد كه دنبال vs2008 بريم يا نه .... و براي بالا بردن سرعت برنامه چه گزينه هايي رو دستكاري كنيم .. ممنون

.:KeihanCPU:.
پنج شنبه 14 شهریور 1387, 10:45 صبح
اگه ممكنه بفرمائيد كه دنبال vs2008 بريم يا نه .... و براي بالا بردن سرعت برنامه چه گزينه هايي رو دستكاري كنيم .. ممنون
به نظر من هم Vs2008 بهتره
من خودم 2005 رو خریدم ولی الان میرم 2008 رو میگیرم
مشخصات کامپیوترتون چیه؟

y.saied
پنج شنبه 14 شهریور 1387, 11:15 صبح
Ram:256
VGA:Oboard
cpu:2 celeron

milade
پنج شنبه 14 شهریور 1387, 11:31 صبح
اگه واقعا ram شما 256 هست اصلا نگاه به vs 2008 هم نکنید.
چرا؟؟؟
چون موقع اجرا دقیقا 147 مگ از رم رو می گیره و در هنگام باز گردن یه پروژه 10 کیلویی به 188 مگ می رسه که شما اصلا نمی تونید اون رو باز کنید چه برسه کامپیوتر هنگ کنه
بهترین راه ارتقا سیستمه
رم 1 gb به بالا بگیر
تازه cpu هم که .... cpu هم 3.6 بهتره
موفق باشید

.:KeihanCPU:.
پنج شنبه 14 شهریور 1387, 12:25 عصر
Ram:256
VGA:Oboard
cpu:2 celeron

شما چطور با این سیستم کار میکنی؟
این سیستم تو کارای عادی هم میمونه چه برسه به Visual Studio.NET
سعی کنید رم خودتون رو ارتقا بدید
بعد Cpu

__H2__
پنج شنبه 14 شهریور 1387, 23:03 عصر
سلام

Ram:256
VGA:Oboard
cpu:2 celeron
سیستم ضعیفی است ولی من خودم مدت ها با همچین چیزی کار میکردم.
یک کم سرویس های اضافه ویندوز را از کار انداخت و برنامه های که با ویندوز بالا می ایند را نفسشان را گرفت، بهتر میشود!
ولی نمیدانم به حد 2008 برسد یا نه؟
البته تاکید میکنم برنامه های تولیدی 2008 تحت فرمی ورک 2 هیچ تفاوتی از نظر RAM و سرعت با برنامه های کامپایلی 2005 ندارند.

==============
و اما چیزی که قولش را داده بودم که با مستندات MSDN Online کاملش کردم.
حتماً MSDN Online ها را نگاه کنید.

C#.Net
http://msdn.microsoft.com/en-us/library/bb383815.aspx


VB.Net
http://msdn.microsoft.com/en-us/library/we86c8x2.aspx

این ها فقط قابلیت های کامپابلر و سینتکس و بعضاً دات نت سه هستند.
ولی بحث کلاسها و قابلیت و پروزه های جدید دات نت سه مجزا است که ان خودش دنیایی دارد!

چون همچین یک کم سینتکس VB را بیشتر دوست دارم نمونه ها را به زبان VB گذاشتم،
اگر دوستی خواست میتوانم به C#.Net هم بگذارم.

==============

Local Type Inference
http://msdn.microsoft.com/en-us/library/bb384937.aspx


Dim num1 As Integer = 3 'VS2005
Dim num2 = 3 'VS2008


Using dbDr1 As System.Data.SqlClient.SqlDataReader = dbCom.ExecuteReader 'VS2005
Using dbDr2 = dbCom.ExecuteReader 'VS2008


Using graph1 As System.Drawing.Graphics = System.Drawing.Graphics.FromImage(img) 'VS2005
Using graph2 = System.Drawing.Graphics.FromImage(img) 'VS2008


==============

Object Initializers
http://msdn.microsoft.com/en-us/library/bb385125.aspx


Dim cust1 As New Customer With {.Name = "Toni Poe", .City = "Louisville"}




'VS2005
Dim x As New TypeName
x.A = 25
x.B = "Hello"

FunctionName (x)


'VS2008
FunctionName(New TypeName() With {.A = 25, .B = "Hello"})


==============

Anonymous Types
http://msdn.microsoft.com/en-us/library/bb384767.aspx


'VS2005
Friend NotInheritable Class TName
Public ReadOnly Code As Integer
Public City As String

Public Sub New(ByVal code As Integer, ByVal city As String)
Me.Code = code
Me.City = city
End Sub

End Structure
'...
Dim x = New TName(98, "Theran")


'VS2008
Dim x = New With {Key .Code = 98, .City = "Theran"}


==============

Extension Methods
http://msdn.microsoft.com/en-us/library/bb384936.aspx


Module StringExtensions

<System.Runtime.CompilerServices.Extension()> _
Public Function IsEmpty1(ByVal array As System.Array) As Boolean
Return (array Is Nothing) OrElse (array.Length <= 0)
End Function

<System.Runtime.CompilerServices.Extension()> _
Public Function IsEmpty2(Of T)(ByVal array() As T) As Boolean
Return (array Is Nothing) OrElse (array.Length <= 0)
End Function

<System.Runtime.CompilerServices.Extension()> _
Public Sub MsgBox(ByVal str As String)
System.Windows.Forms.MessageBox.Show(str)
End Sub


End Module

'...

Dim a() As Integer = {1,2,3}

If a.IsEmpty1 Then ...

If a.IsEmpty2 Then ...

Dim b As String = "Hello"

b.MsgBox()


==============

Lambda Expressions
http://msdn.microsoft.com/en-us/library/bb531253.aspx


Dim add1 = Function(num As Integer) num + 1
Console.WriteLine(add1(5))
Console.WriteLine(add1(7))



AddHandler Me.Button1.Click, Function(sender As Object, e As System.EventArgs) System.Windows.Forms.MessageBox.Show("Hello")


==============

Nullable Value Types
http://msdn.microsoft.com/en-us/library/ms235245.aspx


Dim x1 As System.Nullable(Of Integer) 'VS2005
Dim x2? As Integer 'VS2008
Dim x3 As Integer? 'VS2008

x2 = Nothing


==============

If Operator
http://msdn.microsoft.com/en-us/library/bb513985.aspx
(توجه:
VB از قدیم یک تابع IIf داشته ولی IIf تابع بوده و اصلاً معادل این اپراتور جدید نیست.
این اپراتور معادل دقیق اپراتور ?: در زبان C است
)


'VS2005
If (a>b) Then x = "OK" Else x = "Cancel"

'VS2008
x = If( a>b , "OK" , "Cancel")



'VS2005
If (e Is Nothing) Then y = f Else y = e

'VS2008
y = If(e, f)


==============

Partial Methods
http://msdn.microsoft.com/en-us/library/bb531348.aspx
(مشابه Partial Class ها که در 2005 اضافه شده بود.)


'File1.vb
Partial Public Sub AAA()
End Sub


'File2.vb
Public Sub AAA()
'...
End Sub


==============

امکان تایپ مستقیم و کار مستقیم روی دیتاهای XML با قابلیت بینظیر IntelliSense
http://msdn.microsoft.com/en-us/library/bb384833.aspx
http://msdn.microsoft.com/en-us/library/bb384460.aspx
http://msdn.microsoft.com/en-us/library/bb531325.aspx


Dim book As XElement = _
<<%= elementType %>
isbn="1234"
<%= attributeName1 %>=<%= attributeValue1 %>
<%= New XAttribute(attributeName2, attributeValue2) %>
/>

Dim contact = _
<ns:contact>
<ns:name>Patrick Hines</ns:name>
<ns:phone ns:type="home">206-555-0144</ns:phone>
<ns:phone ns:type="work">425-555-0145</ns:phone>
</ns:contact>

Dim phoneTypes = _
<phoneTypes>
<%= From phone In contact.<ns:phone> _
Select <type><%= phone.@ns:type %></type> _
%>
</phoneTypes>


==============

SQLServer را در داخل دیتاهای کدهای خود تجربه کنید! LINQ
http://msdn.microsoft.com/en-us/library/bb385100.aspx
http://msdn.microsoft.com/en-us/library/bb384830.aspx
http://msdn.microsoft.com/en-us/library/bb763068.aspx


Dim customers As List(Of Customer) = GetCustomerList()

Dim customersByCountry = _
From cust In customers _
Order By cust.Country, cust.City _
Group By CountryName = cust.Country _
Into RegionalCustomers = Group, Count() _
Order By CountryName


===============