User Tag List

Ցույց են տրվում 1 համարից մինչև 15 համարի արդյունքները՝ ընդհանուր 65 հատից

Թեմա: Python vs C++

Համակցված դիտում

Նախորդ գրառումը Նախորդ գրառումը   Հաջորդ գրառումը Հաջորդ գրառումը
  1. #1
    տկլոր պինգվին _DEATH_-ի ավատար
    Գրանցման ամսաթիվ
    30.07.2006
    Հասցե
    Ատլանտիդա
    Տարիք
    33
    Գրառումներ
    2,171
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Python vs C++

    Եկեք այս թեմայում համեմատենք Python-ի և C++-ի ծրագրերի կոդերը

    Առաջին օրինակը

    Python

    Կոդ:
    import time
    class now:
      def __init__(self):
        self.t = time.time()
        self.storetime()
    
      def storetime(self):
        self.year, \ 
        self.month, \ 
        self.day, \
        self.hour, \
        self.minute, \
        self.second, \
        self.dow, \ 
        self.doy, \
        self.dst = time.localtime(self.t)
    
      def __str__(self):
        return time.ctime(self.t) 
    
    n = now()
    print "The year is", n.year
    print n
    S='n'
    print S
    C++

    Կոդ:
    #include <stdio.h>
    #include <time.h>
    class now
    {
     public:
       time_t t;
       int year;
       int month;
       int day;
       int hour;
       int minute;
       int second;
       int dow;
       int doy;
     
       now()
       {
         time(St);
         struct tm * ttime;
         ttime = localtime(St);
         year = 1900 + ttime->tm_year;
         month = ttime->tm_mon;
         day = ttime->tm_mday;
         hour = ttime->tm_hour;
         minute = ttime->tm_min;
         second = ttime->tm_sec;
         dow = ttime->tm_wday;
         doy = ttime->tm_yday;
       }
     };
     
    main (int argc, char **argv)
    {
      now x ;
      fprintf ( stdout, "The year is %d\n", x.year );
    }
    Մի հատ գիրք եմ կարդում, մեջը համեմատածա կոդերը պարզ երևումա, որ ի տարբերություն C++-ի Python-ի կոդը
    1) համարյա 2 անգամ կարճա,
    2)կետ-ստորակետ պետք չի ամեն մի օպերատորից հետո
    3)ծրագրի բլոկները {}-ի տեղը պռաբելներով են անջատվում
    4)1900+ ավտոմատ անումա պիտոնը
    ...


    Եթե կարաք պարզ ծրագրերի կոդեր գրեք C++-ով փորձեմ Python-ով նույն ծրագիրը գրեմ, ու եթե կարելիա բացատրեք ծրագրի իմաստը, որովհետև C++ այնքան էլ լավ չգիտեմ, բայց քանի գնումա համոզվում եմ, որ պետք էլ չի իմանամ: Մենակ թե մյուս տարի ստիպված պտի սովորեմ : C++-ի սիրահարներին ներողություն:
    Վերջին խմբագրող՝ _DEATH_: 25.10.2007, 19:31:
    Մարդը լինելը լավ բան ա, բայց երկու ոտքի վրա կանգելը դեռ չի նշանակում որ դու մարդ ես:
    Ամենակարևորը էս կյանքում մարդ լինելն ա, մնացած ամենինչը երկրորդական ա:
    ԷԼ ԿՅԱՆՔՈՒՄ ԷՍ ՖՈՐՈՒՄԸ ՉԵՄ ՄՏՆԵԼՈՒ

  2. #2
    տկլոր պինգվին _DEATH_-ի ավատար
    Գրանցման ամսաթիվ
    30.07.2006
    Հասցե
    Ատլանտիդա
    Տարիք
    33
    Գրառումներ
    2,171
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re. Python vs C++

    Մի օրինակ էլ բերեմ C-ի կոդը Python-ինի հետ համեմատելու համար

    C

    Կոդ:
    int factorial(int x) {
         if (x == 0) {
             return 1;
         } else {
             return x * factorial(x-1);
         } 
     }
    Python

    Կոդ:
    def factorial(x):
         if x == 0:
             return 1
         else:
             return x * factorial(x-1)
    Մարդը լինելը լավ բան ա, բայց երկու ոտքի վրա կանգելը դեռ չի նշանակում որ դու մարդ ես:
    Ամենակարևորը էս կյանքում մարդ լինելն ա, մնացած ամենինչը երկրորդական ա:
    ԷԼ ԿՅԱՆՔՈՒՄ ԷՍ ՖՈՐՈՒՄԸ ՉԵՄ ՄՏՆԵԼՈՒ

  3. #3
    Պատվավոր անդամ BOBO-ի ավատար
    Գրանցման ամսաթիվ
    04.09.2006
    Տարիք
    33
    Գրառումներ
    3,953
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re. Python vs C++

    Հա ինչ նույն բանը չի՞, մենակ մի երկու փակագիծ չկա

  4. #4
    տկլոր պինգվին _DEATH_-ի ավատար
    Գրանցման ամսաթիվ
    30.07.2006
    Հասցե
    Ատլանտիդա
    Տարիք
    33
    Գրառումներ
    2,171
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re. Python vs C++

    Մեջբերում BOBO-ի խոսքերից Նայել գրառումը
    Հա ինչ նույն բանը չի՞, մենակ մի երկու փակագիծ չկա
    Կոնկրետ էս օրինակի մեջ մենակ էտ փակագծերի մոմենտն էի ուզում ցույց տայի:
    Ճիշտ կոդը փոքր էր, ու առանձնապես տրամաբանություն մեջը չկար, դրա համար համարյա բոլոր լեզուներով կոդի չափսը նույն կլինի:


    Ինձ շատա հետաքրքում իսկականից չես նկատել էս պուճուր կոդի մեջ, որ 1)փակագծերը ոչ թե 2 հատա, այլ 6, 2) ամեն օպերատորը մյուսից կետ ստորակետովա անջատվում C-ում(C++), իսկ python-ում պռաբելով, 3)x փոփոխականը python-ում հայտարարել պետք չի, բացի դրանից հետո նրան կարելիա տալ ցանկացած տիպի առժեք (օրինակ տառային): Մի հատ երկար կոդ կգրեմ հետո եթե հավես լնի, որ պարզ երևա, որ python-ի կոդերը մի քանի անգամ պարզ են ու տրամաբանական: Ցանկացած խնդիր համեմատած C++-ի հետ կարելիա լուծել 3-5 անգամ արագ, ու էս իմ հաշվարկները չի: Միակ վատ կողմը էնա, որ ինտեռպռետատոռա:

    http://ru.wikipedia.org/wiki/Python մանրամասն գրածա:
    Վերջին խմբագրող՝ _DEATH_: 30.10.2007, 15:51:
    Մարդը լինելը լավ բան ա, բայց երկու ոտքի վրա կանգելը դեռ չի նշանակում որ դու մարդ ես:
    Ամենակարևորը էս կյանքում մարդ լինելն ա, մնացած ամենինչը երկրորդական ա:
    ԷԼ ԿՅԱՆՔՈՒՄ ԷՍ ՖՈՐՈՒՄԸ ՉԵՄ ՄՏՆԵԼՈՒ

  5. #5
    Պատվավոր անդամ BOBO-ի ավատար
    Գրանցման ամսաթիվ
    04.09.2006
    Տարիք
    33
    Գրառումներ
    3,953
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re. Python vs C++

    Ինտեռպռետատոր չլներ ծրագիրը ըտենց կարճ չեիր կարա գրես

  6. #6
    տկլոր պինգվին _DEATH_-ի ավատար
    Գրանցման ամսաթիվ
    30.07.2006
    Հասցե
    Ատլանտիդա
    Տարիք
    33
    Գրառումներ
    2,171
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re. Python vs C++

    Մեջբերում BOBO-ի խոսքերից Նայել գրառումը
    Ինտեռպռետատոր չլներ ծրագիրը ըտենց կարճ չեիր կարա գրես
    Քո ասածից մի բան հասկանում ես՞՞՞՞, ի՞նչ կապ ունի ինտեռպռետատոռ լինել չլինելը ծրագրի երկար-կարճ լինելու հետ: Դու սկզբից տերմինների իմաստը հասկացաի, նոր սկսի միտք ձևակերպելը: Ուզում ես ասես, որ C++-ի նոր վերսիայի սինտաքսիսը python-ին նմանացնեն, ուրեմն C++-ը կդառնա ինտեռպռետատոռ

    Ի միջիալյոց մնացած ինտեռպռետատոռների համեմատ, python-ը կարելի է նույնիսկ ինտեռպռետատոռ չհամարել, որովհետև հնարավորա կոդը կոմպայլ անել .pyc-ի, որ հետո ինտեռպռետատոռը ամեն անգամ ծրագիրը նորից կոմպայլ չանի: Համ էլ ես լրիվ ուրիշ բան նկատի ունեի որ ասում էի Ցանկացած խնդիր համեմատած C++-ի հետ կարելիա լուծել 3-5 անգամ արագ: Էտ պայմանավորվածա նրանով, որ ամեն անգամ ծրագրի կոդի մեջ փոփոխություն մտցնելու համար պետք չի կոմպայլ անել:
    Վերջին խմբագրող՝ _DEATH_: 30.10.2007, 16:19:
    Մարդը լինելը լավ բան ա, բայց երկու ոտքի վրա կանգելը դեռ չի նշանակում որ դու մարդ ես:
    Ամենակարևորը էս կյանքում մարդ լինելն ա, մնացած ամենինչը երկրորդական ա:
    ԷԼ ԿՅԱՆՔՈՒՄ ԷՍ ՖՈՐՈՒՄԸ ՉԵՄ ՄՏՆԵԼՈՒ

  7. #7
    Մշտական անդամ xaker00-ի ավատար
    Գրանցման ամսաթիվ
    03.08.2009
    Գրառումներ
    216
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Պատ. Python vs C++

    Մեջբերում _DEATH_-ի խոսքերից Նայել գրառումը
    Առաջին օրինակը

    Python

    Կոդ:

    import time
    class now:
    def __init__(self):
    self.t = time.time()
    self.storetime()

    def storetime(self):
    self.year, \
    self.month, \
    self.day, \
    self.hour, \
    self.minute, \
    self.second, \
    self.dow, \
    self.doy, \
    self.dst = time.localtime(self.t)

    def __str__(self):
    return time.ctime(self.t)

    n = now()
    print "The year is", n.year
    print n
    S='n'
    print S
    մի հարց... էս կոդը ինչ է անում՞ ու ընդհանրապես, ինչ ֆորմատով եք պահում գրված կոդերը...

  8. #8
    տկլոր պինգվին _DEATH_-ի ավատար
    Գրանցման ամսաթիվ
    30.07.2006
    Հասցե
    Ատլանտիդա
    Տարիք
    33
    Գրառումներ
    2,171
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Պատ. Python vs C++

    Մեջբերում xaker00-ի խոսքերից Նայել գրառումը
    մի հարց... էս կոդը ինչ է անում՞ ու ընդհանրապես, ինչ ֆորմատով եք պահում գրված կոդերը...
    now դասն (class) ա հայտարարված, հետո էտ դասի օբյեկտն ա ստեղծվում՝ n և էկրանին սկզբից տպվում ա n օբյեկտի year անդամը (n.year): Եթե ծրագրավորման հետ ծանոթ չես, առավել ևս OOP-ին, էս օրինակից հիմա բան չես հասկանա: Ավելի պարզ օրինակներից պետք ա սկսել: Գրված կոդը պահվում է .py և .pyw ընդլայնումով սցենարի տեսքով:
    Մարդը լինելը լավ բան ա, բայց երկու ոտքի վրա կանգելը դեռ չի նշանակում որ դու մարդ ես:
    Ամենակարևորը էս կյանքում մարդ լինելն ա, մնացած ամենինչը երկրորդական ա:
    ԷԼ ԿՅԱՆՔՈՒՄ ԷՍ ՖՈՐՈՒՄԸ ՉԵՄ ՄՏՆԵԼՈՒ

  9. Գրառմանը 1 հոգի շնորհակալություն է հայտնել.

    xaker00 (06.08.2009)

  10. #9
    Մշտական անդամ xaker00-ի ավատար
    Գրանցման ամսաթիվ
    03.08.2009
    Գրառումներ
    216
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Պատ. Python vs C++

    Մեջբերում _DEATH_-ի խոսքերից Նայել գրառումը
    Ավելի պարզ օրինակներից պետք ա սկսել:
    ունես՞

  11. #10
    տկլոր պինգվին _DEATH_-ի ավատար
    Գրանցման ամսաթիվ
    30.07.2006
    Հասցե
    Ատլանտիդա
    Տարիք
    33
    Գրառումներ
    2,171
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Պատ. Python vs C++

    Մեջբերում xaker00-ի խոսքերից Նայել գրառումը
    ունես՞
    Գիրքը քցեցի ռապիդում, քաշի Освой Python за 24 ч, ամենապարզ գրված գիրքն ա իմ կարծիքով: Ուղակի էս Python 3-ի համար չի, տարբերություններ կա: Ես որ սովորում էի, Python 2-ն էր, 3-ի չգիտեմ ինչ լավ գիրք կա:
    Վերջին խմբագրող՝ _DEATH_: 06.08.2009, 19:38:
    Մարդը լինելը լավ բան ա, բայց երկու ոտքի վրա կանգելը դեռ չի նշանակում որ դու մարդ ես:
    Ամենակարևորը էս կյանքում մարդ լինելն ա, մնացած ամենինչը երկրորդական ա:
    ԷԼ ԿՅԱՆՔՈՒՄ ԷՍ ՖՈՐՈՒՄԸ ՉԵՄ ՄՏՆԵԼՈՒ

  12. Գրառմանը 1 հոգի շնորհակալություն է հայտնել.

    xaker00 (06.08.2009)

  13. #11
    Մշտական անդամ xaker00-ի ավատար
    Գրանցման ամսաթիվ
    03.08.2009
    Գրառումներ
    216
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Պատ. Python vs C++

    Մեջբերում _DEATH_-ի խոսքերից Նայել գրառումը
    Գիրքը քցեցի ռապիդում, քաշի Освой Python за 24 ч, ամենապարզ գրված գիրքն ա իմ կարծիքով: Ուղակի էս Python 3-ի համար չի, տարբերություններ կա: Ես որ սովորում էի, Python 2-ն էր, 3-ի չգիտեմ ինչ լավ գիրք կա:
    Տարբերություն շատ կա՞ 3ի և 2ի միջև՞

  14. #12
    տկլոր պինգվին _DEATH_-ի ավատար
    Գրանցման ամսաթիվ
    30.07.2006
    Հասցե
    Ատլանտիդա
    Տարիք
    33
    Գրառումներ
    2,171
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Պատ. Python vs C++

    Էն ժամանակ, որ էս թեման բացել եմ C++ գրեթե չգիտեի: Հիմա շատ լավ գիտեմ ու ևս մի քանի օրինակ կբերեմ համեմատելու համար: Դեյտելի օրինակ

    Գրեմ ծրագրի օրիգինալ կոդը, դատարկ տողերը ուղակի հեռացրել եմ, որ C++-ի կոդը մի քիչ սեղմ երևա:

    Կոդ:
    #include <iostream>
    using std::cout;
    using std::endl;
    #include <iomanip>
    using std::setw;
    int main()
    {
       const int arraySize = 10;
       int n[ arraySize ] = { 19, 3, 15, 7, 11, 9, 13, 5, 17, 1 };
       cout << "Element" << setw( 13 ) << "Value"
            << setw( 17 ) << "Histogram" << endl;
       for ( int i = 0; i < arraySize; i++ ) {
          cout << setw( 7 ) << i << setw( 13 ) 
               << n[ i ] << setw( 9 );
          for ( int j = 0; j < n[ i ]; j++ )   
             cout << '*';
          cout << endl;
       }
       return 0;
    }
    Իսկ ներքևում գրում եմ թարգմանածս կոդը Python 2-ով,

    Կոդ:
    print 'Value'+8*' '+'Histogram'
    for i in (19,3,15,7,11,9,13,5,17,1):print '%*s'%(5,i),7*' '+i*'*'
    Իսկ հիմա 3րդ վերսիայի համար, որը համարվում է անհամատեղելի ավելի ցածր վերսիաների հետ:

    Կոդ:
    print ('Value'+8*' '+'Histogram')
    for i in (19,3,15,7,11,9,13,5,17,1):print ('%*s'%(5,i),7*' '+i*'*')
    Կոնկրետ այս կոդում շատ մեծ տարբերություն չեղավ, միայն փակագծերը…
    Մարդը լինելը լավ բան ա, բայց երկու ոտքի վրա կանգելը դեռ չի նշանակում որ դու մարդ ես:
    Ամենակարևորը էս կյանքում մարդ լինելն ա, մնացած ամենինչը երկրորդական ա:
    ԷԼ ԿՅԱՆՔՈՒՄ ԷՍ ՖՈՐՈՒՄԸ ՉԵՄ ՄՏՆԵԼՈՒ

  15. #13
    Մշտական անդամ xaker00-ի ավատար
    Գրանցման ամսաթիվ
    03.08.2009
    Գրառումներ
    216
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Պատ. Python vs C++

    Մեջբերում _DEATH_-ի խոսքերից Նայել գրառումը
    Գրված կոդը պահվում է .py և .pyw ընդլայնումով սցենարի տեսքով:
    python-ով ենթադրենք գրել եմ...
    print "hello, world" ու պահել եմ .ру ֆորմատով, բա հետո՞ հետո ինչ ծրագրով բացեմ՞ ու տեսնեմ hello world արտահայտությունը....

  16. #14
    տկլոր պինգվին _DEATH_-ի ավատար
    Գրանցման ամսաթիվ
    30.07.2006
    Հասցե
    Ատլանտիդա
    Տարիք
    33
    Գրառումներ
    2,171
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Պատ. Python vs C++

    Մեջբերում xaker00-ի խոսքերից Նայել գրառումը
    python-ով ենթադրենք գրել եմ...
    print "hello, world" ու պահել եմ .ру ֆորմատով, բա հետո՞ հետո ինչ ծրագրով բացեմ՞ ու տեսնեմ hello world արտահայտությունը....
    Python-ը քցել ես՞՞: Python-ը կոմպիլյատոռ չի, ինտերպռետատոր ա, էտքան տանջվել պետք չի սովորելու համար : Start -> Programs -> Python 3.1 -> IDLE (Python GUI) բաց, print "hello, world" գրի ու enter սխմի!!
    Մարդը լինելը լավ բան ա, բայց երկու ոտքի վրա կանգելը դեռ չի նշանակում որ դու մարդ ես:
    Ամենակարևորը էս կյանքում մարդ լինելն ա, մնացած ամենինչը երկրորդական ա:
    ԷԼ ԿՅԱՆՔՈՒՄ ԷՍ ՖՈՐՈՒՄԸ ՉԵՄ ՄՏՆԵԼՈՒ

  17. #15
    Մշտական անդամ xaker00-ի ավատար
    Գրանցման ամսաթիվ
    03.08.2009
    Գրառումներ
    216
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Պատ. Python vs C++

    Մեջբերում _DEATH_-ի խոսքերից Նայել գրառումը
    Python-ը քցել ես՞՞: Python-ը կոմպիլյատոռ չի, ինտերպռետատոր ա, էտքան տանջվել պետք չի սովորելու համար : Start -> Programs -> Python 3.1 -> IDLE (Python GUI) բաց, print "hello, world" գրի ու enter սխմի!!
    հա քցեցի... բացեցի ու գրեցի print "hell, world" ու սեխմեցի ենտեռ... բաից եսպես է գրում...
    >>> print "hello, world"
    SyntaxError: invalid syntax (<pyshell#2>, line 1)
    >>>

Թեմայի մասին

Այս թեման նայող անդամներ

Այս պահին թեմայում են 1 հոգի. (0 անդամ և 1 հյուր)

Էջանիշներ

Էջանիշներ

Ձեր իրավունքները բաժնում

  • Դուք չեք կարող նոր թեմաներ ստեղծել
  • Դուք չեք կարող պատասխանել
  • Դուք չեք կարող կցորդներ տեղադրել
  • Դուք չեք կարող խմբագրել ձեր գրառումները
  •