قبل از هر چیز باید بگم دنیای برنامهنویسی بسیار گسترده است و سروته ندارد. کافیست جستوجویی ساده بکنید تا ببینید چندین زبان برنامهنویسی وجود دارد که هرکدام دروازهای به شهری از کدها و الگو هاست.
تصویر بالا بر اساس اطلاعات ویکیپدیای انگلیسی درست شده و نشان میدهد چه زبانی از چه زبانی تاثیر پذیرفته است.
همان طور که میدانید میتوان یک مفهوم و معنی را با بیشمار زبان و روش گفت. زبانهای برنامهنویسی هم به همین شکل هستند.
این جمله تا حدی درست است اما نه کاملا. برای مثال شعار پایتون «تنها یک راه حل برای یک مسئله» هست. احتمالا بعضی از دیگر زبانها هم تلاش میکنند همینطور باشند.
البته که زبان اصلی رایانهها زبان ماشین است که بسیار سنگین است و برای نوشتن آن نیاز به ریاضیات و محاسبات قوی دارد.
دوباره ترساندن از زبان ماشین یا اسمبلی؟ هر ماشین زبان مخصوص به خودش را دارد. زبان AVRها با ۸۰۵۱ قدیمی و گوشی اندرویدی شما با معماری ARM و ... همه با هم متفاوت هستند.بعضی آسانتر و سادهتر و بعضی سختتر هستند اما زبان ماشین ترسناک نیست. اتفاقا تجربهی زبان ماشین جالب و حتی جذاب است و شما را با سختافزار رایانه بهتر آشنا میکند و تفکری متفاوت از زبانهای معمول مانند سی و بیسیک به شما میدهد.
به طور کل زبان پایتون بهترین و قابل فهمترین زبان برای آغاز برنامه نویسی است. زبان پایتون زبانی ساده و در عین حال کارآمد ولی متنی است یعنی خروجی آن تنها به صورت متنی نمایش داده می شود و تا آنجا که من می دانم رابط گرافیکی ندارد.
در این مورد مطمئن نیستم. شخصا فکر میکنم دلایل دیگری هم هست که افراد زیادی پایتون را برای شروع پیشنهاد میدهند: پایتون هم بدرد یادگیری برنامهنویسی میخورد و هم میتوانید بعدا آنرا واقعا استفاده کنید.میتوانید این ویژگی پایتون را با بیسیک مقایسه کنید. یک دلیل دیگر «عادت های خوب» هست. مثلا پایتون برنامهنویس را مجبور میکند که از دندانهگزاری(indentation) استفاده کند که این در دیگر زبانها نیز یک عادت خوب تلقی میشود و برای خوانایی بهتر کد توصیه میشود.
توجه داشته باشید که زبان پایتون یک زبان اسکریپتی است و در ویندوز برای اجرای کد نیاز به برنامه دیگری است ولی در لینوکس مستقیما از ترمینال اجرا می شود.
زبان دیگری که برای برنامهنویسان مبتدی است و از نامش هم پیداست، بیسیک (BASIC) می باشد. البته زبان پایتون از بیسیک خلاصهتر هست ولی بیسیک و مخصوصا ویژوال بیسیک (visual basic) امکان برنامهنویسی گرافیکی در ویندوز را به شما می دهد.
هرچند که خودم چندان با بیسیک کار نکردم و نظری در این مورد ندارم اما بزرگان(از جمله اریک ریموند) توصیه کردند که به دلیل طراحی بد و دادن عادات بد به برنامهنویس سمت بیسیک نرویم. اگر هم خواستید تجربه کنید، ویژوال بیسیک تنها گزینهی شما نیست.گزینههای دیگری که حتی آزاد یا متنباز هستند وجود دارند.
زبانی که آقای کریمی زاده با آن برنامهنویسی را آغاز کرد همین(#C) بود.
درست هست که من با سیشارپ شروع کردم اما این شروع کاملا تصادفی بود و هیچ منطق یا فلسفهای پشتش نبود. این را به بقیه نیز توصیه نمیکنم!
توجه داشته باشید که دو زبان بیسیک و سیشارپ بیشتر برای ویندوز هستند.
اگر منظور ویژوال بیسیک هست، بله وگرنه نسخه های مختلفی از بیسیک وجود دارند. همچنین فراموش نکنیم که بازی و برنامههای مختلفی با سیشارپ و پروژه مونو نوشتهشدهاند.
دنیای لینوکس برای کاربران مبتدی نیست و اگر کاربر مبتدی با لینوکس طرف باشد از آن بیزار می شود ولی لینوکس برای برنامه نویسان و کاربران پیشرفتهتر حکم بهشت را دارد!
فکر نمیکنم قسمت اول نوشته چندان درست باشد. الآن برعکس گذشته توزیعهایی دقیقا برای مبتدیان(مثلا اوبونتو) و غیرفنیها وجود دارد و روی بسیاری از توزیعها یک رابط کاربری گرافیکی از قبل نصب شده.
پیشنهاد من این است که اگر تصمیم دارید که کرم کامپیوتر باشید بعد از این که در ویندوز چرخیدید و کودک نو پای برنامه نویسیتان راه رفتن یاد گرفت به دنیای لینوکس مهاجرت کنید.
البته گزینهی دیگری جز لینوکس هم دارید: بیاسدی(BSD).خودم چندان با بیاسدیها کار نکردم اما بنظر میآید(با توجه به نوشتهی اریک ریموند و دیگر نوشتهها) گزینههای خوبی هستند.