LINUX.ORG.RU

DotGNU - Making the Web Work for You!


0

0

Наконец нашел этот сайт. Посвящен он созданию GNU-альтернативы всем известной стратегии Microsoft .NET. Работа идет над созданием компилятора C# и других феничек для работы в сети. В общем DotGNU - это целая ОС со своими особенностями, достоиствами и недостатками. Обратите внимание.

>>> Подробности



Проверено:

P.S. Тот же пример на C:
[anton@anton tests]# cat speed.c
#include <stdio.h>

main() {
int i,j;
printf("Start ...\n");
for(i=0; i<1000000; i++) {
j = i * i + i;
}
printf("Finish ...\n");
}
[anton@anton tests]# time ./speed
Start ...
Finish ...
real 0m0.023s
user 0m0.020s
sys 0m0.000s

Anton_Khalikov
()

to Anton: то что на сях шустрее это понятно.

А перл оне не предназначен для написания больших и сложных вещей.

Так что java всетаки рулез кто бы что не говорил. Кстати а сколько лет уже жабе имхо больше 10?

Zlobec

anonymous
()

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

У меня тоже, как правило, нет свободного места на экране. Но панельки с кнопкой тоже нет (ну чисто Sawfish в натуре :-) . А на другой десктоп мне переключаться не нужно: вызов меню приложений повешен на комбинацию клавиш (как и многое другое, можно с окнами все что хочешь делать в одно-два нажатия клавиш, без мыши). Опять же удобство, не люблю я лишний раз руки с клавиатуры снимать!

Chicago
()
Ответ на: комментарий от Anton_Khalikov

2 Anton_Khalikov:

Не, радуют меня такие супер-бенчмарки.

А я вот хочу и буду запускать так:

$ time sleep 1; ./speed
real 0m1.082s
user 0m0.030s
sys 0m0.000s

Ты, чудо, хоть разобрался бы в том, ЧТО ты меряешь.

При запуске, например, джавовской проги стартует JVM, который выполняет туеву хучу действий. В результате ЗАПУСК проги на джаве выполняется долго. При этом совсем не факт, что сама прога будет работать сильно медленнее проги на С.
Так что если хочешь нормально сравнивать - разбей выполнение проги на 2 фазы: запуск/завершение и собственно работа и меряй их ОТДЕЛЬНО.

anonymous
()

жаба, си, перл, php... дрянь какая. FastCGI + Guile рулит во веки веков.

dsa
()

2 anonymous (*) (2002-02-13 13:44:38.0)
Уважаемый, Вы хоть прочитали то, что было выше ? Речь шла вообще-то о perl/php vs java, ибо тут есть ряд товарисчей, утверждающих что java - тормоз, а вот perl/php - рулят. Так вот, сей тест наглядно показывает что это не так. А си я просто по-приколу добавил, а отнюдь не для демонстрации того что java чего-то там медленно исполняет. Как раз наоборот !!!

Anton_Khalikov
()

P.S. или Вы хотите мне сейчас заявить что php считает до миллиона 6 секунд потому, что он 5,5 секунд стартует и 0,5 секунды считает в то время как java стартует 0,1 сек и 1 сек считает ???
Еще раз - java БЫСТРЕЕ php и perl в ПОРЯДКИ РАЗ.

Anton_Khalikov
()
Ответ на: комментарий от Anton_Khalikov

Прочитал я, прочитал. Ты мерял скорось работы прог на разных языках.

Так вот, для твоих тестов время запуска составляет ~50% от общего времени прогона программы, т.к. тест ОЧЕНЬ короткий. А для нормальной проги, работающей более-менее длительное время (в том числе и server-side) это доли процентов от общего времени работы.

Так что вставь лучше вычисление времени выполнения _внутрь_ самих прог. Это будет правильнее, если ты меряешь скорость РАБОТЫ программ, а не скорость ЗАПУСКА.

И Perl и PHP при запуске скрипта, кстати, тоже чего-то делают.

anonymous
()
Ответ на: комментарий от Anton_Khalikov

