Re[32]: Что не сделать на C#, что сделать на C++?
От: Константин Б. Россия  
Дата: 13.07.11 05:31
Оценка:
Здравствуйте, FR, Вы писали:

FR>Здравствуйте, Константин Б., Вы писали:


FR>>>Слышал, но чем он может тут помощь не вижу. Нужен инструмент позволяющий компилировать в автономный независимый нативный код, NGEN же зависимости не убирает.


КБ>>Такой инструмент нельзя написать на шарпе?


FR>Можно и он даже уже написан для Singularity http://en.wikipedia.org/wiki/Bartok_(compiler) но результат точно

FR>такой же как и я выше описывал для PyPy это отдельный ограниченный язык со своим рантаймом и отдельным GC и
FR>компиляцией в нативный код.

"Можно, но результат точно такой же — нельзя". Если можно — то задача решена. Если нельзя — то почему?
Re[33]: Что не сделать на C#, что сделать на C++?
От: FR  
Дата: 13.07.11 05:48
Оценка:
Здравствуйте, Константин Б., Вы писали:

КБ>А что вы понимаете под "эффективностью" в данном случае и почему она должна пострадать?


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

Как пример такой код из PyPy:

def _assemble_bootstrap_direct_call(self, arglocs, jmppos, stackdepth):
        if IS_X86_64:
            return self._assemble_bootstrap_direct_call_64(arglocs, jmppos, stackdepth)
        # XXX pushing ebx esi and edi is a bit pointless, since we store
        #     all regsiters anyway, for the case of guard_not_forced
        # XXX this can be improved greatly. Right now it'll behave like
        #     a normal call
        nonfloatlocs, floatlocs = arglocs
        self._call_header_with_stack_check()
        self.mc.LEA_rb(esp.value, self._get_offset_of_ebp_from_esp(stackdepth))
        for i in range(len(nonfloatlocs)):
            loc = nonfloatlocs[i]
            if isinstance(loc, RegLoc):
                assert not loc.is_xmm
                self.mc.MOV_rb(loc.value, (2 + i) * WORD)
            loc = floatlocs[i]
            if isinstance(loc, RegLoc):
                assert loc.is_xmm
                self.mc.MOVSD_xb(loc.value, (1 + i) * 2 * WORD)
        tmp = eax
        xmmtmp = xmm0
        for i in range(len(nonfloatlocs)):
            loc = nonfloatlocs[i]
            if loc is not None and not isinstance(loc, RegLoc):
                self.mc.MOV_rb(tmp.value, (2 + i) * WORD)
                self.mc.MOV(loc, tmp)
            loc = floatlocs[i]
            if loc is not None and not isinstance(loc, RegLoc):
                self.mc.MOVSD_xb(xmmtmp.value, (1 + i) * 2 * WORD)
                assert isinstance(loc, StackLoc)
                self.mc.MOVSD_bx(loc.value, xmmtmp.value)
        endpos = self.mc.get_relative_pos() + 5
        self.mc.JMP_l(jmppos - endpos)
        assert endpos == self.mc.get_relative_pos()


как-то мало похож на питон

КБ>А от первого фреймворка легко избавится. Запускаем на нем наш ngen# и компилируем наш загрузчик в натив.


ngen разве позволяет делать независимые бинарники которые могут запускаться на голой машине без установленных
фреймворков?
Re[33]: Что не сделать на C#, что сделать на C++?
От: FR  
Дата: 13.07.11 05:53
Оценка:
Здравствуйте, Константин Б., Вы писали:

КБ>"Можно, но результат точно такой же — нельзя". Если можно — то задача решена. Если нельзя — то почему?


Потому что используется отдельный инструмент для написания рантайма, никакой разницы с тем чтобы писать этот
рантайм на си нет.
Re[34]: Что не сделать на C#, что сделать на C++?
От: hardcase Пират http://nemerle.org
Дата: 13.07.11 11:35
Оценка:
Здравствуйте, FR, Вы писали:

FR>ngen разве позволяет делать независимые бинарники которые могут запускаться на голой машине без установленных

FR>фреймворков?

