سافت گذر دانشنامه نرم افزار - دانلود رایگان نرم افزار

اطلاعیه های مهم سایت اطلاعیه های مهم سایت
💐 میلاد زینت پدر حضرت زینب سلام الله علیها مبارک باد 💐
 
 
  1. جهت رفع مشکل باز شدن سایت به دلیل بلاک توسط  نود 32 این ویدیو یا این ویدیو(ورژن 9 به بالا) یا راهنمای تصویری را مشاهده کنید
  2. به مناسبت عید غدیر، در سایت https://esetupdate.ir/ تخفیف ویژه‌ای برای محصولات در نظر گرفته شده است؛ فرصت را از دست ندهید. 🌸
  3. اکانت های بروزرسانی نود32 با قیمت های مناسب به صورت یک ، سه ، شش و دوازده ماهه از اینجا قابل خرید می باشد.

نرم افزار های پرکاربرد

ثبت نام | ورود
wepido.ir

اخبار فناوری

چرا برخی از زبان‌ های برنامه نویسی قدیمی پراستفاده هستند؟

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

به گزارش سافت گذر به نقل اززومیت؛ از جمله‌ی محبوب‌ترین زبان‌های برنامه‌نویسی که امروزه مورد استفاده قرار می‌گیرند، می‌توان به پی اچ پی با عمری 20 ساله، پایتون با 23 سال، اچ تی ام ال با 21 سال، جاوا اسکریپت با 19 سال و زبان بی مانند سی با 42 سال قدمت اشاره کرد.

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

به یاد دارم که در زمان پایان نگارش این کتاب، در سخنی با ویراستاران از فروش تنها 5٫000 نسخه از این کتاب حرف می‌زدیم. ولی ما موفق شدیم تا خیلی بهتر از تصورات خودمان عمل کنیم. هنوز نمی‌توانم باور کنم که سال 2015 شماری از دانشجویان از این کتاب به عنوان مرجع آموزشی استفاده می‌کنند.

موضوعی که در مورد سی اهمیت دارد و بسیار جالب به نظر می‌رسد، این است که گوگل هم‌اکنون زبانی را با نام Go توسعه داده که هدف از آن حل مسائل، بهینه‌تر از روش‌هایی است که زبان C حل می‌کند. به بیان بهتر گوگل زبان Go را ایجاد کرده تا مسائل موجود را از روش بهینه‌تری در مقایسه با زبان C حل کند. البته این موضوع برای کرنیگان قابل پذیرش نیست که Go می‌تواند C‌ را پشت سر بگذارد.

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

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

توسعه با زبانی که برنامه نویسان با آن بیشتر آشنا هستند

دلیل محبوبیت شماری از زبان‌های برنامه‌نویسی چیست و چرا برخی از زبان‌ها به موفقیت می‌رسند؟ دلیل این امر بسیار روشن است؛ برنامه‌نویسان این زبان‌های برنامه‌نویسی را انتخاب می‌کنند. هرچند انتخاب یک زبان برنامه‌نویسی توسط برنامه‌نویسان دلیل قانع‌کننده‌ای برای نشان دادن محبوبیت یک زبان است، اما بهتر است به کنکاش دلایل انتخاب زبان مورد نظر توسط برنامه‌نویسان بپردازیم.

آری رابکین و لئو مایروویچ محققانی از دانشگاه‌های پرینستون و کالیفرنیا هستند که طی یک تحقیق دو ساله به یافتن پاسخ این پرسش پرداخته‌اند. نتیجه‌ی تحقیق این دو فرد در دانشگاه‌های نامبرده شامل بیش از 200٫000 پروژه و 13٫000 برنامه نویس است.

اما اصلی‌ترین دلیل برای انتخاب یک زبان از سوی برنامه‌نویسان چه بوده است؟ توسعه‌دهندگان به سراغ زبان‌هایی می‌روند که با آن آشنایی دارند.

آری رابکین در این مورد چنین اظهار نظر کرده است:

