مطمئن نبودم که باید این پست را بنویسم یا نه. بعد از اندکی فکر کردن، دیدم بهتر است این حرف‌ها را به گوش بقیه رسانده و عقیده‌ی خود را ابراز کنم! شاید دلیل نوشتن حداقل بخشی از این پست یک تعصب پنهان به بعضی زبان‌ها و سیستم‌عامل‌ها باشد.بخشی دیگر هم مطالبی بودند که فکر کردم پست بهنام سیمجو به اندازه کافی به آنها نپرداخته یا مبهم نوشته و ... .پیشنیاز مطالعه‌ی این مطلب، مطلب بهنام سیمجو است.
قبل از هر چیز باید بگم دنیای برنامه‌نویسی بسیار گسترده است و سر‌و‌ته ندارد. کافیست جست‌و‌جویی ساده بکنید تا ببینید چندین زبان برنامه‌نویسی وجود دارد که هرکدام دروازه‌ای به شهری از کد‌ها و الگو هاست.
ویکی‌پدیای انگلیسی در اینجا به تنهایی حدود چند صد زبان را فهرست میکند که البته طبق چیزی که خودش گفته، زبان‌های مجرمانه و نسخه‌های مختلف بیسیک را حساب نمی‌کند. معیار‌های سرشناسی ویکی‌پدیا هم که بماند. اما این زبان‌ها اکثر اوقات(اگر نه همیشه) روی همدیگر بنا می‌شوند. در نتیجه دستور آنها(همان syntax) بسیار شبیه هم هست. در مورد زبان‌هایی مثل سی و سی‌پلاس‌پلاس این قضیه حتی بدتر(یا بهتر؟) هم می‌شود.

تصویر بالا بر اساس اطلاعات ویکی‌پدیای انگلیسی درست شده و نشان می‌دهد چه زبانی از چه زبانی تاثیر پذیرفته است.
همان طور که می‌دانید می‌توان یک مفهوم و معنی را با بی‌شمار زبان و روش گفت. زبان‌های برنامه‌نویسی هم به همین شکل هستند.

این جمله تا حدی درست است اما نه کاملا. برای مثال شعار پایتون «تنها یک راه حل برای یک مسئله» هست. احتمالا بعضی از دیگر زبان‌ها هم تلاش میکنند همینطور باشند.

البته که زبان اصلی رایانه‌ها زبان ماشین است که بسیار سنگین است و برای نوشتن آن نیاز به ریاضیات و محاسبات قوی دارد.

دوباره ترساندن از زبان ماشین یا اسمبلی؟ هر ماشین زبان مخصوص به خودش را دارد. زبان AVR‌ها با ۸۰۵۱ قدیمی و گوشی اندرویدی شما با معماری ARM و ... همه با هم متفاوت هستند.بعضی آسان‌تر و ساده‌تر و بعضی سخت‌تر هستند  اما زبان ماشین ترسناک نیست. اتفاقا تجربه‌ی زبان ماشین جالب و حتی جذاب است و شما را با سخت‌افزار رایانه بهتر آشنا میکند و تفکری متفاوت از زبان‌های معمول مانند سی و بیسیک به شما می‌دهد.

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

در این مورد مطمئن نیستم. شخصا فکر میکنم دلایل دیگری هم هست که افراد زیادی پایتون را برای شروع پیشنهاد میدهند: پایتون هم بدرد یادگیری برنامه‌نویسی میخورد و هم میتوانید بعدا آنرا واقعا استفاده کنید.میتوانید این ویژگی پایتون را با بیسیک مقایسه کنید. یک دلیل دیگر «عادت های خوب» هست. مثلا پایتون برنامه‌نویس را مجبور میکند که از دندانه‌گزاری(indentation) استفاده کند که این در دیگر زبان‌ها نیز یک عادت خوب تلقی می‌شود و برای خوانایی بهتر کد توصیه می‌شود.

و در مورد متنی بودن، برای پایتون نیز مانند بسیاری از زبان‌های برنامه‌نویسی کتابخانه و ماژول و چهارچوب وجود دارد. همچنین مانند بسیاری از دیگر زبان‌ها، برنامه‌نویسی رابط کاربری گرافیکی جزئی از زبان نیست.
توجه داشته باشید که زبان پایتون یک زبان اسکریپتی است و در ویندوز برای اجرای کد نیاز به برنامه دیگری است ولی در لینوکس مستقیما از ترمینال اجرا می شود.
بله برای اجرای کد های پایتون در حالت عادی باید از یک برنامه استفاده کنید که اسکریپت‌های پایتون را اجرا می‌کند. این برنامه در بسیاری از توزیع‌های گنو/لینوکسی و تعدادی از لپ‌تاپ‌های ویندوزی از قبل نصب شده است.
زبان دیگری که برای برنامه‌نویسان مبتدی است و از نامش هم پیداست، بیسیک (BASIC) می باشد. البته زبان پایتون از بیسیک خلاصه‌تر هست ولی بیسیک و مخصوصا ویژوال بیسیک (visual basic) امکان برنامه‌نویسی گرافیکی در ویندوز را به شما می دهد.

هرچند که خودم چندان با بیسیک کار نکردم و نظری در این مورد ندارم اما بزرگان(از جمله اریک ریموند) توصیه کردند که به دلیل طراحی بد و دادن عادات بد به برنامه‌نویس سمت بیسیک نرویم. اگر هم خواستید تجربه کنید، ویژوال بیسیک تنها گزینه‌ی شما نیست.گزینه‌های دیگری که حتی آزاد یا متن‌باز هستند وجود دارند.

زبانی که آقای کریمی زاده با آن برنامه‌نویسی را آغاز کرد همین(#C) بود.

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

توجه داشته باشید که دو زبان بیسیک و سی‌شارپ بیشتر برای ویندوز هستند.

اگر منظور ویژوال بیسیک هست، بله وگرنه نسخه های مختلفی از بیسیک وجود دارند. همچنین فراموش نکنیم که بازی و برنامه‌های مختلفی با سی‌شارپ و پروژه مونو نوشته‌شده‌اند.

دنیای لینوکس برای کاربران مبتدی نیست و اگر کاربر مبتدی با لینوکس طرف باشد از آن بیزار می شود ولی لینوکس برای برنامه نویسان و کاربران پیشرفته‌تر حکم بهشت را دارد!

فکر نمیکنم قسمت اول نوشته چندان درست باشد. الآن برعکس گذشته توزیع‌هایی دقیقا برای مبتدیان(مثلا اوبونتو) و غیرفنی‌ها وجود دارد و روی بسیاری از توزیع‌ها یک رابط کاربری گرافیکی از قبل نصب شده.

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

البته گزینه‌ی دیگری جز لینوکس هم دارید: بی‌اس‌دی(BSD).خودم چندان با بی‌اس‌دی‌ها کار نکردم اما بنظر می‌آید(با توجه به نوشته‌ی اریک ریموند و دیگر نوشته‌ها) گزینه‌های خوبی هستند.