دانشجوی شنوایی شناسی - توسعه دهنده اندروید - جاوا ، کاتلین ،PHP و اندکی C
تاریخچه زبان جاوا - قسمت 1
بنام یگانه دولوپر عالم
توی این سری از مقالات قصد داریم که دل و روده زبان جاوا رو بکشیم بیرون و در مورد همه قابلیت های این لعنتی جذاب و همیشه ترند صحبت کنیم.
منبع این سلسله مقالات ، کتاب آقای هربرت شیلد هستش (لینک دانلود) که الحق ولانصاف که خفن تر و کامل ترش رو نداریم.
با ما همراه باشید (صفحه رو دنبال کنید) که قراره همه مطالبی که ایشون توی کتابشون مطرح کردند رو بطور کامل و به زبون کاملا ساده کوچه بازاری بیان کنیم.
تاریخچه زبان جاوا - بخش نخست
برای درک کامل جاوا، باید اول از بفهیم که جاوا رو به چه دلیلی و برای حل چه مشکلاتی ایجاد کرده اند.
مانند زبانهای کامپیوتری موفقی که قبلاً معرفی شدند، جاوا ترکیبی از بهترین ویژگی ها و قابلیت های زبان های برنامه نویسی قبل از خودش و مفاهیم نوآورانه مورد نیاز برای حل چالش های جدید زمان است.
اجداد و اصل و نسب جناب جاوا
جاوا با ++C در ارتباط است که بطور مستقیم از C نشات گرفته است.
جاوا بیشتر خصوصیات خود را از این دو زبان به ارث برده است.
جاوا syntax خود را از C و بسیاری از ویژگی های شی گرایی خود را از ++C به ارث برده است.
جاوا قابلیت های جدید منحصر به فردی هم دارد که در واقع راه حلی هستند واسه بن بست هایی که زبان های قبلی باهاش مواجه بودن.
تولد C ، شروع عصر برنامه نویسی مدرن
زبان C دنیای کامپیوتر و برنامه نویسی را تکان داد و موجب تغییر روش برنامه نویسی و نوع تفکر در مورد آن شد.
تولید C نتیجه نیازمندی به یک زبان ساختاریافته ، کارآمد و سطح بالا بود که بتواند جایگزین کد های اسمبلی در برای ایجاد برنامه های سیستمی شود.
زمانی که یک زبان کامپیوتری طراحی می شود، باید یک سری توازن و تعادل را رعایت کند، مانند موارد زیر:
• سهولت استفاده در مقابل قدرت
• ایمنی در مقابل کارایی
• انسجام در مقابل انبساط پذیری
قبل از C، برنامه نویسان معمولاً مجبور بودند بین زبان هایی که یک مجموعه از ویژگی ها را بهینه و سایر ویژگی ها را قربانی میکردند ، یکی را انتخاب کنند.
برای مثال در حالی که یادگیری BASIC آسان بود، به اندازه کافی قدرتمند نبود، و عدم ساختارمندی و نظم درونی آن، مفید بودنش را برای برنامه ها و پروژه های بزرگ را زیر سوال می برد.
از زبان اسمبلی می توان برای تولید برنامه هایی با پرفورمنس فوق العاده استفاده کرد ولی یادگیری اون به شدت سخت و زمانبر هست (نمونه کد) علاوه بر این، اشکال زدایی( debugging) کد اسمبلی به مراتب سخت تر از سایر زبان هاست.
یکی دیگر از مشکلات زبان های اولیه کامپیوتری مانند BASIC، COBOL و FORTRAN این بود که بر اساس اصول ساختاری منظمی طراحی نشده بودند. در عوض، بر اصل GOTO به عنوان ابزار اصلی کنترل برنامه ها تکیه داشتند. در نتیجه، برنامههایی که با استفاده از این زبانها نوشته میشد،به شدت درهم برهم و غیر قابل خوندن و توسعه بود به اصطلاح (اسپاگتی کد) داشتیم .
در اوایل دهه 1970، انقلابی در دنیای کامپیوتر در حال شکل گیری بود و تقاضا برای نرم افزارها از توانایی برنامه نویسان برای تولید آن پیشی گرفت (از بس که تولید برنامه دوشواری داشته) اینجا بود که سر و کله یه آدم عجیب و غریب به اسم دنیس ریچی به میون میاد.
21 - خردادماه - 1403
پایان قسمت اول
مطلبی دیگر از این انتشارات
Dependency Injection و Dependency Inversion
مطلبی دیگر از این انتشارات
ذخیره اطلاعات با DataStore در اندروید
مطلبی دیگر از این انتشارات
هزینه کار برنامه نویسی رو چطور محاسبه کنیم؟