Нет, не хочу заявить. ;)
Просто хочется увидеть корректные ТЕСТЫ, а не непонятные пузомерки с нерасшифровываемыми результатами.

anonymous
()

А нахрена пузомерки?

Все равно ассебмлер круче. (Тем паче, что FsctCGI и к нему приуручивается на раз).

Писать то как? На php с убогими классами? На перле, где двумерный массив выглядит наравне с хираганой? На ублюдке С++? На жабе, которая между собственными версиямя непереносима?

...типа вебовские приложения только и делают, что процом молотят, а не контент отдают.

dsa
()

по теме: DotGNU хорош для одной, но очень важной вещи: облегчения перехода от Windows .NET "технологий" к Linux.

anonymous
()

ИМХО - писать можно на чем угодно, лишь бы хотелось.
Классы в PHP - просто убожество... на Джаве все получается гораздо элегантнее. Но сам по себе PHP достаточно пригоден для того, чтобы писать нормальные веб приложения.
Хотя Tomcat + JSP/Servlet - немного гигантизмом отдает, зато позволяет многие вещи делать на раз - типа свои тэги (custom tags), да разделять оч хорошо код на бизнес логику, логику веб-приложения и логику вебмастера со своим ХТМЛ-ем.
Каждому - свое. Чего спорить то?

ИМХО!

anonymous
()

2Tarantul: ублюдочность С++?

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

Как докозателсьтво см, бесконечные подпорки в виде всяких эмуляторов refernce counting --- MFC, ATL, STL и того неродившегося шедевра с загадочным префиксом t_.

Guile --- на сегодня один из динамично-развиваюшихся диалектов Scheme. Хорошо идет как язык для больших проектов (может быть и очень больших -- не пробывал -- но пока предела не вижу) и как встраиваемый и расширяемый интерпретатор. ...примерно соответсвует лиспообразному и облегченному питону в котором почти 100% реализован весь CLOS.

dsa
()
Ответ на: комментарий от anonymous

Так сложно понять, за что Жабу не любят? Это же элементарно! JVM кое-как пригодна только для кода, скомпилённого из идиотского язычка Java. Ничего другого по человечески туда не скомпилить. В этом и есть преимущество .NET, хотя его основной язык - C# - ещё большее ублюдство, чем Жаба.

Antichrist
()

2dsa:

>Во-первых и главных -- нелепая помесь низкоуровневого С-языка и сугубо высокоуровнего ОО-подхода.
Обратная сторона низкоуровневости - высокая производительность.
И не "помесь", а "синтез".

>Имеешь геморрой с утечками памяти и указателями от первого и тормоза от второго.
Утечки памяти - признак неграмотного программирования, а не недостаток языка. Насчет тормозов - не надо ля-ля.

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

>Примитивные ОО-механизмы практически исключающие виртуальные конструкторы и метаклассы.

Я не знаю Guile/Scheme. И не имею возможности сравнивать их с С++,
если это вообще возможно. Но я могу судить о С++ хотя бы по количеству и качеству написанных на нем приложений.

ANDI ★★
()
Ответ на: комментарий от anonymous

А вот за жабий гуй оракелам надо жопу оторвать и вместо морды пришить. Как добро жить было на 8.0.x и раньше!!!

Antichrist
()

сколько людей - столько и травы

krion-
()
Ответ на: комментарий от dsa

2 dsa: >во-первых и главных -- нелепая помесь низкоуровневого С-языка и сугубо высокоуровнего ОО-подхода.
договоримся о терминологии -- что значит "низко" и "высокоуровневого"?

>Имеешь геморрой с утечками памяти и указателями от первого
C++ -- действительно язык, очень требовательный к профессионализму программиста, и "плохо" прощающий ошибки. Так никто и не говорит, что C++ -- в каждый дом.

>тормоза от второго
Издержки на OOP в С++ минимальны, по сравнению, например, со Smalltalk и Java. OOP в С++ почти ничего не стоит.

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

>Примитивные ОО-механизмы практически исключающие виртуальные конструкторы
1. Виртуальные конструкторы -- зло вообще. 2. Встроенные в язык виртуальные конструкторы -- зло вдвойне. 3. При желании, виртуальные конструкторы без усилий эмулируются в C++.

