تجربیاتم از زبان های برنامه نویسی

با نام حضرت دوست

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

این پست شاید نه بلکه حتما غلط داره و به بزرگی خودتون ببخشین

بهتره شروع کنیم 🙂

زبان شیرین در عین حال سرطان زای C

زبون برنامه نویسی C که شک ندارم هرکسی که با کامپیوتر کار کرده اسمش رو شنیده ، C  زبان سختیه ، شی گرا نیست کار کردن باهاش گاهی اوقات اعصاب رو داغون میکنه ولی تقریبا میشه باهاش هرکاری کرد هسته خیلی از برنامه های بزرگ رو با C نوشتن از فتوشاپ گرفته تا آپاچی و….. غیر ممکنه که حداقل چند خط کد C نداشته باشن

سیستم عامل لینوکس و….. ویندوز هم استفاده زیادی از این زبون کردن ، فقط قسمت های هلو برو تو گلوی ویندوز رو دوباره با C# نوشتن وگرنه استفاده زیادی از این زبون کرده

در کل بخوایین اگه برنامه های پیچیده و باحال بنویسن بهتره دنبال C برین در ضمن تو رباتیک و میکروکنترلر و…. هم استفاده میشه.

زبان C++

تمام چیزی که از C++ فهمیدم این بود که همون C هست فقط شی گرا شده و توابعش زیادتر شدن

فتوشاپ و ۳dsmax و … اکثر برنامه های گرافیکی با این زبان مخصوصا با ویژال C++ ساخته شدن

در کل باید گفت اگه برنامه های سیستمی و گرافیکی میخوایین بنویسین بهتره از c++ یا باباش C استفاده کنید.

Assembly

  1. دانشجوهای کامپیوتر برنامه نویس ها و… اسم این زبون میاد صورتشون سرخ میشه ! خیلی سخته ولی باهاش هرکاری میتونین بکنین ، اگه شما قصد نوشتن یه سیستم عامل رو دارید غیر ممکنه بتونین بدون اسمبلی به نتیجه برسید ، حتی زبان C با اون همه ابهتش اکثر قدرتش رو از این زبون گرفته ، مثلا شما غیر ممکنه بتونین با C یا C++ بوت لودر بنویسین و مجبورین با اسمبلی کدش رو بنویسین ، خود من یه مدتی برای تفریح تو فکر ساخت یه سیستم عامل کوچولو بودم و بعد کلی مطالعه و کدزنی و… به این نتیجه رسیدم C یا C++ فقط برای این استفاده میشه که برنامه نویس مجبور نشه زیاد با اسمبلی درگیر بشه وگرنه قسمت عمده کار رو این اسمبلی بیچاره انجام میده ، ساده تر بگم هیچ ادم باهوشی حاضر نمیشه بیاد با اسمبلی  دستور شرطی یا حلقه و…. کدزنی کنه و بجاش میاد یه کتابخونه درست میکنه و بعد با C یا هر زبون دیگه ای قسمت های راحتش رو انجام میده

اگه قصد دارین ویروس بنویسین اگه دلتون میخواد برنامه هایی با حجم خیلی کم ولی سرعت خیلی خیلی بالا بنویسین اسمبلی بهترین گزینه است چون قدرت زیادی داره مخصوصا در ارتباط با سخت افزار

برای مثال شما یه برنامه ساده بنویسین با C  یا C++ یا C# یا هرچی که دم دستتونه بعد شبیه همون برنامه رو هم با اسمبلی بنویسین البته از اونجایی که نمیتونین بنویسین شبیه اون رو دانلود کنید  J و بعد کامپایل مقایسه کنید و متوجه میشین برنامه اسمبلی حجم خیلی کمتری داره (البته قابلیت انتقال پذیری کمی داره ولی برنامه نویس ماهر اونجاهاش رو هم یه کاری میکنه) چون اکثر کامپایلرها مثل یه روبات عمل میکنن و کلی شاهنامه یا دیوان شعرای بزرگ رو همراه کد شما قالب برنامه میکنن وگرنه استفاده از توابع ویندوز و.. برای ساخت یه پنجره ساده نباید باعث بشه ده بیست کیلو بایت به فایل اجرایی اضافه بشه

C# و Java

شاید تعجب کنید ولی اسم این دوتا رو باهم آوردم چون یجورایی خیلی شبیه همن و از نوه نتیجه های C++ هستن ، جاوا شی گرایی خیلی بالایی داره میتونی تو ویندوز کدش رو بزنی بدون هیچ دردسری تو لینوکس اجراش کنی برای همه چی کتابخونه داره میتونین تحت شرایطی باهاش برای اندروید هم برنامه بنویسین.

