ورود

View Full Version : یاد گیری زبان تازه



sonixax
چهارشنبه 17 آذر 1389, 20:36 عصر
سلام به همگی
هر چی گشتم جای بهتر از اینجا برای سوالم پیدا نکردم .
من الان به زبان PHP مسلط هستم و تکنیک آژاکس رو هم تا حدودی باهاش آشنایی دارم همین طور ACtionScript و JavaScript و کلا هر چیزی که به وب مربوط میشه .
همون طور که میدونید این زبانها به درد Application نویسی نمیخورند .
حالا میخوام نظر دوستان رو در باره یاد گیری یک زبان تازه بدونم ، شما چه زبانی رو پیشنهاد میکنید ؟
VB
C++
C#
VB .Net
یا ...

البته من کار خیلی سنگین نمیخوام انجام بدم .

ostovarit
چهارشنبه 17 آذر 1389, 21:53 عصر
سلام به همگی
هر چی گشتم جای بهتر از اینجا برای سوالم پیدا نکردم .
من الان به زبان PHP مسلط هستم و تکنیک آژاکس رو هم تا حدودی باهاش آشنایی دارم همین طور ACtionScript و JavaScript و کلا هر چیزی که به وب مربوط میشه .
همون طور که میدونید این زبانها به درد Application نویسی نمیخورند .
حالا میخوام نظر دوستان رو در باره یاد گیری یک زبان تازه بدونم ، شما چه زبانی رو پیشنهاد میکنید ؟
VB
C++
C#
VB .Net
یا ...

البته من کار خیلی سنگین نمیخوام انجام بدم .

من زبان سی شارپ رو یاد گرفتم و تا لان مشکلی باهاش نداشتم ... یادگیریش آسونه و منابع زیادی براش هست
جدیدا هم یک تحقیق درباره زبان پایتون کردم و زبان ساده و جالبی به نظرم رسید بهتون پیشنهاد میکنم پیرامون این دو زبان تحقیق کنید

eshpilen
چهارشنبه 17 آذر 1389, 22:14 عصر
لامصب این دات نت بدجوری همه چیز رو در خودش جمع کرده.
پشتوانه هم که ویندوز و میکروسافت باشه دیگه چی میشه.
ویژوال استودیو هم که عالی هست انصافا.
من خودم خوشم نمیاد میکروسافت اینقدر قدرت و انحصار داشته باشه، اما نمیشه از حقیقتش گذشت که دات نت یکی از شاهکارهای شاخ و غیرمنتظرهء میکروسافت هست که آدم رو به این فکر میندازه که فقط یک شرکت تجاری با چنین قدرت و ثروت و سابقه ای میتونست چنین چیزی رو ایجاد کنه و به سرانجام برسونه (البته کار نشد نداره، ولی برای هرچیزی شرایطش باید مهیا بشه).
کی فکرش رو میکرد میکروسافت با اون داس و ویندوزهای درپیتش که از ویروس و ناپایداری و ریستارت شهره بود، حالا به جایی رسیده که یکی از بزرگترین دستاوردهای علمی حوزهء مهندسی نرم افزار رو ارائه میده، و ویندوزش هم روز به روز حرفه ای تر و پایدارتر شده.

اگر دات نت کاملا آزاد بود خیلی خوب میشد. ولی میکروسافت باوجود آزادیهایی که داده، در عمل چندان بدون ابهام و کامل و محکم عمل نکرده. اونا سی شارپ و دات نت رو جزو به اصطلاح «دارایی فکری» خودشون میدونن (البته بنده از اصطلاح «انحصار فکری» بجاش استفاده میکنم).
اگر مسئلهء پرفورمنس مطرح نباشه، بنظرم پاسخی بجز دات نت وجود نداره. در آینده هم احتمال زیادی وجود داره که تازه مزایا و کاربردهای وسیعش بر عموم آشکار بشه و عدهء زیادی بخوان یا نخوان به سمتش کوچ کنن. الان فعلا تا چند سال میشه بخاطر محدودیت های پرفورمنس و جا نیافتادن و زمان لازم برای کوچ برنامه ها و برنامه نویسان، و اینکه نسخه های متداول ویندوز هنوز دات نت رو بصورت پیشفرض ندارن، انتظار داشت که نبرد دات نت به اوج خودش نرسه.
منکه دارم کتابخانهء کلاس دات نت رو میخونم و الانم در یک سوم پایانیش هستم این حرف رو با دید عینی میزنم. ساختار دات نت واقعا کامل و قوی و علمی طراحی شده و مجموعهء وسیعی از امکانات و ابتکارات و حیطه های مختلف برنامه نویسی رو در خودش جمع و بخوبی یکپارچه کرده. در هیچ زبان و فریمورک دیگری این گستردگی و خلاقیت رو ندیدم. یعنی هم از نظر کیفیت و هم کمیت. همهء زبانها و فریمورک های دیگه ای که شخصا رفرنس اونها رو هم خوندم و بعضیا رو تاحدی کار کردم، هرکدوم بخشی از حیطه ها و ابتکارات مهم و امکانات رو حاضر و آماده در خودشون دارن. فکر نمیکنم جاوا هم به دات نت برسه. ضمنا پشتوانهء دات نت میکروسافت و ویندوز هست که جایی برای جاوای بیچاره باقی نمیگذاره.
البته سی++ هم زبان قوی ای هست که امکانات گسترده داره. ولی اصلا به پای راحتی و یک پارچه و سطح بالا بودن دات نت نمیرسه. بهرحال در دنیای آینده هم اینطور نیست که چنین زبانهای قوی ای که امکانات هم زیاد دارن منسوخ بشن. بخصوص که عمدهء تطابق دات نت در زمینهء اپلیکیشن نویسی سطح بالا هست و اونم نه هر اپلیکیشنی و نه هر بخشی از اونا (بخاطر مسئلهء پرفورمنس). اما جایی که با دات نت بشه کار کرد، معمولا انتخاب معقول دیگری وجود نداره درحال حاضر!