>и метаклассы.
1. Зачем и всегда ли нужны встроенные в язык метаклассы? 2. Почему каждый OOP-язык должен быть похож на Smalltalk? 3. Поддержка run-time рефлексивности -- тормоз и в C++ не нужна.

>всяких эмуляторов refernce counting --- MFC, ATL, STL
В STL нет reference counting. RC нужно не всегда, поэтому соответствующее средство не встроено в язык. Если нужно RC, можно взять подходящий шаблон.

P.S. для Antichrist'a: Я не говорю, что C++ -- рулез форева. Я пользуюсь и мне нравится концепция ФП. Я опровергаю несправедливые утверждения в адрес C++.

AC
()
Ответ на: комментарий от Antichrist

Ada -- слишком трудный и "тяжелый" язык. Много в ней всего...

AC
()

Не ругайте Java, пока не попишете на нем хотя-бы с полгода. Любой программист из тех, кто взялся за Java (и поработал с ним хотя-бы с полгода), очень сильно ругается на другие языки, по множеству разных причин. Я писал сам, и программа заработала на всем том зоопарке, что у нас был: солярис, линукс, фрюха и винда во всех разновидностях, если не считать 3.11 (мне уж влом было ее ставить и проверять). Добиться такого на чем либо другом, конечно, можно - но какой ценой? Куча ifdef'ов, полуторократное разрастание объема кода? Нет, спасибо. А если бы я писал на этом "крутейшем C#", добился бы я того же результата? Чтобы на линуксе, фрюхе и в виндах и солярисе работала одна и та же версия программы, построенная по одному и тому же коду? Опять же нет. К слову о задаче: от задачи требовались по возможности _макимальная_ параллельность выполнения и _очень_ тщательная синхронизация параллельных потоков между собой, _очень_ тщательная обработка ошибок, отслеживание правильности проходящих потоков данных, и поддержка множества кодировок. Попытка сделать то же самое на C++ успехом не увенчалась, делалось три попытки - две мной, и одна другим человеком. Он писал под винды (и тоже написал). Угадайте, какой вариант был одобрен? Тот, что оказался гибче и, как говорится, "more scalable" - т.е. Java-версия.

no-dashi ★★★★★
()
Ответ на: комментарий от no-dashi

Человек, не обделённый здравым рассудком, полугода Жабы не выдержит. А не наделённый таковым не просто выдержит, но и подсядет, как нарик. Но ведь это уже вырожденный случай, не стоящий рассмотрения...

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

P.S. Моя основная претензия к Жабе - её кривейшие ексепшины, которые ничуть не лучше C++-ного позорища, и отсутствие препроцессора, что делает мои любимые метОды юзанья всяческих там ассертов просто головной болью.

Antichrist
()

To anonymous (*) (2002-02-12 20:51:47.0):

Ты, мля, шибко умный я смотрю. Сходи-ка на http://www.ecma.ch/ecma1/stand/ecma-262.htm , да почитай что это за ECMAScript такой. Как только найдешь десять различий с Javascript, например, в Мозилла, так прибегай, поговорим.

А за Java, ответишь, #удак!

alexros
()

Мужики! Java, perl, C/C++ - это все очень хорошо! (Обратите внимание, про php я этого не говорю) Дрянь - совершенно иное! Полнейшее дерьмо - механизм взаимодействия м-у пользователем и сервером по HTTP, т.е. Web. Ну нету удобных механизмов работы, нету! Нет удобного сохранения сессии (одно понятие этого вообще дико). Pечь и идет о том, что .NET может это изменить (теоретически). Универсальность Web + удобство RPC + защищенность может дадут нужный результат. Может быть... P.S. по моему просто глупы слова о том, что C++ - ублюдочность. Язык достаточно стройный (в отличие от php). Его, как и Java сначала проектировали, потом реализовывали. php вообще не проектируют. Его авторы, судя по всему об этом даже и не думают. Perl по моему тоже вещь очень достойная. Хотя бы за наличие встроенных регулярных выражений, до которых php как до Египта дюльфером. А это очень нужная вещь для динамического построения web страницы