شماری از زبان‌های برنامه‌نویسی هستند که به دلیل استفاده‌ی مداوم از آن‌ها، به سراغشان می‌رویم. برای مثال منجمان بصورت سنتی از زبان برنامه نویسی IDL در برنامه‌های رایانه‌ای خود استفاده می‌کنند. دلیل استفاده از این زبان برنامه نویسی، داشتن خاصیت جالب توجه در رابطه با ستاره‌ها یا هر چیز دیگری مرتبط با نجوم نیست، بلکه استفاده از این زبان به یک سنت تبدیل شده است. در نجوم برنامه‌های فراوانی با IDL ‌توسعه یافته و از این‌رو منجمان دوست دارند تا از این زبان استفاده کنند.

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

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

پی اچ پی: یک زبان برنامه‌نویسی با قدمت بالا

Legacy Code یا کد به ارث رسیده به برنامه‌ یا قطعه کدی اطلاق می‌شود که کد توسعه یافته برای آن قدیمی باشد. برای مثال فرض کنید که قطعه کدی از یک برنامه‌ی تجاری یا یک پروژه‌ی مهندسی در زبانی توسعه یافته که در حال حاضر از آن پشتیبانی نمی‌شود. البته باید به این نکته اشاره کرد که این قطعه کد هدف اصلی از توسعه‌ی آن را که همانا دریافت یک خروجی است، به خوبی انجام می‌دهد، اما مساله اینجا است که برنامه‌نویسان به دلیل هزینه‌ی بالا برای تبدیل آن به قطعه کد مدرن یا سخت بودن فرآیند تبدیل، ترجیح می‌دهند تا همچنان از این قطعه کد قدیمی استفاده کنند.

هر زبان برنامه‌نویسی که برای چندین سال مورد استفاده قرار گیرد، از مشکل کد به ارث رسیده رنج می‌برد و پی‌اچ‌پی نیز یک مثال بارز در این مورد است. شدت تغییرات در پی اچ پی بسیار بالا است و از همین رو سرعت تبدیل شدن یک قطعه کد به Legacy Code بسیار بیشتر است و در فاصله‌ی چند سال کدهای توسعه یافته قدیمی می‌شوند.

اَندی گوتمانز، یکی از توسعه‌دهندگان فریمورک زند است. این فریمورک بصورت استاندارد در زمان ارائه‌ی PHP4 روانه‌ی بازار شد. گوتمانز به یاد می‌آورد که وی و همکارش سعی داشتند تا این فریمورک را برای PHP 3 ارائه کنند، اما ورود راسموس لردورف همه چیز را تغییر داد. این گروه فریمورک زند را برای PHP 4 و سپس PHP 5 توسعه دادند که همین امر منجر به موفقیت شد.

نتیجه‌ی تغییرات در پی اچ پی باعث شده تا آنچه که امروز از این زبان می‌شناسیم، با نسخه‌ی اولین متفاوت باشد. همین امر باعث شده تا وجود انواع Legacy Codeها در این زبان و اپلیکیشن‌ها و وب‌سایت‌های توسعه داده شده، بسیاری از منتقدان را پابرجا نگه دارد، چراکه به اعتقاد این افراد پی اچ پی مملو از حفره‌های امنیتی است و نمی‌توان از آن برای انجام محاسبات در مقیاس بزرگ استفاده کرد.

گوتمانز در این خصوص می‌گوید:

افرادی که زبان برنامه‌نویسی پی اچ پی را مورد انتقاد قرار می‌دهند، مفهوم این زبان در سال 1998 را در نظر دارند. این افراد بروز نیستند و از جزئیات اکوسیستم پی‌ اچ پی و قابلیت‌های آن در قالب مدرن هیچ اطلاعی ندارند.

در حال حاضر گوتمانز و همکارانش توسعه‌دهندگان و کاربرانی را که از زبان پی اچ پی استفاده می‌کنند، تشویق می‌کنند تا کدهای خود را بروز کنند. ور در این باره می‌گوید:

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

مساله اینجا است که کاربر هیچگاه آخرین نسخه از زبان را مورد استفاده قرار نمی‌دهد. برای مثال می‌توان به توسعه‌دهندگان زبان پایتون اشاره کرد که از پایتون 2 که در سال 2000 توسعه یافته بیشتر استفاده می‌کنند. در حال حاضر پایتون 3 نیز که در سال 2008 توسعه یافته، برای استفاده در دسترس است. دلایل بسیاری برای اینکه توسعه‌دهندگان به نسخه‌ی جدیدتر بروز نمی‌شوند، وجود دارد، اما احتیاط بسیاری از برنامه‌نویسان را از اینکار باز می‌دارد.

