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






پاسخ با نقل قول
Bookmarks