anonymous
()
Ответ на: комментарий от anonymous

>Его, как и Java сначала проектировали, потом реализовывали.
Ошшень смешно...:)

AC
()

2 Antichrist:

> отсутствие препроцессора, что делает мои любимые метОды юзанья
> всяческих там ассертов просто головной болью.

А что препроцессор от Си нельзя для этого приспособить ?
Ну типа скармливать жабскому компилятору выход чего-то вроде
gcc -E -P -x c -o source.cpp.java source.java

bsp


anonymous
()

2anonymous (*) (2002-02-13 22:40:26.0)

Не надо только на счет регулярных выражений в php - есть и POSIX и Perl регулярки. И они, как не странно, работают :-)

А вот на счет создания больших проектов на php - зае@#$сся ... Проверено на собственном опыте, ввиду чего лично я конкретно настроен перелезть на java.

Anton_Khalikov
()

2 Antichrist: "Полгода Джавы не выдержит" говоришь? Ты хоть сам пробовал на Java программировать? А потом с нее перейти на что-нибудь другое? Так вот: переход с C/C++ на Java идет _очень_ легко (особенно если есть опыт ООП и есть способность к проектированию программ). А вот после Java на C++ (и уж тем более на простой C) уходить _очень_ неприятно - постоянно вспоминаешь, как это было бы легко и приятно реализовать на Java, и как приходится извращаться на C/C++. С обжект паскалем еще хуже - там даже нормального наследования нет. Плюсов в языке очень много, exception'ы обрабатываются просто и понятно, очень приличная синхронизация прямо в языке, ввод-вывод единообразен, GUI прост и логичен (Component->Container->Window), логика от интерфейса отделяется очень хорошо и, главное, Java _действительно работает_. И в нише платформенно-независсимого софта Java - это одно из лучших решений.

no-dashi ★★★★★
()

Java is not platform independent. It is a platform (C) Bjarne Stroustup

anonymous
()

Java is not platform independent. It is a platform (C) Bjarne Stroustrup

anonymous
()

Как интересно движется компьютерная мысль в России.

Когда весь мир юзал C++, мы гордо говорили, что только C -- язык настоящих программеров.
Когда народ на западе начал переползать на Java/EJB, мы, раскинув пальцЫ, писали на C++ (при этом, естественно, предварительно переписав весь STL на свой вкус и уровень развития).
Когда весь мир собирается переползать на .NET (и переползёт, что самое смешное), мы радостно начинаем учить Java.

:\

Вобщем есть повод задуматься...

И особенно радуют крики неандертальцев в бэкграунде "OS/2 фарэва", "фидо задавит интернет", "хацкель рулез", "QNX на десктоп" и т.п.
Грустно...

vi
()

2vi: а нормальные программеры до сих пор пишут на сях. Там где это надо. А где не нада берут тикл-схему-смаллталк или на худой конец VB.

И только безграмотные студенты пытаются на все про все заюзать "универсальное" угребище.

dsa
()

QNX на десктоп? Я весь плакал.

anonymous
()

Это кто тут наивно полагает, что в php есть нормальные regexp? Х@# там, а не полноценные перловые regexp. Не знаю, как обстоит с коммерческими продуктами, но так же как и perl их поддерживает только awk (точнее капельку лучше). В php они не встроены в язык. С тем же успехом можно брать и C. А вообще говоря, мне уже надоело флеймить тут без повода. Постараюсь больше не делать этого.

anonymous
()

Слышь, vi, ты наверное еще не понял - людям надо работать, и задачи нужны _сейчас_ а не когда-там-МС-закончит-релиз. И люди выбирают то, что себя уже хорошо зарекомендовало, и не находится всецело в руках одного вендора...

no-dashi ★★★★★
()

Mozhet ne vtemu, no: zashel na java.sun.com, reshil potestit' aplety 1) na x86 SuSe 7.3 (NN,M), tormoza 2) na x86 Win2K (IE), tormoza 3) na sparc Solaris (NN), tormoza zret pamat', proc, i samoe udivitel'noe na rodnom sparce tormoza

