Re[2]: Новый компилятор C#
От: Cyberax Марс  
Дата: 27.01.09 09:28
Оценка: +1 :))) :))) :)))
Здравствуйте, VladD2, Вы писали:

VD>Данная библиотека будет бурно развиваться? Если нет, я бы оставил ее на С. Переносимее языка чем С не найти. Подключить Сишную библиотеку к Шарповскому проекту элементарно. Скорость компиляторы С/С++ дают пока что более высокую. Так что единственным разумным аргументом за перенос может являться серьезное развитие данной библиотеки.

Влад, что это с тобой? Ты не заболел?
Sapienti sat!
Re: Новый компилятор C#
От: VladD2 Российская Империя www.nemerle.org
Дата: 27.01.09 08:56
Оценка: +6
Здравствуйте, syomin, Вы писали:

S>Вопрос не праздный — есть желание перетащить небольшую (5 тыс. строк вместе с комментариями) библиотечку с C (без плюсов) на C#...

S>P.P.S. Библиотека предназначена для анализа растровых изображений, т.е. в принципе, достаточно ресурсоемкая в плане памяти и CPU. Поэтому аргументы в пользу C++ тоже принимаются.

Данная библиотека будет бурно развиваться? Если нет, я бы оставил ее на С. Переносимее языка чем С не найти. Подключить Сишную библиотеку к Шарповскому проекту элементарно. Скорость компиляторы С/С++ дают пока что более высокую. Так что единственным разумным аргументом за перенос может являться серьезное развитие данной библиотеки.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Новый компилятор C#
От: VladD2 Российская Империя www.nemerle.org
Дата: 27.01.09 17:20
Оценка: 1 (1) +2 -1
Здравствуйте, minorlogic, Вы писали:

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


M>>в) переписать на Managed C++ (CLI), в зависимости от активного использования неподдерживаемых фич, это может быть и просто и сложно.

M>>г) переписать на С#, если тяжело сразу за один приём — делать это постепенно, переписывая некоторые классы на С#, и линкуя это с Managed C++ кодом и проверяя на работоспособность, и так пока все классы не перепишутся на С#.

M>Может пункт г) начать с декомпиляции IL в C# ?


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

Если же переписывать в безопасное подмножество C++/CLI, то код мало чем будет отличаться от C#-ного.

Итого идея промежуточного переписывания на С++ — это дурь. Проще сразу переписывать на C#. Темболее, что в первом проходе это можно сделать весьма механически. Адресную арифметику заменить на работу с массивами и т.п.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Новый компилятор C#
От: Cyberax Марс  
Дата: 27.01.09 07:51
Оценка: +3
Здравствуйте, Aen Sidhe, Вы писали:

C>>Чего-чего? А всякие COM, GObject и прочие самоделки мне, значит, почудились?

AS>:offtopic:
AS>Я всегда считал, что стандартный C (не Objective C) не умеет ООП штатно. Насколько я понял, это заблуждение, так?
Да.

С прекрасно поддерживает ООП, просто в нём нет встроенных примитивов для ООП. К примеру, "полиморфный класс" — это встроеное в язык средство в C#/Java, а в С — это просто будет паттерном, который может быть реализован рядом способов.
Sapienti sat!
Re[4]: Новый компилятор C#
От: minorlogic Украина  
Дата: 27.01.09 23:38
Оценка: -2 :)
Здравствуйте, VladD2, Вы писали:

VD>Итого идея промежуточного переписывания на С++ — это дурь.


За очередное хамство , слово "дурь".
... << RSDN@Home 1.2.0 alpha 4 rev. 1111>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[2]: Новый компилятор C#
От: Cyberax Марс  
Дата: 27.01.09 07:26
Оценка: 1 (1) +1
Здравствуйте, Socrat, Вы писали:

S>Главное отличие C от C# — это то, что в C ООП отсутсвует напрочь, а C# полностью ориентирован на него.

Чего-чего? А всякие COM, GObject и прочие самоделки мне, значит, почудились?