C# که فکر کنم الان اکثر برنامه نویس ها بهش تسلط دارن و بدون تعصب میگم که یه کپی بی شرمانه از Java است و  با یه سرچ ساده تو نت میتونین بفهمین اگه هم تجربه کارکردن با هردو زبون رو دارین نت لازم نیست خودتون بدون شک فهمیدین.

PHP و Asp.Net

مطرح کردن این دوتا یکم سخته و هرکدومش طرفدارای خاص خودش رو داره و متاسفانه با تعصب خیلی خاصی دفاع میکنند ،هردوتاش هم از mvc پشتیبانی می کنند حتی جوری که من احساس کردم مایکروسافت شاید در آینده ای نه چندان دور asp.net webforms رو کلا دور بندازه و تمام تمرکزش رو بزاره رو Asp.Net MVC ، البته باید اینو هم گفت PHP از YII یا لارول و… استفاده میکنه ولی نمیشه روی اینا زیاد حساب کرد و با یه حساب کتاب ساده علتش رو میتونین متوجه بشین ، برای ساخت وب سایت با Asp.Net باید ویژال بیسیک یا C# بلد بشین ولی PHP سینتاکس خودش رو داره و خیلی هم آسونه

این دوتا رو تو خیلی جاها مقایسه کردن ولی من میخوام با تجربیاتم مقایسه کنم :

اگه پروژه شما بزرگ است و بخواییم بدون تعصب حرف بزنیم Asp.Net بدون شک بهترین گزینه است چون کارها رو راحت تر میکنه پروژه راحتتر مدیریت میشه  در ضمن یک IDE قوی به اسم ویژال استودیو داره

اگه از اون دسته از کدنویس ها هستید که از مایکروسافت متنفرید و حوصله ندارید یه روز Ado یاد بگیرید یه روز LINQ اون وقت PHP خوبتره

با توجه به اینکه مردم ایران توانایی خیلی بالایی تو مصرف کردن دارند به جای تولید بهتره حداقل سر سوزن هم که شده PHP و وردپرس بلد باشین چون اکثر آگهی های استخدام که من خودم دیدم وردپرس کار میخوان

برای مثال یه مدت قبل رفتم یه جا برای استخدام و با آب و تاب شروع کردم به گفتن تجربیاتم و مهارتهام و طرف بعد اینکه حرفهام تموم شد بهم گفت :اینا رو ول کن وردپرس بلدی یا نه ؟؟؟

خب این برای یه برنامه نویس که عاشق کارش هم هست توهین خیلی بزرگیه ، قصدم از گفتن این حرفا این بود که بفهمین اینجا برای کسی مهم نیست که وب سایتش با Asp.Net نوشته بشه یا PHP  .

هرکدومش یه مزایا و معایبی دارن :

برای مثال PHP یه IDE درست و حسابی و رسمی نداره و حالا این به چشم بعضی ها یه عیب بزرگه و به چشم بعضی ها یه امتیاز خوب که باعث میشه تو محیط های مختلف کد بزنن ، ولی Asp.Net یه IDE قوی داره که فکر نکنم چیزی کم و کسر گذاشته باشه البته آدم گاهی اوقات دلش تنوع میخواد J

Asp.Net از اونجایی که محصول مایکروسافته باید عادت کنین به خونه تکونی یعنی هرسال یه چیز جدید یاد میاد و تا بیایین اونو یاد بگیرین میبینین جدیدترش اومده و اینم به چشم بعضی ها امتیازه و به چشم بعضی ها عیب

هاست لینوکس از ویندوز ارزونتره و از اونجایی هم که ما تو کشور ایران زندگی میکنیم و چه بسا گاهی اوقات پول پیدا نمیشه با تاکسی رفت پس پنج تومن هم پنج تومنه ! اینکه یه وبسایت نوشته شده با Asp.Net  رو میشه تو لینوکس هم راه اندازی کرد به امتحان کردنش نمی ارزه !

نمیدونم چرا ولی وقتی حجم کد PHP میره بالا پدر آدم رو درمیاره تا بخوایی توش یه تغییر کوچولو بدی من خیلی فکر کردم و دنبالش رفتم و آخرش به این نتیجه رسیدم که PHP سینتاکس کثیفی داره و به عقیده بزرگان این طریقت رسیدم J عشق آسان نمود اول ولی حجم کدها چون بالا رفت افتاد مشکل ها

بحث سرعت  و امنیت هم با تجربه ای که داشتم فهمیدم تا حدودی به برنامه نویس بستگی داره البته قدرت و سرعت آپاچی رو نباید نادیده گرفت که PHP رو قوی تر میکنه

نکتی اصلی اینه که این برنامه نویسه که امنیت یا سرعت یا قدرت رو تعیین میکنه نه خود PHP یا Asp

