سلام
من به عنوان کسی که با visual basic کار کرده بارها پیش اومده که احساس کردم vb خیلی ساده تر از سی شارپه یا اینکه تو بیسیک برای آسون شدن کار خیل چیزا از دید برنامه نویس مخفی هست
آیا بیسیک برای شروع طراحی شده و قدم بعدی سی شارپه؟؟؟
ممنون
سلام
من به عنوان کسی که با visual basic کار کرده بارها پیش اومده که احساس کردم vb خیلی ساده تر از سی شارپه یا اینکه تو بیسیک برای آسون شدن کار خیل چیزا از دید برنامه نویس مخفی هست
آیا بیسیک برای شروع طراحی شده و قدم بعدی سی شارپه؟؟؟
ممنون
به نظر من #C و VB در دات نت فرقی با هم ندارن ...
هر دو توانایی های یکسانی دارن ...
به اعتقاد بنده فراگیری VB.NET ساده تره و کار با اون راحتتره ...
من در ابتدا با پیش زمینه ای که از ++C داشتم میخواستم #C کار کنم ولی با مقایسه VBو #C نمیدونم چی شد که تو VB.NET سر درآوردم ...
در کل این مسائل مهم نیست ... مهم اینه که در یک زبان خاص شما به سطحی برسید که بتونید به خودتون بگید "من به سطح ایده آل در این زبان رسیدام"
برنامه نویسی و زبان برنامه نویسی به شخصی که می خواهد با آن کار کند بستگی دارد، زبان های VB.NET و C#.Net هر دو از لحاظ سطح کاربری در یک سطح قرار داردند و فقط از لحاظ نحوه به کاربردن فرمان ها باهم تفاوت دارند . VB.Net چندین سالی از C#.Net قدیمی تر است. C# از سال 2003 برای برنامه نویسانی که به زبان C++ کار می کردند ارائه شد تا بتوانند برنامه های تحت ویندوز را با راحتی بیشتری ایجاد کنند.
انتخاب میان این دو کاملا به خود شما بر می گردد. من VB.NET ، C#.NET ، Delphi را از زبان های ویژوال یاد گرفتم و میان آنها VB.Net را انتخاب کردم، تمامی امکانات .Net در هر دو زبان وجود دارد حتی من در VB.NET فرمانی سراغ دارم که معادل آن در C#.NET نیست.
به عنوان مثال در VB.NET برای ذخیره تنظیمات در VB ما میتوانیم از فرمان SaveSettings استفاده کنیم که معادل آن در C# وجود ندارد.(در C# تا آنجا که می دانم باید با استفاده از فرمان های ریجیستری این کار را انجام داد و به راحتی SaveSettings در VB.Net نیست)
من در دوران دانشجویی هم خانه ای داشتم که C# کار بود و من Vb کار ، خیلی راحت بدون هیچ مشکلی می توانستیم تمامی اطلاعاتمان را درباره فرمان ها و روش های انجام و الگوریتم ها رد و بدل می کردیم و با وجود تفاوت زبان هیچ گاه مشکلی برای آموختن از هم نداشتیم.
حالا انتخاب با شماست ،می خوای بمون می خوای برو.
اما اگر خواستی بری اول برنامه ای که من نوشتم را دانلود کن ، ببین بعد برو...
دانلود حسابخانه مانی، برنامه مدیریت درآمد و هزینه رایگان
هر آنچه که هستیم، نتیجه افکاریست که در گذشته داشته ایم. (بودا)
کد نویسی با سی شارپ چذابتره
دات نت یک سکوی پرتابی هست فرقی نمکینه برنامتو با چی مینویسی تقریبا 3000 کلاس توی دات نت ارائه شده که بوسیله زبانهای برنامه نویسی موجوددر دات نت استفاده میشه و همشون توسط یه زبان میانجی کامپایل میشه با هر کدوم از زبانها راحت تر هستید برنامه بنویسید ولی بازار سی شارپ قوی تره
فکر کنم مواردی مثل رفکتورها Refactor که در سی شارپ ارائه شده در ویبی نیست 2010 هم پشتیبانی بشه
وفتی این 3000 هزار تا کلاس رو تونستی یاد بگیری یه برنامه نویس حرفه ای شدی
شوخی می کنی؟؟؟؟
برنامه نویسی با #C جذاب تره .
به نظر من بزرگترین مشکل #C طریقه باز و بسته شدن دستورات است.
در VB.NET برای مثال فرمان های زیر به شکل زیر باز و بسته می شوند.
IF .. Thenحالا همون ها را تو #C یه نگاهی بی اندازید :
فرمان ها
Else
فرمان ها
End IF
===========
For X as Byte = 0 to N
فرمان ها
Next X
===========
While ...
فرمان ها
End While
IF (...)
}
فرمان ها
{
Else
}
فرمان ها
{
End IF
===========
For ( byte X,x =0,N++(
فرمان ها
Next X
===========
While ...
}
فرمان ها
{
حالا این رو در نظر بگیرید که همه این فرمان ها را تو در تو استفاده می کنیم و می خواهم.
While Not X=0
For I as integer = 0 to 5
For J as integer = 2 to 6
If X>5 then
X-=2
Else
X+=2
end if
Next J
Next I
End Whileنمونه #C:
While !(x==0)
For (Int I,i=0,I<=5)
For (int J,J=2,I<=6)
If (X>5)
}
X-=2
{
Else
}
X+=2
{
{
{
{
حالا اگر بخواهیم بین دو حلقه For کدی قرار دهم در زبان #C چند تا { را باید بشماریم؟؟؟ (در VB بین Next I و Next J)
اگر تعداد حلقه ها بیشتر شود چطور؟؟؟
به نظر من که VB.Net از لحظ دستوری خیلی شسته رفته تر از #C است.
آخرین ویرایش به وسیله Mani_rf : دوشنبه 12 مرداد 1388 در 11:36 صبح
دانلود حسابخانه مانی، برنامه مدیریت درآمد و هزینه رایگان
هر آنچه که هستیم، نتیجه افکاریست که در گذشته داشته ایم. (بودا)
دوست عزیز خوب نوشتن
if (IsHere)
Trace.WriteLine("hello");
راحتتر و جذابتره یا این ! :
IF IsHere Then
Trace.WriteLine("hello")
End If
مشخص اولی !
یه جایی یکی از دوستان میگفت #C شعور نداره ....
البته ببخشید این لفظ رو به کار بردم چون وقتی با #C کار میکنم به یاد حرف دوستم میفتم ... چون خطاها رو نمیتونه سریع تشخیص بده و بعد از اجرا تازه میفهمه کجای کار اشتباهه ولی تو VB.NET به محض تایپ اشتباه با خط آبی خطا رو متذکر میشه ...
البته نمیدونم شاید این مشکل در ورژن2010 رفع شده باشه ...
به خاطر همین بود که گفتم کار با VB.NET راحتتره ...
واضح است که #C جذاب تره!
البته در کل زبان های .Net با هم فرق خاصی ندارند اما فراموش نکنید یادگیری C# یعنی یادگیری زبان هایی مثل Java و بخش عمده ای از C++!
اگه شما با آکولاد مشکل داری پس یعنی با ساختار اکثر زبان ها و پدر زبان ها یعنی ++C مشکل داری!!!! من به شخصه زمانی VB هم بلد بودم اما به خاطر سادگی بیش از حد ( ضایع بودن بیش از حد! ) به C# مهاجرت کردم. برای آینده هم قصد دارم در زمینه C++ سرمایه گذاری کنم ولی یک چیز خیلی واضح هست. دیگه هیچ وقت به VB بر نمی گردم!
من که سر در نمی یارم!خاطر سادگی بیش از حد ( ضایع بودن بیش از حد! ) به C# مهاجرت کردم.
هدف انسان ها از خلق کامپیوتر و برنامه هاش ههمواره آسان کردن زندگیش بوده. بعد شما از آسونیش می نالید!
البته قبول دارم که زبان C# اهمیت زیادی داره ! اما به هر حال نمیشه گفت آسونی بده!
اما دوستان من خودم فکر میکنم علتش تمایل به دستیابی سرچشمه و ریشست!
ولی یه دیپلمه عالی بهتر از ذه تا لیسانسه متوسطه!
دانلود حسابخانه مانی، برنامه مدیریت درآمد و هزینه رایگان
هر آنچه که هستیم، نتیجه افکاریست که در گذشته داشته ایم. (بودا)
منظورتون رو متوجه نمیشم!ولی یه دیپلمه عالی بهتر از ذه تا لیسانسه متوسطه!
مثل اینکه اینجا شده جایی واسه کل انداختن روی VB و C# ...
اگر اين رو هم بگيريم :
IF IsHere Then Trace.WriteLine("hello")
كه استاندارد نيست و در هيچكجا توصيه نمي شود مي شه C# رو هم نوشت :
if (IsHere) Trace.WriteLine("hello");
همچنان C# تعداد كاراكتر كمتري دارد و جذابتر است ! ;)
منظور از جذاب تر بودن چیه؟
من فکر نمیکنم تعداد کارکتر های C# از VB کمتر باشه به خصوص قسمت " } { " گذاشتنش!همچنان C# تعداد كاراكتر كمتري دارد و جذابتر است
همان مثال بالا رو ببينيد تعداد كاراكتر C# كمتر هست
حتي مثالي كه به فرض چند خط هم باشد مثل زير :
و vb
if (ISHere)
{
var foo = @"some this is here
which need to be multiple lines
its really big query , isnt it ?
wow
lol
heh !";
var cmd = new SqlCommand(foo,Connection);
var val = cmd.ExecuteScalar();
var result = (val ?? string.Empty).ToString();
}
دوستان خردن نگيرند كه چرا تو vb همه جا از dim استفاده نكردم براي مثلا string
if IsHere Then
Dim foo as String ="some this is here"_
"which need to be multiple lines"_
"its really big query , isnt it ?"_
"wow "_
"lol"_
"heh !"
dim cmd as SqlCommand = new SqlCommand(foo,Connection)
dim val = cmd.ExecuteScalar()
dim result as String
if IsDbNull(val) then
result = string.Empty
else
result = val.ToString()
end if
End if
تا اونجا كه من ديدم وقتي تو vb مي نويسي :
نوع foo مي شود object
dim foo = "my String"
و بايد كست شود ولي C# اينطور نيست ;)
البته دوستان vb و C# كار كد رو tune كنن شايد نتايج متفاوتي بگيريم !
شما کاری یا C# کار؟؟؟؟بی انصافی نکن دیگه، قرار نشد کد C# را کوتاه بنویسی و VB را بلند ترش کنی. ببین من کد , #ِC را یک جور می نویسم. مطمعنی که شرط را تو VB هموجوری که تو C# نوشتی نمیشد نوشت؟؟؟؟ امتحانش کن.
اون کدی که شما گفتی توصیه نمی شه تو #C توصیه نمیشه اما تو Vb خواطر وجود Then کاملا استاندارده و حتی خود ماکروسافت هم تو Sample هاش برای یک خط اینجوری استفاده می کنه. ( MSDN را نگاه کن)
تو VB6 اگر می نوشتید
Dim X = "Test"X را از نوع Variant تعریف می کرد حق با شماست ،اما تو VB.Net اگر چنین چیزی بنویسید متغییر را به نسبت مقداری که به آن داده شده تغییر نوع می ده.(می توانی امتحان کنی)
(بی انصاف تو متغیر result که تو #C تعریف کردی از نوع Var بود اونوقت تو VB از String کردی؟؟؟ )
و اما در مورد } و نحوه بسته شدن در VB.Net باید بگم که من تو این چند سالی که VBکار می کنم تا حالا NEXT , End Wile , End If , End With و چیزای مثل این را ننوشتم.
اگر دقت کنی شما For را که می نویسید خودش براتون حلقه را می بنده، همینطور برای همه دستورات.
حکمت ; را هم ما آخر نفهمیدیم. (خودم می دونم برای مشخص کردن انتهای دستوره اما خوب به نظر من نیازی نیست چون آدم به صورت معمول یک دستور را تو یک خط می نویسه و کم پیش می یاد که بخواد دو دستور را تو یک خط بنویسه. معمولا برای شرایط خواص عوامل استثنا در نظر می گیرند نه برای چیزای عمومی)
راستی این را هم می دانی که تو VB می شه متغیری را بدون تعریف کردن به کار برد و زمان مقدار دهی تعریف می شه ؟؟؟ مثلا اینجوری.B = 12فقط کافیه تک Option Explecit را از تو تنظیمات VB.Net برداری. جالبه اما قبول دارم که اگر تعریف بشه بهتره اما خو بلاخره امکان دیگه
دوستان عزیز من #C و #C کار ها را دوست دارم ، هدفم از شرکت در این بحث این است که اطلاعاتم در باره دو زبان بیشتر شود و بس.(شایعه نسازید ، هیچ تعصبی هم در کا نیست)
دانلود حسابخانه مانی، برنامه مدیریت درآمد و هزینه رایگان
هر آنچه که هستیم، نتیجه افکاریست که در گذشته داشته ایم. (بودا)
بنده هم C# كار مي كنم هم vb
آخر پست قبلي جواب شمارو داده بودم كه اگر تو vb بنويسي :
dim foo = "string"
نوعش رو object تشخيص مي ده نه string !
اگر غير از اينه راهنمايي بفرماييد
بنده نيز با زباني مشكل ندارم و سعي نكردم vb رو بلند و C# رو كوتاه بنويسم
كد بالا رو شما بردار براي vb كوچيكش كن ببينم چي ميشه
آقا چرا عصبانی می شی من که گفتم فقط می خوام اطلاعاتم را ردو بدل کنم.
من اگر بخواهم کدی که نوشتی را با VB بنویسم اینجوری می نویسم. (کد VB که نوشتی یکم مشکل داشت برای اینکه رشته را تو چند خط بنویسی باید از & استفاده کنی)
(همچین رشته ای که نیاز به چند خط نوشتن نداره)
If IsHere Then
Dim foo AsString = "some this is here which need to be multiple lines its really big query , isnt it ? wow lol heh !"
Dim cmd As SqlCommand = New SqlCommand(foo, Connection)
Dim val = cmd.ExecuteScalar()
Dim result = (If(val, String.Empty)).ToString()
EndIf
دانلود حسابخانه مانی، برنامه مدیریت درآمد و هزینه رایگان
هر آنچه که هستیم، نتیجه افکاریست که در گذشته داشته ایم. (بودا)
این هم از سند برای اینکه حرفم را که اگر نوع را تعریف نکنید VB خودش از نوع مناسب مقدار داده شده تعریف می کنه.
عکس های زیر را ملاحظه کن:
دانلود حسابخانه مانی، برنامه مدیریت درآمد و هزینه رایگان
هر آنچه که هستیم، نتیجه افکاریست که در گذشته داشته ایم. (بودا)
صورت مسئله رو چرا پاك مي كني ما فرض مي كنيم اين رشته رو بايد چند خطه نوشت ( فرض )!
و اينم فقط يك مثال هست
در مورد dim foo = "string" با كمال تعجب حرف شما درست بود ( با اين كه قبلا اين كار رو مي كردم Object مي شد )
بعد از تغيرات كه كد C# :
و vb
if (ISHere)
{
var foo = @"some this is here
which need to be multiple lines
its really big query , isnt it ?
wow
lol
heh !";
var cmd = new SqlCommand(foo,Connection);
var val = cmd.ExecuteScalar();
var result = (val ?? string.Empty).ToString();
}
C# شامل 258 كاراكتر و
if IsHere Then
Dim foo ="some this is here" & _
"which need to be multiple lines" & _
"its really big query , isnt it ?" & _
"wow " & _
"lol" & _
"heh !"
dim cmd = new SqlCommand(foo,Connection)
dim val = cmd.ExecuteScalar()
Dim result = (If(val, String.Empty)).ToString()
End if
vb شامل 289 كاراكتر هست ;)
آخرین ویرایش به وسیله adinochestva : چهارشنبه 17 تیر 1388 در 14:59 عصر
احتمالا منظورت این نیست که شما برای انتخاب زبان برنامه نویسی لنگ 16 کاراکتری!!!
صورت مثله را پاک نکردم اگر دقت می کردی بالاش نوشته بودم که جمله ای با این طول نیاز به چند خطی بودن ندارد اما به هر حال این چند خط تو مثله ما اصلا تاثیری ندارد.
درضمن من باید یاد آوری کنم که در زبان VB بیشتر کلمات ، NameSpace ها کلمات کلیدی و ... را نمینویسم و فقط با زدن چند کاراکتر اول آن را انتخاب می کنیم و کلمات پایان شرط و حلقه و... هم که به صورت خود کار توسط زبان تولید می شود و اگر اینها را در نظر بگیریم تعداد کاراکتر های بیشتری حذف خواهد شد.
دانلود حسابخانه مانی، برنامه مدیریت درآمد و هزینه رایگان
هر آنچه که هستیم، نتیجه افکاریست که در گذشته داشته ایم. (بودا)
يكمي كوچك تر ولي ناخوانا تر
C# :
var foo = @"some this is here
which need to be multiple lines
its really big query , isnt it ?
wow
lol
heh !";
if (IsHere)
{
var cmd = (new SqlCommand(foo, Connection).ExecuteScalar() ?? string.Empty).ToString();
}
vb :
Dim foo = "some this is here" & _
"which need to be multiple lines" & _
"its really big query , isnt it ?" & _
"wow " & _
"lol" & _
"heh !"
If IsHere Then
Dim result = (If(New SqlCommand(foo, Connection).ExecuteScalar(), String.Empty)).ToString()
End If
C# شامل 224 كاراكتر
vb شامل 261 كاراكتر
اولا در آن مثال تفاوت 31 كاراكتر هست 289 - 258
و در آخرين tune تفاوت رسيد به 37 كاراكتر
-----
اينا مهم نيست در اين مقياس ولي اين 37 كاراكتر تفاوت فقط براي 10 خط كد هست حساب كن يك برنامه كوچيك كه 10000 خط مد داره ميشه 37000 كاراكتر
ولي باز قبول دارم اينا زياد مهم نيست مهم تو مباحث ديگه هست كه باز vb ميلنگه خواستيد اونارم بررسي مي كنيم ;)
اگر شما اون چیز هاییی را که خود زبان می نویسه کم کنید تعداد تقریبا برابر می شه اما به قول شما اینا فقط ظاهر و زیاد مهم نیست موافقم مسائل پایه را که قدرت زبان برنامه نویسی را مشخص می کنه را برسی کنیم.
من اول موضیه خودم را اعلام کنم . به نظر من دو زبان هیچ برتری به هم ندارند و کاملا از قدرتی یکسان برخوردارن. همونجوری که ماکروسافت اعلام کرده زبان #C برای این ارائه شده که ++C کار ها بتوانند Application های خود را راحت تر بنویسندو اینکه بتواند Java کار ها را به سمت خود جلب کند (که ابتدا زبان #J را ارائه و بعد از چند سال کوتاه آن را حذف و امکانات آن را به #C پاس داد.) و در نتیجه هر دوزبان پوششی برای .Net FrameWork هستند و در واقع کد ها را بر پاییه آن می نویسند.
اما فقط به دلیل قدیمی تر بودن VB فرمان های قدیمی تر خود را با خود همراه دارد که برخی از آنها همانند SaveSetting کارها را کمی ساده تر می کنند.
دانلود حسابخانه مانی، برنامه مدیریت درآمد و هزینه رایگان
هر آنچه که هستیم، نتیجه افکاریست که در گذشته داشته ایم. (بودا)
اين مقاله رو بخوانيد
http://en.wikipedia.org/wiki/Compari...ual_Basic_.NET
تو feature ها نگاه كنيد به نظر ميرسه C# feature هاي بيشتري داره در مقابل vb
و 100 البته كاربرديتر مثل unsafe و. ...
حتما می خوانم و معادلشون را تو VB برات میارم.
دانلود حسابخانه مانی، برنامه مدیریت درآمد و هزینه رایگان
هر آنچه که هستیم، نتیجه افکاریست که در گذشته داشته ایم. (بودا)
بعد از سال ها به این نتیجه رسیدم که نوع زبان برنامه نویسی کاملا نقشی موازی رو در برنامه نویسی ایفا می کنه و این یعنی که میشه گفت هم مهمه و هم نه! و این دقیقا به نگاه و اهداف ما بر می گرده! این امر حتی در مورد .Net هم صدق می کنه! با این که MSIL مقصد نهایی است اما syntax و popularity و tools رو نباید فراموش کرد. انتخاب من #C
دوست عزیز اگر شما همه مطالب نوشته شده را می خواندی حتما متوجه می شدی که ما قصد مقایسه دو زبان را از نظر طریقه کد نویسی و امکانات و ... است. در تاپیک های ردوبدل شده هزاران دلیل برای تایید و نقض هر دو زبان گفته شده. اگر شما هم دلیلی دارید لطفا به صورت جزئی تر بگویید.
دانلود حسابخانه مانی، برنامه مدیریت درآمد و هزینه رایگان
هر آنچه که هستیم، نتیجه افکاریست که در گذشته داشته ایم. (بودا)
دوستان ، من از نسخه بتای دات نت فریمورک با vb.net پروژه نوشتم -بیشتر از 9 سال- و اکثر اونا هم کارای Enterprise بودن
لیست این پروژه ها رو می تونین در آخر این صفحه ببینین : http://www.iranopenbravo.com/Index_Resume.aspx
اما واسه این اینکه شما یه معمار خوب و یه مدیر پروژه موفق باشن باید (باید و باید) #C رو یاد بگیرین.
از همه مهمتر اینکه خیلی از Sample های معتبر و مرجع و اکثر پروژه های Opensource دات نت با #C
کد نویسی می شوند.
اگر از دید شخصی به این قضیه نگاه کنین واقعیت اینه که تفاوت ها بسیار جزیی است و هیچکدام به دیگری
ارجحیت ندارن ، اما اگر جنبه شغلی و آینده کاری خودتون رو لحاظ کنید ممکنه به این نتیجه برسین بدون
تسلط به #C راه بجایی نمی برین.بهر حال تفاوت این دو زبان بیشتر جنبه شغلی و اجتماعی در جامعه برنامه نوس ها رو داره تا مسائل فنی و تکنیکی.
در ضمن دوستان سویچ کردن از VB.NET به #C برای افراد با تجربه یکی دو هفته بیشتر زمان نمی بره
باز هم سلام.
mamush جان بهتر نیست برای حرفات دلیل هم بیاری؟؟ رو چه حسابی معمار خوب باید و مدیر پروژه باید #C را یاد بگیره؟؟؟؟ مثلا اگر کسی کارش Java باشه باید #C یاد بگیره که چی بشه ؟؟اما واسه این اینکه شما یه معمار خوب و یه مدیر پروژه موفق باشن باید (باید و باید) #C رو یاد بگیرین.
از همه مهمتر اینکه خیلی از Sample های معتبر و مرجع و اکثر پروژه های Opensource دات نت با #C
کد نویسی می شوند.
و دوم اینکه اشتباه بهتون گفتن؛ تمامی Sample های ارائه شده از سوی ماکروسافت دیگر شرکت هایی که کامپوننت می نویسن برای هر دو زبان است. حتی بد نیست که کامپوننت KDTELE را که تو سایت چندین بار ازش تعریف شده و اکثراً معتقدن که بهترین در نوع خودشه را دانلود کنی ببینی که برای #C هیچ Sample ی نگذاشته و فقط برای زبان های VB.NET و Delphi نمونه گذاشته.
در این مورد حق با شماست بازار کار ایران بیشتر به سمت #C است تا VB اما این هم فقط یک دلیل می تواند داشته باشد.اما اگر جنبه شغلی و آینده کاری خودتون رو لحاظ کنید ممکنه به این نتیجه برسین بدون
تسلط به #C راه بجایی نمی برین.بهر حال تفاوت این دو زبان بیشتر جنبه شغلی و اجتماعی در جامعه برنامه نوس ها رو داره تا مسائل فنی و تکنیکی.
متاسفانه برای اینکه ما ایرانی ها عادت به تحقیق نداریم و فقط به تایید حرف های دیگران تصمیم می گیریم و حرفی را که می شنویم معیار قرار می دهیم بدون آنکه درباره آن اطلاعاتی کافی داشته باشیم در باره آن بحث می کنیم و بیشترقریب به اتفاقمان به محض مقایسه دو موضوع بدون داشتن دلایل کافی آن چه شنیده ایم را تایید می کنیم.
قدیمی ترهای کامپیوتر حتما به یاد دارن که زمان پدید آمدن ویندوز Miliniume یا ME همه کاربران آن را ویندوزی بدون کاربرد می دانستند اما بعدها ثابت شد که از هم دوره ها خود بهتر است ، در مورد XP مادر مرده هم اوایل آمدنش همه این بدو بیراه هارا بارش کردند اما در حال حاضر سیستم عامل 95٪ ایرانی ها XP است و جالب این است که به نظر همه آنها Vista با آن همه جلال و جبلوت ویندوزی بی استفاده است و مطمعن باشید که روزی Vista بهترین شناخته خواهد شد.
من دارم رو سایتی که دوست عزیزمون معرفی کرد تا برتری های #C را توش بخونم کار می کنم و به نتایج خیلی جالبی رسیدم که به زودی برای خوندم همه بچه ها می گذارمشون.(احتمالا دوستمون همه سایت را نخونده بود.) به زودی با دستی پر بر می گردم.
فقط از دوستان دو خواهش دارم : اول اینکه برای شرکت در بحث و نظر دادن اول همه مطالب نوشته شده را بخونن و دوم اینکه حرفشون را با دلیل و مدرک معتبر اعلام کنند نه نظر شخصی.
دانلود حسابخانه مانی، برنامه مدیریت درآمد و هزینه رایگان
هر آنچه که هستیم، نتیجه افکاریست که در گذشته داشته ایم. (بودا)
دوست عزيز در مورد زمانها يكم دقت كن 9 سال پيش VB.Net به بازار اومده بود ؟دوستان ، من از نسخه بتای دات نت فریمورک با vb.net پروژه نوشتم -بیشتر از 9 سال- و اکثر اونا هم کارای Enterprise بودن
لیست این پروژه ها رو می تونین در آخر این صفحه ببینین : http://www.iranopenbravo.com/Index_Resume.aspx
يكی از مهم ترين مزيت های #C نسبت به VB.Net اينه كه بين حروف كوچك و بزرگ فرق قائل ميشه.
دوست عزیز.دوست عزیز اگر شما همه مطالب نوشته شده را می خواندی حتما متوجه می شدی که ما قصد مقایسه دو زبان را از نظر طریقه کد نویسی و امکانات و ... است. در تاپیک های ردوبدل شده هزاران دلیل برای تایید و نقض هر دو زبان گفته شده. اگر شما هم دلیلی دارید لطفا به صورت جزئی تر بگویید.
اول سلام...
من در پستم این رو هم گفتم:
اولا که من باز تکرار می کنم که اگر از پایین نگاه کنیم فرق چندانی بین #C و VB و حتی Managed ++C نیست. ( ؟What Microsoft says ) در این مقاله به صراحت گفته شده که:نوع زبان برنامه نویسی کاملا نقشی موازی رو در برنامه نویسی ایفا می کنه.
No matter which language you select based on your personal preference and past experience, both languages are powerful developer tools and first-class programming languages that share the common language runtime in the .NET Framework
اما این همه ماجرا نیست!! چون ما می خواهیم که از بالا نگاه کنیم!
چند تا نکته مهم در این جا وجود داره:
بر خلاف گفته یکی از دوستان که .Net سال 2003 عرضه شد,سال 2002 به همراه C# عرضه شد. اما چرا باید برای برنامه نویسی از vb استفاده نکنیم:
1) ساختار: ساختار کدام زبان به .Net نزدیک تر است؟ C# قلب .Net است. ( البته این یک توصیف کلیه. در واقع C# برآمده از .Net هست. ) چون تقریبا مایکروسافت همه ویژگی هایی رو که می خواست در این زبان گنجوند. البته با تقلید از Java و تا حد زیادیC++
2) پشتیبانی: بیشترین پشتیبانی از جانب MS و همه شرکت ها برای کدام زبان .Net است؟
C#
3) این یک قانون در همه دنیاست. استخدام ابتدا برای برنامه نویسان native سپس Java و سپس .Net .در بین برنامه نویسان .Net هم کهنه کاراری C# ارجحیت دارند. چرا؟ چون برنامه نویس C# خیلی خیلی راحت تر می تونه به هر زبانی switch کنه و اصولا شرکت ها به افرادی نیاز دارند که بتونند مدام حودشون رو upgrade کنند. چیزی که برنامه نویسای ایرانی از اون غافلند.
و ...
هدف من از گفتن اینها این نیست که از فردا همه برن C# یاد بگیرند بلکه اینها دلایل من بود برای سرمایه گذاری در این زبان. البته هنوز اعتقاد دارم که یک برنامه نویس حرفه ای حتما باید
C++ و assembly رو بلد باشه! ( در کنار زبانی که بلده! )
البته بد نیست که یه نگاهی هم به لینکای پایین بندازین...
دوست عزیز من همه قسمت های این سایت رو خوندم. در واقع مطالب این گونه سایت های خارجی یک مرجع غیر رسمی هستند. ( به شرطی که معتبر باشند. )من دارم رو سایتی که دوست عزیزمون معرفی کرد تا برتری های #C را توش بخونم کار می کنم و به نتایج خیلی جالبی رسیدم که به زودی برای خوندم همه بچه ها می گذارمشون.(احتمالا دوستمون همه سایت را نخونده بود.) به زودی با دستی پر بر می گردم.
ضمن این که من تا صفحه ای رو کامل نخونم به کسی لینک نمی دم.
بابا جان ما سال 79با این VB.NET برنامه نوشتیم (فکر کنم 9 سال شده نه ؟ )
اون موقع که اساتید همگی متفق القول می گفتند :لا دلفی لا مقبول لا مدرک
ویژوال بیسیک هم که فداش می گفتن اسباب بازیه یادتون نمی یاد. فکر کردین دات نت
مربوط به سال 2005 است ؟ بنده نسخه آلفای VS.net 2001-2002رو هم دارم. می شه بفرمایین
سرکار ، سال 2001-2002با چی کد می زدین ؟ با Foxpro 2.5 for DOS
Mamush جام نمی دونم مخاطبت کی بود اما من سال 2000 برنامه نویسی را با VB6 شروع کردم و بعد از اون برای اینکه بتونم دنیای اطراف خودم را بهتر بشناسم زبان های زیر را هم تا حد کاربردی یاد گرفتم.
Qbasic
Pascal
C و ++C
Assembly
Delphi
Vb.Net
C#.Net
خیلی کم هم Java
و ASP برای اینکه تو زمینه Web هم کاری بلد باشم.
و متاسفاته Delphi.Net کار نکردم
اگر احتمالا شما فکر می کنید که بنده از شکم مادر که زاده شدم VB.Net کار بودم اشتباه می کنید. در ضمن این مطلب هم برای آقایونی می گم که فکر می کنن اگر #C یاد بگیرن پایه برنامه نویسی یاد گرفتن و می تونن همه زبان ها را راحت یاد بگیرن، برنامه نویسی کردن مثل حرف زدنه اگر شما حرف زدن بلد باشین و بهتون بگن حالا برای اینکه به زبان اینگلیسی صحبت کنی باید بعضی از کلمه ها رو یاد بگیرید برای مثال به جای کتاب باید بگید Book و 40٪ از مابقی کلمه ها همونه فکر نکنم زیاد سخت باشه
مسله بعدی اینکه زبان های برنامه نویسی رایج از لحاظ کد نویسی بیشتر به VB شبیهند تا #C
مثلا تعریف متغیر در #C
INT X
VB و VB.NetDim X as Integer
DelphiVar X : Integer
چند نمونه دیگه :
#C
For(i=0,i<5,i++)
VB و VB.NetFor I = 0 to 5
DelphiFor I := 0 to 5 do
#CiF (X==5)
VB و VB.NetIf x=5 then
DelphiIf X = 5 then
switch (x)
#C
{
case 1 :
case 2 :
case 3 :
Defualt :
{
VB و VB.NetSelect Case X
Case 1
Case 2
Case 3
Case Else
End Select
DelphiSelect X
Case 1 :
Case 2 :
Case 3
Case Else :
End Select
حالا خودت قضاوت کن از کدوم به کدوم راحت تر می شه سوئچ کرد؟؟؟
مسله بعدی اینکه به نظر من حساسیت به حروف بزرگ و کوچیک یکی از ایراد های این زبان به حساب می یاد چون عملا جز اینکه دستو پایه برنامه نویس را ببنده و برنامه نویس را گیچ کنه کاره دیگه ای انجاک نمی ده. برای تعریف متغیر شما می توانید یک کلمه 256 کاراکتری متشکل از اعداد و بعضی از کاراکتر ها بنویسید (تازه این تو شرایطیه که آرایه را در نظر نگیریم) که اگر همه آنها را هم 30 تا در نظر بگیریم (که خیلی بیشتره ) خودتون حساب کنید 256^30 چند میشه.
بدون کاربرد و دستو پا گیر.
دانلود حسابخانه مانی، برنامه مدیریت درآمد و هزینه رایگان
هر آنچه که هستیم، نتیجه افکاریست که در گذشته داشته ایم. (بودا)
دوست عزیز:
این که با یادگیری C# یادگیری بقیه زبان ها کار راحتیه , حرف من نیست. حرف MSDN و همه برنامه نویساست. البته اونقدر واضح است که نیاز به مثال نداره. به عنوان نمونه همون ساختار for که شما مثال زدی در زبان هایی مهمی مثل C++ و Java هیچ فرقی نداره چون تقریبا در برنامه نویسی به یک استاندارد تبدیل شده. فراموش نکنید که Delphi زبان مورد احترامی هست اما همه برنامه نویسی نیست. در واقع اهداف ایجاد Pascal و Basic خیلی به هم شبیهند. Basic به وجود اومد که دانش آموزها بتونند برنامه نویسی یاد بگیرند. ( البته الان با وجود .Net بسیار بسیار قدرتمنده. ) و Pascal به وجود اومد که تقریبا همه مفاهیم برنامه نویسی موجوددر زبان C رو دانشجوها راحت تر یاد بگیرند بنابراین این همه شباهت بین این دو دور از انتظار نیست. البته Delphi با C# هم شباهت های زیادی داره.در ضمن این مطلب هم برای آقایونی می گم که فکر می کنن اگر #C یاد بگیرن پایه برنامه نویسی یاد گرفتن و می تونن همه زبان ها را راحت یاد بگیرن، برنامه نویسی کردن مثل حرف زدنه اگر شما حرف زدن بلد باشین و بهتون بگن حالا برای اینکه به زبان اینگلیسی صحبت کنی باید بعضی از کلمه ها رو یاد بگیرید برای مثال به جای کتاب باید بگید Book و 40٪ از مابقی کلمه ها همونه فکر نکنم زیاد سخت باشه
البته من هیچ وقت نگفم یه برنامه نویس VB نمی تونه به زبان های دیگه switch کنه بلکه یک برنامه نویس
C# خیلی راحت تر می تونه این کار رو انجام بده.
یه نکته دیگه: کوچک یا بزرگ بودن به نظر من یک مزیته. ببینید دوستان برنامه نویسی یعنی تفکر! و این یعنی این که نباید از یک زبان انتظار داشته باشیم همه کارها رو برای ما آسان کنه. مثلا چرا این قدر برنامه نویسان vb به case-sensitive بودن C# گیر میدن. چون کار رو سخت می کنه؟ اما واقعیت اینه که این مساله حواس برنامه نویس رو خیلی جمع می کنه! همون طور که یک برنامه نویس C++ در برنامه نویسی دقت بیشتری به خرج میده!
دوست عزیز این حرف MSDN را لینک بده ما هم بخونیم من مثال VB و دلفی را زدم شما هم چندتا مثال از این دوزبان می زدید. کاملا درست است زبان Java زبان بزرگی است پر کاربرد اما حتما این را هم می دانید که Java جایی در Application ندارد. و حتما این را هم می دانید که متغییر در جاوا به شکل : Var X : integer تعریف می شود این یعنی خود دلفی.
من در تمام تاپیک هایی که گذاشتم از زبان های مختلف مثال زدم، عکس گذاشتم شما #C کار های محترم فقط از این شاخه به آن شاخه می پرید و نتوانستید یک حرف را با مدرک ثابت کنید.
بهتر نیست شما هم علاوه بر #C و تکیه کردن به ساختار C چند زبان برنامه نویسی دیگری را امتحان کنید و از دور به آنها نگاه نکنید؟!؟!؟
دقیقا در مورد این حرف با شما موافقم برنامه نویسی یعنی تفکر یعنی یک هفته برای یک Bug کوچیک فکر کردن و کلنجار رفتن (نمی دونم براتون پیش اومده یا نه) یعنی شب خواب برنامه را دیدن . پس تو این شرایط به نظر من احمقانه است که برنامه نویس بخواهد خودش را درگیر کاراکتر های دستو پا گیری مثل " ; " بکونه ، مسخره نیست که تو زمانی که شما ویندوز را نصب می کنید و اکثر درایور هاتون شناخته می شه شما بخواهید درگیر شمردن { ها برای پیدا کردن حلقه مورد نظرتان شوید . برنامه نویسی نیاز به دقت داره ، دقتی که سطح کاربردی برنامه شما را در نظر کاربر بالا ببره به کاربردن زبان برنامه نویسی شما هیچ فرقی برای کاربر نداره ، فقط خود برنامه نویس را درگیر حاشیه می کنه.ببینید دوستان برنامه نویسی یعنی تفکر! و این یعنی این که نباید از یک زبان انتظار داشته باشیم همه کارها رو برای ما آسان کنه. مثلا چرا این قدر برنامه نویسان vb به case-sensitive بودن C# گیر میدن. چون کار رو سخت می کنه؟ اما واقعیت اینه که این مساله حواس برنامه نویس رو خیلی جمع می کنه! همون طور که یک برنامه نویس C++ در برنامه نویسی دقت بیشتری به خرج میده!
مگر غیر از اینه که کامپیوتر برای راحتی انسان ساخته شده ؟؟؟؟
مگر غیر از اینه که برنامه نویسی ویژوال پدید آمد تا برنامه نویس را از نوشتم و ساختن OBJECT های اولیه دور کند و برنامه نویس ذهن و انژی خودش را برای بهبود سطح کیفی برنامه و براورده کردن نیاز کاربر صرف کند؟؟؟
مگر غیر از این است همه زبان های تحت DOS از دور خارج شدن؟؟؟
مگر غیر از این است که از زبان Visual C++ فقط برای بازی نویسی استفاده می شود Application نویسی به #C واگذار شده ؟؟؟
ما برنامه می نویسیم تا مردمی راحت تر کارهایشان را انجام بدهند ، و خودمان باید از این راحتی که پیش رویمان گذاشتند فرار کنیم!!!
تا اینجای کار همه بچه ها از کمی امکانات و ضعف های نداشته VB در برابر #C می گفتند و حال کی هیچکدام ثابت نشد به خاطر راحتی کار با آن از آن ایراد می گیرید!!!
من منتظر دلایلی هستم که از منابعی همچون خود زبان برنامه نویسی باشد. مثال بزنید، مقایسه کنید. کد ها و امکانات را به رخ بکشید تا اگر vb ضعفی دارد ما هم بفهمیم...
من اول این تاپیک گفتم این بحث را دوست دارم فقط و فقط برای اینکه با شرایط و امکانات زبان های مختلف آشنا بشیم و اطلاعاتمان افزایش یابد اما این طوری که بر می آید شما فقط در فکر سرکوب کردن VB هستید.
منتظر ضعف های VB هستم (هرچند که بیشتر اونها را می دانم و به این نتیجه رسیدم که کوچکترین خللی در برنامه نویسی ایجاد نمی کند.)
موفق باشید....
با سپاس فراوان...
آخرین ویرایش به وسیله Mani_rf : یک شنبه 21 تیر 1388 در 12:39 عصر
دانلود حسابخانه مانی، برنامه مدیریت درآمد و هزینه رایگان
هر آنچه که هستیم، نتیجه افکاریست که در گذشته داشته ایم. (بودا)