S>Поэтому при переходе потребуется полная переделка кода.

Почему?

S>Правда, можно использовать статические члены, но это криво.

Чем?
Sapienti sat!
Re[3]: Новый компилятор C#
От: MasterZiv СССР  
Дата: 27.01.09 07:37
Оценка: :))
Cyberax пишет:

> S>Главное отличие C от C# — это то, что в C ООП отсутсвует напрочь, а C#

> полностью ориентирован на него.
> Чего-чего? А всякие COM, GObject и прочие самоделки мне, значит, почудились?
Не обращай внимания. Он пошутил ...
Posted via RSDN NNTP Server 2.1 beta
Re[3]: Новый компилятор C#
От: VladD2 Российская Империя www.nemerle.org
Дата: 27.01.09 17:16
Оценка: -1 :)
Здравствуйте, Cyberax, Вы писали:

VD>>Данная библиотека будет бурно развиваться? Если нет, я бы оставил ее на С. Переносимее языка чем С не найти. Подключить Сишную библиотеку к Шарповскому проекту элементарно. Скорость компиляторы С/С++ дают пока что более высокую. Так что единственным разумным аргументом за перенос может являться серьезное развитие данной библиотеки.

C>Влад, что это с тобой? Ты не заболел?

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

Может ты меня с thesz попутал
Автор: thesz
Дата: 27.01.09
? Или еще с кем?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Новый компилятор C#
От: VladD2 Российская Империя www.nemerle.org
Дата: 28.01.09 10:12
Оценка: +1 -1
Здравствуйте, minorlogic, Вы писали:

VD>>Итого идея промежуточного переписывания на С++ — это дурь.


M>За очередное хамство , слово "дурь".


Извини, но я привык называт вещи своими именами. Если я вижу бесполезное и глупое предложение выполенение которого приведет к серьезному усложнению работы, то я говорю, что это — дурь.

Я еще негров, не поверишь, неграми называю.

Может это и не полит-корректно, но зато отражает суть.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Новый компилятор C#
От: Aen Sidhe Россия Просто блог
Дата: 28.01.09 10:19
Оценка: +1 -1
Здравствуйте, VladD2, Вы писали:

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


VD>>>Итого идея промежуточного переписывания на С++ — это дурь.


M>>За очередное хамство , слово "дурь".


VD>Извини, но я привык называт вещи своими именами. Если я вижу бесполезное и глупое предложение выполенение которого приведет к серьезному усложнению работы, то я говорю, что это — дурь.


VD>Может это и не полит-корректно, но зато отражает суть.


:offtopic:
AFAIK, назвать негра "негром" или "чёрным" (black) — политкорректно. Неполиткорректно — "нигер" (nigger) — это оскорбление, примерно "чурка чернож...".
С уважением, Анатолий Попов.
ICQ: 995-908
Re[5]: Новый компилятор C#
От: EvilChild Ниоткуда  
Дата: 30.01.09 21:20
Оценка: 23 (1)
Здравствуйте, AndrewVK, Вы писали:

AVK>Недавно вышел релиз 2.2. ЕМНИП, там уже используется linear JIT и ситуация с производительностью несколько улучшилась.

Здесь есть benchmark.
Забавно — твоё сообщение было последним из непрочитанных, я после него переключился в google reader и сразу нарвался на эту ссылку.
now playing: Martinez — Mundial
Re[3]: Новый компилятор C#
От: thesz Россия http://thesz.livejournal.com
Дата: 27.01.09 12:32
Оценка: :)
VD>>Данная библиотека будет бурно развиваться? Если нет, я бы оставил ее на С. Переносимее языка чем С не найти. Подключить Сишную библиотеку к Шарповскому проекту элементарно. Скорость компиляторы С/С++ дают пока что более высокую. Так что единственным разумным аргументом за перенос может являться серьезное развитие данной библиотеки.
S>В том то и дело, что библиотеку нужно серьезно развивать. Фактически, на данный момент она не представляет существенного практического интереса в силу слабых функциональных возможностей.
S>А C действительно выбирался из соображений простоты использования из разных языков. Но оказалось, что прежде чем что-то легко и элегантно использовать, этот что-то нужно еще и написать...

C++

С помощью магии extern "C" { ... } делается интерфейс в Си и затем это легко и просто подключается к любому ЯП.

Так сделана ODE, библиотека игровой физики.

PS
А ещё есть Хаскель с его FFI, который тоже даёт возможность сделать интерфейс, вызываемый из C...
Yours truly, Serguey Zefirov (thesz NA mail TOCHKA ru)
Re[5]: Новый компилятор C#
От: FR  
Дата: 29.01.09 04:38
Оценка: +1
Здравствуйте, syomin, Вы писали:

S>Ага. Это была моя первая идея, когда стало очевидно, что нужно что-то менять. Даже процентов 50 работы сделал. Но хотелось бы еще более высокий уровень абстракции, чем может предложить C++. Только я никак не могу придумать, как в случае с C# организовать процесс миграции.


Вообще то уровень абстракции предоставляемый C# и C++ очень близкий.
Если нужен более высокий уровень нужно смотреть на функциональщину, исходя из задачи например на ocaml (или F# для NET)
Новый компилятор C#
От: syomin  
Дата: 27.01.09 07:15
Оценка:
Добрый день!

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

Вопрос не праздный — есть желание перетащить небольшую (5 тыс. строк вместе с комментариями) библиотечку с C (без плюсов) на C#. Ситуация несколько осложняется тем, что на данный момент исходная библиотека компилируется только под UNIX, но это, в принципе, решаемо. И вот сижу чещу репу, как это можно сделать, а главное — стоит ли.

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

P.P.S. Библиотека предназначена для анализа растровых изображений, т.е. в принципе, достаточно ресурсоемкая в плане памяти и CPU. Поэтому аргументы в пользу C++ тоже принимаются.

P.P.S. Проект делается в свободное от основной работы и семьи время, поэтому ресурсы очень даже не бесконечны...
Re: Новый компилятор C#
От: Socrat Россия  
Дата: 27.01.09 07:22
Оценка:
Здравствуйте, syomin, Вы писали:

S>Вопрос не праздный — есть желание перетащить небольшую (5 тыс. строк вместе с комментариями) библиотечку с C (без плюсов) на C#. Ситуация несколько осложняется тем, что на данный момент исходная библиотека компилируется только под UNIX, но это, в принципе, решаемо. И вот сижу чещу репу, как это можно сделать, а главное — стоит ли.


Главное отличие C от C# — это то, что в C ООП отсутсвует напрочь, а C# полностью ориентирован на него. Поэтому при переходе потребуется полная переделка кода. Правда, можно использовать статические члены, но это криво.
Re[2]: Новый компилятор C#
От: syomin  
Дата: 27.01.09 07:30
Оценка:
S>Главное отличие C от C# — это то, что в C ООП отсутсвует напрочь, а C# полностью ориентирован на него. Поэтому при переходе потребуется полная переделка кода. Правда, можно использовать статические члены, но это криво.

Добрый день!
Забыл сказать, что библиотека написана в "объектном" стиле. Приблизительно так:
typedef struct _Foo Foo;


Foo *foo_new(int arg0, int arg1);
void foo_free(Foo *self);

void foo_do_something(Foo *self);


Т.е. полной переделки кода в плане архитектуры быть не должно.
Re: Новый компилятор C#
От: Cyberax Марс  
Дата: 27.01.09 07:35
Оценка:
Здравствуйте, syomin, Вы писали:

S>Краем уха слышал, что Microsoft сейчас активно пишет новый компилятор C#. Одно из главных отличий — теперь он будет написан на C# (я так понимаю, старый был сделан на C++). Может, кто-то в курсе, как именно происходит этот процесс:

Я перенёс пару проектов с С на Java. Обычно начинал с того, что тупо переносил код с С в Java, делая очевидные преобразования стиля. Сразу же можно заменять мелочи типа системы конфигурации, парсеров XML и т.п.

S>P.P.S. Библиотека предназначена для анализа растровых изображений, т.е. в принципе, достаточно ресурсоемкая в плане памяти и CPU. Поэтому аргументы в пользу C++ тоже принимаются.

Ну так пусть остаётся в виде С++ — просто перенеси её в C++/CLI, скорее всего, хватит простой перекомпиляции.
Sapienti sat!
Re[3]: Новый компилятор C#
От: Socrat Россия  
Дата: 27.01.09 07:42
Оценка:
Здравствуйте, syomin, Вы писали:

S>>Главное отличие C от C# — это то, что в C ООП отсутсвует напрочь, а C# полностью ориентирован на него. Поэтому при переходе потребуется полная переделка кода. Правда, можно использовать статические члены, но это криво.


S>Добрый день!

S>Забыл сказать, что библиотека написана в "объектном" стиле. Приблизительно так:
S>
S>typedef struct _Foo Foo;


S>Foo *foo_new(int arg0, int arg1);
S>void foo_free(Foo *self);

S>void foo_do_something(Foo *self);

S>


S>Т.е. полной переделки кода в плане архитектуры быть не должно.


Ну, в таком случае преобразование хотя бы в C++ само напрашивается... Можно даже частями.
Re[2]: Новый компилятор C#
От: syomin  
Дата: 27.01.09 07:44
Оценка:
S>>Краем уха слышал, что Microsoft сейчас активно пишет новый компилятор C#. Одно из главных отличий — теперь он будет написан на C# (я так понимаю, старый был сделан на C++). Может, кто-то в курсе, как именно происходит этот процесс:
C>Я перенёс пару проектов с С на Java. Обычно начинал с того, что тупо переносил код с С в Java, делая очевидные преобразования стиля. Сразу же можно заменять мелочи типа системы конфигурации, парсеров XML и т.п.

Т.е. вы просто писали новый проект, по ходу дела подглядывая в старый?

C>Ну так пусть остаётся в виде С++ — просто перенеси её в C++/CLI, скорее всего, хватит простой перекомпиляции.

Это решение мне не подходит. Во-первых, версии на C++ нет — сделано только процентов 50 работы. Во-вторых, C++/CLI нет под Mono, а от UNIX'а отказываться не хотелось бы. В-третьих (оно же главное), мне не нужен .Net ради .Net'а. Сейчас я оказался в такой ситуации, когда очевидно, что для проекта были выбраны слишком низкоуровневые средства и развивать проект дальше — крайне тяжело. Нужно куда-то мигрировать. Первый вариант — переходить на C++. Работы по миграции были начаты и жизнь действительно стала лучше, но в случае C# она стала бы ещё лучше, т.к. некоторых возможностей C# мне не хватает (например, сериализации и индексаторов с несколькими аргументами). Да, я знаю как это сделать на C++, но на C# это ЗНАЧИТЕЛЬНО проще. Вот и чешу репу...
Re[3]: Новый компилятор C#
От: Aen Sidhe Россия Просто блог
Дата: 27.01.09 07:46
Оценка:
Здравствуйте, Cyberax, Вы писали:

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


S>>Главное отличие C от C# — это то, что в C ООП отсутсвует напрочь, а C# полностью ориентирован на него.

C>Чего-чего? А всякие COM, GObject и прочие самоделки мне, значит, почудились?
:offtopic:

Я всегда считал, что стандартный C (не Objective C) не умеет ООП штатно. Насколько я понял, это заблуждение, так?
С уважением, Анатолий Попов.
ICQ: 995-908
Re[4]: Новый компилятор C#
От: syomin  
Дата: 27.01.09 07:47
Оценка:
S>Ну, в таком случае преобразование хотя бы в C++ само напрашивается... Можно даже частями.
Ага. Это была моя первая идея, когда стало очевидно, что нужно что-то менять. Даже процентов 50 работы сделал. Но хотелось бы еще более высокий уровень абстракции, чем может предложить C++. Только я никак не могу придумать, как в случае с C# организовать процесс миграции.
Re[3]: Новый компилятор C#
От: Cyberax Марс  
Дата: 27.01.09 07:48
Оценка:
Здравствуйте, syomin, Вы писали:

C>>Я перенёс пару проектов с С на Java. Обычно начинал с того, что тупо переносил код с С в Java, делая очевидные преобразования стиля. Сразу же можно заменять мелочи типа системы конфигурации, парсеров XML и т.п.

S>Т.е. вы просто писали новый проект, по ходу дела подглядывая в старый?
Просто открывал на одном мониторе Java IDE, на другом мониторе текстовый редактор — и делал cut&paste кусков кода.

S>Да, я знаю как это сделать на C++, но на C# это ЗНАЧИТЕЛЬНО проще. Вот и чешу репу...

Ну значит и переводи на С#.
Sapienti sat!
Re[4]: Новый компилятор C#
От: syomin  
Дата: 27.01.09 07:49
Оценка:
AS>Я всегда считал, что стандартный C (не Objective C) не умеет ООП штатно. Насколько я понял, это заблуждение, так?
Языковой поддержки ООП в C нет, но изобразить что-то похожее никто не мешает. В общем, главный плюс такого велосипеда — его легко использовать из разных языков программирования. Минусы — сложность разработки и сопровождения.
Re[5]: Новый компилятор C#
От: Aen Sidhe Россия Просто блог
Дата: 27.01.09 07:52
Оценка:
Здравствуйте, syomin, Вы писали:

AS>>Я всегда считал, что стандартный C (не Objective C) не умеет ООП штатно. Насколько я понял, это заблуждение, так?

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

а, ну всё как я и думал Спасибо
С уважением, Анатолий Попов.
ICQ: 995-908
Re[5]: Новый компилятор C#
От: Socrat Россия  
Дата: 27.01.09 08:17
Оценка:
Здравствуйте, syomin, Вы писали:

S>>Ну, в таком случае преобразование хотя бы в C++ само напрашивается... Можно даже частями.

S>Ага. Это была моя первая идея, когда стало очевидно, что нужно что-то менять. Даже процентов 50 работы сделал. Но хотелось бы еще более высокий уровень абстракции, чем может предложить C++. Только я никак не могу придумать, как в случае с C# организовать процесс миграции.

Я бы сначала закончил переход на C++, а потом в C#. Это, конечно, если у тебя нет возможности заморозить проект...
Re[6]: Новый компилятор C#
От: syomin  
Дата: 27.01.09 08:21
Оценка:
S>Я бы сначала закончил переход на C++, а потом в C#. Это, конечно, если у тебя нет возможности заморозить проект...
Проект не развивается сейчас, так что особого смысла переходить сначала на C++ а потом на C# — нет.
Re: Новый компилятор C#
От: yumi  
Дата: 27.01.09 08:48
Оценка:
Здравствуйте, syomin, Вы писали:

S>Краем уха слышал, что Microsoft сейчас активно пишет новый компилятор C#. Одно из главных отличий — теперь он будет написан на C# (я так понимаю, старый был сделан на C++). Может, кто-то в курсе, как именно происходит этот процесс:

S>
Посмотри еще на технологию Bootstrapping'а.

S>Вопрос не праздный — есть желание перетащить небольшую (5 тыс. строк вместе с комментариями) библиотечку с C (без плюсов) на C#. Ситуация несколько осложняется тем, что на данный момент исходная библиотека компилируется только под UNIX, но это, в принципе, решаемо. И вот сижу чещу репу, как это можно сделать, а главное — стоит ли.


5 тыс. строк можно запросто полностью переписать за день или два. Только вот, зачем?
Lisp is not dead. It’s just the URL that has changed:
http://clojure.org
Re[4]: Новый компилятор C#
От: Socrat Россия  
Дата: 27.01.09 08:49
Оценка:
Здравствуйте, Aen Sidhe, Вы писали:

AS>Я всегда считал, что стандартный C (не Objective C) не умеет ООП штатно. Насколько я понял, это заблуждение, так?


Нет, не заблуждение. Просто всякие там COMы — платформенные прибабахи, которые разработаны для обмена между процессами, к языку не имеют никакого отношения. А концепции ООП вполне можно придерживаться и на C.
Re[7]: Новый компилятор C#
От: Socrat Россия  
Дата: 27.01.09 08:50
Оценка:
Здравствуйте, syomin, Вы писали:

S>>Я бы сначала закончил переход на C++, а потом в C#. Это, конечно, если у тебя нет возможности заморозить проект...

S>Проект не развивается сейчас, так что особого смысла переходить сначала на C++ а потом на C# — нет.

Тогда в чем вопрос? Переходи сразу туда, куда хочется.
Re[2]: Новый компилятор C#
От: syomin  
Дата: 27.01.09 08:51
Оценка:
Y>5 тыс. строк можно запросто полностью переписать за день или два. Только вот, зачем?
Если вы действительно так можете, то снимаю перед вами шляпу. А цель проста — упростить себе жизнь.
Re[2]: Новый компилятор C#
От: syomin  
Дата: 27.01.09 09:01
Оценка:
VD>Данная библиотека будет бурно развиваться? Если нет, я бы оставил ее на С. Переносимее языка чем С не найти. Подключить Сишную библиотеку к Шарповскому проекту элементарно. Скорость компиляторы С/С++ дают пока что более высокую. Так что единственным разумным аргументом за перенос может являться серьезное развитие данной библиотеки.

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

А C действительно выбирался из соображений простоты использования из разных языков. Но оказалось, что прежде чем что-то легко и элегантно использовать, этот что-то нужно еще и написать...
Re: Новый компилятор C#
От: mkizub Литва http://symade.tigris.org
Дата: 27.01.09 12:28
Оценка:
Здравствуйте, syomin, Вы писали:

S>Вопрос не праздный — есть желание перетащить небольшую (5 тыс. строк вместе с комментариями) библиотечку с C (без плюсов) на C#. Ситуация несколько осложняется тем, что на данный момент исходная библиотека компилируется только под UNIX, но это, в принципе, решаемо. И вот сижу чещу репу, как это можно сделать, а главное — стоит ли.


Я бы перетаскивал так.
а) переписать на С++, это должно быть довольно просто.
б) заменить все глобальные модули классами и глобальные методы/переменные методами/полями классов.
в) переписать на Managed C++ (CLI), в зависимости от активного использования неподдерживаемых фич, это может быть и просто и сложно.
г) переписать на С#, если тяжело сразу за один приём — делать это постепенно, переписывая некоторые классы на С#, и линкуя это с Managed C++ кодом и проверяя на работоспособность, и так пока все классы не перепишутся на С#.

Заодно и тесты напишешь для своей библиотеки.
SOP & SymADE: http://symade.tigris.org , блог http://mkizub.livejournal.com
Re[2]: Новый компилятор C#
От: minorlogic Украина  
Дата: 27.01.09 15:55
Оценка:
Здравствуйте, mkizub, Вы писали:

M>в) переписать на Managed C++ (CLI), в зависимости от активного использования неподдерживаемых фич, это может быть и просто и сложно.

M>г) переписать на С#, если тяжело сразу за один приём — делать это постепенно, переписывая некоторые классы на С#, и линкуя это с Managed C++ кодом и проверяя на работоспособность, и так пока все классы не перепишутся на С#.

Может пункт г) начать с декомпиляции IL в C# ?
... << RSDN@Home 1.2.0 alpha 4 rev. 1111>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[3]: Новый компилятор C#
От: VladD2 Российская Империя www.nemerle.org
Дата: 27.01.09 17:13
Оценка:
Здравствуйте, syomin, Вы писали:

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


S>А C действительно выбирался из соображений простоты использования из разных языков. Но оказалось, что прежде чем что-то легко и элегантно использовать, этот что-то нужно еще и написать...


Тогда проедите эксперименты на тему устроит ли производительность управляемого языка и переписывайте.
Вы, как я понял, хотите и на Моно этот код ганять. Так? А вот Моно серьезно медленнее дотнета. Проверьте и это.

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

Что же до анализа... Возможно имеет смысл поглядеть нет ли чего уже на эту тему. Ведь анализ штука сложная.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Новый компилятор C#
От: Cyberax Марс  
Дата: 27.01.09 17:36
Оценка:
Здравствуйте, VladD2, Вы писали:

C>>Влад, что это с тобой? Ты не заболел?

VD>Ты наверно меня с кем-то путаешь. Я никогда не советовал делать глупой и бесполезной работы. На все нужны основания.
Ну... Если припомнить флеймы, бушевавшие так года три-четыре назад...

В любом случае, поставил плюс за здравую позицию.
Sapienti sat!
Re: Новый компилятор C#
От: Roman Odaisky Украина  
Дата: 27.01.09 18:13
Оценка:
Так а почему C#, а не Java, например?
До последнего не верил в пирамиду Лебедева.
Re[4]: Новый компилятор C#
От: z00n  
Дата: 28.01.09 07:28
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Вы, как я понял, хотите и на Моно этот код ганять. Так? А вот Моно серьезно медленнее дотнета. Проверьте и это.

Зато с недавних пор пjддерживает SIMD
Mono's SIMD Support: Making Mono safe for Gaming
Re: Новый компилятор C#
От: Алексей.  
Дата: 28.01.09 09:24
Оценка:
Здравствуйте, syomin, Вы писали:

S>Краем уха слышал, что Microsoft сейчас активно пишет новый компилятор C#. Одно из главных отличий — теперь он будет написан на C# (я так понимаю, старый был сделан на C++).


Откуда у Вас такая информация?

S>Может, кто-то в курсе, как именно происходит этот процесс:

S>
Самый простой способ:
1. Мысленно разрезаете свой проект на C на части.
2. Копипастите C код в C# проект и доводите его до компилируемого состояния (сначала базовые части, потом зависимые от них).
3. Повторяете пункт 2 для каждой новой порции кода.

Если есть тесты проверяющие правильность работы программы — то перенесите и их. Сильно помогут при отладке.

По-своему опыту могу сказать процесс весьма несложный, особенно при наличии тестов.
Re[5]: Новый компилятор C#
От: VladD2 Российская Империя www.nemerle.org
Дата: 29.01.09 03:30
Оценка:
Здравствуйте, Cyberax, Вы писали:

VD>>Ты наверно меня с кем-то путаешь. Я никогда не советовал делать глупой и бесполезной работы. На все нужны основания.

C>Ну... Если припомнить флеймы, бушевавшие так года три-четыре назад...

Припомни. Я когда-то говорил, что что-то надо делать просто из соображений "зачесалось"?

C>В любом случае, поставил плюс за здравую позицию.


