На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Страницы: (32) 1 2 [3] 4 5 ...  31 32  ( Перейти к последнему сообщению )  
> Развейте мои сомнения: упростится ли программирование при переходе от C к C++?
    Цитата Исмаил Прокопенко @
    Вот и маешься: как бы все это обойти, нет ли каких-то обходных путей, чтобы "раз-раз и в дамки"

    Закажи программу в правильном разделе. А деньги на оплату заказа заработай, чем умеешь. И волки сыты, и утро вечера мудренее! ;)
      Цитата simsergey @
      В современном программировании принято называть вещи своими именами.
      Вспомните о "Венгерской нотации", например.

      Например:
      ExpandedWrap disabled
        User = CreateNewStandartUser(lpszName, iAge);
      Функция создает экземпляр стандартного пользователя, с указателем на строку, финализированную нулем. И возраст - integer.
      Это видно сразу из строки кода и понятно.
      Код нужно писать понятно, для себя же.

      А мне вот не нравится венгерская нотация. Она ущербна и бесполезна, по крайней мере в C++/D. Впрочем, это отдельный холивор.
      Сообщение отредактировано: applegame -
        Цитата JoeUser @
        У меня на Perl'е просто гораздо больше практики, чем на C/C++
        Тролля кормить не надоело?
          Цитата #SI# @
          Тролля кормить не надоело?

          Это секрет! :)
            Цитата Исмаил Прокопенко @
            Когда-то я уже начинал изучать C++, даже писал не большие программки на C++. Потом забросил и не кодил на C++ лет 8. Почти все забыл.

            не чувак гонишь ты :D
            учить програмирование это как учится езде на велосипеде один раз научился и все до конца жизни будешь помнить :D

            Добавлено
            Забыть нельзя! :D

            Добавлено
            Сюдя по написаму выше ты Сишник старой закалки, который не может перейти на ООП :D

            Добавлено
            видимо в силу длительного кодинга на Си в процедурном стиле :D

            Добавлено
            Цитата Исмаил Прокопенко @
            Но согласитесь, что "порог вхождения" в программирование на С++ гораздо выше, чем "порог вхождения" в программирования на "чистом" СИ.
            Я и задумался: изучать С++ сложней, кодить на нем, как я понимаю, тоже сложнее, а выигрыш то тогда в чем? :blink:

            порог вхожения :D в С++ такой же как и в Си, Питон и тд
            если учишь с нуля все языки сложно начинать учить

            Добавлено
            главное найти подходящую книжку по теме и Подбельский насколько я помню не лучший вариант :lool:

            Добавлено
            попроще не пробовал читать? :D

            Добавлено
            того же Липмана, Шилдта или Либерти? :D
              Лично я не понимаю, зачем на Си писать ПО в современном мире - С++ позволяет работать на том же уровне, что и С, и при этом даёт возможность по-человечески пользоваться ООП плюшками. Так что, на мой взгляд, удел Си - микроконтроллеры и мелкие утилитки а-ля diff, в которых всё равно возможности С++ смысла использовать немного.

              Добавлено
              Цитата Cfon @
              порог вхожения в С++ такой же как и в Си, Питон и тд

              Выше :) С питоном так вообще смешно сравнивать - один из самых лёгких языков.

              Добавлено
              Цитата JoeUser @
              С виду аскетичный редактор, со своей "идеологией" режимов - на поверку оказывается очень мощным, мощнейшим инструментом.

              Но до полноценной IDE он всё равно не дотягивает :rolleyes:
                Цитата #SI# @
                Тролля кормить

                Цитата Cfon @
                чувак гонишь ты

                Ребята! Если у Вас нечего сказать по теме - просто проходите мимо.
                P.S. И надеюсь господа модераторы оценят ваше умение вести дискуссию
                  Цитата Исмаил Прокопенко @
                  Т.е. их труднее отловить?
                  Нет, на них можно просто забить.

                  Добавлено
                  Цитата Исмаил Прокопенко @
                  Ребята! Если у Вас нечего сказать по теме - просто проходите мимо.
                  P.S. И надеюсь господа модераторы оценят ваше умение вести дискуссию
                  Тут не тематика, тут холивар, так что тут можно. Главное – не перебарщивать. К тому же, судя по
                  Цитата Исмаил Прокопенко @
                  Чтобы все освоить на должным уровне нужно ГОДЫ И ГОДЫ заниматься только чисто программированием и тулзами для программирования.
                  они недалеки от истины. Уже по меньшей мере третий раз в теме проскакивает тезис, что тут ты не прав, причём с фактами, но ты продолжаешь гнуть свою линию. Если б JoeUser не перетащил тему сюда, в тематике уже следовало бы задетектить флуд.
                    Цитата Исмаил Прокопенко @
                    Ребята! Если у Вас нечего сказать по теме - просто проходите мимо.

                    Вот тебе пример структурного и ООП кода для чайника :D

                    Си:
                    ExpandedWrap disabled
                      #include <stdio.h>
                      #include <string.h>
                       
                      #define MAX_LENGTH 100
                      #define MAX_SPEED 500
                       
                      struct CAR {
                          char petName[MAX_LENGTH];
                          int maxSpeed;
                          int currSpeed;
                      };
                       
                      void DisplayCarStats(CAR );
                      void CreateCar(CAR* );
                      void SpeedUp(CAR* );
                       
                      int main() {
                          printf("****************************\n");
                          printf("Amazing C program\n");
                          printf("****************************\n");
                          CAR myCar;
                          CreateCar(&myCar);
                          DisplayCarStats(myCar);
                          while(myCar.currSpeed <= myCar.maxSpeed) {
                              SpeedUp(&myCar);
                          }
                          printf("\n%s has blown up! Lead foot!\n", myCar.petName);
                          return 0;
                      }
                       
                      void DisplayCarStats(CAR car) {
                          printf("****************************\n");
                          printf("Your car's name is %s\n", car.petName);
                          printf("Your max speed is %d\n", car.maxSpeed);
                          printf("****************************\n\n");
                      }
                      void CreateCar(CAR *car) {
                          char carName[MAX_LENGTH];
                          int speed = 0;
                          memset(car, 0, sizeof(CAR));
                          printf("Input car's name: ");
                          gets(carName);
                          strcpy(car->petName, carName);
                          do {
                              printf("Enter the max speed of this car: ");
                              scanf("%d", &speed);
                          } while (speed > MAX_SPEED);
                       
                          car->maxSpeed = speed;
                          car->currSpeed = 0;
                      }
                      void SpeedUp(CAR *car) {
                          if (car->currSpeed <= car->maxSpeed) {
                              car->currSpeed = car->currSpeed + 10;
                              printf("\tSpeed is: %d\n", car->currSpeed);
                          }
                      }


                    С++
                    ExpandedWrap disabled
                      #include <iostream>
                      #include <string>
                       
                      const int MAX_SPEED = 500;
                       
                      class Car {
                          std::string petName;
                          int maxSpeed;
                          int currSpeed;
                      public:
                          std::string getPetName() const {return petName;}
                          int getMaxSpeed() const {return maxSpeed;}
                          int getCurrSpeed() const {return currSpeed;}
                          void createCar();
                          void displayCarStats() const;
                          void speedUp();
                      };
                       
                      void Car::createCar() {
                          std::string carName;
                          int speed = 0;
                          std::cout << "Input car's name: ";
                          std::getline(std::cin, carName, '\n');
                          petName = carName;
                          do {
                              std::cout << "Enter the max speed of this car: ";
                              std::cin >> speed;
                          } while (speed > MAX_SPEED);
                       
                          maxSpeed = speed;
                      }
                       
                      void Car::displayCarStats() const {
                          std::cout << "****************************\n";
                          std::cout << "Your car's name is " << petName << '\n';
                          std::cout << "Your max speed is " << maxSpeed << '\n';
                          std::cout << "****************************\n\n";
                      }
                       
                      void Car::speedUp() {
                          if (currSpeed <= maxSpeed) {
                              currSpeed = currSpeed + 10;
                              std::cout <<"\tSpeed is: %d\n" << currSpeed;
                          }
                      }
                       
                      int main() {
                          std::cout << "****************************\n";
                          std::cout << "Amazing C++ program\n";
                          std::cout << "****************************\n";
                          Car myCar;
                          myCar.createCar();
                          myCar.displayCarStats();
                          while(myCar.getCurrSpeed() <= myCar.getMaxSpeed()) {
                              myCar.speedUp();
                          }
                          std::cout << myCar.getPetName() << " has blown up! Lead foot!\n";
                          return 0;
                      }

                    скажи где проще? :whistle:
                      Цитата Cfon @
                      скажи где проще?
                      Сейчас без разницы, ибо тот самый Car - всего один.
                      А вот что дальше? Допустим, их заранее неизвестное количество.
                      А еще, допустим они разные.
                      Без ООП тут никак, извращаться на Си придется.

                      В прочем, может я и не прав это "это не извращаться", а "скил" называется.
                      Мне пришлось повидать как на си без float считали до 0.0001 в unsigned integer (пардон, в WORD) и гордились своей работой.
                      Но в реальном мире это "извращение" называется.
                      Для каждой задачи есть свой тип данных.
                      Так и с С++, многопоточность и многозадачность процедурными языком не делается.
                        Цитата Исмаил Прокопенко @
                        надеюсь господа модераторы оценят ваше умение вести дискуссию
                        Для начала - они заценили твой вброс, переведя топик в холивары :whistle:
                        Цитата Qraizer @
                        Если б JoeUser не перетащил тему сюда, в тематике уже следовало бы задетектить флуд
                        :whistle: :whistle: :whistle:
                          simsergey ты как всегда жжошь :D
                            Цитата Cfon @
                            simsergey ты как всегда жжошь

                            Ну разве что демонов на костре :D
                              Цитата simsergey @
                              Ну разве что демонов на костре :D

                              :huh: а кто демон то :D

                              Добавлено
                              в приведеном примере я хотел показать Исмаилу Прокопенко что программировать в ООП стиле гораздо удобнее чем процедурном :D
                              ты же мне пишешь что на Си придется извращаться... а я о чем ему пардон толкую :huh:
                              Сообщение отредактировано: Cfon -
                                А если я скажу "крамольную" вешь, что ООП – это технология, и использовать её (или не использовать ;) ) можно на любом языке?
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (32) 1 2 [3] 4 5 ...  31 32


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0540 ]   [ 15 queries used ]   [ Generated: 27.04.24, 15:39 GMT ]