021-71053903 [email protected] پشتیبانی از شنبه تا چهارشنبه ساعت 9 الی 16

مقایسه زبان برنامه نویسی پایتون با زبان C

مقدمه

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

داخل این مطلب می خوایم با هم زبان برنامه نویسی پایتون و زبان برنامه نویسی C رو از نظر سرعت با هم مقایسه کنیم.

خوب ظاهرا خیلی از دوستان عرض کردن که زبان برنامه نویسی پایتون زبان کندی هستش . دلیل این موضوع رو هم مفسری بودن این زبان مطرح کردن ! اما مقایسه های عملی که در زبان برنامه نویسی پایتون و زبان برنامه نویسی C انجام شده روایت دیگری از قضیه سرعت در برنامه نویسی پایتون داره !

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

1.پیچیده بودن

2.سرعت پایین

3.مشکل امنیت در سر ریز های بافر

هر کدوم از دلایل بالا رو زمانی متوجه میشید که به صورت تجربه شروع کنید با این زبان برنامه نویسی کار کردن.

اما زبان برنامه نویسی پایتون هم از نظر سرعت و هم کتابخانه های گسترده ای که داره ( هم از نظر قدرت) به شدت پیشنهاد میشه!

ولی مبحث ما در این مقاله مقایسه کاملا تخصصی این زبان های برنامه نویسی از نظر زمانی و برای اجرا هستش و برای برنامه نویسی پارالل(parallel)و موازی هم که پایتون از کتابخانه های زیادی برخورداره.

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

  • Python 3.8

  • نسخه نرم افزاری زبان C

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

در این قسمت هم کد قرارداده میشه و هم اسکرین شات های مربوط به نرم افزار:

 

خوب ما در اولین مقایسه خود از یک حلقه For ساده برای زبان برنامه نویسی پایتون و C استفاده کردیم که نتیجه به صورت زیر بود:

کد برنامه نویسی پایتون:

from time import time

start = time()

for i in range(10):
    print(i,end='')

end = time()

print('\n',end - start)

نکته کد بالا : در نرم افزار یک کتابخانه هم Import کردیم که به عنوان امتیاز به زبان C محسوب می شود.

 

کد برنامه نویسی زبان C :

// Print numbers from 1 to 10
#include <stdio.h>

int main() {
  int i;

  for (i = 1; i < 11; ++i)
  {
    printf("%d ", i);
  }
  return 0;
}

 

نتیجه مقایسه از نظر زمانی:

سرعت زبان برنامه نویسی پایتون : 0.0010001659393310547

سرعت زبان برنامه نویسی سی : 0.008

نکته*:: لطفا به تعداد دقیق صفر ها دقت کنید.

 

نتیجه گیری:

خوب همانطور که در تست بالا مشاهده کردید یک حلقه ساده For هم در زبان برنامه نویسی پایتون و هم در زبان برنامه نویسی سی اجرا شد، با توجه به عکس اسکرین و مشاهدات نرم افزاری زبان برنامه نویسی پایتون تقریبا 8 برابر سریعتر از زبان برنامه نویسی C  کد ها را اجرا کرده و نتیجه حیرت آور است !

 

 

 

در این قسمت می خواهیم با هم یک شماره 100 عددی ریاضی را هم در زبان برنامه نویسی پایتون و هم در زبان برنامه نویسی C بررسی کنیم:

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

from time import time

start = time()

for i in range(100):
    print('pythoniha.ir | Python' , i)

end = time()

print('\n',end - start)

کد زبان برنامه نویسی C:

#include <stdio.h>

int main () {

   int a;

   /* for loop execution */
   for( a = 1; a < 100; a = a + 1 ){
      printf("Pythoniha. | C %d\n", a);
   }

   return 0;
}

 

نتیجه گیری :

نتیجه حیرت آور است !

پاسخ : پایتون 2 برابر سریع تر از زبان برنامه نویسی C است!

 

 

 

در قسمت آخر هم می خوایم سری اعداد فیبیوناچی رو با هم تست بگیریم :

کد Python:

import timeit

def fib(n):
    a, b = 0, 1
    while a < n:
        print(a, end=' ')
        a, b = b, a+b
    print()
fib(10000000000)

print('\n \n Python Time =>', timeit.timeit())

کد C:

/*
 * C program to generate Fibonacci Series. Fibonacci Series
 * is 0 1 1 2 3 5 8 13 21 ...
 */
#include <stdio.h>

void main()
{
    int  fib1 = 0, fib2 = 1, fib3, limit, count = 0;

    count = 2;
    while (count < 50)
    {
        fib3 = fib1 + fib2;
        count++;
        printf("%d\n", fib3);
        fib1 = fib2;
        fib2 = fib3;
    }
}

عملکرد مقایسه ای کد ها:

خوشبختانه تصاویر گویای همه چیز هست!

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

 

 

نتیجه گیری

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

نکته*:: خود زبان برنامه نویسی پایتون به با مفسر داخلی زبان برنامه نویسی C کار می کند و مدلی تفسیری از زبان C دارد.

نکته 2:: بعضا در مقالاتی مشاهده می شود که در بحث پردازش تصویر سرعت نرم افزار C از پایتون بیشتر از ! خوب مطمعنن باید همینطور باشد، چون کتابخانه ای مانند OpenCv به صورت مستقیم اول در زبان برنامه نویسی C نوشته سپس به زبان دیگر وارد شده در نتیجه سرعت این مدل کتابخانه ها گاها بیشتر است.

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

اگر در راستای این مقاله نظری دارید و یا اشتباهی در نوشته مقاله وجود دارد می توانید از طریق نظرات مارا مطلع کنید.

محمدرضا حسنی

224 مطلب منتشر شده

دانش آموخته رشته فناوری اطلاعات / موسس پایتونی ها

درباره این مطلب نظر دهید !

محصولات فروش پایتونی ها

%60
تخفیف

آموزش فیگما (Figma)

30,000 تومان
2