رابکین در این خصوص می‌گوید:

یک زبان که از وجود کدهای قدیمی و به ارث رسیده بهره‌مند است، هرگز نمی‌میرد. بازنویسی گران است و از این‌رو اگر کد همچنان کار کند، دیگر نیاز به تغییر نیست.

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

این دو نفر در تحقیق خود در این مورد چنین نوشته‌اند:

ما افرادی را که در جامعه‌ی آماری‌مان قرار داشتند، به گروه‌های سنی مختلفی تقسیم کردیم و از آن‌ها پرسیدیم که با چه تعداد زبان برنامه‌نویسی آشنا هستند. پاسخی که ما را شوکه کرد، این بود که سن هیچ ارتباطی با بیشتر شدن تعداد زبان‌های برنامه‌نویسی که فرد از آن استفاده می‌کند، ندارد. در واقع تعداد زبان‌های برنامه‌نویسی که گروه سنی 25 و 40 سال از آن آگاهی داشتند، یکسان بود.

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

رابکین اضافه می‌کند:

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

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

 در پایان می‌توان چنین نتیجه گرفت که وجود کدهای به ارث رسیده و قدیمی در کنار تعامل جامعه‌ی برنامه‌نویسی با یک زبان، به ماندگاری آن کمک می‌کند.

نظرتان را ثبت کنید کد خبر: 26546 گروه خبری: اخبار فناوری منبع خبر: zoomit.ir تاریخ خبر: 1394/03/04 تعداد مشاهده: 1525
اخبار مرتبط با این خبر
نظر های کاربران
سرور آپدیت نود 32
پیشنهاد سافت گذر
تاریخچه ورزش های رزمی

تاریخچه ورزش های رزمی

تاریخچه ورزش های رزمی

Slay the Spire

Slay the Spire

استراتژیک برای کامپیوتر

این مرد از گذشته می‌آید - ویدئو کلیپ بررسی شواهد سفر در زمان

این مرد از گذشته می‌آید - ویدئو کلیپ بررسی شواهد سفر در زمان

کلیپ سفر در زمان

منتخب سخنرانی های زیبا درباره شهادت امام هادی

منتخب سخنرانی های زیبا درباره شهادت امام هادی

سخنرانی های حجت الاسلام درباره شهادت امام علی النقی

Cross Set

Cross Set

فکری

HTC Sync Manager 3.3.63

HTC Sync Manager 3.3.63

ارتباط گوشی های HTC با ویندوز

iOnRoad 2.0.1p for Android +4.2

iOnRoad 2.0.1p for Android +4.2

برنامه ای برای جلوگیری از تصادف در حین رانندگی

Citavi 6.3.0.0 / 5.7.1.0 / 5.4.0.2 / 5.0.0.11 / 4.5.0.11

Citavi 6.3.0.0 / 5.7.1.0 / 5.4.0.2 / 5.0.0.11 / 4.5.0.11

بهترین نرم افزار مدیریت رفرنس

Serato Studio 2.5.0

Serato Studio 2.5.0

آهنگسازی

فاتحان خونین شهر نسخه 2.0 for Android

فاتحان خونین شهر نسخه 2.0 for Android

نرم افزار فاتحان خونین شهر

Volume Ace 3.6.4 for Android +2.0

Volume Ace 3.6.4 for Android +2.0

کنترل صدای گوشی و ایجاد پروفایل

Studying the individual and society

Studying the individual and society

کتاب راهنمای ازدواج و خانواده

Rifon Icon 18.6.1 for Adnroid +4.0

Rifon Icon 18.6.1 for Adnroid +4.0

آیکون

مقدمه Microsoft System Center 2012

مقدمه Microsoft System Center 2012

آشنایی با برنامه ای برای رصد سیستم عامل ها و نرم افزارهای سروری

Luftrausers v1.0.0.1

Luftrausers v1.0.0.1

هواپیمای جنگنده

Old Photo Effects 1.4 for Android

Old Photo Effects 1.4 for Android

براحتی عکس های خود را قدیمی کنید

Dark Future: Blood Red States + Updates

Dark Future: Blood Red States + Updates