Принципиального ограничения нет. Но вообще-то речь шла о специальной версии ngen (ngen#), которая будет способна это сделать, другое дело что с практической точки зрения это пока никому небыло нужно.
/* иЗвиНите зА неРовнЫй поЧерК */
Re[34]: Что не сделать на C#, что сделать на C++?
От: hardcase Пират http://nemerle.org
Дата: 13.07.11 11:36
Оценка:
Здравствуйте, FR, Вы писали:

FR>Как пример такой код из PyPy:

FR>как-то мало похож на питон

А что такого в этом коде, что его всенепременно следует писать на Си?
/* иЗвиНите зА неРовнЫй поЧерК */
Re[35]: Что не сделать на C#, что сделать на C++?
От: FR  
Дата: 13.07.11 12:53
Оценка: +1
Здравствуйте, hardcase, Вы писали:

H>А что такого в этом коде, что его всенепременно следует писать на Си?


Я такого не утверждал, я говорил лишь все-равно получится также как и на си, высокоуровневость
шарпа или питона останется невостребованной и на практике большого смысла городить для этого
версию языка нет, на си и по трудозатратам получится очень близко и результирующий код будет
более эффективным за счет того что лучшие оптимизирующие компиляторы сишные и переносимость
между платформами будет гораздо выше.
Re[36]: Что не сделать на C#, что сделать на C++?
От: Gaperton http://gaperton.livejournal.com
Дата: 14.07.11 12:42
Оценка: +1
Здравствуйте, FR, Вы писали:

FR>Я такого не утверждал, я говорил лишь все-равно получится также как и на си, высокоуровневость

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

На С/С++ трудозатраты будут меньше, так как не надо будет тратить время на глупости, вроде разработки волшебного компилятора "языка, похожего на С#, но с отличающейся семантикой".
Re[33]: Элитизм
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.02.12 00:35
Оценка:
Здравствуйте, Mamut, Вы писали:

M>ЗЗЫ. Ни против Немерле, ни против людей, его разрабатывающих, лично ничего не имею


Врешь.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[31]: Элитизм
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.02.12 00:37
Оценка:
Здравствуйте, FR, Вы писали:

FR>Элита сейчас только немерле признает


Батенька, да вы и здесь немерл умудрились упомянуть? Да вы маньяк, батенька.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Что не сделать на C#, что сделать на C++?
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.02.12 00:45
Оценка:
Здравствуйте, Gaperton, Вы писали:

G>Если не вдаваться в детали (и в смысл того, что означает "забустрапить" в данном случае) — то, разумеется, никаких. А если вдаваться, то на реализацию JIT-компилятора и сборщика мусора на C# было бы интересно посмотреть. Покажешь, никаких проблем ведь вроде, так?


Вот, гляди. Но ты же все равно отвертишься. Скажешь, что апельсины приносил. (с)
http://ru.wikipedia.org/wiki/Microsoft_Singularity

Библиотеки времени исполнения (англ. runtime) и сборщик мусора написаны на Sing# (специально доработанном для данного проекта диалекте C#) с использованием небезопасного режима (англ. unsafe mode).


Лучше попробуй подумать, что принципиально мешает писать на шарпе GC? Про джит я уже и не заикаюсь. Простой компилятор. Если уж их на Питонах пишут, то на шарпах и подавно можно.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[8]: Что не сделать на C#, что сделать на C++?
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.02.12 00:56
Оценка:
Здравствуйте, khimiki, Вы писали:

K>Если отвечаешь за свои слова, выложи примерчик: форма, на форме область, в которой отрисовывается треугольник с помощью OpenGL и ещё на форму положи бегуночки, перемещая которые мы вращаем треугольник.


http://ru.wikipedia.org/wiki/Microsoft_XNA
http://ru.wikipedia.org/wiki/Tao_Framework

Расширяй кругозор.

K>Пришлёшь пример, я его сразу на CodeProject помещу и имя твоё прославлю, а если не пришлёшь, то ты болтун с большой буквы Б.


Ты опоздал.

Сильно.

Ты лучше гуглем пользуйся когда в следующий раз свои феерическую предположения озвучивать.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[10]: Что не сделать на C#, что сделать на C++?
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.02.12 01:02
Оценка:
Здравствуйте, khimiki, Вы писали:

K>Лично я такого программиста как начальник отдела разработки взашей бы прогнал на улицу.


Ты главное название конторы не называй. А то ведь с того сайта много то на собеседования ходит. Будут вашу контору обходить за тридевять земель.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Что не сделать на C#, что сделать на C++?
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.02.12 01:04
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>P.S. Фраза "на Visual Studio пишет" выдает ваш уровень с потрохами.


По-моему, орел просто троллит.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Что не сделать на C#, что сделать на C++?
От: Философ Ад http://vk.com/id10256428
Дата: 05.02.12 03:07
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Здравствуйте, adontz, Вы писали:


A>>На C#/.Net не стоит писать обработку мультимедиа (крайне низкий уровень оптимизациив ычислений, разница на порядок).


G>обработку мультимедиа нынче можно писать на GPU, но там и не C++ и не C#

обработку мультимедиа нынче можно модно писать на GPU, но там и не C++ и не C#
модно
Всё сказанное выше — личное мнение, если не указано обратное.
Re[32]: Элитизм
От: FR  
Дата: 05.02.12 07:42
Оценка:
Здравствуйте, VladD2, Вы писали:

FR>>Элита сейчас только немерле признает


VD>Батенька, да вы и здесь немерл умудрились упомянуть? Да вы маньяк, батенька.


Извини, обещаю взамен рекламу D в форуме немерле
Re[34]: Элитизм
От: Mamut Швеция http://dmitriid.com
Дата: 05.02.12 08:27
Оценка: :)
M>>ЗЗЫ. Ни против Немерле, ни против людей, его разрабатывающих, лично ничего не имею

