1.1, Аноним (-), 11:10, 04/04/2014 [ответить] [﹢﹢﹢] [ · · · ]
| +6 +/– |
Когда я искал что-нибудь новенькое для изучения выбор был между Go и Rust.
К счастью я выбрал Go...
PS. Ничего не имею против Rust, но мне кажется, что они слишком часто ломают API.
| |
|
2.13, Аноним (-), 12:02, 04/04/2014 [^] [^^] [^^^] [ответить]
| +5 +/– |
> PS. Ничего не имею против Rust, но мне кажется, что они слишком часто ломают API.
То что вы ничего не имеете против, это конечно хорошо, но только сразу видно, что сами вы ничего никогда не создавали.
Посмотрите внимательно на номер версии. На этой стадии "слишком часто ломать API" не только можно, но и нужно.
Лучше в начале хорошенько поломать, чтобы потом ломать можно было как можно меньше ради всяких там обратных совместимостей.
P.S. Однако добавлю свое "не против".
Зачем они его назвали "Rust"? Что они имели в виду?
Rust - означает "ржавчина", в лучшем случае "окисление". По крайней мере других значений я не нашел.
Как корабль назовешь, так оно и полетит...
| |
|
3.17, Анонимоус (?), 12:21, 04/04/2014 [^] [^^] [^^^] [ответить]
| +1 +/– |
>Как корабль назовешь, так оно и полетит...
Матиас Руст в свое время до Красной площади вполне успешно долетел ;)
| |
3.22, zserge (?), 12:45, 04/04/2014 [^] [^^] [^^^] [ответить]
| +/– |
В Go на ранних версиях сделали gofix, который автоматически фиксил изменения в апи и в языке. Т.е. с выходом новой несовместимой версии просто обрабатываешь исходники с gofmt - и получаешь поддержку новых апи.
А насчет версий и циферок: проекты Go и Rust - ровесники, оба с 2009 года, не важно какие цифры в версиях ставить - все равно у Rust темпы развития заметно ниже.
| |
|
4.25, Аноним (-), 12:50, 04/04/2014 [^] [^^] [^^^] [ответить]
| +1 +/– |
Go развивает Google, Rust - Mozilla и сообщество. Естественно, у первых больше ресурсов и темпы развития выше.
| |
|
5.32, Пользователь Дебиан (?), 13:41, 04/04/2014 [^] [^^] [^^^] [ответить]
| +3 +/– |
> Go развивает Google, Rust - Mozilla и сообщество. Естественно, у первых больше
> ресурсов и темпы развития выше.
Не говорите, если не знаете: в Google над Go работает пять-шесть человек, и из них не все делают это фулл-тайм. Основной мейнтейнер Windows-порта не работает в Google. И т.п.
| |
|
4.26, Аноним (-), 13:24, 04/04/2014 [^] [^^] [^^^] [ответить]
| +2 +/– |
это не более чем видимость. Синтаксис Go давно стабилизирован из-за своей чрезвычайной простоты, но под капотом там надо еще очень много чего сделать.
| |
|
3.24, Аноним (-), 12:48, 04/04/2014 [^] [^^] [^^^] [ответить]
| –1 +/– |
Лучше сначала план действий построить, потом пачку прототипов для тестирования и уже потом продукт. Но тут решили пойти по пути без промежуточных прототипов, что в свою очередь заставляет их до сих пор API ломать и ломать...
Повторюсь, я ничего не имею против Rust если будет свободное время то даже посмотрю как он поведет себя на небольшой реальной задачке(но это будет не скоро), а пока мне более интересен Go.
| |
|
4.47, Аноним (-), 08:00, 05/04/2014 [^] [^^] [^^^] [ответить]
| +2 +/– |
> а пока мне более интересен Go
Всем нам очень интересно, что там интересно тебе. На это раз говорю за всех, да.
| |
|
3.30, Пользователь Дебиан (?), 13:37, 04/04/2014 [^] [^^] [^^^] [ответить]
| +1 +/– |
>> PS. Ничего не имею против Rust, но мне кажется, что они слишком часто ломают API.
> То что вы ничего не имеете против, это конечно хорошо, но только
> сразу видно, что сами вы ничего никогда не создавали.
> Посмотрите внимательно на номер версии. На этой стадии "слишком часто ломать API"
> не только можно, но и нужно.
> Лучше в начале хорошенько поломать, чтобы потом ломать можно было как можно
> меньше ради всяких там обратных совместимостей.
Вы правы, но есть одна "тонкость": иногда хочется/требуется, изучая новое, всё же писать код, у которого хорошие шансы *выжить,* и тогда нужна какая-то стабильность.
Go со своим API Compatibility Promise для 1.x вполне это обеспечивает: я знаю, что мой код, написанный для Go 1.1 будет компилироваться Go 1.9, а также это относится ко всем пакетам, которые мой код использует.
Поэтому "на поиграться" Rust безусловно интересен. Но если мы говорим о коде, который собирается где-то работать, то пока что Rust подходит только для Servo, так как по-сути это такой большой красивый набор юниттестов для Rust, который пишут разработчики Rust (я упрощаю, но думаю, моя идея понятна).
| |
3.46, Аноним (-), 02:44, 05/04/2014 [^] [^^] [^^^] [ответить]
| +/– |
> Посмотрите внимательно на номер версии. На этой стадии "слишком часто ломать API" не только можно, но и нужно.
Посмотрите внимательно на номер версии Firefox. А API как начали регулярно ломать с 4-й версии, так и продолжают. Особенно интересно будет, если Electrolysis (выделение вкладок в отдельные процессы) все-таки запилят, то авторам всех расширений, хоть как-то взаимодействующих с содержимым страниц, придется все переписать. Ну, или сменить браузер. :)
| |
|
|
1.2, Аноним (-), 11:12, 04/04/2014 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
А что это такое?
>>Практическая возможность нарушения правил: возможность игнорирования правил безопасности, если чётко указано, когда и как их нарушать | |
|
2.10, Аноним (-), 11:53, 04/04/2014 [^] [^^] [^^^] [ответить]
| +/– |
пишешь unsafe и шпаришь на "сях" -- круши-ломай, память вся твоя
| |
|
3.36, Гость (?), 15:25, 04/04/2014 [^] [^^] [^^^] [ответить]
| –1 +/– |
> пишешь unsafe и шпаришь на "сях" -- круши-ломай, память вся твоя
Воспитанные на сишке и плюсах так и будут писать, поэтому толку от безопастности Rustа будет мало.
| |
|
2.23, zserge (?), 12:46, 04/04/2014 [^] [^^] [^^^] [ответить]
| +/– |
> А что это такое?
>>>Практическая возможность нарушения правил: возможность игнорирования правил безопасности, если чётко указано, когда и как их нарушать
Около 30% кода компилятора Rust обернуто в блоки "unsafe". Т.е. язык настолько безопасен что сколь-либо полезную программу без unsafe не написать.
| |
|
3.37, Гость (?), 15:28, 04/04/2014 [^] [^^] [^^^] [ответить]
| +/– |
>Т.е. язык настолько безопасен что сколь-либо полезную программу без unsafe не написать.
Просто программисты раньше писали на си и плюсах и привыкли к ним до такой степени, что перестроиться под безопасный Rust не смогли.
| |
|
4.40, zserge (?), 16:25, 04/04/2014 [^] [^^] [^^^] [ответить]
| +/– |
>>Т.е. язык настолько безопасен что сколь-либо полезную программу без unsafe не написать.
> Просто программисты раньше писали на си и плюсах и привыкли к ним
> до такой степени, что перестроиться под безопасный Rust не смогли.
Мне кажется что компилятор Rust пишут разработчики, знающие Rust и понимающие как его применять
| |
|
5.43, тоже Аноним (ok), 16:41, 04/04/2014 [^] [^^] [^^^] [ответить]
| +/– |
Господа теоретики, а вам не кажется, что наличие чего бы то ни было в компиляторе отнюдь не означает нужду в этом в прикладном коде?
Сколько процентов макросов и шаблонов в коде GCC?
А STL и Boost, например, все из шаблонов - специально для того, чтобы уже пользователю с ними не париться, а спокойно использовать вылизанные решения на более высоком уровне.
| |
|
|
|
|
1.15, Аноним (-), 12:19, 04/04/2014 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Я уже достаточно пообсуждал этот язык с профи.
Они говорят, что когда есть C++, от Rust пользы никакой, а только дополнительная головная боль из-за ограничений, которые присутствуют в Rust, вследствие того, что это "безопасный язык".
Так что, если не хотите ерундой лишний раз страдать и терять попусту время, тогда учите C++.
И это не говоря уже о том, что для C++ есть уже всё и больше чем всё во всех сферах и моментах, а для раст инраструктура до такой степени разовьётся лет через 15-20. И то при условии, что все массово начнут отказываться от C/C++.
| |
|
2.20, Аноним (-), 12:41, 04/04/2014 [^] [^^] [^^^] [ответить]
| +/– |
Никто не планирует внедрять Rust, язык не рекомендуется использовать в production на данный момент.
C++ - мощнейший инструмент, позволяющий использовать различные парадигмы и технологии программирования. Кроме того, обладающий отличной производительностью. Безопасность - единственное слабое место языка. Писать безопасно на C++ можно, но нужно быть очень осторожным.
Mozilla создаёт язык, который по её мнению сможет стать безопасной заменой C++. Писать на нём не сложнее, а вот выстрелить себе в ногу - гораздо сложнее. Вместе с тем, Rust остаётся производительным, что немаловажно для системного ПО. На мой взгляд, за этим языком будущее.
P.S. John Regehr не так давно говорил, что пора уйти от небезопасных моментов C, создав новый язык. Современные мощности позволяют утратить незначительную долю производительности, получая взамен безопасность. Большой специалист по Си. Как фамилии ваших профи, не поделитесь?
| |
|
3.29, Аноним (-), 13:36, 04/04/2014 [^] [^^] [^^^] [ответить]
| –1 +/– |
Я Вам что, стукач что ли? Это Михаил Шигорин сливает личную переписку, и вообще всех сливает.
| |
3.34, ... (?), 14:46, 04/04/2014 [^] [^^] [^^^] [ответить]
| +/– |
Второй абзац и ниже - можно смело заменять нпример "Mozilla"->"Gnome" и "Rust"->"Vala".
Да, конечно, Rust != Vala, но:
> Современные мощности позволяют утратить незначительную долю производительности, получая > взамен безопасность.
кричат на каждом углу Java, Ruby, Python да и все кто медленнее С и имеет сборщик мусора.
| |
3.35, Гость (?), 14:47, 04/04/2014 [^] [^^] [^^^] [ответить]
| +/– |
>P.S. John Regehr не так давно говорил, что пора уйти от небезопасных моментов C, создав новый язык.
Зачем? Когда уже давно существует безопасная сишка Cyclone и виртовские обероны?
| |
|
|
5.50, цуауца (?), 01:49, 10/04/2014 [^] [^^] [^^^] [ответить]
| +/– |
> Добавлю: таже Ada ещё например.
синтаксис ады, несмотря на наличие неплохих мыслей, явно переусложнен, причем с бессмысленной ломкой многих моментов совместимости с алголом/паскалем в простых вещах
if Ada.Command_Line.Argument_Count /= 1 then
Ada.Text_Io.Put_Line (File => Ada.Text_Io.Standard_Error,
Item => "USAGE: " & Ada.Command_Line.Command_Name & "<input-file-name>");
end if;
впорочем синтаксис раста вообще создан больными на голову программистами (впрочем а бывают ли другие то) - сократить привычное, полезное и заметное ключевое слово function до непонятного и незаметного fn, но зато всюду пихать бессмысленное let, поменять привычный и безвредный switch/case на match, но оставить бессмысленные и плохо читаемые ц сокращения типа += и т.п.
| |
|
|
|
2.49, цуауца (?), 00:33, 10/04/2014 [^] [^^] [^^^] [ответить]
| +/– |
> то при условии, что все массово начнут отказываться от C/C++.
От ц++ уже массово отказались все (и везде) кто-только мог. Правда новые языки тоже изрядное гуано.
>C++ Безопасность - единственное слабое место языка.
слабое место языка сумасшедший синтаксис. низкоуровневый заимствован от сами знаете кого и тут обсуждать вообще нечего. а высокоуровневый чем дальше тем мозгоклюстее, причем в нем нет внутреннего единства, схожие по смыслу вещи явно делались разными людьми, не интересующимися друг другом. впрочем это и понятно, если писать на ц++ еще можно, то читать ц++ код ну его на фиг, проще заново написать
| |
|
1.18, Аноним (-), 12:26, 04/04/2014 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
>Нет номинальных типов
A structure is a nominal structure type defined with the keyword struct.
An enumeration is a simultaneous definition of a nominal enumerated type as well as a set of constructors.
| |
|