tag:blogger.com,1999:blog-654279083390275842.post5723832185427638016..comments2024-03-19T12:22:43.654+03:00Comments on Размышлизмы eao197: [prog.flame] Ай да молодцы в Dropbox! Взяли и переписали свой sync engine на Rust. Ну молодцы же, да?eao197http://www.blogger.com/profile/17283739752119445290noreply@blogger.comBlogger4125tag:blogger.com,1999:blog-654279083390275842.post-20124870324474951642020-03-19T22:50:29.718+03:002020-03-19T22:50:29.718+03:00Тот же GitHub нарисовали на Ruby on Rail, и народ ...Тот же GitHub нарисовали на Ruby on Rail, и народ им начал пользоваться, невзирая на столь странный выбор (интерпретатор языка плюс HTML-шаблонизатор в стиле раннего PHP). Поэтому пусть их развлекаются. Тем более что HighLoad всё расставляет по местам: если тут у авторов узкое место, оно будет оставаться узким, пока не перепишешь по-иному. А если упёрся в границы данного языка - перепишешь на другом.Yury Schkatulahttps://www.blogger.com/profile/00615519415444576045noreply@blogger.comtag:blogger.com,1999:blog-654279083390275842.post-39797014084285287792020-03-19T14:56:05.223+03:002020-03-19T14:56:05.223+03:00@Unknown
Скопирую сюда часть комментария из обсуж...@Unknown<br /><br />Скопирую сюда часть комментария из обсуждения этой же темы в FB:<br /><br />Более того, я сам советую первую (proof-of-concept) версию делать на том языке/технологии, которой разработчики владеют лучше всего. Чтобы сконцентрироваться на достижении цели, а не на осваивании инструментов для этого.<br /><br />Тут другой аспект важен: сколько должно пройти времени и сколько должно быть вложено ресурсов в поддержание первой версии, эволюционным образом выросшей из прототипа, прежде чем решиться на big rewriting?<br /><br />Вот в dropbox продолжали вбухивать средства в Python-овый sync engine classic в течении лет 7-8. Хотя, полагаю, надобность в переписывании стала маячить на горизонте где-то после 2-3 лет эксплуатации.<br /><br />Но это же район 2010-2011 годов. Волшебной пилюли под названием Rust у них еще не было. Ну не могли же они C++, Ada и Eiffel выбрать, в самом-то деле.<br />У них и на server-side изначально Python использовался. А когда они Python-а наелись, то перешли на Go и в течении короткого времени наклепали более 1MLOC кода на Go (предположу, что приблизительно столько же Python-овского кода было выброшено). Хотя, если бы они начали делать server-side на Java (или начали использовать Java после того, как их первый прототип на Python-е взлетел), то может быть и не пришлось бы менять 1MLOC на Python-е на 1MLOC на Go.<br /><br />Понятно, что история не знает сослагательного наклонения, но есть очень сильное ощущение, что люди упорно пытаются использовать только свои любимые игрушки вместо того, что оглядываться по сторонам и пробовать немодные, но работающие альтернативы.eao197https://www.blogger.com/profile/17283739752119445290noreply@blogger.comtag:blogger.com,1999:blog-654279083390275842.post-89744892926144348712020-03-19T14:47:32.968+03:002020-03-19T14:47:32.968+03:00Если бы они изначально взяли какой-нибудь другой я...Если бы они изначально взяли какой-нибудь другой язык программирования, то, возможно, не успели бы вовремя занять нишу на рынке. Питон позволяет очень быстро набрасать код, который сразу начнёт работать. Ну, а в том, что прототип оказывается в продакшене, программисты, как правило, не виноваты.Stas Mischenkohttps://www.blogger.com/profile/09087733202155666544noreply@blogger.comtag:blogger.com,1999:blog-654279083390275842.post-41586972664531257252020-03-18T15:30:57.595+03:002020-03-18T15:30:57.595+03:00Главное, как в Google, периодически всё переписыва...Главное, как в Google, периодически всё переписывать (и не столь уж важно - менять при этом язык или оставлять прежний). Так новый народ лучше вникнет в детали имплементацииgoncharenkohttps://www.blogger.com/profile/09568080141956509298noreply@blogger.com