И на том спасибо.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: Новый компилятор C#
От: VladD2 Российская Империя www.nemerle.org
Дата: 29.01.09 03:34
Оценка:
Здравствуйте, Aen Sidhe, Вы писали:

AS>:offtopic:

AS>AFAIK, назвать негра "негром" или "чёрным" (black) — политкорректно. Неполиткорректно — "нигер" (nigger) — это оскорбление, примерно "чурка чернож...".

Расскажи это полностью помешанным на политкорректности европейцам и северным американцам.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Новый компилятор C#
От: VladD2 Российская Империя www.nemerle.org
Дата: 29.01.09 03:38
Оценка:
Здравствуйте, z00n, Вы писали:

VD>>Вы, как я понял, хотите и на Моно этот код ганять. Так? А вот Моно серьезно медленнее дотнета. Проверьте и это.

Z>Зато с недавних пор пjддерживает SIMD
Z>Mono's SIMD Support: Making Mono safe for Gaming

Не знаю, не знаю. Возможно мои представления о Моно устарели, но последний раз когда я пробовал с ним возиться он безбожно Тормозил (в разы отставая от прототипа).

Будет замечательно если Моно подтянется или даже перегонит дотнет. Получить быструю эпиплатформенную среду — это замечательно.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[8]: Новый компилятор C#
От: Aen Sidhe Россия Просто блог
Дата: 29.01.09 05:40
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, Aen Sidhe, Вы писали:


AS>>:offtopic:

AS>>AFAIK, назвать негра "негром" или "чёрным" (black) — политкорректно. Неполиткорректно — "нигер" (nigger) — это оскорбление, примерно "чурка чернож...".

VD>Расскажи это полностью помешанным на политкорректности европейцам и северным американцам.


Это мне британцы объясняли в своё время.
С уважением, Анатолий Попов.
ICQ: 995-908
Re[4]: Новый компилятор C#
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 30.01.09 21:00
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Вы, как я понял, хотите и на Моно этот код ганять. Так? А вот Моно серьезно медленнее дотнета.


Недавно вышел релиз 2.2. ЕМНИП, там уже используется linear JIT и ситуация с производительностью несколько улучшилась.
... << RSDN@Home 1.2.0 alpha 4 rev. 1137 on Windows Vista 6.0.6001.65536>>
AVK Blog
Re[3]: Новый компилятор C#
От: Tom Россия http://www.RSDN.ru
Дата: 31.01.09 21:23
Оценка:
S>>Главное отличие C от C# — это то, что в C ООП отсутсвует напрочь, а C# полностью ориентирован на него.
C>Чего-чего? А всякие COM, GObject и прочие самоделки мне, значит, почудились?
GObject — а шо цэ таке? И причём тут COM к обьектно ориентированности языка?
Народная мудрось
всем все никому ничего(с).
Re[4]: Новый компилятор C#
От: Cyberax Марс  
Дата: 01.02.09 03:25
Оценка:
Здравствуйте, Tom, Вы писали:

S>>>Главное отличие C от C# — это то, что в C ООП отсутсвует напрочь, а C# полностью ориентирован на него.

C>>Чего-чего? А всякие COM, GObject и прочие самоделки мне, значит, почудились?
Tom>GObject — а шо цэ таке? И причём тут COM к обьектно ориентированности языка?
GObject — средство создания объектов в GTK.

GObject и COM — это способы создать объектно-ориентированую среду, которые могут прекрасно работать даже в чистом ассемблере.
Sapienti sat!
Re[5]: Новый компилятор C#
От: FR  
Дата: 01.02.09 09:02
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>GObject и COM — это способы создать объектно-ориентированую среду, которые могут прекрасно работать даже в чистом ассемблере.


А turbo assembler и так есть
Re: Новый компилятор C#
От: master_of_shadows Беларусь  
Дата: 12.02.09 14:55
Оценка:
Здравствуйте, syomin, Вы писали:

S>Добрый день!


S>Краем уха слышал, что Microsoft сейчас активно пишет новый компилятор C#. Одно из главных отличий — теперь он будет написан на C#

S>Вопрос не праздный — есть желание перетащить небольшую (5 тыс. строк вместе с комментариями) библиотечку с C (без плюсов) на C#.
Честно говоря не вижу никакой связи между двумя этими поинтами.

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

Если нужно побольше абстракции, то в этом случае СиШарп порульнее чем Си++.

S>P.P.S. Библиотека предназначена для анализа растровых изображений, т.е. в принципе, достаточно ресурсоемкая в плане памяти и CPU. Поэтому аргументы в пользу C++ тоже принимаются.

Может быть имеет смысл оставить всё как есть? Использовать такого рода библиотеку можно и из Си++ и из СиШарп. И переносимость у неё лучше. Скорость работы точно лучше чем у СиШарп будет.
Re[9]: Новый компилятор C#
От: VladD2 Российская Империя www.nemerle.org
Дата: 13.02.09 08:15
Оценка:
Здравствуйте, Aen Sidhe, Вы писали:

AS>Это мне британцы объясняли в своё время.


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