VD>Врешь.


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


dmitriid.comGitHubLinkedIn
Re[35]: Элитизм
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.02.12 12:53
Оценка:
Здравствуйте, Mamut, Вы писали:

M>>>ЗЗЫ. Ни против Немерле, ни против людей, его разрабатывающих, лично ничего не имею


VD>>Врешь.


M>На дату сообщения посмотри


А у тебя дат что-то зависит?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[33]: Элитизм
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.02.12 13:12
Оценка:
Здравствуйте, FR, Вы писали:

VD>>Батенька, да вы и здесь немерл умудрились упомянуть? Да вы маньяк, батенька.


FR>Извини, обещаю взамен рекламу D в форуме немерле


Я не против. Только странный выбор форума. Там над тобой только посмеются. Здесь бы это было более разумно.

Или это твое сообщение означает, что за пределами форума "Nemerle" об оном нельзя говорить, чтобы вас не раздражать?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[34]: Элитизм
От: FR  
Дата: 05.02.12 13:29
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Я не против. Только странный выбор форума. Там над тобой только посмеются. Здесь бы это было более разумно.


Там как раз по теме, обсуждаете шаблоны и не смотрите на лучшую их реализацию.

VD>Или это твое сообщение означает, что за пределами форума "Nemerle" об оном нельзя говорить, чтобы вас не раздражать?


Я разрешаю.
Если серъезно то здесь я про немерле как язык и не говорил, я говорил про местную элиту
Re[35]: Элитизм
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.02.12 14:11
Оценка: 18 (1) +1
Здравствуйте, FR, Вы писали:

FR>Там как раз по теме, обсуждаете шаблоны и не смотрите на лучшую их реализацию.


Если в таком ключе, то милости просим. Мы только "за", если кто-то интересные идеи предлагает.
В рекламе D тоже нет ничего плохого. Это даже очень хорошо. Язык во многом интересеный. И если на него свалило бы несколько сотен С++-ников я бы был только рад.

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

VD>>Или это твое сообщение означает, что за пределами форума "Nemerle" об оном нельзя говорить, чтобы вас не раздражать?


FR>Я разрешаю.

FR>Если серъезно то здесь я про немерле как язык и не говорил, я говорил про местную элиту

Ну, вот давай будем друг другу относиться по уважительное.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.