Почему вы не используете C для своих веб-приложений?


Сегодня утром я просматривал несколько разных веб-серверов, когда наткнулся на G-WAN. Как я понимаю, это веб-сервер, написанный на C, и вы должны использовать его, написав свои веб-сайты/веб-приложения на C. Одним из явных преимуществ является скорость, как предполагает сайт G-WAN.

Однако на форумах создатель G-WAN спросил, почему бы не использовать C для веб-приложений, и я не могу придумать ни одной причины, кроме того, что это сложно (во всяком случае, для меня я новичок, когда дело доходит до C). Должно быть больше причин, по которым мы все используем PHP, Python, Ruby и т.д., Кроме того, что на этих языках легко разрабатывать. Я не вижу в этом веской причины.

Поэтому я передаю это вам: Почему вы не используете C для своих веб-приложений?

Author: Abs , 2010-06-20

24 answers

Требуется большая осторожность, чтобы программа на языке Си была правильной и безопасной. Эта забота означает, что вам нужны действительно хорошие люди, которые пишут ваши программы. Это означает, что вы платите больше.

Кроме того, C не обладает преимуществом использования огромной единой стандартной библиотеки функций, как у .NET (и других основных веб-ориентированных платформ). Таким образом, вам, возможно, придется либо покупать компоненты, либо выполнять взаимодействие, либо использовать свою собственную функциональность, которая поставляется "бесплатно" с дополнительным, не так ли скажем, "веб-ориентированный" язык, такой как PHP, C#, Ruby или что-то еще. Это означает, что вы платите больше.

Добавьте все это к тому факту, что скорость однопоточных вычислений просто не так важна в Интернете. Если вам нужна большая масштабируемость, большинство организаций могут экономически просто использовать больше ядер для решения проблемы и быть в порядке. Конечно, это относится не ко всем. Я бы предположил, что ядро движка Google написано на C или аналогичном языке не только для скорости, но и для экономии реальных денег в затраты на электроэнергию.

 74
Author: Dave Markle, 2011-10-25 12:45:39

Гул...

Кажется, что я немного запоздал в этом обсуждении - но я только что обнаружил это. И я благодарен всем вам за столь большой вклад.

Я автор G-WAN, что дает понять, что я серьезно работал над этим вопросом: G-WAN одновременно быстрее всех других веб-серверов (без обработки) и всех других серверов веб-приложений (любая обработка, которую вы можете себе представить).

Да, ANSI C также позволил обрабатывать больше статического контента - с меньшими мощные процессоры (ANSI C - это не только создание динамического содержимого).

Кстати, G-WAN использует сценарии C (компилятор и компоновщик C не требуются), поэтому цикл компиляции/компоновки/задержки не существует.

В процессе сравнения G-WAN с .NET Java и PHP я написал аналогичные приложения на всех 4 языках: http://gwan.ch/source/

И, к моему ужасу, современные языки сценариев были не проще в использовании.

Одна часть работы, которая особенно неприятно отчаянно искать "волшебный" вызов API, который сделает то, что вы хотите сделать.

Подумайте о том, как сделать "красивые тысячи" в:

C#