حرف آخر : با هردوتاش هم هرکاری میشه کرد و اگه بتونین هردوتاش رو هم یاد بگیرین ، امنیت و … دست خود برنامه نویس هست و ربطی نداره به php یا asp بودنش ، خلاصه خودتون رو درگیر نکین که کدوم بهتره چون این برنامه نویسه که به یه برنامه قدرت میده نه زبون

Visual Basic

هلو برو تو گلوترین زبونیه که من دیدم و هنوزم خیلی از کارامو باهاش راه میندازم ، نمیدونم شاید فقط من اینطوری ام ولی اون احساس راحتی و صمیمی بودنی رو که با ویژال بیسیک ۶ یا حتی ویژال  C++6 داشتم هیچ وقت نتونستم درست حسابی با .NET داشته باشم و هنوزم گاهی وقت ها که بیکار میشم باهاشون ور میرم ، خب بریم به نقد و بررسیش :

زبون خیلی آسونیه ولی مواظب باشین زیاد بهش عادت نکنید چون بعدا باعث دردسر میشه و با بقیه زبون ها یا کدنویسی اصولی مشکل پیدا میکنین ولی به نظر من بهتره بلد باشین چون خود من به شخصه هیچ وقت نه حوصلم میکشه نه اعصابشو دارم که برای یه سوپرمارکت یا یه فروشگاه کوچولو با C# یا جاوا یا زبون هایی که سینتاکس  سختی دارند کد بزنم بجاش با ویژال بیسیک در کم ترین زمان ممکن برنامه رو تحویل کارفرما میدم چون برای کارفرما هم فرقی نداره با اسمبلی بنویسی یا ویژال بیسیک تنها خواستش اینه فقط ظاهر قشنگی داشته باشه و خوب کار کنه ، یه حس مرموزی به من میگه تو .Net فرق نداره با VB.net یا C# کد بزنی و هردوتاش آخر یکی ان و یه نتیجه رو تحویل میدن ساده تر بگم یعنی اینکه احساس میکنم چه درخت سیب باشه چه درخت هلو میوه هردوتاشون هم پرتغاله و فرق نمیکنه کدوم درخت رو کاشته باشی ، خوشحال میشم اگه کسی تو این زمینه اطلاعی داره منو راهنمایی کنه.

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

نتیجه گیری :

برنامه نویس شدن علاقه میخواد وگرنه سخت و طاقت فرساست و باید هرروز اطلاعات جدید کسب کرد .

تو انتخاب زبان برنامه نویسی علاقه حرف اول رو میزنه شاید آدمی پیدا بشه که با اسمبلی برنامه حسابداری بنویسه و اصلا هم براش مشکل نباشه چون علاقه داره

وقتی اسمتو گزاشتی برنامه نویس باید دردسرهاشو هم قبول کنی ، شاید مجبور بشی یه روزی در کنار PHP  یه زبون دیگه مثل Node Js هم یاد بگیری  البته با این رشدی که nodejs داره بهتره بجای شاید بگم باید

اگه به دنبال کسب درآمدی بهتره طراحی قالب برای وردپرس و… طراحی وب سایت و… رو یاد بگیری چون بازار کار و تقاضای بیشتری دارند و عملا تو کشور ما برنامه نویس های سیستم به درد نمیخورن برای مثال شاید برای یه طراح قالب یا وردپرس کار کار خوبی گیر بیاد ولی اون بیچاره ای که وقتش رو گزاشته رو C و برنامه های پیچیده نوشته تقریبا کار نیست هرچند سطح سوادش و سختی کارش خیلی بالاتر از یه وردپرس کار یا برنامه نویس های .Net هست ، این بحث شامل استثناها نمیشه و من عموم رو میگم .

سعی کن تو یه زبون متخصص به معنای واقعی باشی ، درسته ویژال بیسیک قدرتش و انعطاف پذیریش مثله C++ نیست ولی شاید برنامه نویسی پیدا بشه که چنان مهارت داشته باشه و برنامه ای با ویژال بیسیک بنویسه که مثل همون برنامه رو سی تا برنامه نویس C++ نتونن پیاده کنند.

زیاد به فکر درآمد نباش فقط سعی کن با علاقه بری جلو ، برنامه نویسی شغل مقدسیه همین که باعث میشه اکثر وقتت تو کامپیوتر تلف بشه و از جامعه و گناه دور باشی کافیه در ضمن ذهنت رو قوی تر میکنه و روشن تر و بهتر فکر میکنی

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

این پست هم به پایان رسید و بابت هر غلطی چه املایی چه محتوایی و… عذر میخوام واقعیت اینه من از کلمه های انگلیسی دراز از اصطلاح های پیچیده و خسته کننده از متن هایی که حالت اداری دارن و خشک و بی روح ان اصلا خوشم نمیاد و زود خسته میشم چون آدم شوخی ام و اگه خودمونی و صمیمی حرف زدم به بزرگی خودتون ببخشین.

