Просмотр полной версии : Разработка web приложений на C!
Всю свою web деятельность я провел за технологиями типа ASP/PHP/ASP.NET.
Недавно решил попробовать Python. Установил интерпретатор, запустил такую программку
#!c:\Python26\python.exe
print "Content-Type: text/html\n"
print "Hello from Python"
И тут меня осенила шальная идея - а что если через C?
Написал вот такую вещь
int main() {
printf("HTTP/1.0 200 OK\nContent-Type: text/html");
printf("\n\n\n");
printf("Hello fromo C");
return 0;
}
Откомпилил через GCC, и какое же мое удивление, когда по ссылке localhost/test/ctest.exe я в браузере получил "Hello from C"!
Так имеет ли право на существование разарботка web на чистом C? Будут ли такие страницы работать быстрее пхпшных?
Все имеет право на существование... Только нужно ли это?
PHP разработан как язык web-программирования (кстати написан на С)
Можно и на баше писать
Наверное самым оптимальным решением будет java
Будут ли такие страницы работать быстрее пхпшных?
будут и на порядок. но, имхо, писать сайты на си это изврат.
И тут меня осенила шальная идея - а что если через C?
дык не ново...
BrainDeaD
17.06.2009, 01:07
Всю свою web деятельность я провел за технологиями типа ASP/PHP/ASP.NET.
Недавно решил попробовать Python. Установил интерпретатор, запустил такую программку
#!c:\Python26\python.exe
print "Content-Type: text/html\n"
print "Hello from Python"
И тут меня осенила шальная идея - а что если через C?
Написал вот такую вещь
int main() {
printf("HTTP/1.0 200 OK\nContent-Type: text/html");
printf("\n\n\n");
printf("Hello fromo C");
return 0;
}
Откомпилил через GCC, и какое же мое удивление, когда по ссылке localhost/test/ctest.exe я в браузере получил "Hello from C"!
Так имеет ли право на существование разарботка web на чистом C? Будут ли такие страницы работать быстрее пхпшных?
ну не зря ведь множество хостингов поддерживает с. но с полезен только для небольших функций. для чего-то обширного он посто не предназначен. простейшие вещи из рнр или java могут быть очень сложными и обшырными в с. иногда спасают библиотеки, но не от всего и не сильно.
login999
17.06.2009, 01:07
А на ассемблере будет еще быстрее ...
Наверное самым оптимальным решением будет java На самом деле сильно зависит. Для мелких веб-приложений (80% интернета) лучше PHP. Для высоконагруженных, однозначно Java.
Писать веб-приложения на C и Asm, что гвозди микроскопом забивать.
P.S.
"Переписав исходный код приложения на Assembler мы добились повышения производительности на 3%, и увеличения времени отладки на 300%." - из старого анекдота.
Так имеет ли право на существование разарботка web на чистом C? Будут ли такие страницы работать быстрее пхпшных?
Писать то можно, и этому есть куча примеров. Но без правильного подхода, как показывает практика, результат труда будет обладать очень плохой масштабируемостью.
Вообще лучше писать не на C, а на C++. На высоко нагруженных серверах, сервисы пишут либо на C++ либо на Java.
P.S. сайт icloud.com написан на C++ и бегает под Ubuntu Server ;)
KaZ@NoVa
17.06.2009, 10:27
http://habrahabr.ru/blogs/cpp/61563/
Вникайте ребятушки!
ru-board.com/new/article.php?sid=49
небольшой мануал по CGI на С/C++
+ на netcode есть целый ряд статей, посвященных сетевому программированию на C++
Спасибо за ответы. Все ясно. Я думаю, главным достоинством действительно является скорость - так как имеем дело с настоящим компидируемым файлом. В CGI/Python будет открываться новый процесс интерпретатора на каждый запрос страницы .py. Здесь же как я понял ничему запускаться не надо - прога уже скомпилирована.
Я сам не любитель программирования на C/Asm, люблю удобные C#/Java. Но тот факт, что сайты можно писать на C мне в голову никогда не приходил.
По идее из всех библиотек, которые я использую в ASP.NET, единственное, что мне будет не хватать на C - это коннекторов к бд.
Joker-jar
17.06.2009, 14:12
Теоретически, таким подходом можно обходить некоторые ограничения php (к примеру, max_post_size и т.п.) а также напрямую получать аплоад файлов (без создания временных файлов) и еще много чего, если покопаться. Помню, как то в универе на курсач писал класс (правда на Делфи) для разработки cgi-приложений. Реализовал обработку и разложение get, post, cookie, file, установку кукисов и еще много чего. Интересное это дело, с точки зрения обучения. В процессе создания впервые узнал какие конкретно вещи обрабатываются веб-сервером, а какие интерпритатором
И смысл?
Тормоза будут - это же CGI.
А на ассемблере будет еще быстрее ... Нет, т.к. современные C-компиляторы генерируют более быстрый код, чем человек.
И оба решения будут медленнее, чем PHP, т.к. юзают тормозной SAPI.
nerezus, ты уверен? Интерпретируемый PHP будет быстрее уже скомпилированного екзешника? O_o
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot