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

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

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

ثبت نام | ورود

اخبار فناوری

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

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

به گزارش سافت گذر به نقل اززومیت؛ از جمله‌ی محبوب‌ترین زبان‌های برنامه‌نویسی که امروزه مورد استفاده قرار می‌گیرند، می‌توان به پی اچ پی با عمری 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 تعداد مشاهده: 1517
اخبار مرتبط با این خبر
نظر های کاربران
سرور آپدیت نود 32
پیشنهاد سافت گذر
Snapclear 2.1.0 (x64)

Snapclear 2.1.0 (x64)

حذف پس‌ زمینه عکس با هوش مصنوعی

Air Control Premiumv 2.10 for Android +2.3

Air Control Premiumv 2.10 for Android +2.3

بازی مدیریت خطوط هوایی

File Hide Expert 2.2.7 for Android +2.3

File Hide Expert 2.2.7 for Android +2.3

مخفی کردن پوشه ها

QuickInstaller 0.4.9469.37197 Preview

QuickInstaller 0.4.9469.37197 Preview

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

Hello Neighbor: Hide and Seek

Hello Neighbor: Hide and Seek

فکری و معمایی برای کامپیوتر

کلیه اصطلاحات و نکات در طراحی وب سایت

کلیه اصطلاحات و نکات در طراحی وب سایت

آموزش طراحی وب سایت

Killer Queen Black

Killer Queen Black

بهترین بازی های دنیا

سخنرانی حجت الاسلام پناهیان با موضوع حب الله و حب الدنیا در سیره زندگی امام باقر ع

سخنرانی حجت الاسلام پناهیان با موضوع حب الله و حب الدنیا در سیره زندگی امام باقر ع

سخنرانی حب الله و حب الدنیا در سیره زندگی امام باقر ع پناهیان

Macworld Magazine February 2016 -  January 2017

Macworld Magazine February 2016 - January 2017

مجله اپل مک ورلد

Adobe Flash Professional CC 13.0.0.759 / 2014 v14.0.0.110

Adobe Flash Professional CC 13.0.0.759 / 2014 v14.0.0.110

نسخه CC و نهایی از نرم افزار قدرتمند فلش در جهت ساخت کلیپ های انیمیشنی فلش

اندرزهای امام خمینی

اندرزهای امام خمینی

سخنان امام خمینی

نقش مردم در حکومت

نقش مردم در حکومت

نظریه سیاسی اسلام

Part of the Undergraduate Topics in Computer Science book series

Part of the Undergraduate Topics in Computer Science book series

مبانی زبان برنامه نویسی

نشان‌واره یا لوگو یا آرم عنصری گرافیکی

نشان‌واره یا لوگو یا آرم عنصری گرافیکی

طراحی لوگو برای همه طراحان گرافیک

جاذبه و دافعه علی (ع)

جاذبه و دافعه علی (ع)

جاذبه و دافعه علی شهید مطهری

Expense Manager Pro 3.6.8 for Android +4.0

Expense Manager Pro 3.6.8 for Android +4.0

مدیریت دخل و خرج

سخنرانی حجت الاسلام حسن عرفان با موضوع بیان نکات و سنت های عید نوروز و نگاه دین مبین اسلام

سخنرانی حجت الاسلام حسن عرفان با موضوع بیان نکات و سنت های عید نوروز و نگاه دین مبین اسلام

حاج آقا حسن عرفان با موضوع بیان نکات و سنت های عید نوروز

Heredis 2026 v26.2

Heredis 2026 v26.2

ساخت شجره‌نامه خانوادگی

DxO ViewPoint 5.5.0.1 (x64)

DxO ViewPoint 5.5.0.1 (x64)

اصلاح عکس

SketchUp Pro 2026 26.1.189 / macOS

SketchUp Pro 2026 26.1.189 / macOS

اسکچاپ

دیوان لطایف عبید زاکانی

دیوان لطایف عبید زاکانی

اشعار عبید زاکانی

Portable Adobe Audition CS6 v5.0

Portable Adobe Audition CS6 v5.0

یکی از حرفه ای ترین نرم افزارهای ضبط و ویرایش فایل های موزیک

مولودی زیبای ولادت حضرت رقیه از حاج محمدرضا طاهری

مولودی زیبای ولادت حضرت رقیه از حاج محمدرضا طاهری

حاج محمدرضا طاهری مولودی داره می رسه انگار، باز صدای کوثر

Windows XP x64 Professional SP2 Corporate - SATA/AHCI 2012

Windows XP x64 Professional SP2 Corporate - SATA/AHCI 2012

ویندوز xp ایکس پی

سخنرانی شب نوزدهم ماه مبارک رمضان

سخنرانی شب نوزدهم ماه مبارک رمضان

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

Lynda - Spring 5.0 and Spring Boot 2.0 New Features

Lynda - Spring 5.0 and Spring Boot 2.0 New Features

آموزش اسپرینگ 5 و اسپرینگ بوت 2

راه های رسیدن به آرامش درون

راه های رسیدن به آرامش درون

هشت درس آرامش

مولودی حاج حسین سیب سرخی برای امام حسن مجتبی

مولودی حاج حسین سیب سرخی برای امام حسن مجتبی

نوایی برای امام حسن مجتبی

Coolutils PDF Splitter Pro 6.1.0.79/50

Coolutils PDF Splitter Pro 6.1.0.79/50

تقسیم فایل های پی دی اف

فیلم پدرخوانده 1 با دوبله فارسی

فیلم پدرخوانده 1 با دوبله فارسی

پدرخوانده

InfiniteSkills - Learning Java EE 7 Training Video

InfiniteSkills - Learning Java EE 7 Training Video

فیلم آموزش جاوا ئی‌ئی 7

بیماری های غدد در طب اسلامی ایرانی

بیماری های غدد در طب اسلامی ایرانی

کبد، طحال، تیروئید و ...

ATLAS.ti 9.0.21.0 / 8.4.24 Win + macOS

ATLAS.ti 9.0.21.0 / 8.4.24 Win + macOS

تحلیل کیفی برای علوم اجتماعی اطلس تی ای

کوه جادو شاهکاری منحصر به فرد از توماس مان رمان‌نویس آلمانی

کوه جادو شاهکاری منحصر به فرد از توماس مان رمان‌نویس آلمانی

کوه جادو

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

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

سخنرانی زندگی امام سجاد علیه السلام با ناصر رفیعی

Edge

Edge

لبه

هیپنوتیزم یا خوابگری

هیپنوتیزم یا خوابگری

آشنایی با هیپنوتیزم

Stickman Basketball 2.1 for Android +2.3

Stickman Basketball 2.1 for Android +2.3

بسکتبال آدمک ها

Rainmeter 4.5.21 Build 3816

Rainmeter 4.5.21 Build 3816

شخصی سازی دسکتاپ

Sifu Arenas

Sifu Arenas

سیفو

خبرنامه

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