neiromancer
()

Offtopic ON.

>Когда весь мир юзал C++
Это в Парагвае, Уганде и Непале ???? :-)))) Ты забыл добавить "цивилизованный" - чтоб выглядело (извини) законченной глупостью.

>Когда народ на западе начал переползать на Java/EJB
Причем с Кобола :-))))) О чем ты малость подзабыл :-))))))

>Вобщем есть повод задуматься...
Да, то что все еще есть люди, которые только и умеют обезьянничать с мифического "народа на западе" - это действительно повод задуматься. Причем, не веселый повод...

LamerOk ★★★★★
()

DotGNU, насколько я понял вызвал, вызвал раскол среди линуксоидов. Возможно мне кто нибудь объяснит почему это произошло?

anonymous
()

Для завершения оффтопика по-поводу regexp в php.

Не знаю как там поддержка perl-regexp криво или косо реализована, но поддержка POSIX работает без проблем. Если кто-то не понимает что такое regexp, рекомендую прочитать книжку Дж.Фридла "Регулярные выражения", а потом уже выступать в форумах на тему что где крниво и косо сделано.

Anton_Khalikov
()

2Antichrist: по поводу отсутствия препроцессора в Java. Нет ничего проще (под слюникс/UNIX at least) - в make пишешь новый суффикс - скажем %.jpv: %.java и юзаешь препроцессор от gcc
Полностью строку привести или сам догадаешься ?
То же самое можно делать и с любым другим языком, к-рый не рассматривает # как комментарии. И будет тебе твой любимый #ifdef AUTHOR_MUDAK ...

Старый пионэр

anonymous
()

2anonymous: "DotGNU, насколько я понял вызвал, вызвал раскол среди линуксоидов. Возможно мне кто нибудь объяснит почему это произошло?"

Основная причина существования .net - обеспечить Микрософт свободу от x86 архитектуры. Все остальное - чисто маркетинговая бредятина, предназначенная для завлечения леммингов. Как не трудно заметить, Линукс _уже_ архитектурно не зависим. Стратегический вопрос - надо ли помогать Микрософт популяризовывать переход от одной проприетари платформы к другой? Вот по ответу на этот вопрос мнения и разделяются... ;))

ZhekaSmith
()

2AC: "Ada -- слишком трудный и "тяжелый" язык. Много в ней всего..."

Ой. Ада, действительно, трудный и "тяжелый" язык, что и стало причиной ее непопулярности. Только C++, на мой взгляд, намного более трудный и "тяжелый". Мне так кажется, что если C++ не развивался, а родился сразу такой какой он есть, то его бы изучать никто не стал. Сейчас в учебных заведениях, бывает, отказываются изучать C++ в пользу Java.

ZhekaSmith
()
Ответ на: комментарий от AC

В первую очередь тяжеловесностью реализации. Только я не про C++, а про Жабу говорил - там мне не нравятся синтаксические излишества. Ну и тормознутостью, конечно же.

Antichrist
()
Ответ на: комментарий от no-dashi

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

Так что в жопу Жабу.

Antichrist
()
Ответ на: комментарий от vi

Глупый ты. Очевидно, по причине малолетсва, или там какие врождённые дефекты головного мозга. Какого *программиста*, а не пидрилу-лабалу на ВыжуалВасике будет волновать МОДА? Программисту хуй положить на то, что там сейчас считают модным, он просто выберет для себя наиболее подходящий под конкретную задачу инструмент из доступных. Серебрянной пули нет - так что ни Жаба, ни .NET, ни тот же мудацкий C++ никогда не будут универсальными инструментами, какие бы толпы ебанутых фанатиков от них не кончали бы кипятком.

Antichrist
()
Ответ на: комментарий от anonymous

Дык я так и делаю. От чего собрать можно только под юнихами, и это мне не нравится. Было бы кошерно, если б наличествовал родной для Жабы препроцессор.

Antichrist
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.