String.Format("{0:n}"...

Java

new DecimalFormat("0.00"); ...

PHP

number_format($amount, 2); ...

ANSI C

sprintf("%'.2f", amount);

"..." означает, что необходима некоторая предварительная настройка или последующая обработка. ANSI C явно проще в использовании и запоминании.

Когда PHP имеет более 5900 вызовов API (C# и Java недалеко), поиск правильный Вызов API сам по себе является проблемой. Время, потраченное впустую на то, чтобы найти это (а затем выяснить, насколько плохо реализован собственный вызов API ), время, потраченное на то, чтобы изучить его в следующий раз, когда вам это понадобится, все это время лишает вас времени, необходимого для решения проблем вашего приложения.

Я читал (выше), что PHP более лаконичен, чем ANSI C? Зачем тогда использовать "//:: this is a comment ::", а не "// this is a comment"? Почему у вас такой глупо сложный синтаксис "красивых тысяч"?

Другой обычный аргумент заключается в том, что Java и тому подобное предоставляют выделенные вызовы для веб-приложений.

Я не смог найти ничего, что могло бы избежать HTML в Java, поэтому я написал свою версию этого:

  // all litteral strings provided by a client must be escaped this way
  // if you inject them into an HTML page
  public static String escape_html(String Name) {
      int len = Name.length();
      StringBuffer sb = new StringBuffer(len);
      boolean lastWasBlankChar = false;
      int c;

      for(int i=0; i<len; i++) {
          c = Name.charAt(i);
          if(c == ' ')  sb.append("&#32;");  else
          if(c == '"')  sb.append("&quot;"); else
          if(c == '&')  sb.append("&amp;");  else
          if(c == '<')  sb.append("&lt;");   else
          if(c == '>')  sb.append("&gt;");   else
          if(c == '\n') sb.append("&lt;br/&gt;"); else {
             c = c&0xffff; // unicode
             if(c < 32 || c > 127) {
                sb.append("&#");
                sb.append(new Integer(c).toString());
                sb.append(';');
             } else
                sb.append(c);
          }
      }
      return sb.toString();
      //szName = sb.toString();
  }

Вы действительно верите, что тот же код в ANSI C будет более сложным? Нет, это было бы и намного проще , и быстрее.

Java (производный от C) требует, чтобы программисты связывали многострочные строки с '+'
C# (производный от C) - это , требующий программисты связывают многострочные строки с '+'
PHP (производный от C) требует, чтобы программисты связывали многострочные строки с '.'

В ANSI C нет этого теперь совершенно глупого (устаревшего) требования.

Итак, был ли так очевиден прогресс, заявленный современными языками? Я все еще ищу его.

Искренне ваш,

Пьер.

 46
Author: Pierre, 2012-10-14 09:16:59

По той же причине, по которой мы не используем C для большинства программ. Преимущества (которые в основном заключаются в производительности) не перевешивают затраты (время разработки, отсутствие автоматического управления памятью, отсутствие автоматической защиты от переполнения буфера, наличие этапа компиляции между этапами редактирования и тестирования и т. Д.).

 44
Author: Quentin, 2010-06-20 12:09:48

Большинство сетевых приложений, особенно веб-серверы, гораздо более "привязаны к вводу-выводу", т.Е. Они способны передавать данные намного быстрее, чем сеть может их принять. Поэтому то, что обладает высокой эффективностью процессора, не является огромным выигрышем, в то время как то, что является масштабируемым и ремонтопригодным, является. Таким образом, нет причин соглашаться с недостатками C и терять преимущества управляемой среды, такой как Java, .NET, Python, Perl или другие языки.

 26
Author: Paul Tomblin, 2010-06-20 12:13:54

C не является удобным языком для манипулирования строками.

Сравните C#:

string foo = "foo";
string bar = "bar";
string foobar = foo + bar;

Соответствующий C:

const char* foo = "foo";
const char* bar = "bar";
char* foobar = (char*)malloc(strlen(foo)+strlen(bar)+1);
strcpy(foobar, foo);
strcat(foobar, foo);
//todo: worry about when/where the foobar memory
//which was allocated by malloc will be freed
 15
Author: ChrisW, 2010-06-20 12:18:59

Если бы сложность и сложность вообще не были проблемой (ха!), то я бы не остановился на C. Я бы написал сборку x86. Прошло много лет с тех пор, как я использовал какой-либо веб-сервер, который не был x86, и с каждым днем это выглядит все менее и менее вероятным.

Использовать C (вместо сборки или чего-то более высокого уровня) - значит предположить, что C - это лучшее место для эффективности программиста и эффективности компьютера.

Для программ, которые я пишу, это не так: C плохо соответствует типам программ Я хочу писать, и преимущества этого по сравнению с приличным макроассемблером просто не столь значительны. Программа, которую я пишу прямо сейчас, не сложна в моем выборе HLL, но сложность ее в сборке или C будет настолько высока, что она никогда не будет закончена. Я признаю, что достаточно умный программист с достаточным количеством времени мог бы ускорить его работу на ассемблере или C, но я не такой программист.

 9
Author: Ken, 2010-06-20 16:22:55
  • это небезопасно
  • это трудно читать
  • это трудно поддерживать, время разработки на порядок медленнее
  • большая часть ваших веб-материалов, вероятно, связана с вводом-выводом, поэтому ускорение даже не имеет значения, особенно если вы используете быстрый язык, такой как Java или C#
 6

C - довольно низкоуровневые языки для многих целей: нет-ООП, много ручного управления ресурсами.

Существует ограниченное использование C для Интернета, например Клон. Он в основном используется для встроенных приложений с низким ресурсом.

Однако существуют C++ веб-фреймворки, такие как CppCMS, которые используются для разработки высокопроизводительных веб-приложений.

C++ позволяет вам наслаждаться высокой абстракцией и точным доступом к тому, что вы делаете именно предоставляя гораздо лучшие возможности для развертывания и разработки больших приложений.

Но вы используете их в том случае, когда производительность и использование ресурсов гораздо важнее , чем затраты времени на вывод на рынок и разработку, поскольку в целом веб-разработка выполняется быстрее с использованием хороших веб-фреймворков для таких языков, как Java, Python или PHP. Также, как правило , есть менее компетентные программисты для языков C++, чем Java/P*, за ту же зарплату.

Так что это вопрос приоритетов, также меньше инструментов для C++ Web затем разработка для PHP/Python/Perl или Java.

 6
Author: Artyom, 2010-06-20 13:55:17

Я знаю, что на этот вопрос уже ответили до смерти, но есть 2 вещи, о которых до сих пор не упоминалось, которые чрезвычайно важны для успеха в любой парадигме программирования, и особенно в веб-разработке, где вы получаете много людей, которые не обязательно являются программистами, работающими с кодом.

  1. Вовлеченное, полезное сообщество, то Есть Люди, Которые Уже Решили Мою Проблему. Даже самым тупым из нубов довольно легко найти в Google, почему они получают "заголовки уже отправленные" ошибки в PHP, в то время как эта информация может быть недоступна для платформы или языка, которые являются новыми для сцены, или иным образом не имеют критической массы.
  2. Фреймворки, чтобы большинство программистов могли приступить к решению бизнес-задач, а не взламывать код вместе.

Если бы у меня было критически важное приложение, требующее высокой производительности, я бы использовал C, но на написание ушло бы так много времени, что я бы никогда не вышел на рынок. Пока не будет либо #1, либо #2, это не для меня возможно использовать его.

 6
Author: Jordan, 2010-06-20 16:20:50

Должно быть больше причин, по которым мы все используем PHP, Python, Ruby и т. Д., Кроме того, что на этих языках легко разрабатывать

Это вся причина и единственная необходимая. У этого есть много преимуществ, главным из которых является время выхода на рынок. Если вы сможете запустить свое веб-приложение в Интернете за месяц с использованием PHP вместо двух месяцев с использованием C, вы можете просто выиграть. Если вы сможете добавить новую функцию за неделю с помощью Ruby on Rails вместо двух недель с помощью C, вы снова выиграете. Если вы можете исправить ошибка в один день с использованием Python вместо двух дней с использованием C, вы выигрываете еще раз. Если вы можете добавить функцию, потому что используете язык X, которую ваши конкуренты вообще не могут добавить, потому что они используют язык Y, и это слишком сложно на этом языке, учитывая их ограничения ресурсов, то вы определенно выиграете.

И под "победой" я на самом деле подразумеваю , что вы не проиграете. Ваши конкуренты используют языки и фреймворки более высокого уровня для разработки своих сайтов, поэтому, если вы используете C, вы не соревнуясь с другими людьми, которые используют C, вы проигрываете другим людям, которые не используют C. Просто чтобы конкурировать, вы должны использовать инструменты с аналогичными уровнями абстракции.

Если производительность становится проблемой, вы можете переписать медленные части вашего сайта на более производительных языках. Или вы можете просто бросить на это больше оборудования. Действительно, проблема с производительностью - это то, что мы называем "приятной проблемой" - это означает, что вы уже добились успеха. Но тратить больше времени на разработку базового функциональность вашего сайта редко является опцией. Написание его на C только для того, чтобы он работал быстрее, является преждевременной оптимизацией, которая, как говорит нам Кнут, является корнем всего зла.

Все это подразумевает, что если вы можете использовать язык с более высоким уровнем абстракции, чем Python или Ruby, вы можете выиграть у людей, использующих Python или Ruby. История Пола Грэма о том, как он и его команда использовали LISP в качестве "секретного оружия" при разработке веб-сайтов, может быть поучительной. http://www.paulgraham.com/avg.html

Конечно, если вы разрабатываете сайт для собственного развлечения, делайте это на любом языке, на каком захотите. И если ваш сайт привязан к процессору (вряд ли таковые имеются; обычно они привязаны к вводу-выводу), используйте самый быстрый язык, который вы можете. Однако, если вы пытаетесь внедрять инновации, используйте язык высокого уровня с лучшими абстракциями, которые вы можете найти.

 5
Author: kindall, 2010-11-16 19:20:51

Вы думаете, что быть легким - это не очень хорошая причина. Я думаю, что это веская причина. Если вам нужна максимальная производительность, то C в порядке, но другие языки абстрагируются от сложных задач для повышения производительности, ремонтопригодности и уменьшения дефектов.

 4
Author: Craig, 2010-06-20 12:12:27

Учтите, что я не веб-разработчик, но все равно задам эти вопросы и предложу пару пунктов.

Какой веб-сайт написан только на одном языке? Серьезно, эта нить, похоже, предполагает, что один молоток подходит для всех гвоздей.

Когда в последний раз кто-нибудь серьезно заявлял, что C является сложным? Я имею в виду, действительно, ребята, вы не можете получить более низкий уровень. Я не говорю здесь о C++, поскольку на них часто ссылаются вместе.

У C есть проблемы с безопасностью, которые не могут можно отрицать, но разве они меньше, чем то, что видно в клуджах под названием PHP & Perl? В любом случае безопасный веб-сайт является функцией дисциплины программиста.

В любом случае переходите к комментариям. Сложность использования любого данного языка очень зависит от решаемой проблемы, и особенно C++ может привести к быстрому решению проблемы в опытных руках.

Промышленное использование веб-серверов, то есть встроенных серверов/сайтов, просто не имеет нормального выбора языка веб-сервер мог бы иметь. Таким образом, вы в конечном итоге используете вариант C или, возможно, что-то вроде BASIC. Ваша цель состоит в том, чтобы предложить функциональность, необходимую устройству, и не беспокоиться о языках. На основном веб-сервере это можно сделать в большинстве случаев с помощью языков высокого уровня. Отойдите от большого железа, и ваша свобода программирования выйдет за дверь.

Без правильных библиотек в большинстве случаев было бы глупо создавать веб-проект на языке C. Отсутствие хороших стандартизированные библиотеки - это большой минус здесь.

 4
Author: David Frantz, 2010-06-21 07:36:28

@Йори Себрехтс

F.U.D. в действии:

PHP, Python и так далее легко масштабировать, используя аппаратное обеспечение для решения проблемы.

Ну, на самом деле нет. Они совсем не масштабируются по вертикали и очень плохо масштабируются по горизонтали. См.: http://gwan.ch/en_scalability.html где объясняется, сколько проблем ждет плохих исполнителей.

Предположим, что разработка приложения на PHP стоит 1 человеку 1 год усилий, и это стоит им 3 годы, чтобы сделать это в C (так как C требует больше усилий, чтобы сделать то же самое).

Снова неправильно. Если библиотеки PHP были написаны на C, то они могут использоваться непосредственно с C - мгновенно обеспечивая "уникальную производительность", которую, как вы утверждаете, имеет PHP.

Это означает, что уменьшенная потребность в оборудовании для кода C должна составлять 2 года заработной платы, чтобы C стал привлекательным. На практике этого (почти) никогда не происходит.

Чистый F.U.D. (см. Ответ выше).

Масштаб Facebook настолько велик, что аппаратное обеспечение требует достаточно больших затрат. Вот почему они разработали HipHop, который кросс-компилирует PHP в C++. Он сочетает в себе лучшее из обоих миров: простоту программирования на PHP и высокую производительность C++. Facebook по-прежнему разрабатывается на PHP, но когда вы его используете, это все нативный код.

Хип-хоп намного быстрее PHP, в этом нет сомнений. Но если вы сравните Хип-хоп с простой реализацией на C у вас есть два уровня накладные расходы:

  • интерфейсы PHP для C++ (которые используют раздутые библиотеки C++);
  • сам C++ раздувается (что делает C++ в 2-10 раз медленнее обычного C).

Кроме того, хип-хоп был написан в невежественном неэффективном академическом режиме (оторванном от любой реальной реальности). конечно, это может произвести впечатление на PHP-кодеров , но покажите этот код встроенному программисту, и он пожалеет Фейсбук.

"Язык, в котором нет всего, на самом деле проще программируйте в чем-то, что делаете" -- Деннис М. Ричи

В отличие от (большинства) КОНЕЧНЫХ ПОЛЬЗОВАТЕЛЕЙ языка программирования, Деннис , похоже, знал пару вещей об этом вопросе.

 4
Author: Pierre, 2010-07-16 07:15:19

Вот еще несколько связанных с Интернетом кодов, написанных на C, на которые стоит обратить внимание при создании собственной библиотеки C для Интернета:

  • cgic: библиотека ANSI C для программирования CGI
  • cgit: веб-интерфейс для репозиториев git
  • wbox: инструмент тестирования HTTP
  • wget html-синтаксический анализ.c
  • завиток печенья.c
  • Скидка, реализация Дэвидом Парсонсом C текста уценки Джона Грубера на языке html
  • Протопотоки (особенно для встроенных систем), http://www.sics.se /~adam/software.html
  • protothread, проект Google code от Ларри Руана
  • проект uriparser sourceforge
  • http-анализатор, анализатор http-запросов/ответов для c Райана Даля на github
  • nginx
  • ...
 3
Author: ceeit, 2010-06-20 17:06:14

Ну, учитывая тот факт, что веб-разработка - это вопрос наличия полезных библиотек (таких, которые используются PHP), я не вижу, как C не был бы полезен.

В конце концов, процедурная логика одна и та же: делай, пока, для, если, то иначе и т. Д. будь то C, PHP, .NET или Perl.

И цикл C или тест не сложнее написать, потому что он написан на C.

Большинство библиотек PHP созданы на C, поэтому аргумент отсутствующие-C-библиотеки-для-Интернета выглядит не так сильно убедительный.

Я предполагаю, что C не рекламировался как язык веб-программирования промоутерами Java (SUN) и .NET (MICROSOFT), потому что у них был свой собственный проприетарный (сильно запатентованный) интеллектуальный актив для продвижения к принятию.

Как бесплатный (непатентированный) стандарт, C не предлагает разработчикам никакого "фиксированного" контроля... следовательно, возможно, тяжелая рука лоббирования в школах и университетах, чтобы убедиться, что деньги налогоплательщиков будут финансировать принятие низшего технологии, поддерживаемые частными интересами.

Если C достаточно хорош для IBM и MICROSOFT (они не разрабатывают свои продукты на PHP или .Net), но недостаточно хорош для конечных пользователей, то конечные пользователи могут задаться вопросом, почему им предлагается страдать от этого двойного стандарта.

 2
Author: Vince, 2010-07-15 16:08:45

Я бы использовал C для веб-приложения, если:

  1. У меня небольшой бюджет на хостинг-сервер (небольшой VPS), и мое время не дорого.
  2. Я работаю на Facebook, Twitter или на кого-то, кому нужно сократить количество используемых серверов (от тысяч до миллионов пользователей).
  3. Я хочу выучить C, и мне нужно найти приложение в реальном мире, где я смогу его использовать.
  4. Я знаю C намного лучше, чем другие языки сценариев.
  5. Я эколог, и я хочу уменьшить выбросы углерода след моего приложения.

G-WAN запускает код в виде сценариев, да, сценарии C, такие как Play! Фреймворк делает это для Java. G-WAN очень быстр и имеет простой API. G-WAN позволяет использовать C/C++ для веб-приложений, когда другие серверы не смогли этого сделать.

Ясно одно: вам нужен хороший программист, чтобы написать веб-сайт на C, любой дерьмовый разработчик может создать сайт с помощью PHP-спагетти:-) Существуют детекторы утечки и даже сборщики мусора для C.

 2
Author: rtacconi, 2012-05-08 16:22:42

Обработку строк в C можно упростить, используя:

Типы данных (часть libslack)

Libslack предоставляет универсальный тип данных массива указателей с возможностью увеличения, называемый списком, универсальный тип данных хэш-таблицы с возможностью увеличения, называемый Картой, и приличный строковый тип данных, который поставляется с кучей функций (многие взяты из Perl). Существуют также абстрактные одно- и двусвязные типы данных списков с дополнительными "растущими" фрилистами.

Или:

Библиотека управляемых строк (для C)

Http://www.cert.org/secure-coding/managedstring.html

 1
Author: ceeit, 2010-06-21 06:39:47

"домашняя машина" написала:

Зависимость от платформы: C необходимо скомпилировать в машинный код. Этот код работает не на всех платформах. Интерпретируемые языки (например, PHP) работают везде , где существует интерпретатор. Конечно, эту проблему можно было бы решить, но вы видите преимущество разработки на PHP в данном конкретном случае.

Вы когда-нибудь задумывались, на каком языке написан портативный интерпретатор PHP?

В ANSI C.

Итак, перед вами снова откажитесь от переносимости ANSI C, спросите себя, на каком языке был написан ваш любимый язык программирования ... (совет: почти все они были написаны на C/C++).

Компиляторы ANSI C доступны на всех платформах, на которых мне приходилось работать, - и то же самое не относится к PHP и его гигантской среде выполнения.

Вот и все для аргумента переносимость.

 1
Author: CClue, 2010-07-15 15:05:35

Все упомянутые вами языки на самом деле написаны на C/++. Единственное отличие заключается в продвинутых классах и библиотеках, созданных на языке Си, которые составляют то, что сейчас является этими другими языками интерпретатора. Именно поэтому их называют языками сценариев.

Думайте об этом, как о выпечке торта (PHP/JS):

  • 2 Яйца, 1 стакан молока, 2 палочки сливочного масла, 4 стакана муки, 1 стакан сахара, Пищевая сода

Но представьте, что вам нужно сделать все элементы, которые эти вещи состоят из. (C/++)

  • 17 мг бикарбоната натрия, 15 столовых ложек белка, 12 столовых ложек мембраны Вителлина, Аминокислота, сера,... Нейтронные частицы

C является основой многих современных языков. Это отличные и едва ли не самые мощные языки на ассемблере. Вы можете это сделать, вам просто нужно вложить средства в создание всего кода, который уже сделали эти другие языки. Например, сделать торт из таблицы Менделеева.

Изучите это, вы можете буквально заставить это делать что угодно!

 1
Author: GetBackerZ, 2018-08-31 16:58:22

Аналогично G-WAN, но для Cocoa/Objective-C используется Bombax, платформа веб-приложений.

Http://www.bombaxtic.com

Говоря об Objective-C, я не могу удержаться, чтобы не указать на MacRuby, который может произвести революцию в том, как мы однажды будем создавать веб-приложения.

 0
Author: gregg, 2010-06-21 06:58:36

Еще одним моментом может быть зависимость от платформы. C должен быть скомпилирован в машинный код. Этот код работает не на всех платформах.

Интерпретируемые языки работают везде, где существует интерпретатор. Многие провайдеры, например, предоставляют PHP-интерпретаторы, установленные на их серверах, но с ОС Windows. Если вы сейчас разрабатываете на Linux-машине. У тебя проблема.

Конечно, эту проблему можно было бы решить, но вы видите преимущество разработки на PHP в этом конкретном дело.

Надеюсь, это поможет, с уважением, домашняя машина

 0
Author: domachine, 2010-07-15 11:33:09

PHP, Python и так далее легко масштабировать, используя аппаратное обеспечение для решения проблемы.

Предположим, что разработка приложения на PHP стоит 1 человеку 1 год усилий, а на C - 3 года (поскольку C требует больше усилий для выполнения того же самого). Это означает, что уменьшенная потребность в оборудовании для кода C должна составлять 2 года заработной платы, чтобы C стал привлекательным. На практике этого (почти) никогда не происходит.

Как и в каждом правиле, есть исключение. Масштаб Facebook составляет настолько большой, что аппаратное обеспечение требует достаточно больших затрат на уход. Вот почему они разработали хип-хоп, который кросс-компилирует PHP в C++. Он сочетает в себе лучшее из обоих миров: простоту программирования на PHP и высокую производительность C++. Facebook по-прежнему разрабатывается на PHP, но когда вы его используете, это все нативный код.

 0
Author: Joeri Sebrechts, 2010-07-15 21:39:45

В конце концов, вы можете использовать абсолютно любой язык для разработки сайтов, включая ассемблер (через CGI и т.д.). Если вы имели в виду, почему бы нам не использовать скомпилированный язык, что ж, мы уже поняли.NET, Java и другие.

 0
Author: Andrei Rînea, 2010-11-12 23:55:26

Вы должны любить то, что делаете, чтобы достигать результатов. Такие языки, как java и php, были созданы с большим трудом, чтобы облегчить жизнь людей. Php особенно помог многим веб-программистам, обучающимся самостоятельно, сегодня. Вы можете видеть, какую поддержку он оказывает в мире веб-разработки.

Java iam, несомненно, была написана для того, чтобы помочь вам во всем, что возможно в современном мире. Огромная книга - явный признак, и это чудовище, если вы надвигаетесь на веб развитие также. То же самое относится и к Python. Это такие фантастические языки и платформы. Неудивительно, что они пользуются огромной популярностью.

Я приверженец языка Си, и отчасти это связано с определенными ограничениями, которые не позволили мне взглянуть на другие языки, такие как php. Я пишу на C ежедневно, и каждый день я горжусь тем, что пишу на e, а также изучаю что-то новое. Это заставляет меня чувствовать себя очень хорошо, и я также начал узнавать о том, как C был выбран по умолчанию при написании приложений для веб-сайтов через Компьютерная графика. Это абстрагировано на других платформах, и когда вы разрабатываете веб-сайты, связанные с базами данных и веб-сервисами, вам нужно знать, что происходит за кулисами.

Однако, если вы все это знаете и все еще хотите использовать язык сценариев, должна быть веская причина, и нам не нужно, чтобы кто-то советовал против этого.

 0
Author: Viz, 2016-06-14 03:16:00