Подтвердить что ты не робот

Альтернативы PHP?

Существуют ли альтернативы PHP, которые работают быстрее и имеют несколько одинаковый набор функций (например, поддержка общих RDBMS, Curl, Regex и т.д.)?

Как насчет кодирования веб-сайтов в C? Как это получается? Является ли эта платформа независимой и работает на каждом сервере?

4b9b3361

Ответ 1

"Существуют ли альтернативы PHP"  - Да

"... которые работают быстрее..."  - Да

"... тот же набор функций..."  - Нет - это сделает PHP излишним.

Вы задаете очень широкий вопрос. Есть много языков, которые поддерживают все виды СУБД, PCRE и другие вещи тоже.

"Как насчет кодирования веб-сайтов в C? Как это работает? Независимо от того, что эта платформа независима и работает на каждом сервере?"

  • Нет, он не является независимым от платформы.

Его довольно сложно указать вам в определенном направлении, основанном на таком широком вопросе.

Вы можете прочитать следующее:

http://benchmarksgame.alioth.debian.org/

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

Есть также менее очевидные ограничения и/или преимущества в использовании определенных языков - например,

http://www.oreillynet.com/ruby/blog/2007/09/7_reasons_i_switched_back_to_p_1.html

С.

Ответ 2

Ваш вопрос широк.

  • PHP можно сделать быстрым и масштабируемым (Flickr, Facebook и другие сайты запускают PHP)

  • В некотором роде подобными являются webframework, такие как Ruby on Rails, Django, Lift,... (они также могут масштабироваться, например, Twitter).

  • Краткое введение в CGI в C: http://www.cs.tut.fi/~jkorpela/forms/cgic.html

Ответ 3

Perl (CGI)

Python

RoR (Ruby On Rails)

ASP (не самый лучший вариант)

Довольно уверен, что если вы собираетесь кодировать веб-сайт в C, вы тоже будете кодировать свой собственный веб-сервер, чтобы я остался в стороне от этого.

RoR будет хорошим вариантом. Но это зависит только от ваших личных предпочтений. Я, как правило, придерживаюсь php, так как знаю, как делать все на PHP.

Ответ 4

Если вам нравится Javascript, вы можете использовать его на стороне сервера с Node.js

Ответ 5

PHP подключается непосредственно к Apache.

C нет. Чтобы подключить C к Apache, вам придется использовать некоторую безопасную/быструю реализацию CGI вместо готового CGI.

C - как язык - это большая работа для создания веб-сайтов.

Посмотрите на веб-фреймворки на Python.

Посмотрите на Ruby on Rails.

Ответ 6

Как насчет кодирования веб-сайтов в C? Как это получается? Является ли эта платформа независимой и работает на каждом сервере?

Написание независимого кода на платформе C вполне возможно. (Сам PHP написан на C, и есть смехотворное количество кросс-платформенных программ и библиотек, написанных на C, таких как PostgreSQL и MySQL, Boost и Poco С++).

С другой стороны, независимо от того, как вы интегрируетесь с HTTP-сервером, автономные веб-приложения для написания платформ . Например, если вы пишете приложение C, которое напрямую интегрируется с HTTP-сервером через скомпилированный модуль (для Apache или IIS), вы получите менее портативный код - например, написание IIS модуль в C или Delphi (который я видел, и который первоначально сделал eBay) означает, что вы не только заблокированы для Windows, но также заблокированы для IIS в Windows. Аналогичная ситуация наблюдается при написании модулей Apache в C.

Но если вы пишете веб-приложение на C, которое интегрируется с помощью стандартного с HTTP-сервером, то да, вы можете иметь довольно переносимый код (хотя код, который должен быть скомпилирован на каждой платформе). Например, вы можете использовать CGI для связи с HTTP-сервером с использованием переменных окружения или вы можете использовать связанные стандарты, FastCGI и SCGI. Опять же, я видел это в практических коммерческих приложениях (как с хорошим эффектом, так и с плохим эффектом).

Дискуссия о собственных веб-приложениях (например, написанная на языках C, С++ и т.п.) и интерпретируемых веб-приложениях (PHP, Perl и т.д.) часто фокусируется на трех областях.

  • Производительность кода. Если он не написан мертвой обезьяной, которая не получила работу за печенье печенья, код C всегда будет превосходить PHP. Однако узкое место в вашем приложении может быть не со скоростью и потреблением памяти кода, а с процедурами ввода/вывода.
  • Производительность разработчика. Если вы не используете хороший фреймворк (и часть вашего вопроса касалась наборов функций других языков), вы собираетесь писать много котельной пластины, повторяющийся код. Например, декодирование процентных URL-адресов, анализ HTTP-данных POST и т.д. Существуют фреймворки, которые существуют для этого в C и С++ (см. CppCMS).
  • Портативность, как вы уже упоминали. Если вы умерли при написании веб-приложения на C, я бы придерживался CGI или SCGI.

Ответ 7

Если ваша проблема - веб-приложение или веб-приложение, которое кажется слишком медленным, переключение языков, вероятно, не стоит усилий. Есть гораздо более эффективные способы ускорить процесс. Одним из них будет кэширование кода, чтобы избежать накладных расходов на свежий компилятор ваших PHP-скриптов при каждом запросе страницы. См. Например http://en.wikipedia.org/wiki/PHP_accelerator. Я лично использовал XCache с большим эффектом.

Есть много других причин для веб-сайтов, которые работают медленнее, чем могли, многие совершенно не связаны с основным языком. YSlow (http://developer.yahoo.com/yslow/) является незаменимым инструментом для поиска вашего узкого места. Чтобы привести только один пример, объединение нескольких файлов CSS или JS, включенных с HTML-страницы в один файл, может значительно улучшить время отклика.

Итак, нижняя строка: в большинстве случаев основной язык не является виновником. Сказав все это, да, есть более быстрые языки. См. Другие ответы выше:)