ولی اینم بگم که آدم با یک زبان، حتی دات نت، مرد نمیشه و ازش همه جا همه کاری برنمیاد.
همینطور بنظر من آدم باید با سیستم عامل های دیگه مثل گنو/لینوکس هم حداقل آشنایی پایه کسب کنه و بدونه چی به چیه. یعنی چی که یه مهندس نرم افزار و برنامه نویس میگه من هیچی از لینوکس نمیدونم و نیازی هم ندیدم!! ضایع نیست؟!
یه جاهایی همین PHP در مقابل دات نت حرف برای گفتن داره و یه جاهایی PHP کار کردن راحتتر و سریعتر هست و میبینیم که PHP کارها چیکار کردن نصف دنیا رو گرفتن و میچرخونن. تازه بازمتن هست و رایگان که اینم کلی مزیته.
خلاصه ما در دوران نبرد و ناپایداری و نامعلومی قرار داریم. اما خب ماهیت زندگی و بخصوص این رشته و حیطه همینه دیگه. در گذشته هم کم و بیش همینطور بوده احتمالا. تغییر و گسترش و پیشرفت و یادگیری چیزهای مختلف. بنظر من تنوع و تعادل ایجاد شده خیلی بهتر از انحصار هست. این مسئله واقعا برای پیشرفت و آزادی اهمیت داره.

دات هم هم خیلی چیزهایی که آورده احتمالا جدید نیست، ولی مسئلهء اصلی جمع کردن و یکپارچه کردن تمام این ابداعات، ویژگیهای مفید، روشها، زبانها و فریمورک های کوچکتر دیگه در قالب یک زبان و فریمورک و محیط یکپارچه هست. البته این حرف به این معنی نیست که خود میکروسافت و دات نت فناوری جدید و جالبی رو ابداع نکرده. مثلا WCF احتمالا ابداع خیلی خوب و جدیدی بوده. همینطور سینتاکس زبان سی شارپ که میشه گفت جزیی از دات نت هم هست احتمالا ابتکارات قابل توجهی داشته.

eshpilen
چهارشنبه 17 آذر 1389, 22:29 عصر
بهرحال همونطور که گفتم، عملا یک زبان و فریمورک حتی الانم بنظر من کافی نیست.
مثلا من خودم هر از گاهی که نیاز به یه برنامه ای داشتم، تقریبا هرکدوم رو با یک زبان نوشتم. مثلا یکی رو حتی با فلش و اکشن اسکریپت نوشتم. یکی رو با Qt (و بخشی از اونم که تحت وب و با PHP). یکی رو برای یه نیاز کاری نسبتا کوچیک با سی++ خالص و استاندارد نوشتم. اخیرا هم که برای تست های کوچیک از پایتون استفاده کردم،چون برای اینطور کارها عالیه و کم حجم و سریع و راحت هست برای تست برنامه های کوچیک و دارای تغییرات زیاد جزیی.
آدم اگر چند زبان بلد باشه، دقیقا در عمل میبینه که هرجایی یکیش از همه مناسبتر هست. اما خب در عمل یکی دو زبان اصلی و حرفه ای/شغلی داریم احتمالا که بیشتر کارهای جدی و حرفه ای و بزرگ رو با اونا انجام میدیم.
اینکه آدم چند زبان و فریمورک و حتی سیستم عامل رو بلد باشه، باعث میشه ذهنش خوب باز و خلاق بشه و محدودیتهای عملی کمتری هم داشته باشه و ضمنا میتونه خوب مقایسه کنه و متوجه روشها و مزایا و معایب هرکدوم بشه و ایده های جدید به ذهنش برسه. محدودیت هم کم و بیش همیشه هست. مثلا یه وقت شما نیاز پیدا میکنی یه جایی یه کاری رو راه بندازی که به دلیلی نمیتونی یا نمیخوای از دات نت استفاده کنی. شاید روی لینوکس باشه (بخصوص سرور و برنامه نویسی وب). شاید بخاطر مسائل قانونی و هزینه باشه، شاید بخاطر پرفورمنس مورد نیاز باشه و غیره و غیره.