ماشین جنگی

سخنرانی حجت الاسلام ناصر رفیعی با موضوع بذل در راه امام حسین (ع)

سخنرانی حجت الاسلام ناصر رفیعی با موضوع بذل در راه امام حسین (ع)

سخنرانی بذل در راه امام حسین (ع) با ناصر رفیعی

مرجع خطاهای مودم

مرجع خطاهای مودم

آشنایی با کامل ترین مرجع خطاهای مودم

سخنرانی استاد رفیعی با موضوع صفت رضایت و رضوان خدا

سخنرانی استاد رفیعی با موضوع صفت رضایت و رضوان خدا

سخنرانی استاد رفیعی با موضوع خداوند

PingPlotter Professional 5.25.20.9089

PingPlotter Professional 5.25.20.9089

مانیتورینگ شبکه

PhoXoSee 1.8.2601

PhoXoSee 1.8.2601

مشاهده عکس

Darksiders II + Updates 1-4

Darksiders II + Updates 1-4

سواران تاریکی 2

Oxford Advanced Learner's 8 v3.6.22 / Learner's Academic Dict 1.0.19.0 for Android +2.2

Oxford Advanced Learner's 8 v3.6.22 / Learner's Academic Dict 1.0.19.0 for Android +2.2

فرهنگ لغت معروف آکسفورد ویرایش 8 به همراه تلفظ کلمات به همراه دیتا

مداحی مهدی رعنایی سال 98

مداحی مهدی رعنایی سال 98

محرم شب اول تا شام غریبان رعنایی

فیلم مستند مثلث برمودا

فیلم مستند مثلث برمودا

مستند مثلث برمودا

سخنرانی استاد قرائتی درباره مظلومیت حضرت امیرالمومنین امام علی (علیه السلام)

سخنرانی استاد قرائتی درباره مظلومیت حضرت امیرالمومنین امام علی (علیه السلام)

سخنرانی درباره امیرالمومنین علی علیه السلام از استاد قرائتی

Linelight 1.2.2 for Android +4.4

Linelight 1.2.2 for Android +4.4

بازی خط درخشان

برنامه جهان آرا سری جدید | بررسی شروط رهبر انقلاب برای ادامه همکاری با اروپا در زمینه برجام

برنامه جهان آرا سری جدید | بررسی شروط رهبر انقلاب برای ادامه همکاری با اروپا در زمینه برجام

برنامه جهان آرا شبکه افق

SuperSU Pro 2.82 SR5 for Android +3.0

SuperSU Pro 2.82 SR5 for Android +3.0

سوپرسو

تلاوت مجلسی استاد مصطفی اسماعیل سوره مبارکه اخلاص

تلاوت مجلسی استاد مصطفی اسماعیل سوره مبارکه اخلاص

تلاوت مصطفی اسماعیل سوره احزاب

Microsoft PC Manager 3.22.6.0

Microsoft PC Manager 3.22.6.0

بهینه سازی ویندوز

انواع حملات در شبکه های کامپیوتری

انواع حملات در شبکه های کامپیوتری

ایمن سازی شبکه های کامپیوتری

مداحی میثم مطیعی سال 98

مداحی میثم مطیعی سال 98

محرم شب اول تا شام غریبان مطیعی

Udemy - Fundamentals of Filmmaking and Videography

Udemy - Fundamentals of Filmmaking and Videography

آموزش فیلم سازی

NWinfo 1.5.3

NWinfo 1.5.3

نمایش مشخصات سیستم

Video Speed Slow Motion & Fast Premium 1.79 for Android +5.0

Video Speed Slow Motion & Fast Premium 1.79 for Android +5.0

ویرایش گر سرعت ویدئو

کتاب راهنمای آندروئید

کتاب راهنمای آندروئید

آشنایی کامل با سیستم عامل آندروئید

Richard Anthony - Aranjuez Mon Amour

Richard Anthony - Aranjuez Mon Amour

آهنگ مون آمور

WinToFlash Professional 1.13.0000 + Business 1.8.0000 / Portable

WinToFlash Professional 1.13.0000 + Business 1.8.0000 / Portable

نصب ویندوز با فلش

خبرنامه

با عضویت در خبرنامه، زودتر از همه باخبر باش!