Насколько я понял, в рамках проекта Nemerle 2 вы планируете сделать "Универсальный Всемогутер", в котором можно будет создавать любые языки программирования с любым синтаксисом, шахматами и поэтессами.
То есть это будет уже совсем другой, по сути, проект, мало общего имеющий с Nemerle 1, так?
А что в контексте этого вы планируете делать с Nemerle 1, который, все-таки является просто языком программирования, хоть и с относительно уникальными возможностями в виде метапрограммирования?
Может, имеет смысл Nemerle 2 назвать как-то по-другому, сделать другим проектом, а Nemerle 1 продолжить развивать в более консервативном ключе?
Насколько я понял, Nemerle 1, несмотря на мощь макросов, как язык "из коробки" во многих местах уступает даже C# и содержит довольно много багов и недоработок. Причем некоторые возможности C# в Nemerle нельзя реализовать даже с помощью макросов (конкретный пример вспомнить не могу). Вспоминаются посты Nikov'а, когда он взялся поковырять Nemerle, и из последнего посыпался фейерверк багов.
В общем, такое предложение: консервативное развитие Nemerle 1.x-2.x, и "всемогутер" в виде другого проекта с другим названием типа "... Framework".
Начать хочется с ответа на это:
А>Насколько я понял, Nemerle 1, несмотря на мощь макросов, как язык "из коробки" во многих местах уступает даже C# и содержит довольно много багов и недоработок. Причем некоторые возможности C# в Nemerle нельзя реализовать даже с помощью макросов (конкретный пример вспомнить не могу). Вспоминаются посты Nikov'а, когда он взялся поковырять Nemerle, и из последнего посыпался фейерверк багов.
Такое мнение может сложиться только, если познакомиться с языком очень поверхностно.
Что касается примеров Nikov-а, то большая часть из них носить сугубо теоретический характер, и на практике нарваться на найденные им недороботки вряд ли кому-то удастся. По крайней мере пока что никто не нарывался.
На мой скромный взгляд, Nemerle уже полностью готов к тому, чтобы заменить C# в коммерческих проектах. Более того, его использование позволит увеличить производительность труда программиста в разы!
А с тех пор Nemerle стал еще стабильнее и мощнее.
Что касается возможностей языка, то C#-у до возможностей Nemerle расти и расти. Все что было в C# мало-мальски полезного (кроме unsafe) мы повторили (или сделали аналог).
Так что твое мнение не более чем странный миф.
А>Насколько я понял, в рамках проекта Nemerle 2 вы планируете сделать "Универсальный Всемогутер", в котором можно будет создавать любые языки программирования с любым синтаксисом, шахматами и поэтессами.
В рамках N2 мы хотим просто реализовать все так как нужно, без компромиссов и детских ошибок. При этом дизайн самого языка менять никто не хочет. Меняться будет то, что имеет проблемы в дизайне. Значительно изменится макро-система. Но эти изменения пойдут только на пользу писателям макросов, так как макросы будет писать только проще.
А>То есть это будет уже совсем другой, по сути, проект, мало общего имеющий с Nemerle 1, так?
Сам язык постараемся воспроизвести максимально близко к оригиналу. Система макросов будет отличаться.
А>А что в контексте этого вы планируете делать с Nemerle 1, который, все-таки является просто языком программирования, хоть и с относительно уникальными возможностями в виде метапрограммирования?
Nemerle 1 будет использоваться для разработки Nemerle 2 до тех пор пока мы не сможем пересобрать Nemerle 2 им же самим (забудстрапить).
Но и в дальнейшем он будет поддерживаться.
А>Может, имеет смысл Nemerle 2 назвать как-то по-другому, сделать другим проектом, а Nemerle 1 продолжить развивать в более консервативном ключе?
На счет названия сейчас говорить рано. Возможно мы его и изменим.
Что касается отдельного проекта, то это уже (по факту) так.
А>В общем, такое предложение: консервативное развитие Nemerle 1.x-2.x, и "всемогутер" в виде другого проекта с другим названием типа "... Framework".
Примерно так и будет. На счет названия сейчас говорить рано. Рабочее название нового проекта N2, а там поглядим.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
VD>В рамках N2 мы хотим просто реализовать все так как нужно, без компромиссов и детских ошибок. При этом дизайн самого языка менять никто не хочет. Меняться будет то, что имеет проблемы в дизайне. Значительно изменится макро-система. Но эти изменения пойдут только на пользу писателям макросов, так как макросы будет писать только проще.
Поскольку "Dream-Team" для разработки Н2 собрать врядли удастся, то остается два варианта:
1. VladD2 делает все сам. При этом ему изредка помогают члены упомянутого "дримтима".
2. Работа делится на *маленькие* составные части, которые были бы по зубам обычному программисту, коих тут ходит немало и коих за глаза иногда называли "хомячками". — Я сам такой, так что без обид.
А то сразу задание "доведи до ума реактивный Web-Framework", это совсем не для каждого. Да только воз и ныне там, ждет своего Илью Муромца, который придет и все в одиночку сам сделает.
Это как съесть слона (речь не о розовом слоне! ) — по маленькому кусочку за раз.
Здравствуйте, YF, Вы писали:
YF>Здравствуйте, VladD2, Вы писали:
VD>>В рамках N2 мы хотим просто реализовать все так как нужно, без компромиссов и детских ошибок. При этом дизайн самого языка менять никто не хочет. Меняться будет то, что имеет проблемы в дизайне. Значительно изменится макро-система. Но эти изменения пойдут только на пользу писателям макросов, так как макросы будет писать только проще.
YF>Поскольку "Dream-Team" для разработки Н2 собрать врядли удастся, то остается два варианта: YF>1. VladD2 делает все сам. При этом ему изредка помогают члены упомянутого "дримтима".
Проект должен быть командным, и все должны владеть кодом, иначе если один Влад будет знать специфику, то случись еффект кирпича и плакал Н2. Лучше пусть как можно больше людей пожключается и берут маленькие понятные формализованные задачи, решают их и врубаются в общую инфраструктуру, но конечно все под контролем Влада и отцов. Я бы с радостью приложил руку, но писать в одиночку алгоритм типизатора мне не хочется, а если что нибудь попроще то можно.
А с Владом я согласен человек просто еще не включился и смотрит со стороны руководствуясь чужим субьективным опытом. За внешней кажущейся доморощенностью Н скрывается мощь, а некоторые недостатки это лишь дело времени.
Я использую Nemerle 1.0 с VS2010. Есть еще ошибки в Intellisense, в NPROJ реализации.Опыт не сравним с C #.
Лично я думаю, что многое еще предстоит сделать в этом направлении сейчас.
Другие предложения: Resharper поддержки и т.д.
Только делая Nemerle первым гражданином класса в VS 2010 IDE, вы получите популярность, что сделает язык успешной.
И часто, пожалуйста, использовать английский язык!!