4 thoughts on “تجربیاتم از زبان های برنامه نویسی

  1. سلام آقا مرتضی
    خیلی ممنونم بابت این مطلب زیبا
    راستش رو بخواهید من خودم به شخصه عاشق برنامه نویسی هستم و زبان های سی شارپ برای طراحی صفحات وب و زبان جاوا برای برنامه نویسی اندروید به نسبت مسلط هستم
    گرچه زبان c++ زبان سختیه ولی خیلی علاقه دارم خوب یاد بگیرم در حدی که بتونم با استفاده از این زبان مستقیمآ به منابع سیستم دسترسی داشته باشم ولی متاسفانه هیچ منبع خیلی قوی پیدا نمیکنم همه کتاب هایی که دیدم در حد نهایت مربوط به انجام کارهای ابتدایی هست که به راحتی میتونیم با سی شارپ یا جاوا انجام بدیم
    من کجا میتونم یه منبع قوی برای c++ پیدا کنم
    ممنون میشم اگه جوابتون رو به ایمیل بنده هم ارسال کنید
    با تشکر

    • با سلام و تشکر
      بستگی داره هدفتون چی باشه اگر هدفتون و چیزایی که قصد دارین انجام بدین یا چه جور پروژ هایی دوست دارین کارکنین و در کل دوست دارین برای وب یا .. چی کد بزنین رو بگین خیلی بهتر میتونم راهنماییتون کنم. الان تقریباً میشه گفت جایگزین هایی مثل Rust یا Go برای C,C++ اومدن ولی بازم متاسفانه تا اون حد نیستن مثلاً Go عملاً فقط به درد وب میخوره و برنامه های Command Line و با تجربه شخصیم میگم بهتره با Go به GUI فکر نکنین ،Rust هم واقعاً یادگیرش سخته و اونم بیشتر به درد سرور و.. میخوره سعی کردن نسبت به خطا مقاوم باشه تا چیزای دیگه و در کل تا بحال هیچ جایگزین خوبی برای C یا C++ نیومده و من هرساله اسم زبونی رو میشنوم که قراره جایگزین این دو بزرگوار بشه ولی هرگز چنین اتفاقی نیافتاده و عملاً هنوز بسیاری از برنامه های پیچیده و تجاری هنوزم با این دوتا نوشته میشن از ویندوز و لینوکس گرفته تا وبسرورها و موتورهای بازی و … ماشین های مجازی مثل JVM و در کل فکر اینکه قراره این دو زبان ازبین برن رو هیچ وقت نباید به دلتون راه بدین.
      اما برای آموزش بهتون پیشنهاد میکنم اول بیسیک رو کامل قورت بدین بخصوص اشاره گر و… بعد در خصوص سطح پایین حتماً اول طرز کامپیوتر اینکه اطلاعات چجوری میاد میره رم چطوری کار میکنه سی پی یو چطور کار میکنه و.. رو مطالعه کنین.بعد این رو هم فراموش نکنید که C تمام قدرتش رو مدیون اسمبلی هست و اگر واقعاً قصد دارین تو سطح پایین شنا کنید پیشنهاد میکنم اسمبلی رو هم یاد بگیرین که درک شما رو از بقیه خیلی خیلی بالاتر میبره و تو کارتون جرفه ای میشین. و آخر سر در در مورد آموزش ها باید بگم که وظیفه کتاب ها این هست که پایه رو به شما یاد بدن و مابقی رو خودتون باید برین جلو و ابزار بزرگی به اسم گوگل دارین و میتونین به هرچی میخواهین دسترسی پیدا کنین مثلاً من چند روز قبل کتاب خیلی جالبی دیدم که واقعاً درک رو از برنامه نویسی بالا میبره و بایه سزچ ساده تو گوگل میتونین بهش دسترسی پیدا کنین programming sudoku with c و ..

  2. با سلام به دوستان گرامی، به جهت تکمیل کادر تخصصی تیم نرم‌افزار نویسی شرکت، مخصوصاً متخصص ارشد در برنامه‌نویسی در سی‌شارپ علاقمند به دریافت سوابق کاری شما و دوستان علاقمند دیگر هستیم. لطفا برای توضیحات بیشتر با اینجانب تماس حاصل فرمائید. متشکرم. رضائی ۰۹۱۲۱۲۷۵۴۶۱

    • سلام عزیز شما لطف دارین اما متاسفانه من زمان زیادی هست که از چهارچوب .net خارج شدم چرا که مایکروسافت دیگه شورشو دراورده و هرسال یه تغییرات کلی میده که باید کار و زندگی رو ول کنم فقط بیافتم دنبال یادگیری این تغییرات

دیدگاه‌تان را بنویسید:

یک × 3 =